基于CAN總線的高壓開(kāi)關(guān)柜狀態(tài)監(jiān)測(cè)單元通訊模塊的設(shè)計(jì)
?。?)有錯(cuò)誤發(fā)生時(shí),在中斷服務(wù)程序里根據(jù)中斷寄存器(中斷方式,中斷使能寄存器除喚醒和接收中斷外均打開(kāi))的各位的狀態(tài),再結(jié)合相應(yīng)的寄存器即可以進(jìn)行分析和診斷了。 例如出現(xiàn)應(yīng)答通道故障時(shí)則會(huì)產(chǎn)生總線錯(cuò)誤中斷,檢查錯(cuò)誤代碼捕捉寄存器,就可知道是產(chǎn)生了應(yīng)答通道故障。該方法的優(yōu)點(diǎn)是知道錯(cuò)誤具體是什么而采取對(duì)應(yīng)的措施,缺點(diǎn)是編程比較麻煩,對(duì)協(xié)議和控制器都要十分熟悉。
(2)控制器一有錯(cuò)誤發(fā)生就重新初始化(中斷方式,中斷使能寄存器除喚醒和接收中斷外均打開(kāi)),讓控制器重新正常運(yùn)行,該方法優(yōu)點(diǎn)是簡(jiǎn)單易行,缺點(diǎn)是沒(méi)有考慮到錯(cuò)誤發(fā)生的原因,不能作進(jìn)一步的分析和診斷。
為了簡(jiǎn)化設(shè)計(jì),筆者采取的是后一種方案。
7. 結(jié)語(yǔ)
?。?)CAN作為一種有效支持分布式通信的現(xiàn)場(chǎng)總線,具有高的可靠性和實(shí)時(shí)性,同時(shí)又有簡(jiǎn)單、易用以及性價(jià)比高的優(yōu)點(diǎn),因此選擇CAN作為監(jiān)測(cè)單元通訊模塊的解決方案。
?。?)在研究分析CAN協(xié)議的基礎(chǔ)上,根據(jù)實(shí)際情況對(duì)CAN的標(biāo)識(shí)符作了定義,且制定了應(yīng)用層的協(xié)議,并給出了軟硬件的設(shè)計(jì)思路以及異常情況的處理方法。
?。?)在實(shí)驗(yàn)室的調(diào)試運(yùn)行表明,采用CAN總線作為高壓開(kāi)關(guān)柜監(jiān)測(cè)單元通訊模塊的解決方案取得了良好的效果。
評(píng)論