新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN总线的自动光学检测通信系统设计

基于CAN总线的自动光学检测通信系统设计

作者: 时间:2014-10-19 来源:网络 收藏

  2.3.1 CAN控制器的初始化

本文引用地址:https://www.eepw.com.cn/article/264096.htm

  要实现CAN通信,首先要对CAN控制器进行正确初始化设置。初始化主要完成下面的工作:节点控制寄存器ACP/BCR的设定;CCE和 INIT置位;错误计数器最大值的设定;节点输出管脚的设定;节点传输速率的设定;给节点配置发送、接收消息体。对于,CAN控制器的初始化可以使用DAVE进行配置,来自动生成代码,也可以用户自行编写。初始化流程如图4所示。

  

4.jpg

 

  以下为相应的程序代码:

  

5.jpg

 

  2.3.2 CAN控制器的发送和接收程序

  CAN模块初始化成功后,就可以用其来传送报文。节点向总线上发送报文的过程是:将待发送的数据打包成符合CAN协议的帧格式,写入发送缓冲区,并自动发送。数据帧一帧最多只能传输8个字节,大于8个字节的按照每8个字节为一帧传送,剩下不足8个字节的补成8个字节。可以在程序中直接调用 CAN_vTransmit函数即可实现发送数据,该函数定义如下:

  

6.jpg

 

  接收数据有查询方式或中断方式。这里采用中断方式,要实现的功能是:进入中断接收程序,判断中断是否是接受中断;若是将数据读出缓存器并进行判断,再进入相应的命令和数据处理函数。控制器接收和发送流程如图5所示。

  

7.jpg

 

  3 结束语

  该自动光学检测通信系统已经实现且通过了联调,数据传送稳定,并已应用于PCB板面缺陷自动光学检测仪的控制系统。该自动光学检测通信系统满足可靠性和灵活性的高要求,实现控制系统各单元相对独立,各单元之间的连线简洁,使系统操作简单,使用可靠,取得了良好的使用效果。

通信相关文章:通信原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭