新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于C8051的狀態(tài)監(jiān)測電路設(shè)計(jì)

基于C8051的狀態(tài)監(jiān)測電路設(shè)計(jì)

作者: 時間:2014-08-06 來源:網(wǎng)絡(luò) 收藏

  摘要 為記錄某航行體航行是否正常,采用監(jiān)測有無重要電路電壓和存儲通訊CAN信息的方式。將被監(jiān)測電路的電壓通過TPL281-4光耦轉(zhuǎn)換直接與微處理器F040的I/O引腳連接,若相應(yīng)I/O無電,則將此刻時間和信息存儲到AM29F160DT芯片內(nèi)。應(yīng)用結(jié)果表明,該監(jiān)測電路達(dá)到了設(shè)計(jì)要求,具有一定的應(yīng)用價(jià)值。

本文引用地址:http://2s4d.com/article/256542.htm

  航行體內(nèi)部控制器和相關(guān)重要信號需被監(jiān)測和記錄,作為正常航行及故障判斷的重要依據(jù)。當(dāng)航行體內(nèi)部重要信號缺失時,該電路仍能進(jìn)行一些相關(guān)處理,以確保航行體能有效結(jié)束航行。

  1 系統(tǒng)硬件結(jié)構(gòu)

  基于F040狀態(tài)監(jiān)測電路硬件部分由7個主要功能模塊組成:監(jiān)測信號、電子轉(zhuǎn)換電路、達(dá)拉斯時鐘模塊、并行存儲器AM29F 160DT、單片機(jī)F040模塊、通訊模塊以及驅(qū)動輸出模塊。系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示。

  

 

  電路工作原理是將被監(jiān)測電路的電壓通過TPL2814光耦轉(zhuǎn)換直接與微處理器C8051F040的I/O引腳連接,若相應(yīng)I/O無電,則將此刻時間和信息存儲到AM29F160DT芯片中,同時發(fā)送給相關(guān)控制器,并給出相應(yīng)驅(qū)動輸出。此外將通訊過程中的CAN信息也進(jìn)行存儲,以便航行結(jié)束后對相關(guān)數(shù)據(jù)進(jìn)行分析、處理。

  1.1 單片機(jī)C8051F040介紹

  C8051F040由美國Silicon Labs公司設(shè)計(jì),對原51單片機(jī)內(nèi)核進(jìn)行了較大改造,由原來12個時鐘執(zhí)行一條指令改進(jìn)為一個時鐘執(zhí)行一條單周期指令,多數(shù)指令執(zhí)行的時鐘周期數(shù)與指令的字節(jié)數(shù)相同,使該款單片機(jī)的運(yùn)行速度大幅提高。C8051F040具有64個數(shù)字I/O引腳,片內(nèi)集成了一個CAN2.0B控制器。其主要特性有:(1)高速、流水線結(jié)構(gòu)的8051兼容CIP-51內(nèi)核(可達(dá)25 MI·s-1)。(2)局域網(wǎng)(CAN2.0B)控制器,具有32個消息對象,每個消息對象有其獨(dú)有的標(biāo)識。(3)硬件實(shí)現(xiàn)的SPI、SMBus/I2C和兩個UART串行接口。(4)5個通用的16位定時器。(5)具有6個捕捉/比較模塊的可編程計(jì)數(shù)器/定時器陣列。

  1.2 檢測信號及電平轉(zhuǎn)換電路

  由于檢測信號的電壓為24 V,但單片機(jī)C8051F040I/O口能夠承受的電壓為5 V。因此,需將這些電路的電壓進(jìn)行轉(zhuǎn)換以便給單片機(jī)的I/O識別。該電路電平轉(zhuǎn)換采用光電隔離芯片TLP281-4,其電路如圖2所示。

  

 

  1.3 時鐘芯片

  是美國達(dá)拉斯半導(dǎo)體公司推出的時鐘芯片,采用CMOS技術(shù)制成,將時鐘芯片所需的晶振和外部鋰電池相關(guān)電路集于芯片內(nèi)部。其主要功能如下:(1)內(nèi)含一個鋰電池,斷電后運(yùn)行10年以上不丟失數(shù)據(jù)。(2)計(jì)秒、分、時、天、星期、日、月、年,并有閏年補(bǔ)償功能。(3)二進(jìn)制數(shù)碼或BCD碼表示時間、日歷和定鬧。(4)有Motorola5和Inatael的總線時序選擇。

  將DS12887的MOT引腳接地,表明該電路的數(shù)據(jù)總線方式為Inatael總線時序,這樣讀寫使能獨(dú)立。數(shù)據(jù)操作需先將地址信息鎖存,再進(jìn)行相應(yīng)讀寫,具體電路如圖3所示。

  

 

  1.4 并行存儲器AM29F160DT模塊

  存儲器AM29F160DT模塊是2 MB的CMOS型5 V供電的Flash存儲芯片,存取速度可高達(dá)70 ns,每個扇區(qū)至少滿足100萬次的擦除,數(shù)據(jù)一次保存時間長達(dá)20年,內(nèi)部扇區(qū)數(shù)據(jù)結(jié)構(gòu)是頂部數(shù)據(jù)形式。

  將AM29F160DT的BYTE引腳下拉接地,表明是8位數(shù)據(jù)傳輸,并將RY/BY、WP、RESET上拉到電源。然后對應(yīng)的讀、寫、片選信號接到微處理相應(yīng)的引腳即可。具體電路如圖4所示。

  

 

  1.5 驅(qū)動輸出模塊

  考慮到要有足夠的驅(qū)動能力,故在驅(qū)動芯片上使用BTS712N1。而在該驅(qū)動芯片之前增加一個光耦進(jìn)行隔離,以保護(hù)單片機(jī)相應(yīng)的I/O。具體驅(qū)動電路如圖5所示。

  2 軟件設(shè)計(jì)

  整個軟件設(shè)計(jì)是以相應(yīng)CAN信息為基礎(chǔ)進(jìn)行的,記錄相應(yīng)電路狀態(tài)信息以及當(dāng)時的時間信息;一部分電路信號檢測是全程監(jiān)控,另一部分電路信號檢測則有時段要求。為此信號檢測軟件采用100 ms為周期的中斷檢測。

  系統(tǒng)的軟件設(shè)計(jì)主要包括軟件初始化配置程序、電路狀態(tài)檢測程序、DS12887時鐘數(shù)據(jù)讀取、數(shù)據(jù)存儲程序、CAN通信程序以及串口通訊6部分。

  2.1 電路狀態(tài)的檢測程序設(shè)計(jì)

  電路狀態(tài)的檢測程序設(shè)計(jì)采用定時器檢測的方式,持續(xù)檢測相應(yīng)電路狀態(tài)3 s并未認(rèn)定此電路信號出現(xiàn)故障。具體設(shè)計(jì)流程如圖6所示。

  

 

  2.2 DS12887時鐘數(shù)據(jù)存儲程序

  時間讀取程序設(shè)計(jì)就是對DS12887芯片內(nèi)部4個寄存器進(jìn)行相應(yīng)的初始化和對其他寄存器數(shù)據(jù)的讀取。

  時間數(shù)據(jù)儲存程序設(shè)計(jì)就是通過I/O按照存儲器AM29F160DT控制時序?qū)懭雽?yīng)控制字,完成對應(yīng)數(shù)據(jù)寫入、讀取以及擦除。

  2.3 CAN及RS232通信程序設(shè)計(jì)

  由于C8051F040器件內(nèi)部集成了Bosch CAN控制器,只需對該控制器進(jìn)行初始化和配置便可實(shí)現(xiàn)CAN通信。操作通過特殊功能寄存器直接或間接訪問CAN控制器中的相關(guān)寄存器。

  串行通訊設(shè)置是用來向界發(fā)送一些內(nèi)部數(shù)據(jù),從而顯示整個電路工作狀態(tài)。

  3 結(jié)束語

  該電路設(shè)計(jì)已成功應(yīng)用于某航行體航行監(jiān)測中,在實(shí)際使用中對相關(guān)控制器監(jiān)測起到了較好的數(shù)據(jù)記錄和問題分析。本文設(shè)計(jì)實(shí)現(xiàn)了狀態(tài)監(jiān)測電路能應(yīng)用其他場合的相關(guān)狀態(tài)監(jiān)測及時刻記錄,由于AM29F160DT存儲器具有2 MB的存儲空間,因而能夠長時間地進(jìn)行監(jiān)測。該設(shè)計(jì)具有結(jié)構(gòu)簡單、功能齊全且系統(tǒng)運(yùn)行可靠的特點(diǎn)。

光耦相關(guān)文章:光耦原理


電路相關(guān)文章:電路分析基礎(chǔ)


51單片機(jī)相關(guān)文章:51單片機(jī)教程


晶振相關(guān)文章:晶振原理


關(guān)鍵詞: C8051 CAN/RS232 DS12887

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉