基于CAN总线多视觉传感器测控系统的设计

时间:2012-09-15来源:网络

4多视觉传感器的控制设计

视觉传感器的控制电路主要包括视频切换、电源供给和CAN通讯接口三个部分。每个传感器里有两个CCD相机,即能同时采集两路视频输入,但任一时刻传感器只能输出一路视频信号,这里采用MAXIM公司的视频复用放大器max4313和max4315进行多路视频信号的切换传输,传感器内部用单片机控制max4313进行二选一视频切换,系统中多个传感器之间通过多个八选一视频切换芯片max4315的级连来实现多视觉传感器的切换选择。多路视频切换开关电路能很好实现这一功能,P89C668单片机的P2口的三跟地址线控制max4315的三个地址端决定切换哪一路通道的视频信号。max4313 和max4315是低功耗高速多路视频复用放大器,具有通道切换速度快(40ns)、切换瞬变低(10mVp-p)、差分增益误差低(0.06%)、相位误差小(0.02度)等良好的视频特性,工作在+4~+10.5V的单电源(双电源正负2V~正负5.25V),本例中工作在正负5V的双电源下,为了减少干扰与传感器内部空间安装方便,电源电路与控制电路分开制作,分别放在投射器二边。由于视频信号频率较高,频带较宽,因此当两路视频信号相距较近要注意干扰问题,时,容易产生串扰,为了尽量减小串扰,电路设计时应注意以下几点:要把数字模块与视频切换模块在一个板子上分成二个区域,以及尽可能减少视频引线的长度并注意使用75欧姆匹配电阻,视频引线要使用带屏蔽层的视频同轴电缆(75欧姆阻抗)。

5CAN总线通讯

CAN总线是一个多主站现场总线,各节点都有权向其他节点发送信息,其协议简单,实时性强,可靠性及抗干扰能力好,总线利用率高,硬件成本低。主要特点如下:

1)CAN总线的任一节点在任一时刻都主动向网络上其他节点发送数据而不分主从,通过优先级确定总线为哪一节点所占用,通信灵活。
2)CAN总线上的节点可通过设置分为不同的优先级,用来满足不同的实时性要求。
3)CAN总线采用非破坏性总线仲裁,当多个节点同时向总线发送数据时,优先级低的节点主动停止发送数据,退出竞争,而优先级高的节点将拥有总线使用权,继续发送数据。
4)CAN总线具有点对点,一点对多点及全局广播等多种数据通讯传送方式。
5)节点间通讯位速率与节点间距离有关,总线最远通讯距离为10km,此时通讯速率为5kbps,最大通讯速率能达到1Mbps(通讯距离40m内)。
6)可根据报文的ID决定接收或屏蔽该报文,发送的报文遭到破坏后可自动重发。
7)可靠的错误处理和检错机制,节点在错误严重的情况下具有自动退出总线的功能。
8)报文不包含源地址和目标地址,仅用报文标志符来来指示功能信息和优先级信息。

5.1CAN节点硬件接口

CAN总线接口硬件部分主要由微控制器、CAN控制器和CAN收发器构成。CAN控制器实现了CAN通讯中物理层和数据链路层的功能,提供了与微控制器和总线的物理线路接口,这样用户只需编写符合自己通讯和控制要求的应用层协议即可。本系统中微控制器使用Philips公司的8位增强型单片机 P89C668,CAN控制器和总线驱动器用的分别是Philips公司的SJA1000、PCA82C250来构成典型的CAN通讯节点。
电路的核心部分是P89C668单片机,它以80C51为内核,具有ISP(在系统编程)和IAP(在应用编程)功能的片内Flash存储器,片内BootROM包含底层FLASH编程子程序,以实现通过串行口下载升级程序,拥有8K字节RAM(可外扩到64K)和64K字节FLASH,还有 4个中断优先级、8个中断源和4个8位I/O口,可方便地进行各种片内操作和片外扩展。CAN控制器相对于微控制器来说相当于一个存储器I/O映象设备,SJA1000片内有模式寄存器、状态寄存器、命令寄存器、中断寄存器和收、发寄存器等。单片机就是通过读写这些寄存器来实现对SJA1000的控制,芯片的TX0、TX1、RX0、RX1引脚用于CAN总线的接口,SJA1000的12M晶振由P89C668的外部晶振产生电路同时提供;PCA82C250是控制器与物理总线的接口,可提供对总线的差动发送和接收功能,其TXD、RXD引脚分别接收和发送经驱动后的信号,再由 CANH、CANL接至总线传输介质(这里采用双绞线)上,同时还要注意CANH、CANL之间要加上120欧姆的终端匹配电阻才能保证总线的正常通讯。

5.2CAN节点的软件设计

CAN总线智能节点的软件设计主要包括三个部分:CAN节点初始化、报文发送和报文接收。CAN节点的通讯实质上就是对CAN控制器内部各寄存器进行读写,由于这些寄存器或发送、接收缓冲器均有确定的地址,CPU可通过外设访问指令对它们进行读写操作。系统上电复位后,CPU对SJA1000的各个控制寄存器写入相应控制字信息,以完成CAN控制器的初始化。本例中,系统软件采用结构化程序设计方法,程序具有较好的模块性和可移植性,对于不同的检测系统和应用环境,可以方便地进行程序重组。编程语言采用单片机C语言KeilC51,它具有较高的效率,可读性好,能够有效减轻系统软件编程的工作量。

1 2 3

关键词: CAN总线 视觉检测 视觉传感器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版