您当前的位置:五五电子网电子知识电子知识资料总线技术矿用摄像机嵌入式CAN总线远程控制技术 正文
矿用摄像机嵌入式CAN总线远程控制技术

矿用摄像机嵌入式CAN总线远程控制技术

点击数:7118 次   录入时间:03-04 11:48:48   整理:http://www.55dianzi.com   总线技术

    摄像机在煤矿监控系统中使用广泛,尤其对一些重要场所更需要在集控室远程操控摄像机实现移动、调焦等功能。对摄像机的控制使用RS一485总线的较多,文献[1]以AT89C52单片机为控制器设计了构建于RS.485总线基础上的矿用摄像机工作台控制系统。在现场使用这种方法进行控制的过程中,笔者发现:当控制距离较远(超出1 km)以及挂接控制器较 (在某矿发电厂实测大于36台)时会出现部分摄像机失控、误动现象,其中频繁地误动还会导致工作台的故障,给工作带来不便。为解决以上问题,本文以嵌入式处理器LPC2129为主控芯片设计了矿用摄像机控制器,并通过CAN(contoller area network)总线实现了远程控制。CAN总线属于现场总线的一种,它具有可靠性 高、通信距离远、连线简单、性价比高等特点。

    CAN采用非破坏总线仲裁技术,从而大大节省了总线冲突仲裁时间。尤其是在网络负载很重的情况下,也不会出 现网络瘫痪情况(以太网则可能)。CAN的通信距离最远可达10 km(速率5 kbit/s以下时) ,因此煤矿 远程控制很适合采用CAN总线。另外CAN总线可以使用双绞线作为通信介质,这使得原有RS-485网络 的控制系统不用重新布线就可以升级为CAN总线控制系统,可大大节约成本。

    当前嵌入式系统技术成熟、应用广泛。这主要得益于它的处理器将通用CPU中许多由板卡完成的任务精简到芯片内部,在保证特定功能的前提下使系统设计趋于小型化,便于系统集成。LPC2129是飞利浦公司生产的基于16/32位ARM7TDMI—S内核的嵌入式处理器。其内部具有256 KB的Flash、16 KB的 RAM、2路CAN控制器。其他外围接口也很丰富,这样无需外扩存储器就可以移植实时操作系统。因此,本文选用LPC2129作为主控芯片,另外使用嵌入式系统所设计的控制器尺寸小,从而使其可方便地嵌入到防爆工作台。

    1 控制系统工作原理

    控制系统如图1所示,监控上位机通过RS-232串口与1/S.232-CAN转接器相连,转接器与控制器构成CAN总线网络,控制器直接控制摄像机和工作台。系统控制原理如下:上位机通过鼠标及键盘接收特定摄像机控制动作命令,通过软件转换为摄像机控制器地址及控制命令,然后打包为控制字,再通过串口发送给转接器。转接器按协议将控制字转换为CAN总线帧格式并将帧发送到总线上。地址相符的控制器接收该帧数据,根据控制命令产生控制信号,控制摄像机及工作台完成相关动作。

     

点击放大图片

     

图1 控制系统

    2 控制系统电路设计

    控制系统的电路设计按功能分为3个部分:控制器电路、CAN总线电路、转接器电路。

    2.1 控制器电路

    考虑到本系统的被控对象是摄像机和工作台,而摄像机选用索尼FCB系列的摄像模块,该模块支持RS-232串M通信,所以控制器电路设计如图2上部所示。图中利用LPC2129的串口0(P0.0、P0.1)经电平转换芯片ST3232构成控制器串口,外接摄像机模块,完成对摄像机的控制。由于本设计没有采用传统的拨码开关设定控制器地址,地址的设定要通过上位机来完成,因此通过LPC2129的串口1(P0.8、P0.9)完成与上位机的通信,实现地址的写入。对工作台的控制实际上是控制工作台的两个驱动电机,使用LPC2129的PWM接口P0.7、P0.21以及通用I/O接口P1.17、P1.19经光电隔离后进行驱动,控制电机的转动,从而带动工作台的转动。

点击放大图片

     

图2 电路原理图

    2.2 CAN总线电路

    LPC2129内部集成了CAN控制器,使用它无需外接单独的CAN芯片就可以方便地构成CAN总线。电路如图2下部所示,由LPC2129的CAN引脚P0.23、P0.24外挂收发器模块CTM8250接入CAN总线系统。CTM8250是周立功公司生产的一款带隔离的通用CAN收发器芯片,该芯片内部集成了所有必需的CAN隔离及CAN收发器件,芯片的主要功能是将CAN控制器的逻辑电平转换为CAN总线的差分电平并且具有DC 2500 V的隔离功能。此处使用该模块是为了保证在煤矿现场总线工作的稳定性和可靠性。与RS-485总线类似,在总线的最远端要串接120Ω电阻R20a为防止掉电后控制器CAN地址丢失,系统外扩了一片I2C总线的非易失性存储器24C04,I2C总线上的电阻R4、R5的作用是进行电位上拉。

    2.3 转接器电路

    转接器的作用是连接上位机与CAN总线。由图2可以看出,只需将对摄像机和工作台的控制部分去掉就可以完成此功能。为简化没计,本文没有使用其他处理器,转接器仍然利用LPC2129的串口1完成与上位机的通信,并通过CAN引脚外挂收发器模块CTM8250完成CAN总线通信。在转接器里也外扩了24C04,主要用于存储控制器的地址映射表。

    3 控制协议

    控制系统中上位机要首先与转接器通信,传送控制命令,这部分需要一个串口通信协议。通信时采用两次握手的方法,地址使用逻辑地址(详见控制器地址配置部分),数据的格式直接采用后面的CAN数据格式,在数据之后加一个字节的校验和作为通信校验。鉴于串口通信的文献较多,此处不再赘述。

    由于转接器里的控制命令要通过CAN总线远距离传输,而CAN V2.0B规范只规定了底层协议标准,并没有对高层协议做统一规定,因此高层的控制协议需要单独开发。CAN的报文由4个不同的帧类型表示和控制,即数据帧、远程帧、错误帧、过载帧。鉴于摄像机控制系统中控制命令不多,故本文采用数据帧的标准格式发送控制命令,这样做的优点是可以减少网络传输的数据量,提高控制系统响应的实时性。协议具体设置如图3所示,数据帧包括帧起始、仲裁域、控制域、数据域、CRC域、应答域以及帧结束共7个部分。其中帧起始、CRC域、应答域、帧结束4个部分在文献[5]中已经详细规定,此处从略。

点击放大图片

     

图3 CAN控制数据报文帧格式图



www.55dianzi.com

    本协议以标准格式的11位标识符(ID10一ID0)为控制器、转接器地址,由于CAN协议规定IDIO—ID4必须不能全为隐性1,因此有效地地址数为2032个。根据CAN规定RTR位在数据帧格式里必须为显性0,标识符和RTR位构成数据帧的仲裁域。需要指出的是由于仲裁域决定数据在总线上传输时的优先级,因此在设置时应将重要场所的摄像机配置为高优先级地址。控制域的r位是两位保留位,后面的DLC3一DLC0用于确定数据域的长度,本协议所需数据域为8字节,故控制域取值为:DLC3一DLC0=1000。

    所有控制命令全部在数据域的8个字节中设置,其中最后1个字节Byte0用于决定发送的是控制器更新地址还是控制字节,当其取值O*O1时表示发送的是更新地址,且其前面的Bytel~Byte2的高1 1位表示逻辑地址,Byte3-Byte4的高11位表示原地址,Byte5-Byte6的高11位表示要更新的地址;当字节Byte0取值0x02时表示其前面的6个字节Bytel—Byte6是控制字节,控制字节的详细设置如图3下部所示。

    ① 字节Bytel。第7位控制摄像机电源开关,取值0控制电源开,取值1控制电源关闭;第6位控制摄像机缩放,取值0控制摄像机进行缩放,取值1维持原状不缩放且第0~5位的取值无意义;第5位表示在进行缩放时是缩还是放,0则缩,1则放;第4位取值0表示按标准格式缩放,取值1表示按可变格式缩放,且前面的第0~3位表示可变格式的控制,取值范围由低到高分8级,以二进制数0~7表示,等于8时表示按步进格式缩放,取其他值无意义。

    ②字节Byte2。用来控制摄像机的调焦,设置与Bytel相似,从略。

    ③字节Byte3。第7位是控制工作台移动的开关,取值0为开即进行移动,取值1则关闭工作台移动;第6—3位表示工作台移动的方向,取值0表示移动方向有效,1表示无效。

    ④字节Byte4的第7~4共4位控制工作台左右移动速度,第3—0共4位控制工作台上下移动速度,分9个等级,以二进制数0—8表示,取其他值无意义。需要说明的是:控制字节的Byte2第7位、Byte3低3位以及Byte5、Byte6在协议中没有使用,编程时全部取值1,Byte5、Byte6留作协议进行下一步拓展时使用。虽然CRC域可以实现校验,但是为了确保通信的可靠性,本协议仍以Byte7作校验码,校验码的计算方法为取Byte0~Byte6累加和的低8位。另外需要说明的是:由于工作台的控制采用PWM调速,所以分了4个方向、9个速度等级,由Byte4控制,上下、左右的速度等级可以取不同值对应不同的速度。

    在本文中摄像模块的控制要使用SONY的VISCA协议,因此还要在控制器中设计CAN控制协议到VIS—CA协议的转换。VISCA协议是公开的,此处只需将控制命令转换为VISCA协议的控制码通过串口发送即可。

[1] [2]  下一页


本文关键字:技术  嵌入式  摄像机  远程控制  总线技术电子知识资料 - 总线技术

《矿用摄像机嵌入式CAN总线远程控制技术》相关文章>>>