基于EtherCAT协议的可视倒车系统

时间:2022-08-07 11:27:00

基于EtherCAT协议的可视倒车系统

摘 要:EtherCAT是一种实时的工业以太网技术,使用特殊的以太网类型,过程数据可以在以太网帧内直接传输。EtherCAT数据帧在从站节点是通过硬件进行处理,只有很小的延时。文章介绍EtherCAT协议原理和特点,并通过EtherCAT主站和从站的软硬件设计,实现了倒车影像的采集传输和显示。倒车影像的数据量比较大,实时性要求很高,通过EtherCAT网络传输能够很好地解决倒车影像的实时同步显示。

关键词:EtherCAT协议;IMX6Q;可视倒车;ET1100

1 概述

随着汽车安全监控需求的日益增加,动态图像信息需要实现同步实时传输,传统的Ethernet、USB等通讯方式已经满足不了需求。EtherCAT是由德国自动化公司BECKHOFF于2003年提出的实时工业以太网技术[1]。EtherCAT技术传输速度快,延时很小,一帧EtherCAT帧可以传输1400多字节的数据,可以满足大数据的实时传输。

本文章介绍了一种采用实时以太网EtherCAT技术,倒车影像采集器作为从站,将高度压缩的倒车影像数据实时传输到EtherCAT主站进行实时显示。整个设计采用主从模式,系统采用飞思卡尔IMX6Q作为EtherCAT主站,采用飞思卡尔IMX6Q+Beckhoff公司的ET1100作为从站。

2 EtherCAT原理和特点

EtherCAT是目前传输最快的工业以太网之一,EtherCAT使用标准的以太网电缆进行传输。EtherCAT采用主从模式,从站节点可以连接成总线型、星型等几乎所有的拓扑结构[2]。

EtherCAT节点的顺序和网络中的以太网端子的物理顺序无关,节点间可以通过组播、广播和多播的方式实现通讯。标准的以太网帧可以包含一个或多个子报文,多个从站节点可以使用同一EtherCAT帧进行通讯。表1是标准的EtherCAT帧结构,其中包括目的地址、源地址、帧类型以及报文数据和帧校验。

在EtherCAT系统中,通过主站发送数据和接收数据。数据帧由主站发出,经过第一个从站时进行解码,后续从站不需要再进行解码操作。数据帧经过从站节点时,每个节点可以根据逻辑地址在属于自己的报文中进行数据的读取和写入,当节点根据报文头中的命令成功对数据帧进行操作后,从站会将该报文的WKC寄存器进行加1。数据帧经过所有从站节点后由EtherCAT系统中的末端节点将数据帧直接返回主站,主站比较返回报文中的WKC值进行校验数据帧的正确性。

3 系统硬件设计

EtherCAT从站硬件平台由两个硬件模K组成,一个是基思卡尔IMX6Q的视频采集模块,另一个是EtherCAT实时数据传输模块(ESC从站从站控制器)。整体设计是从站处理器IMX6Q通过CCD摄像头从外部采集到高清视频数据进行H264压缩,然后将压缩后的数据写入EtherCAT实时传输模块。EtherCAT实时传输模块主要任务是将压缩后的视频数据嵌入到EtherCAT帧中进行传输。

图像采集是基于IMX6Q的CCD摄像头,CCD摄像头通过TVP5150视频采集芯片进行采集视频数据,经过IMX6Q进行硬件H264压缩编码。图1为TVP5150芯片接口电路图,TVP5150芯片通过I2C总线进行初始化配置,数据接口连接到IMX6Q的CSI0接口。

通过CCD采集的视频数据量比较大,进行实时网络传输会产生延迟。H264图像压缩比大约为102:1,CCD摄像头采集一秒为30帧视频图像,经过H264压缩后数据量大大减少,加上EtherCAT传输速度非常快,视频数据可以达到很好的实时传输和显示效果。

ET1100从站控制芯片主要负责接收、处理和转发主站发送的EtherCAT帧,解析主站发送的命令并执行。ESC芯片通过内部的硬件完成EtherCAT数据帧处理和转发,数据传输过程产生大约只有10ns的时间延迟[3]。

ESC从站控制芯片通过配置E2PROM相应寄存器来实现数据接口模式。从站可以配置成I/O模式、微处理器模式和SPI模式。

I/O模式为简单从站控制方式,ESC直接对I/O端子进行控制,可以达到非常快的刷新速度。控制100个输入输出数据均为8字节的伺服轴只需要100us[4]。微处理器模式和SPI模式则是复杂从站控制模式,ESC中的数据通过微处理器进行读写和处理。

ET1100功能的配置是通过芯片的配置引脚来完成,引脚配置就是通过对引脚接上上拉或下拉电阻,连接上拉电阻表示配置为1,连接下拉电阻表示配置为0。ET1100芯片上电后会自动将配置引脚的信号读取写入到配置寄存器中,芯片掉电或复位后仍然可以读取配置引脚的配置信息。

本设计采用ET1100作为MAC控制芯片,接口电路如图2所示,ET1100与物理层芯片PHY之间的接口通过MII连接,MII是将不同类型的PHY与相同MAC相连接的通用总线。

EtherCAT主站控制器对硬件没有特别的要求,只需要控制器带有普通的以太网卡。主站是基思卡尔I.MX6系列处理器,为高清视频处理提供硬件编解码。

主站除了CPU基础的电路之外,只需要扩展一个普通的以太网接口即可以配置成EtherCAT主站。显示器采用7寸电容屏,分辨率是800*480。

4 系统软件设计

4.1 从站软件设计

EtherCAT从站软件设计主要分为两部分,分别是CCD摄像头采集并进行H264压缩和从站控制芯片ET1100的配置。

TVP5150的配置不会很复杂,主要是通过I2C来进行配置,比如色调,对比度,亮度,饱和度和锐度等等。需要在内核源码中添加一个支持TVP5150的I2C设备,TVP5150的I2C地址由PIN11来决定,上拉为BAH,下拉为B8H。

驱动程序主要是通过I2C来对TVP5150寄存器进行设置,主要是0x03,0x15,0xca,0x04,0x0d等,通过0x1a和0x1b是设置输入通道。

通过对TVP5150正确配置后,对设备节点video0进行操作,可以获取视频原始数据。

采用飞思卡尔的IMX6Q处理器,使用libvpu.so和libipu.so硬件编解码库可以对视频数据进行格式转换和H264硬件压缩。

ET1100芯片的FMMU寄存器配置通过逻辑映射方式。EtherCAT帧从站报文最大可以包含1486字节的数据,这里传输一路视频的情况下,可以设置传输的数据长度为1480字节,一路视频数据需要使用一个SM缓存管理。对应表2的FMMU配置,设置SM0的起始地址为0x1000,数据长度为1480Byte,主站可以通过相应的逻辑地址对从站进行寻址并访问。

设置从站报文头的起始地址为0x00000000、字节长度为1480、命令为LRD(读),就可以实现对视频数据的读取。

从站程序流程图如图3所示,从站主要任务是采集视频数据,接收主站数据帧,根据主站发送的命令进行数据读写和执行相应命令。

4.2 主站软件设计

大多数EtherCAT主站都是使用第三方提供的软件协议栈,如Koenig、Acontis、IGH等。本设计采用开源的IGH EtherCAT协议栈来实现主站。

IGH EtherCAT Master是基于Linux下的一套_源EtherCAT主站协议软件,包含网卡驱动,主站模块以及应用层使用的支持库。

IGH开源源码在1.5版本后提供了一个EtherCAT通用网卡驱动,使用普通网卡就能够实现EtherCAT协议。为了保证传输的实时性,主站模块插入到内核层,实现对EtherCAT协议的解析,任务调度以及为应用程序提供接口。用户可以通过编写内核模块来实现应用程序,也可以通过对设备节点的操作来实现应用程序。IGH开源软件为Linux用户提供了多种命令行工具,可以实现直接对EtherCAT从站的访问和设置。可以查看如PDO数据、SDO参数、总线配置以及从站配置参数等。

主站软件驱动部分需要将IGH源码移植到IMX6Q平台,具体如下:

(1)配置源码。

(2)编译源码并安装。

(3)复制通用网卡驱动和主站驱动到output文件夹下。

(4)将output文件夹打包。

(5)将output.tar.bz2下的文件解压到IMX6Q文件系统相应目录。

(6)复制ec_master.ko到/lib/modules/内核版本号目录下。

(7)配置rules,创建设备号。

至此,就完成了IGH源码移植到IMX6Q平台,接下来就可以通过IMX6Q来实现EtherCAT通讯。

主站启动EtherCAT协议时候需要先根据主站网卡的MAC地址来修改主站模块的MAC地址,然后再启动EtherCAT协议,并安装EtherCAT通用网卡驱动。

通过上面的操作加载了EtherCAT内核模块,就可以通过设备节点EtherCAT0来操作EtherCAT从站,主站应用程序流程图如图4。主从站通过网线连接,在Linux命令行下输入ethercat pdos命令,可以测试主从站软硬件是否正常,还可以获取到从站控制器的配置,包括几个同步管理通道、物理起始地址、控制字ControlRegister包含该通道的传输方式和方向、DefaultSize表示该通道的大小、PDO的基本配置。主站应用程序中,需要根据ethercat pdos命令输出的信息填充相关数据结构体,创建过程数据域后,需要将PDO的相关信息注册到过程数据域中。这样主站应用层就可以使用EC_READ_U32()和EC_WRITE_U32()函数通过EtherCAT帧对从站进行读写操作。

主站控制器IMX6Q使用的系统是Linux3.0.35+QT4.8.5,主界面在QT上设计的,实现倒车影像的实时显示。

5 结束语

本设计是为了解决汽车上的倒车影像数据实时传输的问题,而提出的一种实现方案。主要是通过EtherCAT技术实时传输压缩的倒车影像数据。

从站通过CCD进行视频采集,经过IMX6Q的硬件H264编码,主从站通过EtherCAT协议进行视频数据传输,主站接收数据后通过IMX6Q硬件解码并显示视频数据。

参考文献

[1]Du H, Li M, Meng J. Study of EtherCAT Network Control Technology in vision Measurement System[C].International Conference on Information System and Computation Intelligence,2011: 322-325.

[2]向乾亮.实时以太网EtherCAT系统设计及在电力系统中的应用[D].北京:华北电力大学,2008.

[3]德国倍福公司.实时以太网:I/O层高速以太网[Z].工业以太网与现场总线.

[4]EtherCAT技术组.EtherCAT-以太网现场总线[Z].

上一篇:超超高效自启动永磁同步电动机转子磁钢装配及... 下一篇:刍议高等院校政府采购评审专家管理