<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CAN總線(xiàn)的電力集中抄表系統

基于CAN總線(xiàn)的電力集中抄表系統

作者: 時(shí)間:2009-05-21 來(lái)源:網(wǎng)絡(luò ) 收藏


3 通信軟件設計
對于微處理器,控制器完全是事件觸發(fā)的,即在本身狀態(tài)發(fā)生改變時(shí),控制器會(huì )把狀態(tài)變化的結果告訴微處理器。因此中心微處理器可以采用中斷方式或者輪詢(xún)方式對CAN控制器做出相應的處理。各CAN節點(diǎn)按規定格式和周期發(fā)送數據到上,同時(shí)根據需要各取所需報文。對于接收數據,則采用中斷的方式實(shí)現,一旦中斷發(fā)生,即將接收的數據裝載到相應的報文寄存器中。此時(shí)利用屏蔽濾波寄存器對接收報文的標識符和預先在接收緩沖器初始化時(shí)設定的標識符進(jìn)行有選擇地逐位比較,只有標識符匹配的報文才能進(jìn)入接收緩沖器,那些不符合要求的報文將被屏蔽于接收緩沖器外,從而減輕CPU處理報文的負擔。
3.1 CAN控制器初始化
初始化CAN控制器的操作包括硬件使能、軟件復位、設置報警界限、設置波特率、設置中斷工作方式、設置驗收濾波器工作方式、設置工作模式并啟動(dòng)CAN等。初始化程序如下:

3.2 數據發(fā)送
將待發(fā)送的數據打包成符合CAN協(xié)議的幀格式后,便可寫(xiě)入發(fā)送緩沖區,并啟動(dòng)發(fā)送。在寫(xiě)發(fā)送緩沖區前必須查詢(xún)其狀態(tài)。中的每個(gè)CAN控制器有3個(gè)發(fā)送緩沖區,它們的狀態(tài)可通過(guò)查詢(xún)CANSR得知。只有當其中有空閑的發(fā)送緩沖區時(shí)才可將數據寫(xiě)入。在發(fā)送大量數據時(shí),這一步顯得尤其重要,否則將不能保證發(fā)送的可靠性。啟動(dòng)發(fā)送成功后,只能通過(guò)查詢(xún)cANGSR的TCS位或配合發(fā)送成功中斷來(lái)判斷數據是否發(fā)送成功。
3.3 數據接收
接收數據可采用查詢(xún)方式或中斷方式。在某一段時(shí)間內,并不總是在活動(dòng)。為了提高效率,可采用中斷方式,在初始化程序中必須使能接收中斷。在中斷服務(wù)子程序中,讀取CANICR,判斷是否有接收中斷標志,有則讀取接收緩沖區數據。為了防止接收緩沖區數據溢出,可開(kāi)辟一個(gè)循環(huán)接收數據隊列來(lái)暫時(shí)存儲數據,主程序則通過(guò)查詢(xún)該隊列獲得總線(xiàn)數據。

4 總結

,其抄表的數據通信具有很強的實(shí)時(shí)性、可靠性和抗干擾性,該的樣機正在進(jìn)行網(wǎng)測試,以期通過(guò)研究和改進(jìn),進(jìn)一步提高程序的通信處理、糾錯和容錯能力。


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>