基于單片機的CAN總線分布式測控系統(tǒng)的研制
4系統(tǒng)軟件設計
(1)CAN 總線通訊模塊
CAN總線測控系統(tǒng)的通信軟件分為3部分:CAN初始化、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收。
① CAN初始化
其主要是設置CAN的通信參數(shù)。需要初始化的寄存器有:模式寄存器(Peli CAN模式)、時分寄存器、接收代碼寄存器、屏蔽寄存器、總線定時寄存器、輸出控制寄存器等。需要注意的是,這些寄存器僅能在復位期間可寫訪向,因此,在對這些寄存器初始化前,必須確保系統(tǒng)進入了復位狀態(tài),并且系統(tǒng)中各CAN控制器的總線定時寄存器的初始化字必須相同。
② 數(shù)據(jù)發(fā)送
現(xiàn)場的各傳感器把環(huán)境多參數(shù)的檢測信號(數(shù)字量、模擬量、開關(guān)量)進行轉(zhuǎn)換處理后,發(fā)向CAN控制器的發(fā)送緩沖區(qū),然后啟動CAN控制器的發(fā)送命令,此時CAN控制器將自動向總線發(fā)送數(shù)據(jù),不再需傳感器的微控制器進行干預。若系統(tǒng)中有多個傳感CAN控制器同時向總線發(fā)送數(shù)據(jù),則CAN控制器通過信息幀中的標識符來進行仲裁,標識符數(shù)值最小的CAN控制器具有對總線的優(yōu)先使用權(quán)。
③ 數(shù)據(jù)接收
整個溫室微機測控系統(tǒng)中的CAN控制器檢測到總線上有數(shù)據(jù)時會自動接收總線上的數(shù)據(jù),存入其接收緩沖區(qū),并向89C52微控制器發(fā)送接收中斷,啟動中斷接收服務程序,89C52通過執(zhí)行中斷接收服務程序,從CAN控制器的接收緩沖區(qū)讀取數(shù)據(jù),并對其進行進一步處理工作。
(2)監(jiān)控模塊
集成了所有的數(shù)據(jù)采集、參數(shù)設定、數(shù)據(jù)統(tǒng)計分析等功能。同時,為了實現(xiàn)操作人員對生產(chǎn)過程的人工干預,如修改給定值、控制參數(shù)和報警限等,添加了參數(shù)的修改功能;為了建立人機信息聯(lián)系,并且能將各節(jié)點傳輸來的數(shù)據(jù)以圖形、圖表或其它動態(tài)方式顯示出來,本系統(tǒng)可以使用任何具有DDE(Dynamic Data Exchange)接口的MMI(Man-Machine interface)軟件;為了更好的管理各種數(shù)據(jù),采取了組態(tài)控制方式,能夠接收來自MMI軟件以及用戶軟件的DDE連接請求,并將該請求傳遞給通信驅(qū)動部分,由通信驅(qū)動轉(zhuǎn)換為通信信號通過傳輸媒體傳遞給智能模塊的固化軟件。并將模塊的應答作為DDE操作的結(jié)果返回給MMI軟件及用戶軟件。
5 結(jié)論
將先進的現(xiàn)場總線技術(shù)(CAN BUS)應用于智能測控系統(tǒng),大大提高了系統(tǒng)的可靠性;自主開發(fā)了符合國際標準的基于單片機的智能節(jié)點,不僅大量節(jié)約了資金,而且可以購置通用的同類設備,可節(jié)約大量的研發(fā)費用;基于工控機的上位機提供了良好的人機界面,使操作更加方便,直觀。
參考文獻:
[1] 林強,陽憲惠等.現(xiàn)場總線及其網(wǎng)絡集成.測控技術(shù),1999,18(5):24-26
[2] 顧洪軍等.工業(yè)企業(yè)網(wǎng)與現(xiàn)場總線技術(shù)及應用.北京:人民郵電出版社,2002.4.265-416
[3]肖海榮,周風余.基于SJA1000的CAN總線系統(tǒng)智能節(jié)點設計[J].計算機自動測量與控制,2001,9(2)
[4]鄔寬明.CAN總線原理和應用系統(tǒng)設計[M].北京航空航天大學出版社
[5]獨立CAN器件SJA1000的應用[J].南京工程學院學報,2002年3月
評論