基于DSP的CAN總線系統(tǒng)設計與實現(xiàn)
在軟件設計時,首先應進行IO口配置。由于CAN通訊所用到的兩個引腳CANTX和CANRX均為復用IO口,因此,首先要配置寄存器CANTIOC
的TXFUNC和RXFUNC位為l;再就是要初始化位時序,即對位時序配置寄存器CANBCR進行配置,包括CAN控制器的通訊波特率、同步跳轉寬度、采樣次數(shù)等參數(shù)。
當完成以上CAN配置之后,還需按照圖5所示的流程圖來完成數(shù)據(jù)的發(fā)送與接收配置,同時初始化郵箱。郵箱初始化主要是設置郵箱的標識符和控制域(即發(fā)送的是遠程幀還是數(shù)據(jù)幀),以及對相應的郵箱賦初值。本文引用地址:http://www.biyoush.com/article/151978.htm
數(shù)據(jù)接收時,所接收到的信息的標識符必須與相應的接收郵箱的標識符相同,否則該信息將被濾除。這里,數(shù)據(jù)的發(fā)送與接收請求均采用標志位查詢方式。
按照以上步驟設置好后,接著就是對數(shù)據(jù)的發(fā)送與接收請求進行配置。數(shù)據(jù)接收可采用中斷方式,中斷配置可在主程序流程中進行配置。正確配置中斷入口地址及中斷函數(shù),并開放CAN接收中斷后,還要分別配置不同的數(shù)據(jù)幀,包括標準幀和擴展幀,以及數(shù)據(jù)幀和遠程請求幀。
圖6表示為上位機接收數(shù)據(jù)的調試界面??梢钥吹?,CAN通信和下位機間的數(shù)據(jù)通信,可以寫數(shù)據(jù)并發(fā)送給下位機,同時也可接收下位機的數(shù)據(jù)來驗證電路及軟件的正確性。
5 結束語
利用TMS320F2812內(nèi)嵌的eCAN模塊可使得硬件電路設計更為簡單而可靠,而且性能也較已有的DSP內(nèi)嵌的CAN控制器有較大的提高。同時,采用C語言編程,則可使得程序的設計難度降低,提高程序的可維護性并縮短開發(fā)時間。
評論