當前有許多微處理器將CAN控制器嵌入到系統之中,成為片上的微處理器,TI公司新推出的TMS320F2812就是其中之一。這種結構成本低廉、運行穩定、功能完備,是一種很有前途的CAN通信系統組成方案。
eCAN模塊是TMS320F2812DSP片上的增強型CAN控制器。其性能較之已有的DSP內嵌CAN控制器有較大的提高,在進行CAN總線通信時,數據傳輸更加靈活方便,數據量更大、可靠性更高、功能更加完備。隨著TMS320F2812的大量推廣使用,基于eCAN的CAN總線通信方式將得到廣泛的應用。
TMS320F2812eCAN模塊的增強特性
eCAN模塊是TI公司新一代32位高級CAN控制器,性能相當于TI公司TMS470系列微控制器使用的高端CAN控制器(HECC,High-endCANController)。它完全兼容CAN2.0B協議,可以在有干擾的環境里使用上述協議與其他控制器串行通信。eCAN模塊具有32個可以完全控制的郵箱和時間標識特性,提供了一個通用可靠的串行通信接口。除具有一般DSP內嵌CAN控制器的所有功能外,與TMS320LF240x系列DSP的CAN模塊相比,它主要具有如下的一些增強特性:
1.增加了郵箱數量,并且所有郵箱都具有獨立的接收屏蔽寄存器。原來的TMS320LF240x系列(以TMS320LF2407為例),僅有6個郵箱:2個接收郵箱、2個發送郵箱和2個可配置為接收或者發送郵箱。而TMS320F2812有多達32個的郵箱,占用512字節RAM,都可以配置為發送或接收郵箱,且都有一個可編程的接收屏蔽寄存器。這樣就使數據傳輸更加方便靈活、信息量大大增加。
2.eCAN是一個32位的高級CAN控制器。其控制寄存器的狀態寄存器必須以32位方式訪問;接收屏蔽、時間標識寄存器、超時寄存器和郵箱所在的RAM范圍可以以8位、16位和32位方式訪問。
3.時間標識。eCAN模塊應用了一個全速運行的32位定時器(LNT)來獲得接收或者發送一個信息(有效的CAN數據幀)的時間。當一個接收信息被保存或被發送的時候,定時器的內容寫入到相應郵箱的時間標識寄存器(MOTS)里。這樣就可獲得接收或發送一個信息的時間。
當郵箱16成功發送或接收一個信息時,LNT寄存器被清除。所以可以通過使用郵箱16來實現網絡的全局時間同步。
4.超時功能:為了確定所有的信息都在預定的時間里送出或接收,每個郵箱都有它自己的超時寄存器(MOTO)。如果一個信息沒有在超時寄存器設定的時間完成發送或接收,一個標志位將在超時狀態寄存器里被設置,據此可以判斷出是否超時。
以上這些增強特性使得TMS320F2812進行CAN通信時,傳輸更加方便靈活、數據量更大、功能更完備,這也正是eCAN的增強特性所在。
eCAN通信程序設計的基本流程
下面介紹TMS320F2812的eCAN模塊與CAN卡之間的通信實例。本文主要討論的是下位機程序。eCAN的郵箱0配置為發送方式,郵箱16配置為接收方式,都采用標準信息幀格式。發送用查詢方式、接收用中斷方式。接收到數據后,用接收到的數據更新郵箱0的數據。對接收到的數據進行確認,使用一個全局變量來記錄接收錯誤發生的次數。這個程序的實現分為以下幾個重要步驟。
eCAN模塊初始化
eCAN模塊在使用前必須對它初始化。僅當模塊處于初始化模式下,初始化才能進行。DSP復位后,就激活了初始化模式,此時就應該對eCAN模塊初始化。eCAN模塊初始化流程圖略(詳見《電子設計應用》2003.10)。其中要對以下寄存器或寄存器的某些位進行操作:主控制寄存器(CANMC)的改變配置請求位(CCR),當其為0時,eCAN處于正常工作方式,為1時eCAN處于配置方式;錯誤狀態寄存器(CANES)的改變配置使能位(CCE),當其為0時,CPU不能寫控制寄存器,為1時則可以;位定時器配置寄存器(CANBTC),它用合適的網絡定時器參數配置CAN節點。當CCR=1時,CPU必須等到CCE置位為1才能操作CANBTC。
信息的發送
信息的發送程序要對以下寄存器或寄存器的某些位進行操作:發送請求寄存器(CANTRS)的相應位,當其被置1時
地址: 浙江省.寧波市鄞州區寧姜公路(九曲小區二期旁)
郵編: 315040
聯系人: 盛立峰
電話: 0574-87139378
傳真: 0574-87139378
手機: 13867861670
郵箱: 85400329@qq.com
Copyright ?2004-2025 寧波市鄞州首南恒宇激光雕刻廠 All Rights Reserved.
地址: 浙江省.寧波市鄞州區寧姜公路(九曲小區二期旁) 郵編: 315040 聯系人: 盛立峰
電話: 0574-87139378 傳真: 0574-87139378 手機: 13867861670