欧美日操-欧美日韩91-欧美日韩99-欧美日韩ay在线观看-xxxx色-xxxx视频在线

基于Freescale16位DSP的CAN總線通信

2018-06-11 17:01:04 電氣技術  點擊量: 評論 (0)
本文介紹了CAN總線通信協議的特點和Motorola DSP56F807 內置的用于實現CAN通信的MSCAN模塊,并通過Processor Expert軟件開發包編程說明了MSCAN模塊的應用。

CAN (Controller Area Network)即控制器局域網,是德國BOSCH 公司在20世界80年代初為解決現代汽車中眾多的控制與測試儀器之間的數據交換而開發的一種串行數據通信協議。CAN 總線卓越的特性、極高的可靠性和獨特的設計,特別適合工業過程監控設備的互聯,因此受到工業界的重視,其應用范圍已經遍及工業控制自動化、汽車自動化、機械工業、樓宇自動化等非常廣泛的場合,成為最有前途的現場總線之一。

1 CAN總線的特點

CAN (Controller Area Network)總線是一種多主站控制器局域網總線.CAN 總線與一般的通信總線相比,具有獨特的設計思想,良好的功能特性,極高的可靠性、實時性和靈活性,突出的現場抗干擾能力。

其特點可主要有:⑴ 通信方式靈活,為多主方式工作。⑵ 網絡上的節點信息分成不同的優先級,可滿足不同的實時要求。⑶ 只需通過報文濾波即可實現點對點、一點對多點及全局廣播等幾種方式發送接收數據,無需專門的“調度”。⑷ 采用非破壞性總線仲裁技術。⑸ CAN通信格式采用短幀格式,每幀字節數最多為8個。⑹ 直接通信距離最遠可達10 km(速率5 kb/s以下);通信速率最高可達1 Mb/s(此時通信距離最長為40 m)。⑺ 網絡上的節點數主要取決于總線驅動電路,可達110個,報文標識符可達2032種(CAN2.0A)。而擴展格式(CAN2.0B)的報文標識符幾乎不受限制。⑻ CAN 總線通信接口中集成了CAN 協議的物理層和數據鏈路層功能,可完成對通信數據的成幀處理,包括位填充、數據塊編碼、循環冗余檢查、優先級判別等項工作。⑼ CAN 的每幀信息都有CRC校驗及其他檢錯措施,并可提供相應的錯誤處理功能,保證了數據通信的可靠性。⑽ 通信介質可為雙絞線、同軸電纜或光纖。⑾ 通信節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點操作不受影響。

一個有效的數據幀由幀起始、仲裁場、控制場、數據場、校驗場、應答場和幀結束組成。CAN2.OB協議規定的兩種不同的幀格式,即標準格式和擴展格式,它們的主要區別在于仲裁場格式不同,標準幀的仲裁場由11位標識符和遠程發送請求位RTR組成。擴展幀的仲裁場由29位標識符和替代遠程請求SRR位、標志位和遠程發送請求位RTR組成。如圖1所示。

2 控制器的CAN模塊通信

圖1 CAN數據幀結構

DSP56F807芯片本身帶有的CAN 控制模塊MSCAN(Motorola Scalable Controller Area Network)是一個完全的CAN控制器,完全支持CAN2.OA/B協議。

MSCAN模塊主要由時鐘單元,發送緩沖區、接受緩沖區、接受過濾控制組成。CAN控制器必須通過CAN驅動芯片才能與CAN 總線相連,DSP56F807芯片的EVM 板上內置驅動芯片PCA82C250。本文使用兩臺PC機和兩塊DSP56F807EVM板完成了一個簡單的MSCAN通信測試程序,一塊EVM板把AD采集來的數據通過CAN總線發送出去,另一塊EVM板完成數據的接收。圖2為硬件連接總體結構圖。

2.1 初始化MSCAN

Processor Expert(簡稱PE)是由捷克的UNIS公司開發的針對Freescale單片機和DSP的嵌入式軟件開發包, 它集成在CodeWarrior7.0開發軟件中。Processor Expert是在SDK的基礎上發展起來的,它提供了各種類型的Bean。PE采用面向對象的用戶接口,用戶通過Bean庫的選擇窗口來選擇并添加工程所需要的Bean,然后對這些Bean的屬性進行設置、對方法和事件進行代碼編輯。在設置好Bean以后,還要編寫主程序來組織這些Bean從而完成自己的工程。

在工程中加入Init_MSCAN Bean,打開Bean屬性設置窗口,如圖3。在完成屬性設置后,PE會自動生成CAN1_Init()函數,里面包含了MSCAN模塊控制寄存器的初始化設置。

void CAN1_Init(void)

{

setRegBit(CANCTL0, SFTRES);

......

setReg16(CANBTR0, 9);

setReg16(CANBTR1, 35);

setReg16(CANCTL1, 128);

clrRegBit(CANCTL0, SFTRES);

setReg16(CANRIER, 0);

setReg16(CANTCR, 0);

setReg16(CANCTL0, 0);

}

2.2 MSCAN發送程序

MSCAN模塊具有三發送緩沖器結構,這樣的發送結構允許預先安排多個等待發送的信息,可獲得最優化的實時性能。每個發送緩沖器帶有一個優先級寄存器(TBPR),用戶可以通過編程確定信息發送的順序。

CPU通過一組發送緩沖器空標志位(TXE [2:0]),確認有效的發送緩沖器,當標志位為1時,CPU將標識符、控制位和數據內容存儲到發送緩沖器中,并將該標志位清零。當標志位再次置為1時,說明緩沖器成功地發送了信息,并產生發送中斷,重裝發送緩沖器。圖4為CAN總線發送程序流程圖。

2.3 MSCAN接受程序

MSCAN具有雙緩沖器的接收結構,兩個緩沖器輪流映射到一個存儲器區域。后臺的接收緩沖器(RxBG)單獨地與MSCAN相聯系,而CPU只能訪問前臺的接收緩沖器(RxFG),這一結構簡化了軟件的處理過程。

當MSCAN控制器接收信息時,先將要接收的信息的標識符與接收緩沖器的標識符進行比較,只有標識符相同的信息才能被接收。MSCAN控制器的接收濾波器使得接收緩沖器可以忽略更多的位來接收信息,即如果只有被屏蔽的那幾位標識符不相符,則接收緩沖器仍能接收此信息,此程序為測試程序,忽略了標識符的過濾,只要有數據就接收。這里用了一個Printf 語句來顯示接收數據處理后的電壓值,用以和實際電壓值相比較。圖5為數據接收程序流程圖。

3 試驗結果

在PC機上分別運行發送和接收程序,通過不斷調節電位器,可以看到兩塊EVM板的測試等以同樣的順序點亮或熄滅。同時,在接收程序端,PC機顯示出隨電位器電壓變化而變化的電壓數據。CAN總線接收數據顯示如圖4。

4 結論

本文將CAN總線通信應用在實際的步進電機伺服控制系統中,上位機采用個人PC機,使用三純科技有限公司的總線通信卡SC2102,下位機采用Motorola公司的嵌入式控制器DSP56F807,采用CAN總線完成上位機與下位機之間的通信任務,傳輸速率可高達1 Mb/s,可以達到系統對于實時性的要求,同時也能達到系統對于穩定性的要求。

大云網官方微信售電那點事兒

責任編輯:售電衡衡

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?
主站蜘蛛池模板: 欧美高清色视频在线播放| 日韩欧美国产精品| 亚洲一级黄色毛片| 亚洲国产毛片aaaaa无费看 | 亚洲欧洲日韩综合色天使不卡| 亚洲夜夜骑| 午夜视频在线免费| 亚洲成人动漫在线观看| 奇米亚洲春色| 三级黄色片免费| 四虎影视永久免费观看网址| 亚洲精品美女久久久久| 欧美一级视| 欧美亚洲国产成人不卡| 人人看人人玩| 亚洲国产成人成上人色| 天堂va在线高清一区| 欧美亚洲综合一区| 亚洲春色www| 全免费a级毛片免费毛视频| 欧美激情第一欧美在线| 欧美日韩一区不卡| 欧美亚洲动漫| 亚洲视频99| 亚洲成人黄色网| 欧美亚洲国产精品| 性欧美丰满xxxx性久久久| 日韩一级视频在线观看播放| 午夜在线一区| 日本a网站| 欧美亚洲日本国产综合网| 亚洲欧美日韩精品专区卡通| 色综合图片| 四虎国产精品永免费| 日韩高清在线播放不卡| 亚洲国产精品一区二区三区| 一级毛片www| 亚洲欧美激情在线| 亚洲天堂网2018| 日韩欧美中国a v| 亚洲精品在线影院|