基于CAN總線的自動光學檢測通信系統(tǒng)設計
2.3.1 CAN控制器的初始化
本文引用地址:http://2s4d.com/article/264096.htm要實現CAN通信,首先要對CAN控制器進行正確初始化設置。初始化主要完成下面的工作:節(jié)點控制寄存器ACP/BCR的設定;CCE和 INIT置位;錯誤計數器最大值的設定;節(jié)點輸出管腳的設定;節(jié)點傳輸速率的設定;給節(jié)點配置發(fā)送、接收消息體。對于XCl64CS,CAN控制器的初始化可以使用DAVE進行配置,來自動生成代碼,也可以用戶自行編寫。初始化流程如圖4所示。
以下為相應的程序代碼:
2.3.2 CAN控制器的發(fā)送和接收程序
CAN模塊初始化成功后,就可以用其來傳送報文。節(jié)點向總線上發(fā)送報文的過程是:將待發(fā)送的數據打包成符合CAN協(xié)議的幀格式,寫入發(fā)送緩沖區(qū),并自動發(fā)送。數據幀一幀最多只能傳輸8個字節(jié),大于8個字節(jié)的按照每8個字節(jié)為一幀傳送,剩下不足8個字節(jié)的補成8個字節(jié)??梢栽诔绦蛑兄苯诱{用 CAN_vTransmit函數即可實現發(fā)送數據,該函數定義如下:
接收數據有查詢方式或中斷方式。這里采用中斷方式,要實現的功能是:進入中斷接收程序,判斷中斷是否是接受中斷;若是將數據讀出緩存器并進行判斷,再進入相應的命令和數據處理函數??刂破鹘邮蘸桶l(fā)送流程如圖5所示。
3 結束語
該自動光學檢測通信系統(tǒng)已經實現且通過了聯調,數據傳送穩(wěn)定,并已應用于PCB板面缺陷自動光學檢測儀的控制系統(tǒng)。該自動光學檢測通信系統(tǒng)滿足可靠性和靈活性的高要求,實現控制系統(tǒng)各單元相對獨立,各單元之間的連線簡潔,使系統(tǒng)操作簡單,使用可靠,取得了良好的使用效果。
通信相關文章:通信原理
評論