新聞中心

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

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

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

  2.3.1 CAN控制器的初始化

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

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

  

4.jpg

 

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

  

5.jpg

 

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

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

  

6.jpg

 

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

  

7.jpg

 

  3 結(jié)束語(yǔ)

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

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



上一頁(yè) 1 2 下一頁(yè)

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

評(píng)論


相關(guān)推薦

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

關(guān)閉