基于CAN總線的煤礦風(fēng)機監(jiān)控系統(tǒng)設(shè)計
5 系統(tǒng)軟件設(shè)計
5.1主程序軟件設(shè)計
風(fēng)機監(jiān)控系統(tǒng)要完成監(jiān)控數(shù)據(jù)采集、存儲、電機檢測、風(fēng)機控制、數(shù)據(jù)上傳等工作。主程序則完成系統(tǒng)的初始化和各模塊的調(diào)用,流程如圖4所示。在監(jiān)控數(shù)據(jù)采集模塊中,系統(tǒng)循環(huán)檢測電壓、溫度、風(fēng)壓、瓦斯?jié)舛?、電機的運行狀況等參數(shù),在風(fēng)機驅(qū)動模塊中,系統(tǒng)對風(fēng)機進行配置并控制其運行狀態(tài);在通信模塊中,通過CAN總線將監(jiān)控數(shù)據(jù)上傳到主機。由于煤礦井下環(huán)境惡劣,干擾很大,所以在硬件設(shè)計時還應(yīng)加入硬件抗干擾措施及軟件抗干擾措施,如軟件陷阱、指令冗余、軟件“ 看門狗”等。
本文引用地址:http://butianyuan.cn/article/157796.htm
5.2 CAN總線通信軟件設(shè)計
系統(tǒng)采用了主從式的網(wǎng)絡(luò)結(jié)構(gòu)。主機發(fā)送數(shù)據(jù)請求命令幀,相應(yīng)的風(fēng)機監(jiān)控系統(tǒng)節(jié)點發(fā)出返回幀,返回數(shù)據(jù)信息。數(shù)據(jù)和命令的具體格式就相當(dāng)于網(wǎng)絡(luò)層的協(xié)議。本系統(tǒng)中由于所有總線節(jié)點都為自行設(shè)計,所以以 CAN 2.0A幀結(jié)構(gòu)為基礎(chǔ),自定義了簡單的 CAN總線應(yīng)用層協(xié)議。通信時,主機向通信節(jié)點發(fā)送信息幀,節(jié)點接收到信息幀后,通過判別標識符來區(qū)別信息幀的類別后,再將主機所需要的數(shù)據(jù)發(fā)送出去,主機同樣也是通過標識符來識別數(shù)據(jù)類型。
節(jié)點通信軟件分三個部分:CAN初始化、數(shù)據(jù)發(fā)送、數(shù)據(jù)接收。 CAN通信協(xié)議的實現(xiàn),包括各種幀的組織和發(fā)送,都由集成在 DSP上的 CAN總線控制器實現(xiàn)的。首先,應(yīng)對 CAN控制器寫入控制字,進行初始化,即對工作方式、接收濾波寄存器、接收屏蔽寄存器、接收代碼寄存器、波特率參數(shù)等的設(shè)置,然后 DSP即可通過 CAN總線控制器接收/發(fā)送緩存區(qū)向物理總線接收和發(fā)送數(shù)據(jù)。發(fā)送數(shù)據(jù)的過程是: DSP將待發(fā)送的數(shù)據(jù)按 CAN 格式組成一幀報文,寫入 CAN總線控制器的發(fā)送緩沖區(qū),然后把數(shù)據(jù)發(fā)送到總線上去;接收報文的過程是:CAN總線控制器從總線上自動接收報文,并經(jīng)過過濾后存入接收緩沖區(qū),并向 DSP發(fā)出中斷請求,DSP從緩沖區(qū)讀取報文。
6 結(jié)束語
設(shè)計的創(chuàng)新點在于針對當(dāng)前煤礦生產(chǎn)實際,開發(fā)了基于 CAN總線的煤礦風(fēng)機監(jiān)控系統(tǒng),采用 DSP芯片進行數(shù)據(jù)處理和自動控制,采用 CAN總線實現(xiàn)分布式數(shù)據(jù)采集與控制,可以將 DSP的高速性和 CAN總線通信的可靠性、實時性有效結(jié)合起來。系統(tǒng)能夠采集煤礦井下多種環(huán)境參數(shù),記錄風(fēng)機運行狀況,并控制風(fēng)機運行狀態(tài)的,有效保障煤礦安全生產(chǎn)。
評論