色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN總線的電力集中抄表系統(tǒng)

          基于CAN總線的電力集中抄表系統(tǒng)

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


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

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

          4 總結(jié)

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


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉