基子CAN總線(xiàn)的分布式網(wǎng)架健康狀態(tài)監測系統的設計
1 采集卡硬件電路的設計
1.1 CAN總線(xiàn)分布式系統結構設計
系統結構如圖1所示。本系統由上位監控PC機、
1.2.2 A/D模塊設計
A/D芯片選用12位高速采集芯片AD574。在本設計中,A/D模塊的功能是將外部模擬信號通過(guò)AD574轉換成數字信號后并行輸入到AT89C51,然后AT89C51將其打包,并行輸出至CAN總線(xiàn)通信控制器SJA1000,經(jīng)總線(xiàn)收發(fā)器至CAN總線(xiàn)。其監控電路采用DS1232,它具有電源監控、手動(dòng)復位和看門(mén)狗功能,還能同時(shí)輸出高低電平的兩路復位信號,分別輸出至AT89C51和SJA1000的復位端,以滿(mǎn)足本次設計的要求。
2 軟件設計
本健康監測系統要求軟件部分具有現場(chǎng)數字信號顯示、檢測并驅動(dòng)現場(chǎng)信號設備等功能。在本設計中主要完成兩部分任務(wù):第一是PC機部分的上位機顯示,主要通過(guò)集成開(kāi)發(fā)環(huán)境軟件設計出上位機監視顯示界面,其重點(diǎn)在于PC機與現場(chǎng)節點(diǎn)間的通信;第二是現場(chǎng)節點(diǎn)控制設計,即設備驅動(dòng)功能的實(shí)現,目的是能接收上位機的控制信號,使現場(chǎng)節點(diǎn)按既定的工作方式工作。
根據系統的工作要求,工作重點(diǎn)包括CAN總線(xiàn)通信程序、看門(mén)狗的初始化、A/D采樣控制程序、執行機構控制程序和控制算法等,主要流程如圖4所示。限于篇幅,這里著(zhù)重介紹SJA1000初始化程序設計、發(fā)送程序設計、接收程序設計以及A/D轉換程序的設計。
2.1 SJA1000初始化設計
初始化流程圖如圖5所示。AT89C51上電或復位后,調用復位程序給SJA1000的復位端(RST)提供復位信號,使SJA1000進(jìn)入復位模式。SJA1000的初始化只有在復位模式下才可以進(jìn)行。初始化程序主要完成以下寄存器的設計:(1)通過(guò)對SJA1000的時(shí)鐘分頻寄存器定義,判斷是使用BassicCAN模式還是使用PeliCAN模式;是否使能CLOCKOUT及輸出時(shí)鐘頻率;是否使用旁路CAN輸入比較器;TX1輸出是否采用專(zhuān)門(mén)的接收中斷。(2)通過(guò)寫(xiě)驗收碼寄存器和驗收屏蔽寄存器定義接收報文的驗收碼,以及對報文和驗收碼進(jìn)行比較的相關(guān)位定義驗收屏蔽碼。(3)通過(guò)寫(xiě)總線(xiàn)定時(shí)寄存器定義總線(xiàn)的位速率、位周期內的采樣點(diǎn)和一個(gè)位周期內的采樣數量。(4)通過(guò)寫(xiě)輸出寄存器定義CAN總線(xiàn)輸出管腳TX0、TX1的輸出模式和輸出配置。(5)清除SJA1000的復位請求標志,進(jìn)入正常工作模式,這樣SJA1000方可進(jìn)行報文的發(fā)送和接收。
2.2 發(fā)送和接收程序設計
單片機將要發(fā)送的報文送到SJA1000的發(fā)送緩沖區,然后將SJA1000命令寄存器的發(fā)送請求標志位(TR)置位,發(fā)送過(guò)程由SJA1000獨立完成。在新報文寫(xiě)入發(fā)送緩沖區之前,必須檢查狀態(tài)寄存器的發(fā)送緩沖器的狀態(tài)標志位(TBS),若為“1”,則發(fā)送緩沖器被釋放,可將新的報文寫(xiě)入發(fā)送緩沖器;否則,發(fā)送緩沖器被鎖定,新的報文不能被寫(xiě)入,發(fā)送程序可以采用中斷方式和查詢(xún)方式。在本次設計中,采用的是查詢(xún)方式。
報文的接收也是由SJA1000獨立完成的。收到的報文通過(guò)接收濾波器存放在FIFO中,第一條報文進(jìn)入接收緩沖器,由狀態(tài)寄存器的接收緩沖器狀態(tài)標志位(RBS)和接收中斷標志位(RI)標出。單片機從接收緩沖器取走一條報文后,要通過(guò)置位SJA1000的命令寄存器來(lái)釋放接收緩沖器。在本次設計中,接收程序的設計采用的是中斷方式。
2.3 A/D轉換設計
在本次設計中采用的是12位逐次逼近型A/D轉換器AD574。以查詢(xún)方式設計程序,通過(guò)連續查詢(xún)A/D轉換結束標志位判斷轉換是否結束。當轉換結束時(shí),將數據送人CPU中進(jìn)行處理,并將處理后的數據保存至6264芯片。
基于CAN總線(xiàn)設計的高速分布式數據采集系統具有一定的使用價(jià)值,而且價(jià)格低廉、可靠性高。同時(shí)系統還具有可擴展性,在需要多通道采集的情況下只需添加少量的采樣保持芯片即可。通過(guò)對該總線(xiàn)系統的通信能力進(jìn)行測試,并將上述系統置于強干擾環(huán)境中進(jìn)行連續實(shí)驗,發(fā)現使用的通信速率完全可以保證數據的實(shí)時(shí)可靠傳輸,其通信效果完全滿(mǎn)足要求,同時(shí)上位機和底層節點(diǎn)也能夠保證相互間的協(xié)調工作。
評論