编码器的CAN总线接口及其在光电跟踪系统中的应用
扫描二维码
随时随地手机看文章
1 引 言
绝对式光电轴角编码器是一种数字测角装置,实时测量转轴所处的角位置及角速度,它把轴角信息转换成度、分、秒形式的数字代码,与控制系统中的总线连接可实现实时测量。它具有工作可靠性高,抗干扰能力强,精度高,断电记忆等优点。在靶场设备、数字经纬仪、雷达及一些大型军用设备等数字化测量跟踪和定位系统中得到广泛应用。
在这些实际应用的控制系统中由于各分系统传感器和探测器输出的数据结构不同,绝对式光电轴角编码器会用到不同的内部数据通信方式,主要有RS232、RS485/488串口,并口等。但在具体工程应用项目中,上述通信方式常会受到传输距离、通信速率等方面限制。近几年来串行通信快速发展,出现了多种控制系统现场总线形式,CAN总线就是其中应用最为广泛的一种,它是控制器局域网总线的简称,是一种有效支持分布式控制和实时控制的串行通信网络。由于CAN总线的高性能、高可靠性及独特的设计,已成为目前国内外普及和实时性最高的现场总线。控制系统中内部通信方式的发展变化,使得用作测量角位移和角速度的编码器要提供CAN总线接口以满足整个控制系统的现场总线设计要求。
2 编码器工作原理和数据传输
2.1工作原理
编码器由数据采集装置和数据处理装置两部分组成。结构原理框图如1所示。单片机是编码器电路系统的核心部分,它将编码器的信号(粗码、中精码、精码)采集到后,经精码细分、码道校正、数字量相加、电调零、度分秒转换等软件处理,最后显示及实现与控制系统接口。
2.2数据传输
编码器与控制系统的数据传输可以采用并行和串行两种方式。并行传输通过并口传递数据,每位数据需要数据电缆一芯,例如对于24位分辨率的编码器就需要一根24芯的电缆,因此使用空间受到限制,仅适用于短距离传输和特殊要求的场合。串行传输,数据信息通过一根双绞线实现串行传送,根据不同通信协议再加些附加位实现纠错等功能,这一功能可扩大应用于数据总线系统中。串行传输用线少,硬件少,成本低,传输距离远,数据安全可靠。
2.3 提出编码器CAN总线接口
在对各种现场总线的综合比较中,基于CAN总线构建的通信系统具有很多优异的特性:数据信号采用差分电压传输;总线传输介质可用双绞线、同轴电缆和光纤;可以多主方式工作,通信方式灵活;可以点对点、点对多点及全局广播方式传送接收数据;网络上的节点信息可分成不同的优先级,满足不同的实时要求;采用非破坏性总线仲裁技术;数据采用短帧结构,每一帧为8Byte,数据出错率低;通信协议中数据链路层的MAC子层具有严格的错误检测能力;具有国际标准,开放性好。因此,在对光电跟踪系统内部通信方式改造中采用CAN总线作为数据通信总线结构,进而提出编码器CAN总线接口。
3 编码器CAN总线接口在光电跟踪系统中的应用
3.1编码器用于光电跟踪系统位置检测
绝对式光电轴角编码器是光电跟踪系统中光电跟瞄架测量方位角和俯仰角角度传感器,将光电跟踪系统内部总线结构改造为CAN总线通信方式,编码器的CAN总线接口发挥其接口灵活,节省线路的特点,同时它本身带有微处理器,可以作为系统中的一个智能节点,直接向其他设备发送远程帧,实现智能控制。图2为基于CAN总线的光电跟踪系统通信结构图。光电跟踪系统使用CAN总线单一串行总线结构代替多种通信方式的并行结构,两个光电编码器测得的方位角和俯仰角经总线发送到主控制机,主控制机将数据进行相应处理后,通过总线控制伺服控制系统,所有的分系统都可以通过一对双绞线连接在一起,简化了系统布线,提高整个系统总线利用率、数据传输实时性和系统扩充性,同时误码率大大降低。
3.2 编码器节点CAN总线接口硬件组成
CAN总线接口主要有单片机、CAN总线控制器、CAN总线驱动器及光电隔离等硬件组成。CAN总线通信接口具体电路如图3所示。
单片机选择Intel80C196KC, 它是16位嵌入式微控制器,更适合复杂的实时控制场合,它同时负责对编码器的数据处理和对CAN总线节点的初始化。CAN控制器选择Philips半导体公司的SJA1000,实现总线与主控机(控制计算机)之间数据通信的接口,支持CAN2.0A和CAN2.0B协议,有扩展64字节接收缓冲器,支持先进先出(FIFO)原则,支持11位和29位标识码,通信位速率可达1Mbps,可以工作在BasicCAN模式和PeliCAN模式。CAN总线驱动器选择Philips的TJA1050,它是高速CAN总线驱动器,提供CAN控制器和物理总线之间的接口,实现对CAN总线的差动发送和接收功能,具有强电磁干扰下,宽共模范围的差动接收能力,输入电平与3.3V器件兼容,未上电节点不会干扰总线。加入TJA1050能够保证数据的高速通信。为了安全性和提高抗干扰能力,利用TJA1050对称性能好的特点,使用分离终端。CANH和CANL与地之间并联了两个30pF的小电容,起到滤除总线上的高频干扰和一定的防电磁辐射能力。为了进一步提高系统的抗干扰能力,在CAN控制器SJA1000和CAN驱动器TJA1050之间使用了高速光耦6N137构成隔离电路,实现电流隔离接法,6N137两侧电源VCC和VDD完全隔离,这样可以防止线路间的串扰,同时在总线两端要接2个120Ω的总线阻抗匹配电阻。
3.3节点软件设计
绝对式光电轴角编码器的角度信息(度、分、秒)从CAN控制器发送到CAN总线或从CAN总线到CAN接收缓冲器都是由SJA1000总线控制器自动完成的。它的CAN总线接口通信程序由初始化子程序、发送子程序和接收子程序构成。首先根据实际系统需要选择CAN总线工作模式,这里选择PeliCAN模式,12MHz晶振,总线数据传输速率设为500Kbits/s,各个总线节点要设置相同的数据传输速率,以保证正常通信。判断SJA1000与单片机物理连接可靠,然后初始化SJA1000控制器,在SJA1000复位模式下,设定各个寄存器的初始状态。初始化流程图如图4。实现数据的发送和接收由发送子程序和接收子程序完成,由报文ID判断节点数据的流向,发送数据时,报文ID接收标志位段的设置原则为:需要接收的节点其相应的ID位为0,其余位为1 。接收数据时则相反,通过ID判断是否为发送给自己的信息,是则接收,不是滤除。
4 结束语
CAN总线作为现场设备级的通信总线,有很高的可靠性和性能价格比,带有CAN总线接口的绝对式光电轴角编码器使它更加灵活运用于控制系统中。