APP下载

基于CAN总线的足球机器人通讯系统设计

2011-03-16张荣安志勇孙敏张倩索

关键词:电平总线耦合

张荣,安志勇,孙敏,张倩索

(长春理工大学 光电工程学院,长春 130022)

CAN(Controller Area Network,控制器局域网)总线是上个世纪80年代德国博世(BOSCH)公司开发的一种多主方式串行通讯总线协议,属于工业现场总线范畴,最初应用于汽车领域。由于其具有抗干扰能力强,数据传输位速率高,以及强大的错误检测功能等特点,如今 CAN总线已得到了广泛的认同,并应用于工业自动化、医疗设备、电力系统、船舶、航天等领域。

足球机器人作为一个新兴的领域,对多智能体研究有着推进作用,因此足球机器人内部多模块的协作则显得尤为重要。足球机器人本体由激光测距仪、双目视觉摄像仪、电子罗盘、电源管理模块、上位PC机、电机驱动管理模块等几部分构成,由于传统的串行方式传输速率的限制,直接影响到机器人在运动过程中动作执行的准确性,本文采用了CAN总线的通信方式,可使传输速率高达1Mbps,完全可以满足图像采集处理分析及运动方式选择的实时性要求。

1 CAN总线模块设计

CAN控制器根据两根线上的电位差来判断总线电平。发送电平分为显性电平和隐性电平,二者必居其一。发送方通过电平变化,把消息发送给接收方,每个模块作为一个单独的节点,总线拓扑结构如图1所示。

图1 总线拓扑结构Fig.1 Bus topological structure

SJA1000独立CAN控制器。SJA1000受FPGA控制,其内部寄存器的读写以及相的命令都需要按照在Nios II系统规范操作,通过C语言的开发环境,对其进行驱动初始化,接受并发送信息等具体操作。SJA1000结构如图2所示[1]。

图2 SJA1000结构Fig.2 SJA1000 structure

2 NIOSII硬件系统平台建立

NIOSII是一个用户可配置的32位 RISC嵌入式处理器,是 SOPC(System On a Programmable Chip,片上可编程系统)的核心,可添加进入FPGA中。处理器是由软核形式实现,具有高度的灵活性与可配置性。开发过程中硬件部分设计主要是通过QuartusII软件来完成,软件部分是由NIOS IDE来完成。

本文选用的是 Altera公司的 EP1C6Q240C8芯片,使用QuartusII软件中的SOPCBuilder建立外设包括:(1)NIOSII Core:即CPU连接CAN总线控制器实现总线上数据的接收与发送处理。(2)JTAG_UART:以串行通讯方式连接 PC机传输数据,可实现在线程序调试与下载。(3)SDRAM/FLISH:执行和保存编辑完成的软件部分。5PLL:锁相环的定制与设置,进行分频或倍频以便对不同器件提供不同的时钟。(4)其他接口(PIO):ALE、CS、RD、WR、RST、INI以及数据/地址复用总线等的定制,完成与SJA1000的硬件连接部分。

3 硬件方案选择

系统以建立的 NIOSII的软核为处理器,CAN总线的独立控制芯片选用Philips公司的SJA1000,82C250作为总线收发器。由于 SJA1000的工作电压为 5V,而 EP1C6Q240C8的正常工作电压为3.3V,极限电压也不过4.6V,虽然同为TTL电平,但如果使FPGA芯片长期工作于极限电压之上会有对器件造成损坏,所以本文选用 TI公司的双向总线收发器74ALVC164245,把 SJA1000的5V TTL电平信号AD0~AD7、CS、WR、RD、ALE转换成3.3V的IO标准电压,再与FPGA各管脚相连。82C250是 CAN总线控制器与物理总线之间的接口,该器件为总线提供差动传送能力和差动接受能力。其中RS脚加入50K左右的电阻以降低射频干扰,同时在总线两端各串联一个124的电阻以保证阻抗匹配。

值得注意的是,通常设计会在82C250与CAN总线控制器SJA1000连接处加入光耦隔离部分,以增强其抗干扰能力,但是这种方式会使系统产生的功耗较大,因此本文没有采用加入光耦隔离的方案,而是采用一种新的隔离方式,即磁耦合技术。

该设计选用的芯片ADuM1201是一种新型的芯片,它的技术与从前那种采用光电二极管与LED相结合的技术有本质上的区别,它采用的是磁隔离的技术。此项技术可以将隔离性能提高到 5000V以上,对于从前的光耦隔离的方式有较大突破,同时也起到了颠覆性的作用,取消了从前光电转换的繁琐过程,直接通过变压器进行磁耦合,是目前最先进的隔离方法。

磁耦合技术在该芯片上的应用方式是直接将变压器集成在芯片当中,因此这类芯片相比较光电耦合器件来说集成的性能更高,由于通道的集成效应,再与光电耦合器件的比较中,这种方式大大的提高了在光电转换过程的效率,降低了能量的损耗,而且磁藕合不必去考虑驱动电路等环节,同样节省了硬件空间与成本,传输速率更高,控制精度更加准确,抗干扰能力也更强,而且该芯片甚至可以实现在一块芯片上实现多通道数字隔离的正反向通信,在应用中更加灵活方便。不仅如此,功耗在比较中同样有较大的优势,一般情况下磁藕合的功耗大约是光电耦合器件的几十分之一,因此本文将其选择为隔离环节中的设计方案。具体磁耦合与光电耦合的比较见表1。

4 软件实现

本设计选用的软件开发环境是在Nios II5.0系统下 NiosII5.0 IDE。该环境是基于通用的 Eclipse-IDE和EclipseC开发套件的,主要可以完成软件的编写程序、编译和调试等功能,由于包含 C标准库,在应用起来与单片机C语言编程类似,所以该环境应用非常灵活方便。

SJA1000独立CAN控制器有以下两种可供选择的操作模式:BasicCAN模式(和PCA82C200兼容)和PeliCAN模式。BasicCAN模式可以在PCA82C200开发的软件与硬件直接互连不需要对设置做任何更改,该模式是上电后默认的操作模式,它同时能够处理所有 CAN2.0B规范的帧类型,而且它还具有一些更强的功能,使其适用于更广泛的领域。SJA1000操作最主要的功能由三个部分组成:初始化、发送帧和接收帧。

表1 磁耦合与光电耦合比较Tab.1 Magnetic coupling and photoelectric coupling comparison

图3 SJA1000初始化顺序Fig.3 SJA1000 initialization sequence

CAN总线的初始化设置是保证正常通信的最首要的条件,初始化方式如图3所示。对于节点的波特率的设置是非常重要的,每个节点处的波特率必须保持一致否则通信无法正常进行,而其他设置则必须保证在复位的情况下完成。硬件复位是保证在复位管脚处出现一个高低电平的变化,并保持的过程。

5 结论

通过实验证明,该通信方式解决了传统串行通信过程中失败率和误码率都很高的缺点,CAN总线特有的容错机制可以使我们在查询检测和排除错误的过程中更加的方便。在针对足球机器人这种对于策略选择实时性和控制精确性都相当高的领域来说,优势相当明显。

[1]李雪源,陈万忠.基于ASEJ1939协议的CAN总线通信技术及应用[D].中国优秀硕士学位论文全文数据库,2005.

[2]耿方新,傅家林.CAN总线控制器的研究与设计[D].中国优秀硕士学位论文全文数据库,2010.

[3]Sohn S D,Seong P H.Quantitative Evaluation of Safety Critical Software Testability Based on Fault Tree Analysis and Entropy[J].Systems and Software,2004,73(2):351-360.

[4]牟学刚,朱劲,蒋平.三轮全向足球机器人结构设计与系统模型研究[J].机械与电子,2006(5):38-41.

[5]余群名,王会方,张骏,等.足球机器人运动控制算法研究[J].湖南大学学报:自然科学版,2006,33(6):42-45.

[6]吴宪兵.足球机器人运动控制研究[J].机床与压,2009,37(1):128-130.

猜你喜欢

电平总线耦合
非Lipschitz条件下超前带跳倒向耦合随机微分方程的Wong-Zakai逼近
基于磁耦合的高效水下非接触式通信方法研究
基于PCI Express总线的xHC与FPGA的直接通信
机载飞控1553B总线转以太网总线设计
NPC五电平Z源逆变器的设计研究
基于“壳-固”耦合方法模拟焊接装配
CAN总线并发通信时下位机应用软件设计
基于三电平光伏并网逆变器控制系统的研究与实践
基于CFD/CSD耦合的叶轮机叶片失速颤振计算
基于NPC三电平变换器的STATCOM研究