• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      高可靠性的通訊保護(hù)電路設(shè)計(jì)

      2009-09-19 05:36:14張夢(mèng)潔
      關(guān)鍵詞:看門狗中斷時(shí)鐘

      宋 芳 張夢(mèng)潔

      摘要:工作在惡劣環(huán)境中的通訊設(shè)備,容易受到電磁干擾等因素的影響,出現(xiàn)程序跑飛、死機(jī)等現(xiàn)象,造成通訊中斷,且不能自行恢復(fù)正常工作,本文針對(duì)這一現(xiàn)象進(jìn)行電路的硬件和軟件設(shè)計(jì),通過監(jiān)聽串口數(shù)據(jù),對(duì)設(shè)備CPU進(jìn)行斷電復(fù)位,從而使設(shè)備恢復(fù)正常工作,提高通訊可靠性。

      關(guān)鍵詞:高可靠性通訊保護(hù);串口監(jiān)聽;定時(shí)器;P89LPC915單片機(jī)

      1概述:

      在設(shè)計(jì)應(yīng)用于工業(yè)現(xiàn)場(chǎng)的通訊設(shè)備時(shí),例如無人值守的變電站抄表設(shè)備,應(yīng)充分考慮設(shè)備的抗干擾性能,結(jié)合硬件和軟件兩方面進(jìn)行優(yōu)化組合,在不可避免出現(xiàn)死機(jī)等嚴(yán)重故障時(shí),設(shè)備應(yīng)能夠可靠復(fù)位,重新開始工作。本設(shè)計(jì)中通過使用PHILIPS公司CPU芯片P89LPC915來監(jiān)控主CPU的對(duì)外通訊串行口,定期采集主CPU的發(fā)送腳TXD的狀態(tài),若在設(shè)定的時(shí)間內(nèi),TXD腳上的電平?jīng)]有變化,即可判定主CPU工作異常,此時(shí)控制主CPU完成掉電,然后上電

      2系統(tǒng)硬件電路設(shè)計(jì):

      2.1電路原理圖

      2.2電路分析

      系統(tǒng)電源--在圖1中,U1和U2為電源管理芯片SPX3819M5-3.3,這是SIPEX公司的微功耗LDO,靜態(tài)電流為90uA,輸出電流為500mA,具有輸出使能和輸出短路保護(hù)功能,輸入電壓最大為20V,輸出電壓為3.3V,精度為1%. 在本應(yīng)用中, SPX3819M5-3.3的3腳為輸出使能端,當(dāng)該引腳上的電壓高于+2V,芯片輸出+3.3V; 當(dāng)該引腳上的電壓低于+0.4V,芯片無輸出電壓。在圖中使用U1為U3供電,將U1的輸出使能端(U1的第3腳)連至+5V,使U1一直輸出+3.3V;使用U2為主CPU供電,U2的使能端受控于U3,在U3的控制下完成對(duì)主CPU的斷送電,實(shí)現(xiàn)主CPU的上電復(fù)位。

      系統(tǒng)CPU——在圖1中,U3為PHLIPS公司的增強(qiáng)型51單片機(jī)P89LPC915,該芯片采用了高性能的處理器結(jié)構(gòu),指令執(zhí)行時(shí)間只需2到4個(gè)時(shí)鐘周期,速度是標(biāo)準(zhǔn)80C51芯片的6倍,具有2K可字節(jié)擦除的Flash存儲(chǔ)器和256字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器,有可編程 I/O 口輸出模式-可配置為準(zhǔn)雙向口,開漏輸出,推挽和僅為輸入功能。芯片內(nèi)部還集成了許多系統(tǒng)級(jí)的功能,如片內(nèi)的RC震蕩器、內(nèi)部上電復(fù)位功能、內(nèi)部看門狗、實(shí)時(shí)時(shí)鐘、波特率發(fā)生器、I2C接口、ICP接口等。芯片有DIP和TSSOP封裝,使用靈活方便,可靠性好,成本低。在本應(yīng)用中CPU的P0.0、P0.1、P0.2、P0.3分別接主CPU的TXD0、TXD1、TXD2、TXD3四個(gè)發(fā)送端;P1.4用于控制電源管理芯片U2的輸出使能。CPU程序時(shí)刻采樣P0.0、P0.1、P0.2、P0.3的狀態(tài),如果在設(shè)定的時(shí)間內(nèi),P0.0、P0.1、P0.2、P0.3四個(gè)引腳的狀態(tài)一直為高電平,程序即認(rèn)為主CPU通訊出現(xiàn)了異常,此時(shí)就在P1.4輸出低電平,將主CPU斷電,延時(shí)后重新上電,這就完成了主CPU的上電復(fù)位,主CPU恢復(fù)正常工作。

      ICP接口——在圖1中,JP1為單片機(jī)P89LPC915的ICP接口,在電路板上設(shè)計(jì)有插座,將ICP編程器插在該插座上即可實(shí)現(xiàn)對(duì)單片機(jī)的在電路編程,可隨時(shí)升級(jí)程序。

      工作指示-D1為紅色的發(fā)光二極管,它與CPU的P1.2口連接,可指示CPU的工作狀態(tài),方便調(diào)試。

      開關(guān)機(jī)按鍵-S1為主CPU的復(fù)位上電按鍵,與CPU的P1.3口連接,程序判斷此引腳狀態(tài),完成主CPU的斷電和上電。

      3系統(tǒng)軟件設(shè)計(jì)

      系統(tǒng)的軟件設(shè)計(jì)分為CPU初始化、定時(shí)器設(shè)計(jì)、端口采樣函數(shù)、延時(shí)函數(shù)、看門狗定時(shí)器等幾部分,流程圖如下:

      程序清單

      #include "REG915.H"

      sbit P1_2=P1^2;

      sbit P1_3=P1^3;

      sbit P1_4=P1^4;

      sbit P0_0=P0^0;

      sbit P0_1=P0^1;

      sbit P0_2=P0^2;

      sbit P0_3=P0^3;

      sbit P0_4=P0^4;

      staticint Count=0;

      staticint Count1=0;

      void init(void);

      /**************初始**************/

      void init(void)

      {

      DIVM=4;//相當(dāng)于標(biāo)準(zhǔn)8051的晶振為12MHz的速度

      P0M1=0x0F;//

      P0M2=0x00;// p0.0--p0.3配置為僅為輸入口

      P1M1=0x0C;//p1.2 p1.3 配置為開漏

      P1M2=0x1C;// p1.4為推挽輸出

      RTCH=0xFF;

      RTCL=0xFF;//實(shí)時(shí)時(shí)鐘初值

      RTCCON=0x00;//選擇CCLK為時(shí)鐘源

      RTCCON=0x62;//0110 0011,時(shí)鐘中斷使能

      TMOD=0x11;//定時(shí)器0和定時(shí)器1工作于16位模式

      TAMOD=0x00;

      TH0=0x00;//定時(shí)器初值

      TL0=0x00;

      TH1=0xfc;

      TL1=0x18;

      IP0H=0x48;

      IP0=0x0A;//中斷優(yōu)先級(jí)

      WDL=0xFF;//2.62s看門狗初值

      WDCON=0xE5;//看門狗時(shí)鐘源為看門狗震蕩器,

      WFEED1=0xA5;

      WFEED2=0x5A;//清零序列

      }

      /*********看門狗清零序列*********/

      void WatDog()

      {

      EA=0;

      WFEED1=0xA5;

      WFEED2=0x5A;

      EA=1;

      }

      /*****************************/

      /**********ms延時(shí)函數(shù)*********/

      void Delay(unsigned int Time)

      {

      unsigned int j=0;

      for(;Time>0;Time--)

      {

      for(j=0;j<256;j++)

      {;}

      }

      }

      /**************************/

      /***實(shí)時(shí)時(shí)鐘中斷程序(定時(shí)復(fù)位)*****/

      void RTC_int() interrupt 10

      {

      if(RTCCON==0xE3)//是實(shí)時(shí)時(shí)鐘中斷

      {

      Count++;

      RTCCON = 0x63;

      }

      else

      {

      EA=0;

      WFEED1=0xA5;

      WFEED2=0x5A;

      EA=1;

      }

      }

      /***************************/

      /***指示燈閃爍定時(shí)器*******/

      void timer0() interrupt 1

      {

      TH0=0x00;

      TL0=0x00;

      Count1++;

      if(Count1>=8)

      {

      P1_2=~P1_2;

      Count1=0;

      }

      }

      /***************************/

      /****定時(shí)采集端口狀態(tài)*******/

      猜你喜歡
      看門狗中斷時(shí)鐘
      別樣的“時(shí)鐘”
      古代的時(shí)鐘
      把他叫醒
      跟蹤導(dǎo)練(二)(5)
      千里移防,衛(wèi)勤保障不中斷
      解放軍健康(2017年5期)2017-08-01 06:27:44
      有趣的時(shí)鐘
      時(shí)鐘會(huì)開“花”
      一種采用FPGA實(shí)現(xiàn)的通用看門狗電路
      大眾科技(2015年11期)2015-11-24 01:57:16
      把它叫醒
      把它叫醒
      淅川县| 平果县| 阿荣旗| 化州市| 衡南县| 桐梓县| 尖扎县| 蓝田县| 万源市| 东乡县| 安顺市| 石景山区| 收藏| 聊城市| 巍山| 乐都县| 亚东县| 广州市| 随州市| 南丹县| 漳浦县| 新蔡县| 横峰县| 麻江县| 涟源市| 根河市| 达拉特旗| 桦南县| 奉化市| 霍林郭勒市| 阿尔山市| 革吉县| 建始县| 潼南县| 定西市| 南投市| 阿拉善右旗| 伊宁市| 武山县| 贵溪市| 临沭县|