《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于DSP的CAN總線系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
基于DSP的CAN總線系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
國(guó)外電子元器件
武振寧 西安電子工程研究所
摘要: 基于DSP的CAN總線系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),摘要:介紹了基于DSP的CAN控制器的設(shè)計(jì)及應(yīng)用方法,利用該方法可以在波特率高達(dá)lMb/s的條件下穩(wěn)定、可靠地傳輸數(shù)據(jù),而且延遲時(shí)間很少。實(shí)驗(yàn)證明,利用TMS320F2812內(nèi)嵌的CAN模塊來構(gòu)成的硬件電路和軟件設(shè)計(jì)十分簡(jiǎn)單
關(guān)鍵詞: FPGA DSP CAN總線
Abstract:
Key words :

摘要:介紹了基于DSP的CAN控制器的設(shè)計(jì)及應(yīng)用方法,利用該方法可以在波特率高達(dá)lMb/s的條件下穩(wěn)定、可靠地傳輸數(shù)據(jù),而且延遲時(shí)間很少。實(shí)驗(yàn)證明,利用TMS320F2812內(nèi)嵌的CAN模塊來構(gòu)成的硬件電路和軟件設(shè)計(jì)十分簡(jiǎn)單實(shí)用。
關(guān)鍵字:CAN總線;串行通信;分布式控制;DSP;TMS320F2812

0 引言
    eCAN模塊是一種片上增強(qiáng)型控制器,其性能較之已有的DSP內(nèi)嵌CAN控制器有較大的提高,而且數(shù)據(jù)傳輸更加靈活方便,數(shù)據(jù)量更大、可靠性更高、功能更加完備。隨著TMS320F2812的大量推廣使用,基于DSP的CAN總線通信方式將得到廣泛的應(yīng)用。

1 eCAN模塊的增強(qiáng)特性
    eCAN模塊是TI公司的新一代32位高級(jí)CAN控制器,它完全兼容CAN2.0B協(xié)議,可以在有干擾的環(huán)境里使用上述協(xié)議與其它控制器串行通信。該模塊除具有一般DSP內(nèi)嵌CAN控制器的所有功能外,與TMS320F2812系列DSP的CAN模塊相比,它還主要具有如下一些增強(qiáng)特性:
    (1)增加了郵箱數(shù)量,并且所有郵箱都具有獨(dú)立的接收屏蔽寄存器。TMS320F2812有多達(dá)32個(gè)郵箱,其所占用的512字節(jié)RAM都可以配置為
發(fā)送或接收郵箱,且都有一個(gè)可編程的接收屏蔽寄存器。因而其數(shù)據(jù)傳輸更加方便靈活、信息量大大增加;
    (2)eCAN是一個(gè)32位的高級(jí)CAN控制器。其控制寄存器的狀態(tài)寄存器必須以32位方式訪問,而接收屏蔽、時(shí)間標(biāo)識(shí)寄存器、超時(shí)寄存器和郵箱所在的CAN范圍則可以以8位、16位和32位方式訪問;
    (3)時(shí)間標(biāo)識(shí)。eCAN模塊應(yīng)用一個(gè)全速運(yùn)行的32位定時(shí)器(LNT)來獲得接收或者發(fā)送一個(gè)信息(有效的CAN數(shù)據(jù)幀)的時(shí)間。當(dāng)一個(gè)接收
信息被保存或被發(fā)送時(shí),定時(shí)器的內(nèi)容將寫入到相應(yīng)郵箱的時(shí)間標(biāo)識(shí)寄存器(MOTS)里。這樣就可獲得接收或發(fā)送一個(gè)信息的時(shí)間。當(dāng)郵箱成功發(fā)送或接收一個(gè)信息時(shí),LNT寄存器被清除。所以可以通過使用郵箱來實(shí)現(xiàn)網(wǎng)絡(luò)的全局時(shí)間同步;
    (4)超時(shí)功能。為了確定所有的信息都能在預(yù)定的時(shí)間里送出或接收,每個(gè)郵箱都有它自己的超時(shí)寄存器(MOTS)。如果一個(gè)信息沒有在超
時(shí)寄存器設(shè)定的時(shí)間內(nèi)完成發(fā)送或接收,其超時(shí)狀態(tài)寄存器里將設(shè)置一個(gè)標(biāo)志位,并據(jù)此判斷是否超時(shí)。
    以上這些增強(qiáng)特性使得TMS320F2812在進(jìn)行CAN通信時(shí),其數(shù)據(jù)傳輸更加方便靈活、數(shù)據(jù)量更大、功能更完備。

2 應(yīng)用設(shè)計(jì)
    針對(duì)TI公司的TMS320F2812內(nèi)嵌的eCAN模塊的方便性和實(shí)用性,可用TMS320F2812微控制器組成一個(gè)CAN總線網(wǎng)絡(luò)來進(jìn)行實(shí)時(shí)數(shù)據(jù)收發(fā)。其
中CAN驅(qū)動(dòng)器使用TI公司的SN65HVD230D。此方案可擴(kuò)展性強(qiáng),功能強(qiáng)大。若要增加節(jié)點(diǎn)個(gè)數(shù),只需要在CAN總線上掛接帶有CAN模塊的控制器
即可。
    在TM320F2812的eCAN模塊與USB-CAN模塊之間進(jìn)行通信時(shí),上位機(jī)可選用派恩公司的USB-CAN模塊,其調(diào)試界面為PCANView。這里將eCAN的郵箱0配置成發(fā)送郵箱,郵箱5配置成發(fā)送郵箱,并采用擴(kuò)展信息幀格式。發(fā)送采用查詢方式,接收用中斷方式,同時(shí)可采用DsP將接收的數(shù)據(jù)轉(zhuǎn)發(fā)回上位機(jī),并對(duì)接收和發(fā)送的數(shù)據(jù)進(jìn)行錯(cuò)誤計(jì)數(shù)。圖1所示為采用上位機(jī)設(shè)置端口、波特率等參數(shù),并通過USB-CAN模塊與下位機(jī)通信的調(diào)試界面圖,它可用來檢驗(yàn)TM320F2812的CAN總線通信是否正常。

 

3 硬件設(shè)計(jì)
    本設(shè)計(jì)的硬件系統(tǒng)分為兩層:第一層是CAN總線與TMS320F12812接口層,用來實(shí)現(xiàn)CAN總線和TMS320F12812的物理接口;第二層為DSP與外
圍器件的信息處理層,其中TMS320F2812是針對(duì)控制領(lǐng)域應(yīng)用而設(shè)計(jì)的一款新型工控芯片,它集成了數(shù)字IO、事件管理器、A/D模數(shù)轉(zhuǎn)換、SPI串行外設(shè)接口、SCI異步串行通信接口、CAN控制器等控制資源。其CAN總線通信接口電路如圖2所示。

 

4 軟件設(shè)計(jì)
    在使用CAN控制器之前,首先必須對(duì)它的內(nèi)部寄存器進(jìn)行初始化設(shè)置,包括相關(guān)IO口設(shè)置以及郵箱的相關(guān)配置。這里著重介紹如何進(jìn)行初始化設(shè)置和發(fā)送與接收的配置。圖3所示是本系統(tǒng)的主程序流程圖,其CAN配置流程如圖4所示。


    在軟件設(shè)計(jì)時(shí),首先應(yīng)進(jìn)行IO口配置。由于CAN通訊所用到的兩個(gè)引腳CANTX和CANRX均為復(fù)用IO口,因此,首先要配置寄存器CANTIOC
的TXFUNC和RXFUNC位為l;再就是要初始化位時(shí)序,即對(duì)位時(shí)序配置寄存器CANBCR進(jìn)行配置,包括CAN控制器的通訊波特率、同步跳轉(zhuǎn)寬度、采樣次數(shù)等參數(shù)。
    當(dāng)完成以上CAN配置之后,還需按照?qǐng)D5所示的流程圖來完成數(shù)據(jù)的發(fā)送與接收配置,同時(shí)初始化郵箱。郵箱初始化主要是設(shè)置郵箱的標(biāo)識(shí)符和控制域(即發(fā)送的是遠(yuǎn)程幀還是數(shù)據(jù)幀),以及對(duì)相應(yīng)的郵箱賦初值。


    數(shù)據(jù)接收時(shí),所接收到的信息的標(biāo)識(shí)符必須與相應(yīng)的接收郵箱的標(biāo)識(shí)符相同,否則該信息將被濾除。這里,數(shù)據(jù)的發(fā)送與接收請(qǐng)求均采用標(biāo)志位查詢方式。
    按照以上步驟設(shè)置好后,接著就是對(duì)數(shù)據(jù)的發(fā)送與接收請(qǐng)求進(jìn)行配置。數(shù)據(jù)接收可采用中斷方式,中斷配置可在主程序流程中進(jìn)行配置。正確配置中斷入口地址及中斷函數(shù),并開放CAN接收中斷后,還要分別配置不同的數(shù)據(jù)幀,包括標(biāo)準(zhǔn)幀和擴(kuò)展幀,以及數(shù)據(jù)幀和遠(yuǎn)程請(qǐng)求幀。
    圖6表示為上位機(jī)接收數(shù)據(jù)的調(diào)試界面。可以看到,CAN通信和下位機(jī)間的數(shù)據(jù)通信,可以寫數(shù)據(jù)并發(fā)送給下位機(jī),同時(shí)也可接收下位機(jī)的數(shù)據(jù)來驗(yàn)證電路及軟件的正確性。

 

5 結(jié)束語
    利用TMS320F2812內(nèi)嵌的eCAN模塊可使得硬件電路設(shè)計(jì)更為簡(jiǎn)單而可靠,而且性能也較已有的DSP內(nèi)嵌的CAN控制器有較大的提高。同時(shí),采用C語言編程,則可使得程序的設(shè)計(jì)難度降低,提高程序的可維護(hù)性并縮短開發(fā)時(shí)間。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 欧美在线看视频 | 看片地址 | 亚洲一区中文字幕在线观看 | 黄色一级片录像 | 中文精品久久久久中文 | 成人网在线视频 | 免费无遮挡毛片 | 按摩毛片 | 亚洲精品 国产 日韩 | 一区二区三区在线视频播放 | 欧美一级特黄aaa大片 | 激情综合婷婷亚洲图片 | av av在线| 日日草草 | 在线观看黄网站 | 成人国产在线视频 | 日韩第九页 | 日本三日本三级香港三级 | 日本高清一级片 | 国产精品1024永久免费视频 | 一个人免费观看的www视频 | 国产一区二区三区在线观看精品 | 国产国语对白一区二区三区 | 免费在线色 | 精品亚洲综合久久中文字幕 | 欧美成人v视频免费看 | 国产一级特黄全黄毛片 | 久久久www成人免费精品 | 午夜嘿嘿嘿| 午夜视频在线观看完整高清在线 | 成年男女男免费视频网站不卡 | 最近的最新的中文字幕视频 | 老湿福利影院 | 中文字幕一区二区三区免费视频 | 久久99国产亚洲精品观看 | 国产精品bbwbbwbbw | av福利网址网站 | 亚洲精品视频在线观看免费 | 国产精品久久久久久影视 | 亚洲成网777777国产精品 | 日韩欧美精品中文字幕 |