關(guān) 閉

新聞中心

EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于AT91RM9200的CAN智能節(jié)點(diǎn)設(shè)計(jì)

基于AT91RM9200的CAN智能節(jié)點(diǎn)設(shè)計(jì)

作者: 時(shí)間:2010-08-13 來源:網(wǎng)絡(luò) 收藏

2.2 發(fā)送數(shù)據(jù)
當(dāng)完成的初始化后,即可使用3個(gè)發(fā)送緩沖器發(fā)送報(bào)文數(shù)據(jù)。由圖2(b)可知:在發(fā)送數(shù)據(jù)前,首先通過發(fā)送緩沖器N(N=O,1,2)控制寄存器TXBNCTRL終止報(bào)文發(fā)送,并設(shè)定發(fā)送緩沖器N報(bào)文發(fā)送的優(yōu)先級(jí);接著通過發(fā)送緩沖器N標(biāo)準(zhǔn)標(biāo)識(shí)符高低位寄存器TXBNSIDH,TXBNSIDL設(shè)定標(biāo)準(zhǔn)標(biāo)識(shí)符,如果報(bào)文采用擴(kuò)展標(biāo)識(shí)符,還需通過發(fā)送緩沖器N擴(kuò)展標(biāo)識(shí)符高低位寄存器TXBNEID8,TXBNEID0設(shè)定擴(kuò)展標(biāo)識(shí)符。當(dāng)發(fā)送緩沖器N相關(guān)寄存器初始化后,發(fā)送任務(wù)處于休眠等待狀態(tài)。一旦有數(shù)據(jù)需要發(fā)送,即可將需要發(fā)送的數(shù)據(jù)(每次最多8 B)存放在發(fā)送緩沖器N的數(shù)據(jù)寄存器TXBND7~TXlBND0,并且通過送緩沖器N的數(shù)據(jù)長(zhǎng)度寄存器TXBNDLC設(shè)定每次發(fā)送的字節(jié)數(shù),最后通過發(fā)送緩沖器N控制寄存器TXB-NCTRL啟動(dòng)數(shù)據(jù)發(fā)送。當(dāng)數(shù)據(jù)發(fā)送完畢,發(fā)送任務(wù)又處于休眠等待狀態(tài)。
2.3 接收數(shù)據(jù)
當(dāng)完成CAN的初始化后,即可使用兩個(gè)接收緩沖器接收?qǐng)?bào)文數(shù)據(jù)。由圖2(c)可知:在接收數(shù)據(jù)前,首先通過接收緩沖器N(N=0,1)控制寄存器RXBNCTRL,設(shè)定接收緩沖器的工作模式為接收符合濾波條件的所有帶擴(kuò)展標(biāo)識(shí)符或標(biāo)準(zhǔn)標(biāo)識(shí)符的有效報(bào)文;如果允許MCP2510接收中斷,還需通過中斷使能寄存器CANINTE允許接收緩沖器N裝入報(bào)文時(shí)產(chǎn)生中斷。
當(dāng)接收緩沖器N相關(guān)寄存器初始化后,接收任務(wù)處于休眠等待狀態(tài)。當(dāng)接收任務(wù)通過輪詢或中斷方法發(fā)現(xiàn)需要接收數(shù)據(jù)時(shí),它通過接收緩沖器N標(biāo)準(zhǔn)標(biāo)識(shí)符高低位寄存器RXBNSIDH,RXBNSIDL獲取標(biāo)準(zhǔn)標(biāo)識(shí)符;如果收到的報(bào)文是擴(kuò)展幀,可通過RXBNSIDL及接收緩沖器N擴(kuò)展標(biāo)識(shí)符中間、低位寄存器RXBNEID8,RXBNEIDO獲取擴(kuò)展標(biāo)識(shí)符;通過接收緩沖器N數(shù)據(jù)長(zhǎng)度碼寄存器RXBNDLC獲取接收到的數(shù)據(jù)字節(jié)個(gè)數(shù),進(jìn)而通過接收緩沖器N數(shù)據(jù)寄存器RBNDm7~RBNDm0獲取接收?qǐng)?bào)文中的數(shù)據(jù)信息。當(dāng)數(shù)據(jù)接收完畢,接收任務(wù)又處于休眠等待狀態(tài)。

3 軟硬件調(diào)試
當(dāng)CAN的硬件和軟件完畢,需要對(duì)其進(jìn)行軟、硬件的調(diào)試以驗(yàn)證其的正確性。CAN軟、硬件調(diào)試按以下步驟依次進(jìn)行:
(1)CAN自發(fā)、自收功能調(diào)試。只要在CAN初始化過程完成MCP2510相關(guān)寄存器的配置,將MCP2510設(shè)置為環(huán)回模式,即可使MCP2510器件內(nèi)部發(fā)送緩沖器和接收緩沖器之間進(jìn)行報(bào)文自發(fā)、自收,而無需通過CAN總線。

本文引用地址:http://www.butianyuan.cn/article/162936.htm


(2)CAN通信功能調(diào)試。按照?qǐng)D3所示方案進(jìn)行CAN通信功能的調(diào)試。其中USB_CAN適配器采用武漢吉陽光電科技有限公司一款帶有USB接口和1路CAN接口的GY8507 USB_CAN總線適配器。通過該適配器,PC可以通過USB接口連接一個(gè)標(biāo)準(zhǔn)CAN網(wǎng)絡(luò),從而與CAN通信。使用廠家提供的CANTools工具軟件可以方便進(jìn)行CAN智能節(jié)點(diǎn)數(shù)據(jù)的發(fā)送和接收調(diào)試。
(3)CAN功能模塊調(diào)試。由于CAN智能節(jié)點(diǎn)具體實(shí)現(xiàn)的功能各異,不詳細(xì)介紹CAN功能模塊的調(diào)試。

4 結(jié)語
目前已完成CAN智能節(jié)點(diǎn)通信電路的軟、硬件及調(diào)試,并成功將軟件移植到VxWorks 5.5操作系統(tǒng)上運(yùn)行。功能強(qiáng)大的AT91RM-9200處理器以及高可靠和強(qiáng)實(shí)時(shí)的VxWorks 5.5操作系統(tǒng),容易構(gòu)建出滿足應(yīng)用需求的CAN智能節(jié)點(diǎn)。


上一頁 1 2 3 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉