背景

BISS-C 是常见的位置编码器传输协议,相对于传统的协议,支持更快的传输速度,电器接口为电压差分RS422或者485,抗干扰能力较强,在精密位置传输中应用广泛。

下述信息源自雷尼绍

典型的请求循环进程如下:

    1. 当空闲时,主接口使MA线保持高电平。光栅通过使SLO线保持高电平显示它已准备就绪。
    1. 主接口通过开始在MA上传输时钟脉冲来请求位置采集。
    1. 光栅通过将MA的第二上升沿的SLO线设为低电平做出响应。
    1. 完成 “Ack” 周期后,光栅将数据传输到与时钟同步的主接口,如上图所示。
    1. 当所有数据都传送完毕,主接口停下时钟,将MA线设为高电平。
    1. 如果光栅尚未准备进行下一个请求周期,它会将SLO线设为低电平(超时周期)。
    1. 当光栅准备进行下一请求周期时,它通过将SLO线设为高电平的方式提示主接口。
    • Ack 这是读数头计算绝对位置的时间段。

      参见下面的时序信息表。

    • 起始和 “0”(每个为1位)

      光栅传输起始位,发信号给主接口开始传输数据。

      起始位始终为高电平, “0” 位始终为低电平。

    • 位置(26或32位)

      绝对位置数据为二进制格式,首先发送给MSB。对于圆光栅,每转正好有2n个脉冲,之后脉冲数溢出绕回到零。

      [忽略位置数据的最小有效位可能获得较低的分辨率。

    • error定义如下:

      误差位低电平有效: “1”表示传输的位置信息已被读数头的内置安全校验算法校验,结果正确; “0”表示内部检查失败,

      位置信息不可信。对于有温度感应的RESOLUTE系统,如果温度超过产品最高指标,错误位也设为“0”。

      请注意,产品规格手册中指定了RESOLUTE系统的工作温度限制

    • 警告(1位)

      警告位低电平有效: “0” 表示应对光栅尺(及/或读数窗口)进行清洁。

      请注意,警告位并不表示位置数据可信。只有错误位才能用作此目的。

    • 位置数据CRC(6位)

      位置、错误及警告数据的CRC多项式为: x6 + x1 + x0。它先被传输为MSB,然后转换。

      起始位和 “0” 位从CRC计算中忽略。

设计板卡特点

  • 标准3U PCIe/PXIe 接口形式;
  • VHDCI68 接头;
  • 8 路点对点BISS-C接口;
  • 8路BISS-C可以并行处理,支持外采样时钟和内采样时钟2种模式,每个采样时钟触发一次位置信息读取;
  • BISS resolution ,即位置信息bit位数,软件可配置,目前测试完成24-32;
  • FPGA完成BISS解码后将有效数据送给上位机,软件支持单点、有限点、连续采集模式;
  • 采样时钟支持内部与外部;
  • 触发支持开始触发、参考触发;
  • 8路PFI,只支持静态处理,可以路由触发信号等输入输出;
  • c# 驱动

实际运行截图,应用程序使用C# 编写

CRC校验

不了解CRC的可以观看资料https://www.bilibili.com/video/BV14A411h7tk/?buvid=XX83ABF8119634A173595B257F2A937E93ED5&is_story_h5=false&mid=okzdJIv17RhWwU32C0i5OQ%3D%3D&p=1&plat_id=114&share_from=ugc&share_medium=android&share_plat=android&share_session_id=23e6b13f-bde2-42c3-b0c8-bc95f4c01c6e&share_source=WEIXIN&share_tag=s_i&timestamp=1681139085&unique_k=zHWuvAE&up_id=60091607

雷尼绍的传感器使用CRC6,多项式为X6+x1+1 , 0x43 ,输出6bit crc结果取反,这个和ITU的做法不一样,输入是没有取反的,这点要注意,下面给了个例子

可以在该链接进行验证,与传感器实际输出是一致的 https://www.ghsi.de/pages/subpages/Online CRC Calculation/index.php?Polynom=1000011&Message=3977d70fb

给出几组位置信息和对应的CRC校验结果:位置为32bit数据,计算CRC需要左移2bit 然后加上3(1 bit warn, 1 bit error)

position crc
0xe5df5c3e 0x0000003a
0xe5df611b 0x00000009
0xe5df58f5 0x0000003e
0xe5df5eb2 0x00000027

BISS-C 8通道采集renishaw传感器及其CRC校验的更多相关文章

  1. ARM-LINUX自动采集温湿度传感器数据

    开机root自动登录 如果想在超级终端输入回车,登录后执行,则可以在/etc/profile中加入命令: 如果实现开机自动登录,在/etc/inittab中修改,每个开发板修改的方式可能都不同. ht ...

  2. 1--STM32 ADC1与ADC2 16通道DMA采集笔记(原创)

    最近在搞ADC,网上还是很多资源的,以下为参考链接:1.对STM32 ADC单次转换模式 连续转换模式 扫描模式的理解:https://www.cnblogs.com/zhanghankui/p/51 ...

  3. [置顶] STM32的ADC1采集多条通道,可以不使用DMA功能吗?

    类似的问题 为什么我采集5条通道的电压,而采集到的值却都是第一条的呢? 我什么时候需要使用DMA功能? Ⅰ关于ADC的一些知识 STM32的ADC是一种12位逐次逼近型的模拟数字转换器.它有多达18条 ...

  4. 【应用笔记】【AN004】VB环境下基于RS-485的4-20mA电流采集

    版本:第一版作者:周新稳 杨帅 日期:20160226 =========================== 本资料高清PDF 下载: http://pan.baidu.com/s/1c1uuhLQ ...

  5. 4~20mA信号采集

    4-20mA信号采集 4-20mA信号采集可选卓岚ZLAN6802(485)/ZLAN6842(以太网)/ZLAN6844(无线wifi)他们不仅可以可采集4~20mA还可以采集 /0~5V/0~10 ...

  6. 4-20mA模拟量采集

    4-20mA模拟量采集 4-20mA模拟量采集可选卓岚ZLAN6802(485)/ZLAN6842(以太网)/ZLAN6844(无线wifi)他们不仅可以可采集4~20mA还可以采集 /0~5V/0~ ...

  7. STM32F10x_ADC三通道DMA连续转换(3通道、软件单次触发)

    Ⅰ.概述 上一篇文章讲述的内容是:三通道逐次转换(单次.单通道软件触发),也就是说3条通道要三次软件触发才能完成转换,而且是通过软件读取转换数值. 本文讲述三通道DMA连续转换(3通道.软件单次触发) ...

  8. 第30章 ADC—电压采集—零死角玩转STM32-F429系列

    第30章     ADC—电压采集 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fireg ...

  9. stm32之ADC应用实例(单通道、多通道、基于DMA)

    文本仅做记录.. 硬件:STM32F103VCT6 开发工具:Keil uVision4 下载调试工具:ARM仿真器 网上资料很多,这里做一个详细的整合.(也不是很详细,但很通俗).  所用的芯片内嵌 ...

  10. UWB DWM1000 开源项目框架 之 温度采集

    在之前博文开源一套uwb 框架,后面几篇博文会基于这个开源框架进行简单开发. 让uwb使用者更清楚了解基于这个basecode 开发工作. 这里所做内容是,采集dwm1000 温度,并发送到另一个节点 ...

随机推荐

  1. ssh问题、原理及diffie hellman算法

    1.普通用户无法使用证书登录:原因是权限设置问题 将.ssh目录设为700,authorized_keys设为600即可. 2.查看ssh支持的算法 ssh -Q help ssh -Q kex/ke ...

  2. auto 类型说明符

    编程时常常需要把表达式的值赋给变量,这就要求在声明变量时清楚地知道表达式的类型.然而做到这一点并非那么容易,有时候甚至根本做不到.为了解决这个问题,c++11新标准引入了auto类型说明符,用它就能让 ...

  3. python读书笔记-网页制作

    socket()函数 Python 中,我们用 socket()函数来创建套接字,语法格式如下:  Socket 对象(内建)方法  Python Internet 模块:

  4. CBV源码分析及模板语法之传值 过滤器 标签 继承 导入

    CBV的源码分析 # CBV的源码入口从哪里看呢? CBV的核心源码: return self.dispatch(request, *args, **kwargs) def dispatch(self ...

  5. Halcon代码导出到.net FrameWork/WPF

    1. 应用背景 在工业项目中,往往需要使用机器视觉结合人机界面开发特定的,面向工艺的项目.机器视觉中,Halcon无疑是功能强大的,能快速应用到项目的视觉产品,而WPF则是解决人机界面的利器.因此了解 ...

  6. appium 遇到连接设备状态是offline

    1.查看连接手机设备 adb derivces 时,手机状态是offline状态(无法正常连接). 解决法: 1.adb kill-server 终止adb调试服务 2.adb start-serve ...

  7. java代码审计-SpEL表达式注入

    0x01 前言 Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言.用于在运行时查询和操作对象图:语法上类似于Unified EL,但提供了更多的特性,特 ...

  8. mfc edit只允许输入数字

    1.给EDIT控件添加 EN_CHANGE 事件 2.事件中的代码如下: 1 CString strEditVidoe; 2 GetDlgItem( iId )->GetWindowText( ...

  9. 网络安全(中职组)-B模块:服务远程控制

    任务四:服务远程控制任务环境说明:服务器场景名:20200609(关闭链接)服务器场景操作系统:未知服务器场景用户名:root服务器场景密码:Admin123 1.    通过本地PC中渗透测试平台K ...

  10. CTF show 信息收集篇

    web1 f12查看网页源代码 web2 打开发现无法f12查看源代码 方法1:禁用js 方法2:打开空白网页提前f12查看源代码然后复制url打开 方法3:Ctrl+u查看 web3 burp抓包 ...