基于DSP的CAN總線系統(tǒng)設計與實現(xiàn)
摘要:介紹了基于DSP的CAN控制器的設計及應用方法,利用該方法可以在波特率高達lMb/s的條件下穩(wěn)定、可靠地傳輸數(shù)據(jù),而且延遲時間很少。實驗證明,利用TMS320F2812內嵌的CAN模塊來構成的硬件電路和軟件設計十分簡單實用。
關鍵字:CAN總線;串行通信;分布式控制;DSP;TMS320F2812
0 引言
eCAN模塊是一種片上增強型控制器,其性能較之已有的DSP內嵌CAN控制器有較大的提高,而且數(shù)據(jù)傳輸更加靈活方便,數(shù)據(jù)量更大、可靠性更高、功能更加完備。隨著TMS320F2812的大量推廣使用,基于DSP的CAN總線通信方式將得到廣泛的應用。
1 eCAN模塊的增強特性
eCAN模塊是TI公司的新一代32位高級CAN控制器,它完全兼容CAN2.0B協(xié)議,可以在有干擾的環(huán)境里使用上述協(xié)議與其它控制器串行通信。該模塊除具有一般DSP內嵌CAN控制器的所有功能外,與TMS320F2812系列DSP的CAN模塊相比,它還主要具有如下一些增強特性:
(1)增加了郵箱數(shù)量,并且所有郵箱都具有獨立的接收屏蔽寄存器。TMS320F2812有多達32個郵箱,其所占用的512字節(jié)RAM都可以配置為
發(fā)送或接收郵箱,且都有一個可編程的接收屏蔽寄存器。因而其數(shù)據(jù)傳輸更加方便靈活、信息量大大增加;
(2)eCAN是一個32位的高級CAN控制器。其控制寄存器的狀態(tài)寄存器必須以32位方式訪問,而接收屏蔽、時間標識寄存器、超時寄存器和郵箱所在的CAN范圍則可以以8位、16位和32位方式訪問;
(3)時間標識。eCAN模塊應用一個全速運行的32位定時器(LNT)來獲得接收或者發(fā)送一個信息(有效的CAN數(shù)據(jù)幀)的時間。當一個接收
信息被保存或被發(fā)送時,定時器的內容將寫入到相應郵箱的時間標識寄存器(MOTS)里。這樣就可獲得接收或發(fā)送一個信息的時間。當郵箱成功發(fā)送或接收一個信息時,LNT寄存器被清除。所以可以通過使用郵箱來實現(xiàn)網(wǎng)絡的全局時間同步;
(4)超時功能。為了確定所有的信息都能在預定的時間里送出或接收,每個郵箱都有它自己的超時寄存器(MOTS)。如果一個信息沒有在超
時寄存器設定的時間內完成發(fā)送或接收,其超時狀態(tài)寄存器里將設置一個標志位,并據(jù)此判斷是否超時。
以上這些增強特性使得TMS320F2812在進行CAN通信時,其數(shù)據(jù)傳輸更加方便靈活、數(shù)據(jù)量更大、功能更完備。
2 應用設計
針對TI公司的TMS320F2812內嵌的eCAN模塊的方便性和實用性,可用TMS320F2812微控制器組成一個CAN總線網(wǎng)絡來進行實時數(shù)據(jù)收發(fā)。其
中CAN驅動器使用TI公司的SN65HVD230D。此方案可擴展性強,功能強大。若要增加節(jié)點個數(shù),只需要在CAN總線上掛接帶有CAN模塊的控制器
即可。
評論