logo资料库

FPGA与绝对编码器BiSS协议通信.doc

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
绝对编码器BiSS协议通信
绝对编码器 BiSS 协议通信 引言 位置编码器是工业自动控制中重要的反馈环节执行元件。位置编码器按工作方式分为 绝对式和增量式两种。绝对位置式编码器的数据输出一般采用串行通信的方式[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(校验位),同样使用高 低占空比来实现时钟和数据的同时输出。 主机输出寄存器地址序列后,如果是读寄存器模式,即寄存器地址序列中的 WNR 位为 0, MA 继续输出时钟,SL 返回寄存器中的数据。如果是写寄存器模式,即寄存器地址序列中 的 WNR 位为 1,MA 则继续输出高低占空比信号,SL 返回写入的寄存器值,如该值与发送 的数据一致,说明写寄存器操作成功。
位置数据、寄存器数据、寄存器地址后均加有 CRC 校验,保证传送数据的准确性。 对于总线连接方式,BiSS 协议给出了多编码器串行连接的读数方式和寄存器读写方式,是 上述时序的组合,详细说明见参考文献[1]。 2、通信模块的软硬件设计 2.1 硬件设计 通信模块基于 EP1C12Q240-FPGA 设计,对 Netzer RE252 型号的绝对位置式光电编 码器进行位置读数,采用点对点连接,RS422 差分总线接口使用 MAX3460 电平转换芯片。 为了提高通信模块在工业应用中的抗干扰性,接口芯片和 FPGA 核心模块之间加入高速光 耦 HCPL0630 进行隔离。输出接口有并行接口、串行通信接口、增量式等,与上位机通信。 2.2 软件设计 程序在 Quartus II 软件[6]环境下,使用 Verilog HDL[7]语言编写,采用的是自底向上 的编写方式,使用约 6000 门资源。底层模块包括读数模块、读写寄存器模块。底层模块的 clk 时钟由顶层模块的锁相环 PLL 分频提供[8]。读数模块或者读写寄存器模块在 EN 置位后, 独占 MA 线,发送与协议对应的波形,再根据编码器返回的 SL 波形采样识别数据,通过 data 总线保存到顶层模块的数据缓冲区。 顶层模块主要包括两个状态机。读数状态机根据编码器的工作时序要求完成寄存器的 初始化,然后不断的读取编码器的数据保存到数据缓冲区。输出状态机根据指定标志位从数 据缓冲区读取数据,控制以并行、串口、增量式的输出时序逻辑。 3、实验结果及对比 quartus II 中的 signalTap 逻辑分析仪可以嵌入到 FPGA,观察管脚电平和内部变量值。 图 7 所示为编码器返回 14 位数据的通信波形。从图中可见,SL 的第一个下降沿即 ACK 位 延迟了约 0.65μs,为总线延时。一个完整的读数操作从-5 时刻开始需要约 210 个采样点, 即 4.2μs 的时间(4.2μs=210*1/50 MHz,采样频率 50MHz)。
图 8 为 TAMAGAWA-TS5667 型号的绝对式光电位置编码器返回 17 位数据的通信波 形,该编码器采用起止式异步串行通信协议,波特率为 2.5M。半双工通信方式下,一个完 整的读数操作从 0 时刻 di 请求开始,到约 868 时刻 ro 应答结束,需要约 30.4μs 的时间 (30.4μs=868*1/28.57MHz,采样频率 28.57MHz)。 BiSS 协议下的数据位数可调整,如果把 BiSS 协议下的数据位数从 14 位增加到 17 位, 只需增加 3 个时钟的时间长度,在 10Mbps 下为 0.3 秒。 由此得到,在同样传输 17 位光电编码器位置数据的情况下,起止式异步协议耗时 30.4μs,而 BiSS 协议仅耗时 4.5μs,通信速度提高了 6.75 倍。 4、结论 基于 BiSS 协议的各方面优点,目前已有德国 IC-Haus,美国 Danaher,以色列 Netzer Precision 等 130 多家公司申请并免费使用了 BiSS 协议,BiSS 协议得到了越来越广泛的应 用。同时,BiSS 与 SSI 协议下的接口兼容,方便 SSI 使用者和厂商系统升级。综上所述, BiSS 协议在降低协议成本、硬件成本,提高通信速度和准确率等综合方面,是未来编码器 用串行通信协议中一种非常理想的选择。
分享到:
收藏