新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于S3C2410的CAN總線通信設(shè)計(jì)與開(kāi)發(fā)

基于S3C2410的CAN總線通信設(shè)計(jì)與開(kāi)發(fā)

作者: 時(shí)間:2013-02-27 來(lái)源:網(wǎng)絡(luò) 收藏
(1) 發(fā)送處理

在兩種情況會(huì)下被執(zhí)行,其一發(fā)送中斷響應(yīng)中,如果當(dāng)前有發(fā)送任務(wù),通過(guò)發(fā)送緩沖區(qū)記錄標(biāo)志確定空的發(fā)生緩沖區(qū)并向其中填發(fā)送幀,然后啟動(dòng)發(fā)送;其二在接收中斷響應(yīng)中,在接收處理完后如果有發(fā)送任務(wù)且有發(fā)送緩沖區(qū)空,會(huì)處理發(fā)送任務(wù)。在兩處處理發(fā)送主要是考慮有多個(gè)發(fā)送、接收緩沖區(qū)可用,可以提高通信效率。

(2) 接收處理

需要根據(jù)ICOD的值來(lái)確定當(dāng)前是那個(gè)接收緩沖區(qū)的數(shù)據(jù)準(zhǔn)備好,可以讀取。接收幀處理過(guò)程中首先讀取幀的ID值,確定當(dāng)前幀的數(shù)據(jù)是那個(gè)節(jié)點(diǎn)發(fā)送來(lái)的,并據(jù)此把幀中數(shù)據(jù)字段的數(shù)據(jù)存放相應(yīng)的位置。

(3) 錯(cuò)誤處理

引起錯(cuò)誤處理的原因很多,并且都產(chǎn)生錯(cuò)誤中斷,需要訪問(wèn)錯(cuò)誤標(biāo)志寄存器來(lái)確定具體錯(cuò)誤類型,并據(jù)此作相應(yīng)的處理。

此外,圖3中更新發(fā)送緩沖區(qū)使用記錄是為了在發(fā)送和接收中斷響應(yīng)中可以據(jù)此清楚發(fā)送緩沖區(qū)的使用情況,確定當(dāng)前是否可以做發(fā)送處理。

4 測(cè)試與應(yīng)用

將以上設(shè)計(jì)方案應(yīng)用到自主開(kāi)發(fā)的HMI(結(jié)構(gòu)框圖如圖4,虛線框中為擴(kuò)展的總線接口框圖)實(shí)驗(yàn)板上,同時(shí)與黃石市科威自控有限公司開(kāi)發(fā)的混合型PLC(EASY-M0808R-A44NB)、通用型PLC(EASY-M2416R)、運(yùn)動(dòng)控制器(EASY-KP3-M0506R)進(jìn)行通信測(cè)試,其中HMI作主站,其他設(shè)備作從站。測(cè)試環(huán)境中有電機(jī)頻繁啟停和不間斷繼電器開(kāi)閉干擾,其他測(cè)試條件和參數(shù)見(jiàn)如附表:

附表 接口測(cè)試記錄表
在測(cè)試記錄程序中記錄了通訊速率為500Kbps,運(yùn)行到6時(shí)31分42秒時(shí)出現(xiàn)了一次通信“死機(jī)”,隨后系統(tǒng)調(diào)用自恢復(fù)程序重新配置軟硬件參數(shù),6時(shí)31分43秒重啟通信,通信恢復(fù)正常。其他測(cè)試條件下沒(méi)有出現(xiàn)“死機(jī)”的情況。該測(cè)試結(jié)果說(shuō)明采用這種方法設(shè)計(jì)的接口完全能夠滿足工業(yè)現(xiàn)場(chǎng)網(wǎng)絡(luò)通訊的要求。


圖4 HMI系統(tǒng)結(jié)構(gòu)圖5 結(jié)束語(yǔ)

采用ARM芯片集成的SPI接口擴(kuò)展的CAN總線接口,在不改變CAN總線自身的特點(diǎn)的前提下,使得PCB布線簡(jiǎn)單,增強(qiáng)了系統(tǒng)的可靠性;為擴(kuò)展接口找到了一個(gè)便捷的方法。在自主開(kāi)發(fā)的HMI中采用該設(shè)計(jì)方案實(shí)現(xiàn)CAN總線接口的擴(kuò)展,并且在實(shí)際應(yīng)用和測(cè)試中證明了該方案的正確性和可靠性。(end)


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: S3C2410 CAN 總線通信

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉