TMS320F2812系統(tǒng)中的軟件復(fù)位方法
掃描二維碼
隨時(shí)隨地手機(jī)看文章
控制系統(tǒng)中大多采用電壓監(jiān)控或者看門(mén)狗電路,以保證系統(tǒng)的穩(wěn)定運(yùn)行。采用硬件復(fù)位的方式,可以通過(guò)按鍵開(kāi)關(guān)在任意時(shí)刻進(jìn)行系統(tǒng)復(fù)位,系統(tǒng)復(fù)位后程序重新開(kāi)始運(yùn)行。但有些系統(tǒng)中有人機(jī)界面顯示,主機(jī)在機(jī)箱內(nèi)部,人工復(fù)位很不方便,所以采用界面方式的軟件復(fù)位。
TMS320F2812(以下簡(jiǎn)稱2812)是TI公司2000系列的新型DSP芯片,具有32位低功耗定點(diǎn)處理器,最高主頻150 MHz,有強(qiáng)大的操作能力和快速的中斷響應(yīng)處理能力。片內(nèi)有18 K字高速RAM,128 K字的可加密Flash ROM。片上還集成了豐富的片內(nèi)外設(shè).有SPI、SCI、eCAN和McB—SP等多個(gè)串口外圍設(shè)備,16通道的12位模數(shù)轉(zhuǎn)換器(ADC),2個(gè)事件管理器(EVA、EVB),56個(gè)獨(dú)立的可編程、多用途通用I/O口(GPIO)。該DSP芯片集成了大量工業(yè)控制領(lǐng)域應(yīng)用的外設(shè)接口,能大大簡(jiǎn)化電路設(shè)計(jì),同時(shí)它也具有足夠的處理能力,是應(yīng)用于控制領(lǐng)域的一款高性能DSP處理器。
下面介紹三種實(shí)現(xiàn)方法。
1 硬件看門(mén)狗帶喂狗端口
看門(mén)狗芯片一般都帶有電壓監(jiān)控和復(fù)位輸出控制,同時(shí)還帶有WDI的喂狗引腳,需要系統(tǒng)不停地給芯片脈沖,以保證看門(mén)狗芯片不向系統(tǒng)輸出復(fù)位信號(hào)。這里就出現(xiàn)了第一種軟件方式系統(tǒng)復(fù)位方法:需要軟件復(fù)位時(shí)就長(zhǎng)時(shí)間不給狗脈沖,這樣看門(mén)狗芯片的復(fù)位引腳就輸出1個(gè)系統(tǒng)需要的復(fù)位電平使系統(tǒng)復(fù)位。圖1是看門(mén)狗芯片圖。圖2是MAX706與2812的接口電路。MAX706芯片內(nèi)部看門(mén)狗定時(shí)器的輸入WDI可以接到 2812的引腳上,2812不斷向WDI輸入脈沖(周期≤1.6 s),WDO輸出的低電平接到2812的XRS端,使系統(tǒng)復(fù)位并重新啟動(dòng)系統(tǒng)。另外當(dāng)系統(tǒng)電源降到檢測(cè)點(diǎn)時(shí)也使系統(tǒng)復(fù)位。當(dāng)系統(tǒng)接收到復(fù)位命令后,停止對(duì) WDI引腳的輸出,使芯片的RESET控制系統(tǒng)復(fù)位。
端口初始化程序如下:
2 看門(mén)狗芯片不帶喂狗端口
方式1中所采用的是帶WDI端口的看門(mén)狗芯片,但有些芯片是不帶WDI端口的,這時(shí)看門(mén)狗用于電源檢測(cè),當(dāng)?shù)陀谠O(shè)定電壓時(shí),輸出復(fù)位信號(hào),使系統(tǒng)復(fù)位。第二種方法也采用 2812的引腳配合方式,但不需要時(shí)時(shí)刻刻喂狗。圖3為所采用的看門(mén)狗芯片MAX708。圖4為MAX708與2812的接口電路。
2812的GPIOFl4-XF引腳在上電復(fù)位后輸出高電平,之后該信號(hào)被鎖存。當(dāng)2812收到系統(tǒng)復(fù)位命令后,控制GPIOFl4一XF引腳輸出低電平使系統(tǒng)復(fù)位。
端口初始化如下:
3 軟件看門(mén)狗復(fù)位方式
這種方式是利用2812自帶的軟件看門(mén)狗方式,2812的看門(mén)狗功能框圖如圖5所示。
通過(guò)框圖可以看出2812的軟件看門(mén)狗有兩種方式:WDINT的中斷喚醒方式和WDRST方式。這里是要求系統(tǒng)復(fù)位,而WDINT是實(shí)時(shí)監(jiān)控系統(tǒng)的,并不能按要求實(shí)現(xiàn)軟件復(fù)位,所以需將WDRST信號(hào)接到XlRS上,這樣通過(guò)程序配合就能實(shí)現(xiàn)控制系統(tǒng)復(fù)位。2812系統(tǒng)上電初始化需要一定的時(shí)間,所以在初始化時(shí)先關(guān)閉看門(mén)狗,等系統(tǒng)初始化完成后,再打開(kāi)看門(mén)狗。
初始化程序說(shuō)明如下:
這里利用while(1)的死循環(huán)等待看門(mén)狗的計(jì)數(shù)器超過(guò)設(shè)定值,然后WDRST信號(hào)輸出低電平;而WDRST接到XRS上,所以整個(gè)系統(tǒng)復(fù)位,重新開(kāi)始執(zhí)行程序。
看門(mén)狗程序如下:
結(jié)語(yǔ)
第一種和第二種方式基于硬件的實(shí)現(xiàn),更加可靠些,第三種方式則可以節(jié)約電路板的空間和成本。需要注意的是,采用軟件看門(mén)狗時(shí)調(diào)用喂狗程序的間隔不能大于設(shè)定值。
發(fā)布者:小宇