基于C8051F040多路浸水時刻記錄電路設計
1.4 串行存儲器M25P80
存儲器M25P80存儲容量為8 MByte,它采用SPI數據總線的方式進行通信。該存儲器有16個扇區,每個扇區有256頁,每頁256 Byte。工作電壓范圍2.7~3.6 V,工作溫度范圍-40~+85℃,最大時鐘75 MHz。能進行10萬次的擦寫,數據保存20年,體積小巧,是一款通用存儲器。M25P80支持的操作指令共有12條,指令格式為如圖4所示。

其中,8位的命令是必需,地址、啞元以及數據字節的有無和長度會因指令的不同而有所差異,詳情如表1所列。所有的命令碼、地址、串行輸入/輸出的數據,均是高位在前。

由于單片機C8051F040的工作電源3.3 V,M25P80的工作電壓范圍為2.7~3.6 V故二者可以直接相連接。具體電路圖如圖5所示。

2 軟件設計
由于整個浸水腐蝕的時間不確定,需要一個開始記錄的時間。這個開始記錄時間是以系統通電正常工作的時刻為準。系統的軟件設計主要包括浸水傳感器數據的檢測程序、DS12887時鐘數據存儲程序和CAN通信程序3部分。
2.1 浸水傳感器數據的檢測程序設計
浸水傳感器數據的檢測程序設計采用定時器檢測的方式;當持續檢測到浸水輸出信號3 s,則認為此刻浸水。具體設計框圖如圖6所示。

浸水傳感器數據的檢測程序初始化后,記錄開始時間;在100 ms定時中斷中,檢測多路的浸水輸出信號。針對不同的浸水傳感器采用記錄對應的編號同時記錄該時刻的時間。
2.2 DS12887時鐘數據存儲程序
時間讀取程序設計就是對DS12887芯片的內部的4個內部寄存器A、B、C、D進行相應的初始化和對其它寄存器數據的讀取。
時間數據儲存程序設計是通過SPI總線,將時間數據存入M25P80當中。C8051F040中有SPI總線模式。
2.3 CAN通信程序設計
由于C8051F040器件內部集成了Bosch CAN控制器,只需要對該控制器進行初始化和配置便可以實現CAN通信。操作通過特殊功能寄存器直接或間接訪問CAN控制器中的CAN控制寄存器。
3 結束語
設計的時間記錄系統能應用其他場合的時刻記錄。該設計具有結構簡單、功能齊全、系統運行可靠的特點。需要注意的是,DS12887時鐘芯片啟動后需要設定時間,這樣才能與標準時間一致。實踐證明,雖然DS12887時鐘能夠掉電后正常運行,但時間長(約3個月),需要重新設定時間以便準時記錄。










評論