您好,欢迎访问三七文档
新型传感器通信总线BiSS介绍编写:赵志方(禹衡光学有限公司)审校:EduardoYiCheng(IC-HAUS)BiSS通信协议概述BiSS通信协议是一种全双工同步串行总线通信协议,专门为满足实时、双向、高速的传感器通信而设计,在硬件上兼容工业标准SSI(同步串行接口协议)总线协议。其典型应用是在运动控制领域实现伺服驱动器与编码器通信。BiSS由德国IC-HAUS公司开发,现已成为传感器通信协议的国际化标准。BiSS通信协议目前的版本是BISS-C,应用BISS无需任何许可费用,BiSS协会会员还可以申请获得免费的IP核源代码和相关技术支持,维持BiSS协会会员资格无需缴纳任何费用,申请入会也是免费的。编码器总线的现状和发展趋势传统的增量编码器采用正交编码输出角增量,其本质是信号变换器,编码器的正交编码是被测机械转角的线性变换。这种编码器结构简单、技术成熟、应用广泛,其缺点有以下三个方面:其一,通信干扰容易造成后续电子设备获取到错误的角增量编码,通常的做法是将控制系统看成惯性系统,从而利用低通滤波器将速度突变或方向突变抑制掉。但是工业现场环境复杂,各种干扰频域宽、强度高,总有部分干扰引入到反馈环节,从而降低控制的准确度和可靠性。同时这种误差具有累加性,往往需要借助外部机构消除累加误差,从而导致系统复杂度提高。其二,增量式编码器无法保存绝对位置信息。采用增量式编码器的系统,系统上电后要有一个找“零”的工作过程。对于很多应用场合,系统低速归零是一个无奈的做法,在找“零”过程中,如果零位信号受到干扰,则会引起较严重的问题,开发者要采取各种措施,保证归零可靠。其三,对于伺服控制系统而言,方便的获取伺服电机的参数是伺服控制系统的需求。将参数保存在电机中并通过某种接口与伺服控制系统通信,就成为直接的做法。伺服控制系统与伺服电机的数据接口只有编码器,采用正交编码的增量式编码器显然不能满足这个需要。随着现场总线技术发展,SOC片上系统逐渐普及,控制系统全数字化已成该领域的发展方向和研究热点。编码器也在向数字化发展,从而带来传绝对式编码器和相关通信总线的技术进步。由于编码器在运动控制领域应用最多,编码器总线要满足运动控制器对精度、分辨率、响应速度的要求,应包括如下几个特征:1、高速通信2、时延固定3、数据诊断4、双向通信5、低成本高速通信有助于提高响应速度;编码器的精度和分辨率决定了控制系统的精度,时延是影响编码器精度的重要因素。运动控制器发出“读指令”的时刻到编码器开始采样这段时间理想情况下应是是固定的。这个时延越小,编码器的编码值的物理意义越准确。从而有利于伺服控制器的算法调节。试想利用CAN总线实现编码器通信的情况。首先,伺服控制器发出一个CAN通信帧;然后,编码器从CAN通信帧提取出“读指令”;最后,编码器进行数据采样,并回传数据。这样的采样滞后是多长时间,时长是固定的么?作为对比,BiSS在MA(MA是主机发出的时钟)的第一上升沿采样数据,理论上是没有延迟的。可以说,通用现场总线目前还不适合高速编码器通信。专门用于高速数据通信的传感器总线大都是编码器厂商开发,有很强的封闭性。比较有代表性的总线通信协议有EnDat2.2、Hiperface、SSI、NRZ等等。BiSS由芯片商IC-HAUS开发,协议开放。BiSS通信协议的关键技术特征1、二线串行同步数据总线,采用RS422接口,波特率达到10Mbit/s;采用LVDS接口,波特率10Mbit/s,这反映了BiSS有高的响应速度;2、通信效率高,每10uS传输超过64个比特,有效负载率大于80%。这反映出BiSS能承载高分辨率编码器数据;3、线路时分复用,包括每个通信周期传输一帧的数据通信信道和传输一个帧位的寄存器通信信道。其中,寄存器通信和数据通信完全独立,互不干涉。对于不需要寄存器通信的应用场合,可以使用BiSS-CUnidirectional版本。这个版本的协议没有寄存器通信。这反映了采用BiSS的控制系统有更好的稳定性和便利性。4、多种安全机制确保数据可靠,BiSS的延迟补偿技术能补偿传输线带来的信号延迟,采用两组CRC生成多项式分别对传感器数据与寄存器数据进行校验。BiSS协议帧还包括一位报警位和一位错误位,CRC生成多项式可自定义。6位CRC能满足大多数应用,对于高安全场合(例如需要满足欧洲安全标准的场合),BiSS可以使用16位CRC。这反映了BiSS传输更可靠,采用BiSS的控制系统更可靠。5、数据同步,BiSS利用时钟信号同步传感器数据,传感器在第一个时钟脉冲到来时进行数据更新,每一帧到达后续电子设备的数据其传输延迟都是相同的,方便后续电子设备进行时延补偿,特别适合电机控制等对时间位置关系要求苛刻的应用场合。这反映BiSS对于编码器精度的影响很小,有助于提高控制系统的高速特性。6、组网能力,通过BiSS可以构成单总线传感器环网,一个通信周期采集全部传感数据,并且信号采集是同步的。这反映BiSS的扩展性和前瞻性。7、即插即用,BiSS支持从寄存器读出编码器参数,来配置数据通信。凡是支持BiSS标准EDS和Profile的编码器和控制系统都可以直接通信,无需修改任何程序。这反映了BiSS高度的开放性和兼容性。BiSS通信协议的基本内容1、组网方式图1是BiSS的基本组网方式,叫point-to-point方式。后续电子设备(图中为PLC),通过差分信号向传感器提供时钟,传感器同步地通过差分信号向后续电子设备发出传感数据。在BiSS协议中后续电子设备被称为Master,传感器被称为Slave。在point-to-point方式下,Master可以接收Slave的数据,同时与Slave进行双向数据通信。图1point-to-point组网图2是BiSS的多从机组网方式,叫Multi-slaveNetworking。Master在一个周期可以内完成与多个Slave之间的通信。所有的设备按照菊花链首尾连接,每个Slave有两个端口,分别用于接收前端信号和向后端发送信号。这是一种类似流水线的工作方式,每个Slave接收上一个Slave的数据放在自己的发送队列队尾,同时将自身的数据优先发出。整个通信由Master发出的时钟信号进行同步。Master通过MO信号将Actuator数据串行地移入到每个Slave,同时通过SL信号依次接收每个Slave的数据。图2Multi-slaveNetworking组网2、BiSS的帧结构和数据通信图3描绘了point-to-point组网时的BiSS通信帧。MA由Master发出用于驱动通信,SL是Slave发出的数据信号。完成1个BiSS通信帧表示Master收到1帧数据。图3point-to-point组网的BiSS帧结构图4描绘了Multi-slaveNetworking组网的BiSS通信帧,对于每一个Slave而言,不但要发送自己的数据,而且要接收并转发前一个Slave发过来的数据。限于篇幅,不详述Multi-slaveNetworking组网时的数据通信,有兴趣的读者可以阅读BiSS-C-protocalC5版了解更多内容。图4Multi-slaveNetworking组网的BiSS帧结构BiSS通信过程可以描述为如下几个状态的切换:IDLE(空闲),StartFrame(帧开始),Tranmission(发送),Timeout(超时)。IDLE,空闲状态;BiSS通信空闲,MA,SL保存常高。StartFrame,开始帧通信:MA发送时钟,在MA第一个上升沿,Slave锁存传感器状态。在MA第二个上升沿,编码器将SL拉低,用于应答Master的通信请求。理想状态下,SL拉低与MA第二上升沿的时延很小,在实际系统中,由于长线延迟、信号整形、滤波以及信号传递通过多级门电路等因素的综合作用,SL相对MA信号存在一定的相移,造成SL拉低滞后MA第二上升沿一段时间,这个时间被称为line-delay线路延迟,如果SL信号采样电路不能修正这个延迟,那么总线的通信距离和通信速率都要降低,以保证SL信号被可靠地采样。BiSS规定每个通信帧发起时都要检测一次line-delay,并加以修正。从而确保BiSS通信波特率可以达到10Mbit/s。在line-delay期间,MA持续输出脉冲。Tranmission,(发送):当SL信号从常高拉低后维持一段时间。这段时间叫ACK,表示Slave响应了MA信号,正在进行数据准备。通常ACK维持0.1us到8us之间,这与Slave数据是否准备就绪有关,对于特定的Slave,其ACK的长度是基本上是固定的。ACK期间MA持续输出脉冲。当SL发送1个BIT的START位(常‘1’),表示Slave数据准备就绪。开始数据发送。SL会顺次发1个BIT的CDS信号,1个单周期字段(SCD);BiSS规定单周期字段长度要大于4个BIT,小于64个BIT。对于特定应用,字段长度由Slave厂商规定(例如:禹衡公司多圈编码器的单周期位域包括16个BIT的多圈计数、17个BIT的单圈位置,2个BIT的错误告警和6个BIT的CRC校验)。这个期间,MA持续输出脉冲。Timeout,(超时):当SCD发出完成后,SL维持0.5~40us的低电平,这个时间段被称为Timeout,对于特定的应用,Timeout由Slave厂商规定。MA在Timeout期间发送CDM信号,该信号一直维持到SL被拉高,SL被拉高后,本次通信完全结束。2、BiSS的寄存器通信CDM和CDS是Master和Slave进行寄存器通信的信号。当Master与Slave进行个多个周期的数据通信后,Slave收到的Master发送的CDM序列和Master接收的CDS序列构成了BiSS寄存器通信帧,如下图5所示。图5多个BiSS帧构成的寄存器通信序列图6、图7描述了BiSS寄存器通信读写时序。通过时序图,可以了解BiSS可以与编码器进行双向数据交换。BiSS的寄存器通信有CRC校验,和读回校验(针对写时序)。BiSS的寄存器通信占用带宽很少,对比EnData2.2和NRZ等有优势。这是由于伺服控制器初始化时读编码器参数情况多,正常工作时用户通常只关注错误报警信息,BiSS将错误报警信息放在实时性高的数据通信中,把耗时的寄存器通信用CDS和CDM实现,这种根据数据实时性设计不同的通信速率的方法,能够大幅节约通信带宽,有效降低通信时延。所以,使用BiSS编码器能带来更好的控制效果。关于BiSS寄存器通信的细节,限于篇幅不再说明,有兴趣的读者请参阅BiSS技术笔记BiSS_AN11_appnote_A2en图6BiSS寄存器通信写时序图7BiSS寄存器通信读时序BiSS通信协议的实现方法1、硬件解码对于采用硬件解码的用户,可以根据需要选择IC-HAUS提供的解码芯片,或者采用IC-HAUS提供的IP软核进行解码。也可以选择带有IP硬核的MCU。如果想利用IC-HAUS提供的IP软核实现数据通信和寄存器两种功能,需采用FPGA解码。FPGA资源数需大于1300个LE(将BiSS与MCU的接口设置为SPI时的编译的结果)或等效资源数。如果仅想实现数据通信,可以采用CPLD解码。CPLD资源数需大于96个LE(增加时钟分频电路和SPI接口后需150个以上的LE)或等效资源数。自行设计的难点是线延迟的处理,对于外引线很短或无外引线的应用,线延迟的变化很小,这时可以设计延迟固定的采样时钟,否则每个周期要进行一次线延迟补偿。直接购买解码芯片或使用验证过的IP核能够快速实现BiSS通信。2、软件解码用户可以通过IO模拟的BiSS时序,但这种方法不推荐使用。推荐使用MCU的硬件外设解码,这样能够将BiSS通信速度设定很高。而且节约了外部逻辑电路的成本,对于很多应用,节约的成本十分可观,同时对于产品的系列化有优势。一个功能强大的通用串行解码模块,采用不同的解码程序应该能够支持多种串行通信协议、全双工、半双工等等。例如:对于BiSS可以利用SPI的SCK可以用来模拟MA,M
本文标题:BISS协议简介
链接地址:https://www.777doc.com/doc-4313103 .html