基于C8051的狀態(tài)監測電路設計
摘要 為記錄某航行體航行是否正常,采用監測有無(wú)重要電路電壓和存儲通訊CAN信息的方式。將被監測電路的電壓通過(guò)TPL281-4光耦轉換直接與微處理器C8051F040的I/O引腳連接,若相應I/O無(wú)電,則將此刻時(shí)間和信息存儲到AM29F160DT芯片內。應用結果表明,該監測電路達到了設計要求,具有一定的應用價(jià)值。
本文引用地址:http://dyxdggzs.com/article/256542.htm航行體內部控制器和相關(guān)重要信號需被監測和記錄,作為正常航行及故障判斷的重要依據。當航行體內部重要信號缺失時(shí),該電路仍能進(jìn)行一些相關(guān)處理,以確保航行體能有效結束航行。
1 系統硬件結構
基于C8051F040狀態(tài)監測電路硬件部分由7個(gè)主要功能模塊組成:監測信號、電子轉換電路、達拉斯DS12887時(shí)鐘模塊、并行存儲器AM29F 160DT、單片機C8051F040模塊、CAN/RS232通訊模塊以及驅動(dòng)輸出模塊。系統硬件結構框圖如圖1所示。

電路工作原理是將被監測電路的電壓通過(guò)TPL2814光耦轉換直接與微處理器C8051F040的I/O引腳連接,若相應I/O無(wú)電,則將此刻時(shí)間和信息存儲到AM29F160DT芯片中,同時(shí)發(fā)送給相關(guān)控制器,并給出相應驅動(dòng)輸出。此外將通訊過(guò)程中的CAN信息也進(jìn)行存儲,以便航行結束后對相關(guān)數據進(jìn)行分析、處理。
1.1 單片機C8051F040介紹
C8051F040由美國Silicon Labs公司設計,對原51單片機內核進(jìn)行了較大改造,由原來(lái)12個(gè)時(shí)鐘執行一條指令改進(jìn)為一個(gè)時(shí)鐘執行一條單周期指令,多數指令執行的時(shí)鐘周期數與指令的字節數相同,使該款單片機的運行速度大幅提高。C8051F040具有64個(gè)數字I/O引腳,片內集成了一個(gè)CAN2.0B控制器。其主要特性有:(1)高速、流水線(xiàn)結構的8051兼容CIP-51內核(可達25 MI·s-1)。(2)局域網(wǎng)(CAN2.0B)控制器,具有32個(gè)消息對象,每個(gè)消息對象有其獨有的標識。(3)硬件實(shí)現的SPI、SMBus/I2C和兩個(gè)UART串行接口。(4)5個(gè)通用的16位定時(shí)器。(5)具有6個(gè)捕捉/比較模塊的可編程計數器/定時(shí)器陣列。
1.2 檢測信號及電平轉換電路
由于檢測信號的電壓為24 V,但單片機C8051F040I/O口能夠承受的電壓為5 V。因此,需將這些電路的電壓進(jìn)行轉換以便給單片機的I/O識別。該電路電平轉換采用光電隔離芯片TLP281-4,其電路如圖2所示。

1.3 時(shí)鐘芯片DS12887
DS12887是美國達拉斯半導體公司推出的時(shí)鐘芯片,采用CMOS技術(shù)制成,將時(shí)鐘芯片所需的晶振和外部鋰電池相關(guān)電路集于芯片內部。其主要功能如下:(1)內含一個(gè)鋰電池,斷電后運行10年以上不丟失數據。(2)計秒、分、時(shí)、天、星期、日、月、年,并有閏年補償功能。(3)二進(jìn)制數碼或BCD碼表示時(shí)間、日歷和定鬧。(4)有Motorola5和Inatael的總線(xiàn)時(shí)序選擇。
將DS12887的MOT引腳接地,表明該電路的數據總線(xiàn)方式為Inatael總線(xiàn)時(shí)序,這樣讀寫(xiě)使能獨立。數據操作需先將地址信息鎖存,再進(jìn)行相應讀寫(xiě),具體電路如圖3所示。

1.4 并行存儲器AM29F160DT模塊
存儲器AM29F160DT模塊是2 MB的CMOS型5 V供電的Flash存儲芯片,存取速度可高達70 ns,每個(gè)扇區至少滿(mǎn)足100萬(wàn)次的擦除,數據一次保存時(shí)間長(cháng)達20年,內部扇區數據結構是頂部數據形式。
將AM29F160DT的BYTE引腳下拉接地,表明是8位數據傳輸,并將RY/BY、WP、RESET上拉到電源。然后對應的讀、寫(xiě)、片選信號接到微處理相應的引腳即可。具體電路如圖4所示。

1.5 驅動(dòng)輸出模塊
考慮到要有足夠的驅動(dòng)能力,故在驅動(dòng)芯片上使用BTS712N1。而在該驅動(dòng)芯片之前增加一個(gè)光耦進(jìn)行隔離,以保護單片機相應的I/O。具體驅動(dòng)電路如圖5所示。
2 軟件設計
整個(gè)軟件設計是以相應CAN信息為基礎進(jìn)行的,記錄相應電路狀態(tài)信息以及當時(shí)的時(shí)間信息;一部分電路信號檢測是全程監控,另一部分電路信號檢測則有時(shí)段要求。為此信號檢測軟件采用100 ms為周期的中斷檢測。
系統的軟件設計主要包括軟件初始化配置程序、電路狀態(tài)檢測程序、DS12887時(shí)鐘數據讀取、數據存儲程序、CAN通信程序以及串口通訊6部分。
2.1 電路狀態(tài)的檢測程序設計
電路狀態(tài)的檢測程序設計采用定時(shí)器檢測的方式,持續檢測相應電路狀態(tài)3 s并未認定此電路信號出現故障。具體設計流程如圖6所示。

2.2 DS12887時(shí)鐘數據存儲程序
時(shí)間讀取程序設計就是對DS12887芯片內部4個(gè)寄存器進(jìn)行相應的初始化和對其他寄存器數據的讀取。
時(shí)間數據儲存程序設計就是通過(guò)I/O按照存儲器AM29F160DT控制時(shí)序寫(xiě)入對應控制字,完成對應數據寫(xiě)入、讀取以及擦除。
2.3 CAN及RS232通信程序設計
由于C8051F040器件內部集成了Bosch CAN控制器,只需對該控制器進(jìn)行初始化和配置便可實(shí)現CAN通信。操作通過(guò)特殊功能寄存器直接或間接訪(fǎng)問(wèn)CAN控制器中的相關(guān)寄存器。
串行通訊設置是用來(lái)向界發(fā)送一些內部數據,從而顯示整個(gè)電路工作狀態(tài)。
3 結束語(yǔ)
該電路設計已成功應用于某航行體航行監測中,在實(shí)際使用中對相關(guān)控制器監測起到了較好的數據記錄和問(wèn)題分析。本文設計實(shí)現了狀態(tài)監測電路能應用其他場(chǎng)合的相關(guān)狀態(tài)監測及時(shí)刻記錄,由于A(yíng)M29F160DT存儲器具有2 MB的存儲空間,因而能夠長(cháng)時(shí)間地進(jìn)行監測。該設計具有結構簡(jiǎn)單、功能齊全且系統運行可靠的特點(diǎn)。
光耦相關(guān)文章:光耦原理
電路相關(guān)文章:電路分析基礎
51單片機相關(guān)文章:51單片機教程
晶振相關(guān)文章:晶振原理
評論