CN103927278B - 基于双缓存的硬件定时通信数据响应装置及方法 - Google Patents
基于双缓存的硬件定时通信数据响应装置及方法 Download PDFInfo
- Publication number
- CN103927278B CN103927278B CN201410155574.6A CN201410155574A CN103927278B CN 103927278 B CN103927278 B CN 103927278B CN 201410155574 A CN201410155574 A CN 201410155574A CN 103927278 B CN103927278 B CN 103927278B
- Authority
- CN
- China
- Prior art keywords
- data
- cache module
- state value
- status register
- response
- 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
Links
Landscapes
- Small-Scale Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
基于双缓存的硬件定时通信数据响应装置及方法,涉及通信及测试测量领域。本发明是为了解决传统的雷达通信方法中,当有新命令数据到来时原有数据容易出现原有数据不完整、数据中断和延时的问题。本发明采用两个发送双缓存模块分别存储原命令数据和新命令数据,采用两个接收缓存模块储存原响应数据和新响应数据,通过增加发送状态寄存器来设置读取缓存的优先级,可以优先响应新插入的命令数据,而且在定时监测解析响应数据时也可以根据数据的发送状态寄存器值来判断将原命令数据得到的响应数据和新命令数据下得到的响应数据分开解析处理。本发明适用于其他通信设备间的硬件定时数据响应。
Description
技术领域
本发明涉及通信及测试测量领域。
背景技术
在雷达的研制过程中,完成对雷达数据通信功能的测试,实现定时测试解析数据是一项非常重要的工作。雷达的通信过程主要在测试设备与被测对象之间实现,通信过程为:测试设备发送命令数据给被测对象,被测对象接到命令数据后回传响应数据给测试设备,完成一次通信过程,如图2所示。为了便于监测并解析雷达返回的响应数据,要采用硬件定时通信技术。测试设备包含定时器、发送缓存模块、发送逻辑模块、接收缓存模块和接收逻辑模块部分。硬件定时通信是使用定时器等间隔的发送时钟脉冲,每当有一个时钟脉冲到来时,发送逻辑模块从发送缓存中提取命令数据然后按时间节拍输出一系列串行数据发送给被测对象。被测对象处理后生成响应数据回传给测试设备,在等间隔时钟脉冲来临时,由接收逻辑控制将这些响应数据存入到接收缓存中,之后通过上位机从接收缓存中提取响应数据进行解析处理。
但是,在上述硬件定时通信过程中,如果想要在发送正常命令数据时切换状态,插入一条新的命令数据,上位机软件会把新命令数据写到发送缓存的最后,这时要响应新命令数据就必须完成新命令数据之前存在的所有原命令数据响应。这种方法不能实时响应新命令数据,容易造成通信延时问题,延时大约可达几百毫秒。
传统的解决方法是上位机软件在发送新命令数据时先清空当前发送缓存,然后再将新命令数据写入发送缓存并传送给被测对象。这种方法虽然可以解决延时问题,但仍会遇到两点困难:一是数据不完整,如1帧命令数据包含10个字节,当发送到第5个字节时为响应新命令数据强制将剩余的字节清除了;二是数据中断,因为新命令数据插入时需要清空缓存并等待响应,导致有多个时钟脉冲到来时无命令数据可通信。而且,传统的解决方法不能扩展至任意通信设备间进行硬件定时通信。
发明内容
本发明为了解决传统的雷达通信方法中,当有新命令数据到来时原有数据容易出现原有数据不完整、数据中断和延时的问题,提出了基于双缓存的硬件定时通信数据响应装置及方法。
基于双缓存的硬件定时通信数据响应装置,被测对象用于接收所述命令数据并生成响应数据,它包括上位机,上位机用于对测试设备发送命令数据并从测试设备中读取响应数据;
它还包括测试设备,测试设备包括定时器、一号发送缓存模块、二号发送缓存模块、一号接收缓存模块、二号接收缓存模块、发送逻辑模块、接收逻辑模块和发送状态寄存器;
定时器用于定时输出脉冲信号给发送逻辑模块;
一号发送缓存模块和二号发送缓存模块均用于接收及存储上位机发送的命令数据;
一号接收缓存模块和二号接收缓存模块均用于接收并存储接收逻辑模块输出的响应数据;
发送逻辑模块用于读取一号发送缓存模块或二号发送缓存模块中的命令数据并将所述命令数据传送至被测对象;所述发送逻辑模块还用于根据所述命令数据的类型设置发送状态寄存器的状态值;
接收逻辑模块用于读取被测对象回传的响应数据和发送状态寄存器的状态值,并根据接收的发送状态寄存器的状态值判断将所述被测对象回传的响应数据存入一号接收缓存模块还是存入二号接收缓存模块;
发送状态寄存器用于根据发送逻辑模块的指令设置相应的状态值并将该状态值发送至接收逻辑模块。
基于双缓存的硬件定时通信数据响应方法,该方法的步骤包括:
用于定时输出脉冲信号给发送逻辑模块的步骤;
用于接收及存储上位机发送的命令数据的步骤;
用于接收并存储接收逻辑模块输出的响应数据的步骤;
用于读取一号发送缓存模块或二号发送缓存模块中的命令数据并将所述命令数据传送至被测对象的步骤;用于根据所述命令数据的类型设置发送状态寄存器的状态值的步骤;
用于读取被测对象回传的响应数据和发送状态寄存器的状态值,并根据接收的发送状态寄存器的状态值判断将所述被测对象回传的响应数据存入一号接收缓存模块还是存入二号接收缓存模块的步骤;
用于根据发送逻辑模块的指令设置相应的状态值并将该状态值发送至接收逻辑模块的步骤。
本发明适用于其他通信设备间的硬件定时数据响应。
本发明采用双缓存储存不同类型的命令数据和响应数据,通过增加发送状态寄存器来设置读取缓存的优先级,可以优先响应新插入的命令数据,并解决了传统雷达通信方法中插入新命令数据时造成的数据中断、数据不完整及延时问题;而且在定时监测解析响应数据时也可以根据数据的发送状态寄存器的状态值来判断将原命令数据得到的响应数据和新命令数据下得到的响应数据分开解析处理。
附图说明
图1为基于双缓存的硬件定时通信数据响应装置的框图;
图2为背景技术中测试设备与被测对象之间的通信过程框图。
具体实施方式
具体实施方式一、参照图1具体说明本实施方式,本实施方式所述的基于双缓存的硬件定时通信数据响应装置,被测对象2用于接收所述命令数据并生成响应数据,它包括上位机11;上位机11用于对测试设备发送命令数据并从测试设备中读取响应数据;它还包括测试设备1,测试设备1包括定时器3、一号发送缓存模块4、二号发送缓存模块5、一号接收缓存模块6、二号接收缓存模块7、发送逻辑模块8、接收逻辑模块9和发送状态寄存器10;
定时器3用于定时输出脉冲信号给发送逻辑模块8;
一号发送缓存模块4和二号发送缓存模块5均用于接收及存储上位机11发送的命令数据;
一号接收缓存模块6和二号接收缓存模块7均用于接收并存储接收逻辑模块9输出的响应数据;
发送逻辑模块8用于读取一号发送缓存模块4或二号发送缓存模块5中的命令数据并将所述命令数据传送至被测对象2;所述发送逻辑模块8还用于根据所述命令数据的类型设置发送状态寄存器10的状态值;
接收逻辑模块9用于读取被测对象2回传的响应数据和发送状态寄存器10的状态值,并根据接收的发送状态寄存器10的状态值判断将所述被测对象2回传的响应数据存入一号接收缓存模块6还是存入二号接收缓存模块7;
发送状态寄存器10用于根据发送逻辑模块的指令设置相应的状态值并将该状态值发送至接收逻辑模块。
具体实施方式二、参照图1具体说明本实施方式,根据具体实施方式一所述的基于双缓存的硬件定时通信数据响应装置的硬件定时通信数据响应方法,该方法的步骤包括:
用于定时输出脉冲信号给发送逻辑模块8的步骤;
用于接收及存储上位机11发送的命令数据的步骤;
用于接收并存储接收逻辑模块9输出的响应数据的步骤;
用于读取一号发送缓存模块4或二号发送缓存模块5中的命令数据并将所述命令数据传送至被测对象2的步骤;用于根据所述命令数据的类型设置发送状态寄存器10的状态值的步骤;
用于读取被测对象2回传的响应数据和发送状态寄存器10的状态值,并根据接收的发送状态寄存器10的状态值判断将所述被测对象2回传的响应数据存入一号接收缓存模块6还是存入二号接收缓存模块7的步骤;
用于根据发送逻辑模块8的指令设置相应的状态值并将该状态值发送至接收逻辑模块9的步骤。
具体实施方式三、本实施方式是对具体实施方式二所述的基于双缓存的硬件定时通信数据响应方法的进一步说明,本实施方式中,用于根据所述命令数据的类型设置发送状态寄存器10的状态值的步骤的具体过程为:
若所述命令数据为原命令数据,则设置发送状态寄存器10的状态值为0,若所述命令数据为插入的新命令数据,则设置发送状态寄存器10的状态值为1。
具体实施方式四、本实施方式是对具体实施方式三所述的基于双缓存的硬件定时通信数据响应方法的进一步说明,本实施方式中,用于读取被测对象2回传的响应数据和发送状态寄存器10的状态值,并根据接收的发送状态寄存器10的状态值判断将所述被测对象2回传的响应数据存入一号接收缓存模块6还是存入二号接收缓存模块7的步骤的具体过程为:
若接收的发送状态寄存器10的状态值为0,则将所述被测对象2回传的响应数据存入一号接收缓存模块6中;若接收的发送状态寄存器10的状态值为1,则将所述被测对象2回传的响应数据存入二号接收缓存模块7中。
具体实施方式五、本实施方式是对具体实施方式二所述的基于双缓存的硬件定时通信数据响应方法的进一步说明,本实施方式中,上位机11将命令数据写入发送缓存模块中的时间要比定时器3生成的时钟脉冲的时间短。
为了保证具体实施方式二中测试设备与被测对象之间的通信能够正常进行,上位机将命令数据写入发送缓存模块中的时间要比定时器生成的时钟脉冲的时间短,这样才可保证每个脉冲到来时都可以从发送缓存模块中提取到命令数据。
具体实施方式六、本实施方式是对具体实施方式二所述的基于双缓存的硬件定时通信数据响应方法的进一步说明,本实施方式中,一号发送缓存模块4中的命令数据是满足300ms—500ms时间内处理的命令数据。
本实施方式所述内容是为了保证在上位机向发送缓存模块中插入新命令数据的这段时间内,随着时钟脉冲的来临,仍有原命令数据可以响应并发送给被测对象。
具体实施方式七、本实施方式是对具体实施方式二所述的基于双缓存的硬件定时通信数据响应方法的进一步说明,本实施方式中,发送逻辑模块检测并接收到定时器发送的脉冲信号的上升沿时动作。
具体实施方式八、本实施方式是一个实施例,以时序方式描述该方法,具体过程如下:
步骤一、上位机11向测试设备发送命令数据并存入一号发送缓存模块4中,定时器3等间隔的发送脉冲信号;
步骤二、当发送逻辑模块8接收并检测到脉冲信号,发送逻辑模块8读取一号发送缓存模块4中的命令数据并将该命令数据传送至被测对象2,同时设置发送状态寄存器10的状态值为0,发送逻辑模块8等待新脉冲到来;在发送逻辑模块8等待脉冲信号时,上位机11是否向测试设备发送新命令数据,若是,则执行步骤三,若否,继续执行步骤五;
步骤三、所述新命令数据存入二号发送缓存模块5中,当发送逻辑模块8接收并检测到脉冲信号时,发送逻辑模块8优先检查二号发送缓存模块5中是否已经存储新命令数据;若是,则执行步骤四;若否,则执行步骤七;
步骤四、发送逻辑模块8读取二号发送缓存模块5中的新命令数据并将该新命令数据传送至被测对象2,同时设置发送状态寄存器10的状态值为1,发送逻辑模块8继续等待接收下一个脉冲信号,并执行步骤五;
步骤五、被测对象2将接收的发送逻辑模块8传送的命令数据生成相应的响应数据,并将该响应数据发送至接收逻辑模块9,接收逻辑模块9接收发送状态寄存器10的状态值判断接收的发送状态寄存器的状态值是1还是0,
若接收逻辑模块9接收的发送状态寄存器的状态值为1,则执行步骤六;若为0,则执行步骤七;
步骤六、接收逻辑模块9接收的响应数据为与新命令数据相对应的响应数据,将与新命令数据相对应的响应数据存入二号接收缓存模块7中,上位机11读取二号接收缓存模块7中的响应数据;
步骤七、接收逻辑模块9接收的响应数据为与命令数据相对应的响应数据,将与命令数据相对应的响应数据存入一号接收缓存模块6中,上位机11读取一号接收缓存模块6中的响应数据。
本实施方式中工作过程总结如下:当测试设备要插入新命令数据时,上位机将新命令数据写入二号发送缓存模块。发送逻辑模块等待发送脉冲来临时优先检查二号发送缓存模块中是否有命令数据,如果有,将二号发送缓存模块中的新命令数据传送给被测对象,并且设置发送状态寄存器的状态值为1;如果二号发送缓存模块中没有新命令数据,则将一号发送缓存模块中的命令数据发送给被测对象,并置发送状态寄存器的状态值为0。
当测试设备从被测对象读取响应数据时,先设置访问接收缓存模块的优先级,然后将对应的相应数据存入相应的接收缓存模块中。如果响应数据的发送状态寄存器状态值为1,则是在新命令数据下生成的响应数据,这时将该响应数据存入到二号接收缓存模块中。如果响应数据发送状态寄存器状态值为0,则是原命令数据下的响应数据,将此数据存入到一号接收缓存模块中。上位机提取响应数据时分别从一号接收缓存模块和二号接收缓存模块中提取,这样就可以实现数据的分别定时解析。
Claims (7)
1.基于双缓存的硬件定时通信数据响应装置,它包括上位机(11),上位机(11)用于对测试设备发送命令数据并从测试设备中读取响应数据;
其特征在于,它还包括测试设备(1),测试设备(1)包括定时器(3)、一号发送缓存模块(4)、二号发送缓存模块(5)、一号接收缓存模块(6)、二号接收缓存模块(7)、发送逻辑模块(8)、接收逻辑模块(9)和发送状态寄存器(10);
定时器(3)用于定时输出脉冲信号给发送逻辑模块(8);
一号发送缓存模块(4)和二号发送缓存模块(5)均用于接收及存储上位机(11)发送的命令数据;
一号接收缓存模块(6)和二号接收缓存模块(7)均用于接收并存储接收逻辑模块(9)输出的响应数据;
发送逻辑模块(8)用于读取一号发送缓存模块(4)或二号发送缓存模块(5)中的命令数据并将所述命令数据传送至被测对象(2);所述发送逻辑模块(8)还用于根据所述命令数据的类型设置发送状态寄存器(10)的状态值;
接收逻辑模块(9)用于读取被测对象(2)回传的响应数据和发送状态寄存器(10)的状态值,并根据接收的发送状态寄存器(10)的状态值判断将所述被测对象(2)回传的响应数据存入一号接收缓存模块(6)还是存入二号接收缓存模块(7);
发送状态寄存器(10)用于根据发送逻辑模块(8)的指令设置相应的状态值并将该状态值发送至接收逻辑模块(9)。
2.基于权利要求1所述的基于双缓存的硬件定时通信数据响应装置实现的硬件定时通信数据响应方法,其特征在于,该方法的步骤包括:
用于定时输出脉冲信号给发送逻辑模块(8)的步骤;
用于接收及存储上位机(11)发送的命令数据的步骤;
用于接收并存储接收逻辑模块(9)输出的响应数据的步骤;
用于读取一号发送缓存模块(4)或二号发送缓存模块(5)中的命令数据并将所述命令数据传送至被测对象(2)的步骤;用于根据所述命令数据的类型设置发送状态寄存器(10)的状态值的步骤;
用于读取被测对象(2)回传的响应数据和发送状态寄存器(10)的状态值,并根据接收的发送状态寄存器(10)的状态值判断将所述被测对象(2)回传的响应数据存入一号接收缓存模块(6)还是存入二号接收缓存模块(7)的步骤;
用于根据发送逻辑模块(8)的指令设置相应的状态值并将该状态值发送至接收逻辑模块(9)的步骤。
3.根据权利要求2所述的硬件定时通信数据响应方法,其特征在于,用于根据所述命令数据的类型设置发送状态寄存器(10)的状态值的步骤的具体过程为:
若所述命令数据为原命令数据,则设置发送状态寄存器(10)的状态值为0,若所述命令数据为插入的新命令数据,则设置发送状态寄存器(10)的状态值为1。
4.根据权利要求3所述的硬件定时通信数据响应方法,其特征在于,用于读取被测对象(2)回传的响应数据和发送状态寄存器(10)的状态值,并根据接收的发送状态寄存器(10)的状态值判断将所述被测对象(2)回传的响应数据存入一号接收缓存模块(6)还是存入二号接收缓存模块(7)的步骤的具体过程为:
若接收的发送状态寄存器(10)的状态值为0,则将所述被测对象(2)回传的响应数据存入一号接收缓存模块(6)中;若接收的发送状态寄存器(10)的状态值为1,则将所述被测对象(2)回传的响应数据存入二号接收缓存模块(7)中。
5.根据权利要求2所述的硬件定时通信数据响应方法,其特征在于,上位机将命令数据写入发送缓存模块中的时间要比定时器生成的时钟脉冲短。
6.根据权利要求2所述的硬件定时通信数据响应方法,其特征在于,一号发送缓存模块(4)中的命令数据是满足300ms—500ms时间内处理的命令数据。
7.根据权利要求2所述的硬件定时通信数据响应方法,其特征在于,发送逻辑模块(8)检测并接收到定时器(3)发送的脉冲信号的上升沿时动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155574.6A CN103927278B (zh) | 2014-04-17 | 2014-04-17 | 基于双缓存的硬件定时通信数据响应装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410155574.6A CN103927278B (zh) | 2014-04-17 | 2014-04-17 | 基于双缓存的硬件定时通信数据响应装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103927278A CN103927278A (zh) | 2014-07-16 |
CN103927278B true CN103927278B (zh) | 2016-08-03 |
Family
ID=51145501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410155574.6A Active CN103927278B (zh) | 2014-04-17 | 2014-04-17 | 基于双缓存的硬件定时通信数据响应装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103927278B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834695A (zh) * | 2010-03-18 | 2010-09-15 | 中北大学 | 自适应多路串行冗余高速总线 |
CN102103565A (zh) * | 2009-12-21 | 2011-06-22 | 上海奇码数字信息有限公司 | 先进高性能系统总线连接装置及连接方法 |
CN103377163A (zh) * | 2012-04-13 | 2013-10-30 | 深圳市蓝韵实业有限公司 | 超声成像系统及其实时采集数据传输方法 |
-
2014
- 2014-04-17 CN CN201410155574.6A patent/CN103927278B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103565A (zh) * | 2009-12-21 | 2011-06-22 | 上海奇码数字信息有限公司 | 先进高性能系统总线连接装置及连接方法 |
CN101834695A (zh) * | 2010-03-18 | 2010-09-15 | 中北大学 | 自适应多路串行冗余高速总线 |
CN103377163A (zh) * | 2012-04-13 | 2013-10-30 | 深圳市蓝韵实业有限公司 | 超声成像系统及其实时采集数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103927278A (zh) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11805224B2 (en) | Image transmission device and method including an image data receiver and a processor | |
US10216678B2 (en) | Serial peripheral interface daisy chain communication with an in-frame response | |
CN107209739A (zh) | 电压模式和电流模式设备枚举 | |
CN107656886B (zh) | 一种跨时钟域信号处理电路及其处理方法 | |
US20140142723A1 (en) | Automatic control system | |
CN106851183B (zh) | 基于fpga的多路视频处理系统及其方法 | |
CN105629902B (zh) | 一种can总线精确定时和流水线测试的通讯系统 | |
US20130297897A1 (en) | Control apparatus, control system, and communication method | |
US20150058502A1 (en) | I/o device, programmable logic controller, and operation method | |
CN103107862B (zh) | 逻辑器件及其mdio数据发送方法 | |
CN103927278B (zh) | 基于双缓存的硬件定时通信数据响应装置及方法 | |
US10621122B1 (en) | Systems and methods for transferring data with a dual-line first-in-first-out (FIFO) memory array | |
US8942300B1 (en) | Integrated digitizer system with streaming interface | |
CN103840934B (zh) | 一种基于时钟自动恢复的开销传递方法及装置 | |
CN107797046A (zh) | 集成电路及集成电路的一输入输出接口的测试方法 | |
CN105740113A (zh) | 一种debug端口自动测试的方法及装置 | |
CN110069435A (zh) | 基于usb3.0转sccb的多摄像模组配置装置及方法 | |
CN110096002A (zh) | 一种基于canfd总线的自动化测试系统及测试方法 | |
CN111367494B (zh) | 一种串行数据帧接收方法及装置 | |
SE515886C2 (sv) | Sätt för dataöverföring och dataöverföringsapparat som arbetar vid två frekvenser | |
CN116627495A (zh) | 一种信息交互方法、系统、装置、设备及介质 | |
CN111158339B (zh) | Can总线模拟监控系统 | |
CN110161552A (zh) | 一种探测器的数据处理方法、装置及设备 | |
CN104200540B (zh) | 数据记录设备 | |
CN103885905B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |