新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CAN總線的自動光學(xué)檢測通信系統(tǒng)設(shè)計

基于CAN總線的自動光學(xué)檢測通信系統(tǒng)設(shè)計

作者: 時間:2014-10-19 來源:網(wǎng)絡(luò) 收藏

  2.3.1 CAN控制器的初始化

本文引用地址:http://m.butianyuan.cn/article/264096.htm

  要實現(xiàn)CAN通信,首先要對CAN控制器進行正確初始化設(shè)置。初始化主要完成下面的工作:節(jié)點控制寄存器ACP/BCR的設(shè)定;CCE和 INIT置位;錯誤計數(shù)器最大值的設(shè)定;節(jié)點輸出管腳的設(shè)定;節(jié)點傳輸速率的設(shè)定;給節(jié)點配置發(fā)送、接收消息體。對于,CAN控制器的初始化可以使用DAVE進行配置,來自動生成代碼,也可以用戶自行編寫。初始化流程如圖4所示。

  

4.jpg

 

  以下為相應(yīng)的程序代碼:

  

5.jpg

 

  2.3.2 CAN控制器的發(fā)送和接收程序

  CAN模塊初始化成功后,就可以用其來傳送報文。節(jié)點向總線上發(fā)送報文的過程是:將待發(fā)送的數(shù)據(jù)打包成符合CAN協(xié)議的幀格式,寫入發(fā)送緩沖區(qū),并自動發(fā)送。數(shù)據(jù)幀一幀最多只能傳輸8個字節(jié),大于8個字節(jié)的按照每8個字節(jié)為一幀傳送,剩下不足8個字節(jié)的補成8個字節(jié)??梢栽诔绦蛑兄苯诱{(diào)用 CAN_vTransmit函數(shù)即可實現(xiàn)發(fā)送數(shù)據(jù),該函數(shù)定義如下:

  

6.jpg

 

  接收數(shù)據(jù)有查詢方式或中斷方式。這里采用中斷方式,要實現(xiàn)的功能是:進入中斷接收程序,判斷中斷是否是接受中斷;若是將數(shù)據(jù)讀出緩存器并進行判斷,再進入相應(yīng)的命令和數(shù)據(jù)處理函數(shù)??刂破鹘邮蘸桶l(fā)送流程如圖5所示。

  

7.jpg

 

  3 結(jié)束語

  該自動光學(xué)檢測通信系統(tǒng)已經(jīng)實現(xiàn)且通過了聯(lián)調(diào),數(shù)據(jù)傳送穩(wěn)定,并已應(yīng)用于PCB板面缺陷自動光學(xué)檢測儀的控制系統(tǒng)。該自動光學(xué)檢測通信系統(tǒng)滿足可靠性和靈活性的高要求,實現(xiàn)控制系統(tǒng)各單元相對獨立,各單元之間的連線簡潔,使系統(tǒng)操作簡單,使用可靠,取得了良好的使用效果。

通信相關(guān)文章:通信原理



上一頁 1 2 下一頁

關(guān)鍵詞: CAN總線 英飛凌 XCl64CS

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉