CN112947163B - 一种基于dsp的biss-c协议传感器数据解析与提取方法 - Google Patents

一种基于dsp的biss-c协议传感器数据解析与提取方法 Download PDF

Info

Publication number
CN112947163B
CN112947163B CN202110138366.5A CN202110138366A CN112947163B CN 112947163 B CN112947163 B CN 112947163B CN 202110138366 A CN202110138366 A CN 202110138366A CN 112947163 B CN112947163 B CN 112947163B
Authority
CN
China
Prior art keywords
biss
spi
bit
fifo
data
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.)
Active
Application number
CN202110138366.5A
Other languages
English (en)
Other versions
CN112947163A (zh
Inventor
吴兴校
蔡华祥
王零超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Aerospace Linquan Motor Co Ltd
Original Assignee
Guizhou Aerospace Linquan Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guizhou Aerospace Linquan Motor Co Ltd filed Critical Guizhou Aerospace Linquan Motor Co Ltd
Priority to CN202110138366.5A priority Critical patent/CN112947163B/zh
Publication of CN112947163A publication Critical patent/CN112947163A/zh
Application granted granted Critical
Publication of CN112947163B publication Critical patent/CN112947163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Dc Digital Transmission (AREA)

Abstract

本发明公开了一种基于DSP的BISS‑C协议传感器数据解析与提取方法,针对采用FPGA或专用BISS‑C芯片读取位置信号成本高,利用DSP解析造成数据时钟不连续与无法适用任意具有BISS‑C协议的传感器的问题,本发明通过SPI的发送FIFO模块,解决了数据时钟不连续的问题;利用数据起始位的特点,解决不同光电编码器及不同SPI波特率导致Ack段位数长度不一致的问题。该方法实现了只采用DSP的SPI模块就能直接解码具有BISS‑C协议的数据,从而实现只采用DSP芯片就可以完成对具有BISS‑C协议位置传感器的电机进行伺服控制。极大简化了具有BISS‑C协议的光电编码器的转台的控制软件程序,且大大降低了成本。

Description

一种基于DSP的BISS-C协议传感器数据解析与提取方法
技术领域
本发明涉及惯性导航系统校准技术领域,具体涉及一种基于DSP的BISS-C协议传感器数据解析与提取方法。
背景技术
为满足高精度的转台控制需求,现在多数转台的位置传感器采用高达26位甚至32位的光电编码器,光电编码器大多采用BISS-C协议与数据接收系统进行数据交换。
在目前的现有技术中,一般采用的方案是通过FPGA或专用的BISS-C芯片将BISS-C数据解码后传输给驱动控制的主控芯片。使用 FPGA或专用BISS-C芯片会导致整个转台控制方案的成本较高。在一些其他的方案中,是利用DSP的PWM模块或输入IO口模拟BISS-C通信过程中的MA信号等,这样的模拟效果性能较差,且DSP的资源占用率高;或者,虽然选择了采用SPI读取,但因为每个光电编码器BISS-C协议的 Ack段的时间各不相同,且SPI采用不同的波特率,Ack段的位数也会随之变化,其方法不适用于BISS-C协议,且若不使能SPI发送FIFO,和设置SPI发送FIFO的延时为0,用for语句产生的时钟其实是不连续的,因为SPI发送完一帧数据到下一个数据的发送会有延时,这样会导致DSP 的资源占用率高,且数据读取会有跳动,精度差。
发明内容
针对现有技术中存在的不足,本发明提供了一种基于DSP的BISS-C 协议传感器数据解析与提取方法。
本发明解决其技术问题所采用的技术方案是:
一种基于DSP的BISS-C协议传感器数据解析与提取方法,所述DSP 的SPI模块具有发送FIFO与接收FIFO功能。所述方法包括:
步骤1:初始化DSP并进行SPI模块设置,设置SPI的FIFO发送延时为0,使能SPI模块的发送FIFO与接收FIFO功能。
步骤2:向SPI的发送FIFO连续放入M个16位长度的数据,用来产生连续的M*16个周期的时钟信号,并作为传感器的时钟输入。
步骤3:设接收FIFO接收到X个字,判断X是否大于等于M,若是,则读取接收FIFO中的前M个字的数据,跳转至步骤4;否则,跳转至步骤3。
步骤4:BISS-C协议在Ack段的最后一个位与起始位和零位组成了二进制数3'b010,对读取的数据从第一位向最后一位顺序进行对比查找,若读取数据的找不到3'b010,则跳转至步骤5;否则,找到的第一个3'b010后的数据就是传感器的位置信号,而第一个3'b010中的1 就是起始位,设BISS-C协议除Ack段与Timeout段后的总数为N位,起始位位于读取数据的第K位,若(M*16–K+1)小于N,则跳转至步骤5;若(M*16–K+1)大于等于N,则跳转至步骤6。
步骤5:判断M是否等于SPI的FIFO深度,若是,则判断SPI模块的波特率是否小于等于10kbps,若是,则输出读取失败的标志位,读取结束;若SPI模块的波特率是大于10kbps,则降低SPI模块的波特率,跳转至步骤2;若M小于SPI的FIFO深度,则M=M+1,跳转至步骤2。
步骤6:设err=(M*16–K+1)-N,若err大于等于16,则M=M-1,跳转至步骤2;否则,输出读取成功的标志位,数据解析结束。
本发明的主要特点是:本发明利用SPI的FIFO模块,解决了数据时钟不连续的问题;利用数据起始位的特点,解决不同光电编码器及不同SPI波特率导致Ack段位数长度不一致的问题,使解析数据方法适用于任意具有BISS-C协议的传感器。本发明只使用DSP的SPI模块就能实现BISS-C协议的数据解析,简化了具有BISS-C协议的光电编码器的转台的控制软件程序,极大降低了成本。
附图说明
图1是一种光电编码器的BISS-C协议的数据格式图;
图2是一种基于DSP的BISS-C协议传感器数据解析与提取方法流程图。
具体实施方式
下面结合附图对本发明作进一步描述。
请参阅图1,本发明实施例中的光电编码器的回复的数据格式包括:Ack段、起始位、零位、位置信号、错误位、报警位、位置信号校验段、温度信号、温度校验段与Timeout段。
参照图1和图2,一种基于DSP的BISS-C协议传感器数据解析与提取方法,所述DSP的SPI模块具有发送FIFO与接收FIFO功能。所述方法包括:
步骤1:初始化DSP并进行SPI模块设置,设置SPI的FIFO发送延时为0,使能SPI模块的发送FIFO与接收FIFO功能。
步骤2:向SPI的发送FIFO连续放入M个16位长度的数据,用来产生连续的M*16个周期的时钟信号,并作为传感器的时钟输入。
步骤3:设接收FIFO接收到X个字,判断X是否大于等于M,若是,则读取接收FIFO中的前M个字的数据,跳转至步骤4;否则,跳转至步骤3。
步骤4:BISS-C协议在Ack段的最后一个位与起始位和零位组成了二进制数3'b010,对读取的数据从第一位向最后一位顺序进行对比查找,若读取数据的找不到3'b010,则跳转至步骤5;否则,找到的第一个3'b010后的数据就是传感器的位置信号,而第一个3'b010中的1 就是起始位,设BISS-C协议除Ack段与Timeout段后的总数为N位,起始位位于读取数据的第K位,若(M*16–K+1)小于N,则跳转至步骤5;若(M*16–K+1)大于等于N,则跳转至步骤6。
步骤5:判断M是否等于SPI的FIFO深度,若是,则判断SPI模块的波特率是否小于等于10kbps,若是,则输出读取失败的标志位,读取结束;若SPI模块的波特率是大于10kbps,则降低SPI模块的波特率,跳转至步骤2;若M小于SPI的FIFO深度,则M=M+1,跳转至步骤2。
步骤6:设err=(M*16–K+1)-N,若err大于等于16,则M=M-1,跳转至步骤2;否则,输出读取成功的标志位,数据解析结束。
数据解析完后,若错误位、报警位、位置校验与温度校验无误,则截取位置信号与温度信号通过换算公式,得出当前转台的实际位置与传感器温度。

Claims (3)

1.一种基于DSP的BISS-C协议传感器数据解析与提取方法,其特征在于,所述DSP的SPI模块具有发送FIFO与接收FIFO功能,所述方法包括:
步骤1:初始化DSP并进行SPI模块设置,设置SPI的FIFO发送延时为0,使能SPI模块的发送FIFO与接收FIFO功能;
步骤2:向SPI的发送FIFO连续放入M个16位长度的数据,用来产生连续的M*16个周期的时钟信号,并作为传感器的时钟输入;
步骤3:设接收FIFO接收到X个字,判断X是否大于等于M,若是,则读取接收FIFO中的前M个字的数据,跳转至步骤4;否则,跳转至步骤3;
步骤4:BISS-C协议在Ack段的最后一个位与起始位和零位组成了二进制数3'b010,对读取的数据从第一位向最后一位顺序进行对比查找,若读取的数据找不到3'b010,则跳转至步骤5;否则,找到的第一个3'b010后的数据就是传感器的位置信号,而第一个3'b010中的1就是起始位,设BISS-C协议除Ack段与Timeout段后的总数为N位,起始位位于读取数据的第K位,若(M*16–K+1)小于N,则跳转至步骤5;若(M*16–K+1)大于等于N,则跳转至步骤6;
步骤5:判断M是否等于SPI的FIFO深度,若是,则判断SPI模块的波特率是否小于等于10kbps,若是,则输出读取失败的标志位,读取结束;若SPI模块的波特率是大于10kbps,则降低SPI模块的波特率,跳转至步骤2;若M小于SPI的FIFO深度,则M=M+1,跳转至步骤2;
步骤6:设err=(M*16–K+1)-N,若err大于等于16,则M=M-1,跳转至步骤2;否则,输出读取成功的标志位,数据解析结束。
2.如权利要求1所述的一种基于DSP的BISS-C协议传感器数据解析与提取方法,其特征在于:设SPI的FIFO深度为Y个字,第一次向SPI的发送FIFO放入的M个16位长度的数据时,M小于等于Y。
3.如权利要求1所述的一种基于DSP的BISS-C协议传感器数据解析与提取方法,其特征在于:解析的数据从读取数据的第K位开始,到K+N-1位结束。
CN202110138366.5A 2021-02-01 2021-02-01 一种基于dsp的biss-c协议传感器数据解析与提取方法 Active CN112947163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110138366.5A CN112947163B (zh) 2021-02-01 2021-02-01 一种基于dsp的biss-c协议传感器数据解析与提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110138366.5A CN112947163B (zh) 2021-02-01 2021-02-01 一种基于dsp的biss-c协议传感器数据解析与提取方法

Publications (2)

Publication Number Publication Date
CN112947163A CN112947163A (zh) 2021-06-11
CN112947163B true CN112947163B (zh) 2022-08-05

Family

ID=76241140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110138366.5A Active CN112947163B (zh) 2021-02-01 2021-02-01 一种基于dsp的biss-c协议传感器数据解析与提取方法

Country Status (1)

Country Link
CN (1) CN112947163B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113535614B (zh) * 2021-09-13 2022-01-11 之江实验室 一种解码biss-c协议的通信系统
CN115145857B (zh) * 2022-09-05 2022-11-18 中国船舶重工集团公司第七0七研究所 接口协议转换器转换方法及用于执行方法的fpga系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010027450A (ko) * 1999-09-14 2001-04-06 윤종용 인터넷상의 음성 모듈과 종합 정보통신망 기본 회선 모듈간(間)을 직접 연동(連動)시킬수 있는 송수신 환경 설정 방법
CN104350700A (zh) * 2012-05-29 2015-02-11 飞思卡尔半导体公司 用于串行通信设备的时钟
CN105119907A (zh) * 2015-07-22 2015-12-02 哈尔滨工业大学 一种基于FPGA的BiSS-C通信协议方法
CN105389286A (zh) * 2015-10-29 2016-03-09 中国科学院长春光学精密机械与物理研究所 一种biss c协议数据采集及显示装置
CN106066837A (zh) * 2016-05-30 2016-11-02 哈工大机器人集团有限公司 一种基于fpga的biss‑c协议通用控制器
CN205788169U (zh) * 2016-05-30 2016-12-07 哈工大机器人集团有限公司 一种基于fpga的biss‑c协议通用控制器
CN111162984A (zh) * 2019-12-27 2020-05-15 常州节卡智能装备有限公司 一种基于biss-c的控制方法、装置及通信系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135881B1 (en) * 2010-09-27 2012-03-13 Skyworks Solutions, Inc. Dynamically configurable serial data communication interface
US10002090B2 (en) * 2015-04-08 2018-06-19 Microsemi Semiconductor Ulc Method for improving the performance of synchronous serial interfaces

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010027450A (ko) * 1999-09-14 2001-04-06 윤종용 인터넷상의 음성 모듈과 종합 정보통신망 기본 회선 모듈간(間)을 직접 연동(連動)시킬수 있는 송수신 환경 설정 방법
CN104350700A (zh) * 2012-05-29 2015-02-11 飞思卡尔半导体公司 用于串行通信设备的时钟
EP2856691A1 (en) * 2012-05-29 2015-04-08 Freescale Semiconductor, Inc. Clock for serial communication device
CN105119907A (zh) * 2015-07-22 2015-12-02 哈尔滨工业大学 一种基于FPGA的BiSS-C通信协议方法
CN105389286A (zh) * 2015-10-29 2016-03-09 中国科学院长春光学精密机械与物理研究所 一种biss c协议数据采集及显示装置
CN106066837A (zh) * 2016-05-30 2016-11-02 哈工大机器人集团有限公司 一种基于fpga的biss‑c协议通用控制器
CN205788169U (zh) * 2016-05-30 2016-12-07 哈工大机器人集团有限公司 一种基于fpga的biss‑c协议通用控制器
CN111162984A (zh) * 2019-12-27 2020-05-15 常州节卡智能装备有限公司 一种基于biss-c的控制方法、装置及通信系统

Also Published As

Publication number Publication date
CN112947163A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN112947163B (zh) 一种基于dsp的biss-c协议传感器数据解析与提取方法
CN100545882C (zh) 用于无线遥控接收芯片的自适应解码方法
CN106817197B (zh) 一种基于占空比调制的通信编解码方法
RU2000100918A (ru) Способ расширения диапазона последовательной нумерации и система для протоколов избирательной повторной передачи
CN1317176A (zh) 用于移动通信系统的数据速率检测设备和方法
CN102170326B (zh) 一种位置测量装置的串行通信方法及其装置
JP4260688B2 (ja) データ送信装置、データ送受信システム、データ送信装置の制御方法およびデータ送受信システムの制御方法
CN101983481B (zh) 用于发送的设备和方法、用于接收的设备和方法以及程序
CN115208512B (zh) 一种遥测数据帧编解码方式
CN103036641A (zh) 数据交换方法、系统及反序列化方法
CN101047447B (zh) 基于光纤的点对点工业串行实时通信系统及其控制方法
CN106448128B (zh) 一种红外遥控数据的处理方法及系统
CN112994804B (zh) 火箭遥测数据的处理方法、装置、电子设备及存储介质
US20110286400A1 (en) Method for sending and receiving clock, apparatus for transmitting clock
CN1182985A (zh) 利用维特比译码器测量比特差错率的装置
CN101442380B (zh) 基于高速串行接口编码方式的误码率测试方法与装置
CN103490856B (zh) 用于深空探测的Mark5B格式VLBI数据接收解码与纠错系统及方法
CN114253879B (zh) 一种基于软件模拟的多通道串口通信方法及系统
CN210183341U (zh) 用于不同传输速率的双相标志编码的译码电路
CN107994970B (zh) 一种基于arinc429总线通信的通用数据解码方法
CN113922924A (zh) 一种基于spi的绝对值编码器通信方法及系统
CN102932103A (zh) 一种基于数字化变电站的数据传输速率自适应接收方法
CN114285734B (zh) 基于光缆接续盒的输电线路的通信监测系统
CN114697153B (zh) 一种通过光纤实现a429总线超长距离传输的方法
CN117220832B (zh) 一种误码插入方法、装置、系统及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant