0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用VHDL语言和BiSS协议实现光电编码器的设计

电子设计 来源:郭婷 作者:电子设计 2019-04-26 08:40 次阅读

引言

位置编码器是工业自动控制中重要的反馈环节执行元件。位置编码器按工作方式分为绝对式和增量式两种。绝对位置式编码器的数据输出一般采用串行通信的方式。位置编码器的通信速度,在一定程度上影响闭环系统的时间常数。德国IC-Haus公司提出的BiSS(Bidirectional Synchronous Serial)协议是一种新型的可自由使用的开放式同步串行通信协议,使用该协议通信波特率可以达到10Mbps,达到RS422接口总线的波特率上限,是其它一些同类常用串行通信协议(如SSI,EnDat,Hiperface,起止式异步协议)的5倍以上。

注:起止式指一种常用的异步串行通信协议,每帧数据包括1位起始位、5-8位数据位、1(或0)位奇偶校验位、1(或1.5或2)位停止位。

利用VHDL语言和BiSS协议实现光电编码器的设计

由表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协议给出了多编码器串行连接的读数方式和寄存器读写方式,是上述时序的组合。

2、通信模块的软硬件设计

2.1 硬件设计

通信模块基于EP1C12Q240-FPGA设计,对Netzer RE252型号的绝对位置式光电编码器进行位置读数,采用点对点连接,RS422差分总线接口使用MAX3460电平转换芯片。为了提高通信模块在工业应用中的抗干扰性,接口芯片和FPGA核心模块之间加入高速光耦HCPL0630进行隔离。输出接口有并行接口、串行通信接口、增量式等,与上位机通信。

2.2 软件设计

程序在Quartus II软件[6]环境下,使用Verilog HDL语言编写,采用的是自底向上的编写方式,使用约6000门资源。底层模块包括读数模块、读写寄存器模块。底层模块的clk时钟由顶层模块的锁相环PLL分频提供。读数模块或者读写寄存器模块在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)。

利用VHDL语言和BiSS协议实现光电编码器的设计

图8为*AGAWA-TS5667型号的绝对式光电位置编码器返回17位数据的通信波形,该编码器采用起止式异步串行通信协议,波特率为2.5M。半双工通信方式下,一个完整的读数操作从0时刻di请求开始,到约868时刻ro应答结束,需要约30.4μs的时间(30.4μs=868*1/28.57MHz,采样频率28.57MHz)。

利用VHDL语言和BiSS协议实现光电编码器的设计

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协议在降低协议成本、硬件成本,提高通信速度和准确率等综合方面,是未来编码器用串行通信协议中一种非常理想的选择。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1626

    文章

    21665

    浏览量

    601804
  • 编码器
    +关注

    关注

    45

    文章

    3592

    浏览量

    134145
  • vhdl
    +关注

    关注

    30

    文章

    816

    浏览量

    128076
收藏 人收藏

    评论

    相关推荐

    5V BiSS 位置编码器接口参考设计

    `描述该 TI 设计基于 BiSS 标准实现适用于位置或旋转编码器的硬件接口解决方案。它既支持 BiSS 点对点配置又支持 BiSS 总线配
    发表于 04-29 11:27

    5V BiSS位置编码器硬件接口解决方案

    描述该 TI 设计基于 BiSS 标准实现适用于位置或旋转编码器的硬件接口解决方案。它既支持 BiSS 点对点配置又支持 BiSS 总线配置
    发表于 12-04 14:24

    基于FPGA的BISS-C协议编码器的解码实现

    有没有大佬弄过 基于FPGA的BISS-C协议编码器解码,想问一下该怎么搞,有偿,或者有没有现成的产品可以帮忙解码?
    发表于 05-23 17:17

    开源硬件-TIDA-00175-5V BiSS 位置编码器接口 PCB layout 设计

    该参考设计基于 BiSS 标准为位置或旋转编码器实现了硬件接口。它支持 BiSS 点对点和 BiSS 总线配置。其构建块包括采用创新智能电子
    发表于 05-28 11:50 38次下载
    开源硬件-TIDA-00175-5V <b class='flag-5'>BiSS</b> 位置<b class='flag-5'>编码器</b>接口 PCB layout 设计

    什么是光电编码器?光电编码器原理

    什么是光电编码器? 工作原理:当光电编码器的轴转动时A、B两根线都产生脉冲输出,A、B
    发表于 04-06 15:04 4775次阅读
    什么是<b class='flag-5'>光电</b><b class='flag-5'>编码器</b>?<b class='flag-5'>光电</b><b class='flag-5'>编码器</b>原理

    光电编码器原理及应用电路

    光电编码器原理及应用电路 1.光电编码器原理
    发表于 09-26 17:05 1.1w次阅读

    FKC光电编码器

    FKC光电编码器  FKC光电编码器产品参数/介绍:
    发表于 10-30 07:55 1147次阅读
    FKC<b class='flag-5'>光电</b><b class='flag-5'>编码器</b>

    光电编码器简介、分类及应用

    光电编码器简介、分类及应用 一、光电编码器简介
    发表于 01-11 08:40 5417次阅读

    光电编码器,光电编码器的工作原理

    光电编码器,光电编码器的工作原理 光电编码器,是一种通过
    发表于 03-02 14:40 9006次阅读

    光电编码器,光电编码器是什么意思

    光电编码器,光电编码器是什么意思 光电编码器光电
    发表于 03-08 15:20 1504次阅读

    光电编码器原理结构图

    光电编码器原理结构图 增量式光电旋转编码器     所谓编码器即是将某种物理量转换为数字格式的装置。运动控制系统中的
    发表于 03-08 15:24 1.6w次阅读

    详解双向/串行/同步(BiSS)位置编码器的接口

    在本文对双向/串行/同步(BiSS)位置编码器的接口进行讲解。 BiSS是来自iC-Haus公司的开源协议。它定义了适用于致动和传感
    发表于 11-17 01:55 1.9w次阅读
    详解双向/串行/同步(<b class='flag-5'>BiSS</b>)位置<b class='flag-5'>编码器</b>的接口

    光电编码器型号含义_光电编码器应用实例

    本文主要阐述了光电编码器型号含义及光电编码器应用实例。
    的头像 发表于 11-06 11:21 1.8w次阅读
    <b class='flag-5'>光电</b><b class='flag-5'>编码器</b>型号含义_<b class='flag-5'>光电</b><b class='flag-5'>编码器</b>应用实例

    磁性编码器光电编码器的比较

    伺服电机编码器是一种关键的反馈装置,用于测量和控制电机的转速和位置。在选择伺服电机编码器时,常常面临一个选择:使用磁电编码器还是光电编码器
    的头像 发表于 01-18 10:29 2965次阅读

    磁电编码器光电编码器的区别

    磁电编码器光电编码器是两种不同类型的编码器,它们在原理、结构、性能和应用领域上都有所不同。 磁电编码器
    的头像 发表于 10-12 09:54 684次阅读