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