CN105119907A - 一种基于FPGA的BiSS-C通信协议方法 - Google Patents
一种基于FPGA的BiSS-C通信协议方法 Download PDFInfo
- Publication number
- CN105119907A CN105119907A CN201510433632.1A CN201510433632A CN105119907A CN 105119907 A CN105119907 A CN 105119907A CN 201510433632 A CN201510433632 A CN 201510433632A CN 105119907 A CN105119907 A CN 105119907A
- Authority
- CN
- China
- Prior art keywords
- data
- fpga
- clock
- frame data
- signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种基于FPGA的BiSS-C通信协议方法,本发明属于传感器与控制卡之间传输通信的技术领域。它的方法步骤一:FPGA模块的时钟信号MA通过RS422接口发送到外部光栅式传感器的时钟输入端;步骤二:时钟信号MA的上升沿触发外部光栅式传感器的数据信号发送;步骤三:FPGA模块判断每一帧数据信号的Start位是否为高电平和“0”位是否为低电平,如果不是,则继续等待下一帧数据,如果是,则每一个时钟MA的上升沿串口接收一位数据;步骤四:将完整的一帧数据存储到FPGA模块的双口RAM储存器内;步骤五:双口RAM储存器内的数据实时的传送到DSP模块内。本发明属于硬件解码,FPGA解码能实现数据通信和寄存器两种功能,既能完成通信,又能存储数据,存储的数据用于其他程序的处理。
Description
技术领域
本发明属于传感器与控制卡之间传输通信的技术领域。
背景技术
BiSS通信协议是一种全双工同步串行总线通信协议,专门为满足实时、双向、高速的传感器通信而设计,在硬件上兼容工业标准SSI(同步串行接口协议)总线协议,其典型应用是在运动控制领域实现伺服驱动器与编码器通信,具有兼容性、低成本、稳定性等特点。而BiSS-C通信协议是单向的快速同步串行接口。FPGA是现场可编程逻辑器件,以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录到FPGA上进行测试,具有灵活性强等特点,FPGA产品现在已经广泛应用于通信、工业控制、测试测量等领域。现有BiSS-C通信协议在FPGA中占有资源多和线延迟处理等问题,BiSS-C通信协议在FPGA资源数需要大于1300个LE,并且每帧数据要进行一次线延迟补偿。
发明内容
本发明的目的是提供一种基于FPGA的BiSS-C通信协议方法,是为了解决现有BiSS-C通信协议在FPGA中占有资源多和线延迟处理等问题,BiSS-C通信协议在FPGA资源数需要大于1300个LE,并且每帧数据要进行一次线延迟补偿的问题。
所述的目的是通过以下方案实现的:所述的一种基于FPGA的BiSS-C通信协议方法,它的方法步骤为:
步骤一:FPGA模块1的锁相环首先产生300MHz的基准时钟,SLout空闲高电平时,MA开始发送时钟,根据300MHz的基准时钟,首先延迟固定时间T1,MA时钟一直置0,然后延迟固定时间T2,MA时钟一直置1,如果这位数据接收完成,从延迟固定时间T1重新开始,一直到一帧数据接收完全,继续从第一步开始循环,这样就产生了MA时钟信号,时钟信号MA通过RS422接口2发送到外部光栅式传感器的时钟输入端;
步骤二:时钟信号MA的上升沿触发外部光栅式传感器的数据信号发送,数据信号通过外部光栅式传感器的读数头输出,通过差分线路传回到RS422接口2;
步骤三:FPGA模块1判断每一帧数据信号的Start位是否为高电平和“0”位是否为低电平,如果不是,则继续等待下一帧数据,如果是,则每一个时钟MA的上升沿串口接收一位数据,直到最后一个字节的CRC检验位接收完成,再重新接收下一帧数据;
步骤四:将完整的一帧数据存储到FPGA模块1的双口RAM储存器3内,当下一个完整的一帧数据接收完,双口RAM储存器3内的原始数据将被覆盖刷新;
步骤五:双口RAM储存器3内的数据实时的传送到DSP模块4内,DSP模块4先对CRC校验位进行判断,如果校验位错误,则去掉该数据,如果校验位正确,把上述数据信号的26位二进制位置数据提取出来,通过解算,在位置数据的基础上,加入报文头0x55和一个字节的CRC检验位,组成一帧数据发送给外部电机驱动器实现基于FPGA的BiSS-C通信协议的电机闭环控制。
本发明属于硬件解码,跟CPLD解码相比,FPGA解码能实现数据通信和寄存器两种功能,既能完成通信,又能存储数据,存储的数据用于其他程序的处理,而CPLD解码只能实现数据通信,无法对数据进行存储。软件解码虽然能够节约外部逻辑电路的成本,但MCU硬件模块的FIFO深度会问题会带来通信出错等问题。FPGA解码则完全避免了上述问题,并且通信速度快,每0.1ms完成一帧数据的发送与接收,误码的情况基本没有出现。
附图说明
图1是本发明方法涉及的电路结构简要示意图。
具体实施方式
具体实施方式一:结合图1所示,它的方法步骤为:
步骤一:FPGA模块1的锁相环首先产生300MHz的基准时钟,SLout空闲高电平时,MA开始发送时钟,根据300MHz的基准时钟,首先延迟固定时间T1,MA时钟一直置0,然后延迟固定时间T2,MA时钟一直置1,如果这位数据接收完成,从延迟固定时间T1重新开始,一直到一帧数据接收完全,继续从第一步开始循环,这样就产生了MA时钟信号,时钟信号MA通过RS422接口2发送到外部光栅式传感器的时钟输入端;
步骤二:时钟信号MA的上升沿触发外部光栅式传感器的数据信号发送,数据信号通过外部光栅式传感器的读数头输出,通过差分线路传回到RS422接口2;
步骤三:FPGA模块1判断每一帧数据信号的Start位是否为高电平和“0”位是否为低电平,如果不是,则继续等待下一帧数据,如果是,则每一个时钟MA的上升沿串口接收一位数据,直到最后一个字节的CRC检验位接收完成,再重新接收下一帧数据;
步骤四:将完整的一帧数据存储到FPGA模块1的双口RAM储存器3内,当下一个完整的一帧数据接收完,双口RAM储存器3内的原始数据将被覆盖刷新;
步骤五:双口RAM储存器3内的数据实时的传送到DSP模块4内,DSP模块4先对CRC校验位进行判断,如果校验位错误,则去掉该数据,如果校验位正确,把上述数据信号的26位二进制位置数据提取出来,通过解算,在位置数据的基础上,加入报文头0x55和一个字节的CRC检验位,组成一帧数据发送给外部电机驱动器实现基于FPGA的BiSS-C通信协议的电机闭环控制。
FPGA模块1的型号为Altera公司的EP2S60F1020I4N;RS422接口2的核心芯片型号为Sipex公司的SP3490芯片;双口RAM储存器3的型号为CYPRESS公司的CY14B108L芯片;DSP模块4的型号为TI公司6000系列的TMS320C6414。
工作原理:
在FPGA模块1上可连接一台主机,通过主机上的QuarterⅡ11.0软件实时观测,用CCS3.3软件对DSP模块4进行编程,在CCS3.3软件中可以观察外部光栅式传感器的当前角位置信息。
所述数据信号SLO的帧结构包括Ack、起始位、“0”位、数据位、误差位、警告位、CRC校验位和超时;Ack是读数头计算绝对位置的时间段,并且低电平有效;起始位一共1位且始终为高电平,“0”位一共1位且始终为低电平,二者表示发信号给通信模块开始传输数据;26位数据位表示当前绝对式圆光栅的角位置,为二进制格式;1位误差位低电平有效,置1表示位置信息正确,置0表示位置信息不可信;1位警告位低电平有效,置0表示光栅尺需要清理;CRC校验位一共6位;数据传输可能在位置信息采集周期之前完成,这时需要超时时间一直置1,直到位置信息采集周期结束。
Claims (1)
1.一种基于FPGA的BiSS-C通信协议方法,其特征在于它的方法步骤为:
步骤一:FPGA模块(1)的锁相环首先产生300MHz的基准时钟,SLout空闲高电平时,MA开始发送时钟,根据300MHz的基准时钟,首先延迟固定时间T1,MA时钟一直置0,然后延迟固定时间T2,MA时钟一直置1,如果这位数据接收完成,从延迟固定时间T1重新开始,一直到一帧数据接收完全,继续从第一步开始循环,这样就产生了MA时钟信号,时钟信号MA通过RS422接口(2)发送到外部光栅式传感器的时钟输入端;
步骤二:时钟信号MA的上升沿触发外部光栅式传感器的数据信号发送,数据信号通过外部光栅式传感器的读数头输出,通过差分线路传回到RS422接口(2);
步骤三:FPGA模块(1)判断每一帧数据信号的Start位是否为高电平和“0”位是否为低电平,如果不是,则继续等待下一帧数据,如果是,则每一个时钟MA的上升沿串口接收一位数据,直到最后一个字节的CRC检验位接收完成,再重新接收下一帧数据;
步骤四:将完整的一帧数据存储到FPGA模块(1)的双口RAM储存器(3)内,当下一个完整的一帧数据接收完,双口RAM储存器(3)内的原始数据将被覆盖刷新;
步骤五:双口RAM储存器(3)内的数据实时的传送到DSP模块(4)内,DSP模块(4)先对CRC校验位进行判断,如果校验位错误,则去掉该数据,如果校验位正确,把上述数据信号的26位二进制位置数据提取出来,通过解算,在位置数据的基础上,加入报文头0x55和一个字节的CRC检验位,组成一帧数据发送给外部电机驱动器实现基于FPGA的BiSS-C通信协议的电机闭环控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510433632.1A CN105119907A (zh) | 2015-07-22 | 2015-07-22 | 一种基于FPGA的BiSS-C通信协议方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510433632.1A CN105119907A (zh) | 2015-07-22 | 2015-07-22 | 一种基于FPGA的BiSS-C通信协议方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105119907A true CN105119907A (zh) | 2015-12-02 |
Family
ID=54667795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510433632.1A Pending CN105119907A (zh) | 2015-07-22 | 2015-07-22 | 一种基于FPGA的BiSS-C通信协议方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105119907A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106066839A (zh) * | 2016-06-27 | 2016-11-02 | 哈尔滨明快机电科技有限公司 | 一种基于通道标记的数据传输装置 |
CN106066837A (zh) * | 2016-05-30 | 2016-11-02 | 哈工大机器人集团有限公司 | 一种基于fpga的biss‑c协议通用控制器 |
CN106375077A (zh) * | 2016-08-29 | 2017-02-01 | 宁波三星医疗电气股份有限公司 | Si4463芯片采用gpio模式实现数据传输的方法 |
CN107124412A (zh) * | 2017-04-27 | 2017-09-01 | 广东工业大学 | 一种biss协议数据解码方法及接口*** |
CN109359068A (zh) * | 2018-10-31 | 2019-02-19 | 天津理工大学 | 基于Labview的圆光栅高吞吐率角度测量数据的处理方法 |
CN111078612A (zh) * | 2019-11-08 | 2020-04-28 | 中国计量科学研究院 | 基于FPGA的biss-c协议的译码*** |
CN111162984A (zh) * | 2019-12-27 | 2020-05-15 | 常州节卡智能装备有限公司 | 一种基于biss-c的控制方法、装置及通信*** |
CN112289017A (zh) * | 2020-10-28 | 2021-01-29 | 国网安徽省电力有限公司合肥供电公司 | 一种智能电能表的远程抄表方法及*** |
CN112729311A (zh) * | 2020-12-25 | 2021-04-30 | 湖南航天机电设备与特种材料研究所 | 惯导***采样方法、采样*** |
CN112947163A (zh) * | 2021-02-01 | 2021-06-11 | 贵州航天林泉电机有限公司 | 一种基于dsp的biss-c协议传感器数据解析与提取方法 |
CN113535614A (zh) * | 2021-09-13 | 2021-10-22 | 之江实验室 | 一种解码biss-c协议的通信*** |
CN113904723A (zh) * | 2021-09-23 | 2022-01-07 | 追觅创新科技(苏州)有限公司 | 一种红外通讯方法及装置、存储介质及电子装置 |
CN114020660A (zh) * | 2021-12-20 | 2022-02-08 | 河北威赛特科技有限公司 | 基于biss-c协议的解码方法、装置及终端设备 |
CN114116552A (zh) * | 2021-10-20 | 2022-03-01 | 中国航空工业集团公司洛阳电光设备研究所 | 一种多路Biss-C数据到通用串口的数据采集传输装置 |
CN114629966A (zh) * | 2022-03-15 | 2022-06-14 | 湖南航天机电设备与特种材料研究所 | 一种基于fpga的hdlc协议实现方法与*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203054557U (zh) * | 2012-12-28 | 2013-07-10 | 广州数控设备有限公司 | 支持多种传感器通信协议的位置传感器接口伺服控制装置 |
US20140367561A1 (en) * | 2013-06-12 | 2014-12-18 | Canon Kabushiki Kaisha | Measuring apparatus, measuring method, and processing apparatus |
-
2015
- 2015-07-22 CN CN201510433632.1A patent/CN105119907A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN203054557U (zh) * | 2012-12-28 | 2013-07-10 | 广州数控设备有限公司 | 支持多种传感器通信协议的位置传感器接口伺服控制装置 |
US20140367561A1 (en) * | 2013-06-12 | 2014-12-18 | Canon Kabushiki Kaisha | Measuring apparatus, measuring method, and processing apparatus |
Non-Patent Citations (4)
Title |
---|
商怀昊,韩基鹏,肖鹏,李德爽,陈连君: ""基于BiSS-C协议的编码器的接口技术研究及其在伺服驱动***中的应用"", 《工业技术创新》 * |
李晓磊: ""高精度转台位置伺服控制***的研究"", 《中国优秀硕士学位论文全文数据库基础科学辑》 * |
王列虎: ""高精度数控伺服驱动检测及接口与位置直接闭环控制研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
霍海龙: ""基于BiSS协议的编码器及其在伺服驱动***中的应用"", 《电气自动化》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106066837A (zh) * | 2016-05-30 | 2016-11-02 | 哈工大机器人集团有限公司 | 一种基于fpga的biss‑c协议通用控制器 |
CN106066837B (zh) * | 2016-05-30 | 2018-12-18 | 哈工大机器人集团有限公司 | 一种基于fpga的biss-c协议通用控制器 |
CN106066839A (zh) * | 2016-06-27 | 2016-11-02 | 哈尔滨明快机电科技有限公司 | 一种基于通道标记的数据传输装置 |
CN106066839B (zh) * | 2016-06-27 | 2019-06-11 | 哈尔滨明快机电科技有限公司 | 一种基于通道标记的数据传输装置 |
CN106375077A (zh) * | 2016-08-29 | 2017-02-01 | 宁波三星医疗电气股份有限公司 | Si4463芯片采用gpio模式实现数据传输的方法 |
US10833805B2 (en) | 2017-04-27 | 2020-11-10 | Guangdong University Of Technology | BISS protocol data decoding method and interface system |
CN107124412A (zh) * | 2017-04-27 | 2017-09-01 | 广东工业大学 | 一种biss协议数据解码方法及接口*** |
WO2018196498A1 (zh) * | 2017-04-27 | 2018-11-01 | 广东工业大学 | 一种biss协议数据解码方法及接口*** |
CN109359068A (zh) * | 2018-10-31 | 2019-02-19 | 天津理工大学 | 基于Labview的圆光栅高吞吐率角度测量数据的处理方法 |
CN111078612A (zh) * | 2019-11-08 | 2020-04-28 | 中国计量科学研究院 | 基于FPGA的biss-c协议的译码*** |
CN111162984A (zh) * | 2019-12-27 | 2020-05-15 | 常州节卡智能装备有限公司 | 一种基于biss-c的控制方法、装置及通信*** |
CN111162984B (zh) * | 2019-12-27 | 2022-02-01 | 常州节卡智能装备有限公司 | 一种基于biss-c的控制方法、装置及通信*** |
CN112289017A (zh) * | 2020-10-28 | 2021-01-29 | 国网安徽省电力有限公司合肥供电公司 | 一种智能电能表的远程抄表方法及*** |
CN112729311A (zh) * | 2020-12-25 | 2021-04-30 | 湖南航天机电设备与特种材料研究所 | 惯导***采样方法、采样*** |
CN112947163A (zh) * | 2021-02-01 | 2021-06-11 | 贵州航天林泉电机有限公司 | 一种基于dsp的biss-c协议传感器数据解析与提取方法 |
CN112947163B (zh) * | 2021-02-01 | 2022-08-05 | 贵州航天林泉电机有限公司 | 一种基于dsp的biss-c协议传感器数据解析与提取方法 |
CN113535614A (zh) * | 2021-09-13 | 2021-10-22 | 之江实验室 | 一种解码biss-c协议的通信*** |
CN113904723A (zh) * | 2021-09-23 | 2022-01-07 | 追觅创新科技(苏州)有限公司 | 一种红外通讯方法及装置、存储介质及电子装置 |
CN113904723B (zh) * | 2021-09-23 | 2023-09-01 | 追觅创新科技(苏州)有限公司 | 一种红外通讯方法及装置、存储介质及电子装置 |
CN114116552A (zh) * | 2021-10-20 | 2022-03-01 | 中国航空工业集团公司洛阳电光设备研究所 | 一种多路Biss-C数据到通用串口的数据采集传输装置 |
CN114116552B (zh) * | 2021-10-20 | 2024-02-06 | 中国航空工业集团公司洛阳电光设备研究所 | 一种多路Biss-C数据到通用串口的数据采集传输装置 |
CN114020660A (zh) * | 2021-12-20 | 2022-02-08 | 河北威赛特科技有限公司 | 基于biss-c协议的解码方法、装置及终端设备 |
CN114629966A (zh) * | 2022-03-15 | 2022-06-14 | 湖南航天机电设备与特种材料研究所 | 一种基于fpga的hdlc协议实现方法与*** |
CN114629966B (zh) * | 2022-03-15 | 2023-05-12 | 湖南航天机电设备与特种材料研究所 | 一种基于fpga的hdlc协议实现方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105119907A (zh) | 一种基于FPGA的BiSS-C通信协议方法 | |
CN100521637C (zh) | 基于光纤的高速串行工业实时通信总线***及其控制方法 | |
CN104954096B (zh) | 一种一主多从的高速同步串行通信数据传输方法 | |
CN107748509B (zh) | 基于单片机收发控制的asi通信从机实施方法 | |
CN105208034A (zh) | 一种spi总线与can总线协议转换电路及方法 | |
CN111162984B (zh) | 一种基于biss-c的控制方法、装置及通信*** | |
CN106598889A (zh) | 一种基于fpga夹层板的sata主控器 | |
CN104484306A (zh) | 基于差分信号的主从同步串行通讯总线及其实现方法 | |
CN103595598A (zh) | 一种基于光纤的远程透明传输串口服务器及其控制模式 | |
CN105589447A (zh) | 一种EtherCAT主从站一体控制卡及控制*** | |
KR20170137735A (ko) | 펄스 기반 멀티-와이어 링크를 위한 클록 및 데이터 복원 | |
CN202649763U (zh) | 一种同步串行传输绝对式编码器解码装置 | |
CN107436851A (zh) | 串行外设接口四线隔离***及其控制方法 | |
CN202710997U (zh) | 一种用于伺服驱动***的编码器接口ip核 | |
CN108614491B (zh) | 一种可编程逻辑控制器通讯***和方法 | |
CN103346943A (zh) | 数据传输方法及*** | |
CN201054609Y (zh) | 基于光纤的高速串行工业实时通信总线*** | |
CN103064810B (zh) | 一种实现卫星串口通信的方法 | |
CN104021108A (zh) | 一种基于profibus-dp协议的通信设备 | |
CN103347023A (zh) | 一种工业现场环境下hdlc通信控制器 | |
CN105512066B (zh) | 基于profibus的软起动器通讯协议转换装置及方法 | |
KR20170019268A (ko) | 리턴 회로를 갖는 리모트 입출력 장치 및 그의 내부 버스 통신 방법 | |
CN202372977U (zh) | 基于fpga实现的usb主设备端接口结构 | |
JPH0548017B2 (zh) | ||
CN104601289A (zh) | 电子设备及信息处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151202 |