支持高速率SpaceWire总线DS解码优化方法及系统与流程
- 国知局
- 2024-12-26 15:04:16
本发明属于fpga芯片,具体地,涉及一种支持高速率spacewire总线ds解码优化方法及系统。
背景技术:
1、随着spacewire总线技术日益成熟,其已经广泛应用到航天器电子系统中。此外,随着宇航事业的高速发展,spacewire总线在航天器各功能模块的通信上需求持续增长,目前航天器使用spacewire总线普遍为国外spacewire收发器,但是国内依然没有一款满足200mbps专用且稳定的自研收发芯片。各科研院所普遍使用的是现场可编程器件(fpga)加lvds收发芯片来实现spacewire通信功能,也有部分科研院所采用soc芯片集成spacewire总线功能。
2、但是目前航天器在spacewire总线技术应用上无论使用哪种技术路线都有或多或少的限制。采用国外spacewire芯片价格昂贵,受供货期、禁运等风险,不能形成规模;采用国内soc芯片集成spacewire总线,造成资源浪费,相应成本增加,并且技术应用不灵活;国内使用fpga实现spacewire总线功能,由于采用ds信号异或时钟作为采样时钟,时钟信号非常不稳定;或者采用同步时钟直接对ds信号进行采样,其容易收到信号抖动及偏斜影响,在高速率下不能有效的进行采样;其性能普遍达不到200mbps及更高的总线速率,基本应用在50mbps到100mbps的总线速率。
3、因此,本发明主要针对使用现场可编程器件(fpga)实现spacewire总线性能不如使用芯片的劣势,本发明通过使用对总线信号三级同步采样以及ds解码优化算法,实现总线通信速率200mbps~400mbps的优异性能。
4、现有技术中,专利文献《一种用于星载设备间通信的spacewire总线节点控制器ip核》(cn117938574a)公开了一种节点控制器ip核,实现节点控制器的各个模块的组成包括phy模块、数据接收器模块、复合器模块、接收处理模块、发送处理模块、amba2.0总线模块、数据发送器模块、链路接口控制模块、寄存器配置管理模块。但没有解决ds解码模块由于线路信号存在的抖动和偏斜造成的高速率下采样错误,无法实现高速率采样,低速率下的ds编码。
5、专利文献《一种按单时间轴传输的多通道spacewire总线监测方法》(cn114625610a)公开了一种spacewire总线检测方法,实现总线检测系统的各个模块的组成包括专用信号模拟源、spacewire监测设备、上位计算机和pcie模块。但没有解决接收ds解码模块由于线路信号存在的抖动和偏斜造成的高速率下采样错误,高速率下采样,低速率下的ds解码存在偏差。
技术实现思路
1、针对现有技术中的缺陷,本发明的目的是提供一种支持高速率spacewire总线ds解码优化方法及系统。
2、根据本发明提供的一种支持高速率spacewire总线ds解码优化系统,包括:
3、同步采样模块、偏斜抖动误差补偿模块、异步缓存模块和ds解码模块。
4、同步采样模块经三次信号锁存,将输入ds信号同步到系统采样时钟,传入偏斜抖动误差补偿模块;
5、偏斜抖动误差补偿模块进行数据采样补偿,判断数据有效标志位后传入ds解码模块和异步缓存模块;
6、异步缓存模块移位缓存,转换存储并标志数据有效长度;
7、ds解码模块解码,进行串行化移位操作,输出数据字、控制字。
8、优选地,所述同步采样模块使用fpga内部时钟作为驱动时钟,根据输入的ds信号,第一级使用时钟的上升沿进行时钟边沿采样锁存信号,记为a_d1及a_s1;
9、第二级使用时钟的下降沿进行上升沿的二级信号锁存,记为a_d2及a_s2;
10、第三级再下一个时钟下降沿对锁存信号进行再次锁存,记为a_d0及a_s0;
11、将锁存完的ds信号传入偏斜抖动误差补偿模块。
12、优选地,所述偏斜抖动误差补偿模块采用高频同步采样时钟,对ds信号中的a_d0、a_s0、a_d1、a_s1再一次的锁存,将下降沿的采样同步到上升沿,分别记作b_d0、b_s0、b_d1、b_s1;
13、进行ds信号抖动及偏斜造成的采样误差判断,并进行采样补偿;
14、判断数据有效,将生成的数据位及数据有效标志位传入ds解码模块。
15、优选地,所述采样误差判断包括:获取b_d1和b_s1的数据误差补偿点,记作c_xor1;
16、若b_d0异或b_s0异或c_xor1为1,则将b_d0数据记录c_bit0,若b_d0异或b_s0异或c_xor1为0,则将b_d1数据记录为c_bit0,b_d1数据记录为c_bit1。
17、所述判断数据有效包括:若b_d0异或b_s0异或c_xor1为1,或者b_d0异或b_s0异或b_d1异或b_s1为1,则记录c_val0,判定c_bit0数据有效,若b_d0异或b_s0异或c_xor1为1并且b_d0异或b_s0异或b_d1异或b_s1为1,则记录c_val1,判定c_bit1有效。
18、所述数据位为c_bit0和c_bit1。
19、所述数据有效标志位为c_val0和c_val1。
20、优选地,所述ds解码模块使用低频时钟作为逻辑驱动,对缓存中数据进行解码,检测到数据有效标志位为1后在一个系统时钟后期内对并行数据进行串行化移位操作,并进行ds解码的操作,输出低频时钟驱动的数据字、控制字。
21、所述异步缓存模块将高频的时钟域和低频的时钟域进行异步通信,接收偏斜抖动误差补偿模块发送的数据位和数据有效标志位,进行移位缓存,执行串行到并行的转换存储,写入独立时钟双端口ram中,并标志数据有效长度。
22、根据本发明提供的一种支持高速率spacewire总线ds解码优化方法,包括:
23、同步采样步骤:将输入的ds信号经三次信号锁存,同步到系统采样时钟,锁存后的ds信号传入偏斜抖动误差补偿模块。
24、偏斜抖动误差补偿步骤:令偏斜抖动误差补偿模块进行数据采样补偿,判断数据有效标志位后将数据位和数据有效位传入ds解码模块和异步缓存模块。
25、异步缓存步骤:令异步缓存模块进行移位缓存,转换存储并标志数据有效长度。
26、ds解码步骤:令ds解码模块进行解码,进行串行化移位操作,输出数据字、控制字。
27、优选地,所述同步采样步骤中使用fpga内部时钟作为驱动时钟,根据输入的ds信号,第一级使用时钟的上升沿进行时钟边沿采样锁存信号,记为a_d1及a_s1;
28、第二级使用时钟的下降沿进行上升沿的二级信号锁存,记为a_d2及a_s2;
29、第三级再下一个时钟下降沿对锁存信号进行再次锁存,记为a_d0及a_s0;
30、将锁存完的ds信号传入偏斜抖动误差补偿模块。
31、优选地,所述偏斜抖动误差补偿步骤中采用高频同步采样时钟,对ds信号中的a_d0、a_s0、a_d1、a_s1再一次的锁存,将下降沿的采样同步到上升沿,分别记作b_d0、b_s0、b_d1、b_s1;
32、进行ds信号抖动及偏斜造成的采样误差判断,并进行采样补偿;
33、判断数据有效,将生成的数据位及数据有效标志位传入ds解码模块。
34、优选地,所述采样误差判断包括:获取b_d1和b_s1的数据误差补偿点,记作c_xor1;
35、若b_d0异或b_s0异或c_xor1为1,则将b_d0数据记录c_bit0,若b_d0异或b_s0异或c_xor1为0,则将b_d1数据记录为c_bit0,b_d1数据记录为c_bit1。
36、所述判断数据有效包括:若b_d0异或b_s0异或c_xor1为1,或者b_d0异或b_s0异或b_d1异或b_s1为1,则记录c_val0,判定c_bit0数据有效,若b_d0异或b_s0异或c_xor1为1并且b_d0异或b_s0异或b_d1异或b_s1为1,则记录c_val1,判定c_bit1有效。
37、所述数据位为c_bit0和c_bit1。
38、所述数据有效标志位为c_val0和c_val1。
39、优选地,所述ds解码步骤中使用低频时钟作为逻辑驱动,对缓存中数据进行解码,检测到数据有效标志位为1后在一个系统时钟后期内对并行数据进行串行化移位操作,并进行ds解码的操作,输出低频时钟驱动的数据字、控制字。
40、所述异步缓存步骤中将高频的时钟域和低频的时钟域进行异步通信,接收偏斜抖动误差补偿模块发送的数据位和数据有效标志位,进行移位缓存,执行串行到并行的转换存储,写入独立时钟双端口ram中,并标志数据有效长度。
41、与现有技术相比,本发明具有如下的有益效果:
42、1、本发明总线高速率,通过针对不同功能模块选择不同的采样时钟,能够实现总线200mbps~400mbps的解码功能。
43、2、本发明实现三级同步采样,经三次信号锁存,将输入ds信号同步到系统采样时钟,减少信号的竞争冒险风险。
44、3、本发明对ds信号抖动及偏斜造成的采样误差进行判断,并进行采样补偿,同时采用优化的ds解码算法,解决spacewire总线200mbps及更高速率下因信号的抖动和偏斜等问题造成的解码错误。
本文地址:https://www.jishuxx.com/zhuanli/20241226/344406.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。