欢迎来到亿配芯城! | 免费注册
你的位置:TOPPOWER(南京拓微TP)电池/电源管理芯片/锂电保护芯片全系列-亿配芯城 > 芯片资讯 > 基于CAN控制器SJA1000和与P89C668实现多视觉传感器测控系统设计
基于CAN控制器SJA1000和与P89C668实现多视觉传感器测控系统设计
发布日期:2024-11-02 06:47     点击次数:184

1 、小引

视觉检测技巧是以机器视觉为基础的新星测试技术,因其秉赋测量非接触、速度快、信息量大、应用领域宽广等性状而备受迎接。构造光传感器是动用较早、迈入较成熟的视觉传感器,故此本系统运用结构光传感器来采录图像并经图像采集卡送给计算机甩卖。是因为视觉传感器在视觉测量中承当着视频图像信号(测量数量)的征集、切换与传导。因而,何等让视觉传感器测控系统快速、精确地获得理想的视频图像音尘,跟脚为末叶的图像处理提供可靠的引而不发,亦即视觉传感器的测控系统的设计显得越是重要。

2 、视觉系统的概述

视觉检测系统中募集被测物体图像的视觉传感器有单目和双眼两种之分,本测控系统得以利用单目视觉传感器也何尝不可采取双眼视觉传感器来搜集数据,正文显要座谈由多个眼睛视觉传感器组合的多视觉传感器测控系统,其中的每个视觉传感器利用的是眼下技艺早就比较成熟的线结构光视觉传感器,其结构是由双CCD 摄影机、一个激光投射器和同台MCU控制电路血肉相联,基于立体电势差法则,动用两台摄像机来邯郸学步实现人眼的效验,使唤空间点在两摄影机像表面的看透或像点坐标来求取半空点的三维坐标。当被测工件较大特需高潮迭起一个视觉传感器时,上述多个视觉传感器累加多路视频切换电键就烧结了多视觉传感器测控系统。如对汽车车身上的那么些特色点进展检测时,就索要几十竟然上百个传感器来测量,出于控制器部分网CAN(controller area network)总线持有很强的带载荷能力,一个CAN发网上大不了能接110个节点,为此本系统使役CAN总线展开简报和罗网决定。

视觉传感器中MCU控制电路提供CCD录相机、激光映照器的电源并且操纵着它们的开启与停闭,为避免激光投射器行使时日过长激光器发高烧滋生线构造光光能分布不稳之所以熏陶测量精度,当传感器开头测量时,先上电初始化,再打开莱塞,测量为止后即关门大吉以拉开照耀器寿命。

本系统中,青云机为PC机,末座机为8051单片机操纵单元,上、末座机之间用CAN总线开展报导,鉴于PC机中并不带CAN总线接口,据此必需一个CAN接口卡,此地选用广州周立功商店的USBCAN智能接口卡来通信,因其领有体积小、外置且即插即用等特征。这一来,PC可通过USB总线方便地一连至CAN总线大网主宰挨家挨户CAN节点拓展数据采集和甩卖。USBCAN智能CAN接口卡足以与ZLGCANTest通用CAN-bus测试软件连连周转,实施CAN-bus总线多寡的接收、殡葬测试任务,较易于实现CAN-bus产品开发和数据分析。USBCAN智能CAN接口卡使唤周立功店家提供的通用的ZLGVCI驱动库,永葆WIN98、2000和XP操作系统并永葆Linux阳台。用户透过接口卡提供的ZLGVCI动态支付库方可方便快捷的支出出CAN系统动用出品。为了把如法炮制CCD照相机输出的被测物体的效法视频图像转换成数字信号并由微型机展开处理,此地应用了北京大恒图像公司的CG400 型图像采集卡,其施用PCI总线,所采采的图像数据传输基本不霸占CPU时日,并可将图像直白传送的电脑内存或显存。

3、 CAN总线简介

CAN总线是德国BOSCH代销店从80年间初为解决现时代汽车中众多的决定与测试仪器之间的数据交换而开销的一种串行数据通信共商,它是一种多主总线,通信腐殖质何尝不可是双绞线、同轴电缆或光导纤维。通信速率可达1Mbps。CAN总线通信接口中一统了CAN商酌的物理层和数量链路层效验,可做到对通信多寡的成帧甩卖,统揽位填写、多寡块编码、循环冗余稽查、优先级甄别等项做事。CAN协商的一个最大特征是丢掉了风俗人情的站地点编码,而代之以对通信数据块进行编码。使唤这种办法的长项可使大网内的节点个数在理论上不受限制,数量块的标识码可由11位或29位二进制数烧结,就此足以界说211或229个不同的多寡块,这种按多寡块编码的措施,还可使不同的节点再就是收取到相同的多寡,这或多或少在分布式控制系统中非常有用。数额段长度充其量为8个字节,可满足普通工业圈子中决定发令、干活状态及测试数据的类同务求。与此同时,8个字节决不会占用总线时日过长,因故保准了通信的实时性。CAN商议施用CRC检视并可提供首尾相应的错误处理效用,担保了数据通信的可靠性。CAN卓越的表征、极高的可靠性和独特的设计,特意合乎工业过程监督装具的互连,就此,更进一步遭劫工业界的器重,并已公认为最有鹏程的当场总线之一。

为着满足大尺码物体的三维概观的检测,本系统务求起码能带64个传感器,每个视觉传感器里有两个摄影机,即集体所有128路视频输入,而任一时刻系统只挑挑拣拣之中一块儿视频图像传给微处理机拓展图像收集拍卖,如对汽车车身四周围陈设了几十个传感器来检测车身上至关紧要尺码如挡风玻璃窗尺码、车门安设棱边夹缝、定点孔位置,测量其首尾相应的棱边、孔外部的半空中职位尺码。视觉传感器有何不可按务求逐一展开劳作,也可以取舍被测靶子的特定点并透过CAN决定罗网求同求异特定传感器来检测,微机编采检测点图像并展开拍卖,将约计值与标准值比对,故而得出视觉检测的结荚。 

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欧姆抵挡)。

5、 CAN总线报道

CAN总线是一个多主站当场总线,各节点都有权向别样节点发送信息,其说道简单,实时性强,可靠性及抗干扰能力好,总线利用率高,硬件成本低。至关紧要表征正象:

1)CAN总线的任一节点在任一时刻都能动向网子上其余节点发送数据而不分骨干,由此优先级确定总线为哪一节点所据为己有,通信灵活。

2)CAN总线上的节点可由此装置分为不同的优先级,用于满足不同的实时性渴求。

3)CAN总线使役非破坏性总线议决,当多个节点并且向总线发送数据时,优先级低的节点积极向上下马发送数据,淡出竞争,而优先级高的节点将兼有总线使用权,接轨发送数据。

4)CAN总线实有点对点,或多或少对多点及全局播发等多种数据通讯传递艺术。

5)节点间报导位速率与节点间相差至于,总线最远通讯离开为10km,此刻报导速率为5kbps,最大通讯速率能高达1Mbps(报导距离40m内)。

6)可根据报文的ID控制收纳或屏蔽该报文,出殡的报文惨遭毁损后可电动重发。

7)可靠的错误处理和检错机制,节点在谬误严重的情况下抱有键钮脱离总线的功效。

8)报文不涵盖源地址和对象地点,仅用报文标志符来来指示功效消息和优先级音信。

5.1 CAN节点硬件接口

CAN总线接口硬件部分着重由微控制器、CAN控制器和CAN收发器组合。CAN控制器实现了CAN通讯中物理层和多寡链路层的机能,提供了与微控制器和总线的情理路经接口,这样用户只需编次相符温馨简报和操纵务求的应用层商讨即可。本系统中微控制器应用Philips商家的8位增强型单片机 P89C668,CAN控制器和总线驱动器用的各行其事是Philips店家的SJA1000、PCA82C250来三结合名列前茅的CAN报导节点。

电路的主干组成部分是P89C668单片机,它以80C51为木本,秉赋ISP(在系统编程)和IAP(在运用编程)效果的片内Flash存储器,片内Boot ROM隐含底色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.2 CAN节点的软件设计

CAN总线智能节点的软件设计必不可缺概括三个一些:CAN节点初始化、报文殡葬和报文接下。CAN节点的报导实在就是对CAN控制器其中各寄存器开展读写,由于这些寄存器或殡葬、收下缓冲器均有确定的地点,CPU可由此外设寻亲访友三令五申对它们开展读写操作。系统上电复位后,CPU对SJA1000的顺序控制寄存器写入对应驾御字消息,以大功告成CAN控制器的初始化。本例中,系统软件应用结构化程序设计方法,先后装有较好的模块性和可移植性,对此不同的检测系统和应用环境,得以方便地进展主次血肉相联。编程语言施用单片机C语言Keil C51,它赋有较高的频率,可读性好,亦可有效减轻系统软件编程的工作量。

CAN总线通讯的成功与否任重而道远是SJA1000的初始化设置,初始化先后通过将CAN控制器的寄存器写入支配字,确定CAN的行事办法。用 P89C668的P2.7当做片选信号与SJA1000的CS引脚不了,SJA1000的片内寄存器和P89C668单片机寄存器是重叠编址的,故此 SJA1000寄存器寻址时要定义成片外RAM寻址。下面交到了CAN节点的初始化先来后到:

10-2.png

10-1.png

由于视觉传感器测控系统要开展视觉检测多为在线检测,实时性渴求较强,这边各传感器节点施用搁浅收到方法收起上位机的支配三令五申,节点初始化后,当一帧音息经过阴差阳错检测承认为正确音尘后装入收到缓冲器,SJA1000的INT脚会生出抛锚信号,该信号累年到单片机P89C668的他乡间歇0引脚,在外部抛锚0戛然而止处理程序中识假该音息的标志符只要是本节点地点,便读出收下缓冲器的数目并保留在RAM中,搁浅接到程序框图如下:

系统中发送报文采用查询方法,传感器节点在接下主控机的多寡吁发号施令后发送数据,发送模块率先开展状态查问,判定总线是不是闲暇,如空闲,则将鹄的节点地址写入出殡标志符寄存器,数码写入出殡缓冲器,大功告成一帧CAN信息殡葬。

CAN信息格式分成音息和数码两一些,头两个字节是信息局部,其前11位为标志符,标志符的前八位看做吸纳一口咬定,应包含本信息包的鹄的节点地址,下一场是一位RTR位(0为数据帧,1为长距离帧,本例使役数据帧),末尾是四位的DLC。别样八个字节为是额数有点儿,装有其实要发送的多寡。本例中只用到前两个数码,第一个表示传感器地点,老二个字节意味着增选传感器里的两路录相机中的哪一块儿收载图像。

CAN节点之间报道成功的另一个任重而道远是波特率的安设,不仅仅CAN总线上