引言
位置编码器是工业自动控制中重要的反馈环节执行元件。位置编码器按工作方式分为绝对式和增量式两种。绝对位置式编码器的数据输出一般采用串行通信的方式[1]。位置编码器的通信速度,在一定程度上影响闭环系统的时间常数。德国IC-Haus公司提出的BiSS(Bidirectional Synchronous Serial)协议是一种新型的可自由使用的开放式同步串行通信协议[2],使用该协议通信波特率可以达到10Mbps,达到RS422接口总线的波特率上限[3],是其它一些同类常用串行通信协议(如SSI,EnDat,Hiperface,起止式异步协议)的5倍以上。
注:起止式指一种常用的异步串行通信协议[5],每帧数据包括1位起始位、5-8位数据位、1(或0)位奇偶校验位、1(或1.5或2)位停止位。
由表1中可知,BiSS协议通信波特率远远高出其它协议,总线连接方式、报警位、协议长度可调整,工业应用灵活性好,无协议产权成本,全数字接口无模拟器件成本。可见,在通信速度、产品适应性、成本等综合方面,BiSS协议具有很好的发展前景。
1、BiSS协议
BiSS协议包括读数模式(sensor mode)和寄存器模式(register mode)两部分的内容。如图1、图2所示,在点对点或总线连接下由主机发送MA(master)信号,编码器返回SL(slave)信号。SL的返回信号是和MA的时钟同步的。在寄存器模式下,MA在提供时钟的同时,需要携带寄存器地址、寄存器值等信息,这是通过不同的占空比实现的:当占空比在10%~30%(文中称为低占空比)时,同时表示数据0;当占空比在70%~90%(文中称为高占空比)时,同时表示数据1。
1.1 读数模式
在读数模式下,通信波特率可达到10Mbps,MA和SL的帧结构如图3所示。其中,MA的REQ(请求)位的①~②时间长度要小于timeoutSENS(可编程的时间参数),编码器识别为读数模式。在MA的每一个时钟上升沿,SL返回相应的数据位。
实际应用中,长距离的导线传输、接口电平转换芯片等带来的总线延时(line delay),会有SL2的延迟响应波形。由此可估计总线延时为③~⑧时间长度,即MA时钟上升沿和SL响应位下降沿的时间长度,相应地延迟采样时刻,使通信不受总线延时的影响。
编码器的位置信号需要内部采集,转换等过程。当编码器忙不能立刻响应主机的读数请求时,延迟响应start位,此时为SL3的波形,数据处理带来的延时为④~⑨时间长度。
可见,在高波特率的通信状态下,仍能通过估计总线延时和忙延时,准确的进行数据通信。
1.2 寄存器模式
在读写寄存器模式下,通信波特率相对较低。文中编码器的寄存器为EEPROM,正常工作上限波特率为250K。MA的REQ位时间长度要大于timeoutSENS,编码器识别为寄存器模式。寄存器地址序列为③~④波形(读寄存器、写寄存器相同),包括3位的ID(编码器编号)、7位ADR(编码器地址)、1位WNR(读写标志位)和4位CRC(校验位),同样使用高低占空比来实现时钟和数据的同时输出。