CN103530259B - 地球物理仪器的跨时钟域串行数据交换方法、装置及系统 - Google Patents
地球物理仪器的跨时钟域串行数据交换方法、装置及系统 Download PDFInfo
- Publication number
- CN103530259B CN103530259B CN201310495410.3A CN201310495410A CN103530259B CN 103530259 B CN103530259 B CN 103530259B CN 201310495410 A CN201310495410 A CN 201310495410A CN 103530259 B CN103530259 B CN 103530259B
- Authority
- CN
- China
- Prior art keywords
- data
- line interface
- register
- serial
- serial line
- 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
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种地球物理仪器的跨时钟域串行数据交换方法、装置及系统,涉及地球物理仪器技术领域,所述方法包括以下步骤:S1:采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据,所述第一串行接口为地球物理仪器中数据采集模块的串行接口;S2:采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。本发明通过按照第一串行接口的时钟频率来接收串行数据,并通过第二串行接口的时钟频率来发送数据,使得在不占用地球物理仪器资源的情况下,有效提高了数据交换速度。
Description
技术领域
本发明涉及地球物理仪器技术领域,特别涉及一种地球物理仪器的跨时钟域串行数据交换方法、装置及系统。
背景技术
随着技术的进步,信息技术与计算机技术得到了快速发展,包括电磁法在内的地球物理仪器都得到了长足的进步,但随着便携式、小型化、低功耗和低成本的发展要求,地球物理仪器中数据采集模块普遍采用串行输出接口的模/数转换器(Analog-to-DigitalConverter,ADC),由于串行输出结构的传输速度比较快,在数据采集完毕进行数据存储或传输时,如果地球物理仪器中数据采集模块的串行接口和数据接收端的串行接口的时钟域不一致,则很难进行无缝连接,虽然可以采用先入先出队列(FirstInputFirstOutput,FIFO)来实现跨时间域进行数据交换功能,但占用了地球物理仪器为数不多的资源,会影响地球物理仪器的整体性能,并且数据交换速度过低。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何在不占用地球物理仪器资源的情况下,提高数据交换速度。
(二)技术方案
为解决上述技术问题,本发明提供了一种地球物理仪器的跨时钟域串行数据交换方法,所述方法包括以下步骤:
S1:采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据,所述第一串行接口为地球物理仪器中数据采集模块的串行接口;
S2:采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。
其中,步骤S1包括:
S111:采用第一串行接口的时钟频率来接收由所述第一串行接口所传送来的串行数据,并将所述串行数据存储至寄存器A中;
步骤S1和S2之间还包括:
S121:将所述寄存器A所存储的串行数据转移至寄存器C中;
步骤S2包括:
S211:采用第二串行接口的时钟频率将所述寄存器C中存储的串行数据通过第二串行接口发送至数据接收端。
其中,所述寄存器A和寄存器C的位宽相同,且所述寄存器A的位宽与所述串行数据的位数相同。
其中,步骤S121之前还包括:
S120:判断所述寄存器A中是否存满数据,若是,则执行步骤S121,否则返回步骤S111。
其中,设置与所述寄存器A的存储状态相对应的标志寄存器B,当所述寄存器A中存满数据时,所述标志寄存器B被置为1;当所述寄存器A未存满数据时,所述标志寄存器B为0;
步骤S120中,判断所述寄存器A中是否存满数据包括:
判断所述标志寄存器B是否为1,若是,则判定为所述寄存器A已经存满数据,否则判定为未存满数据。
其中,步骤S211之前还包括:
S210:判断所述寄存器C中是否存满数据,若是,则执行步骤S211,否则返回步骤S121。
其中,设置与所述寄存器C的存储状态相对应的标志寄存器D,当所述寄存器C中存满数据时,所述标志寄存器D被置为1;当所述寄存器C未存满数据时,所述标志寄存器D为0;
步骤S210中,判断所述寄存器C中是否存满数据包括:
判断所述标志寄存器D是否为1,若是,则判定为所述寄存器C已经存满数据,否则判定为未存满数据。
本发明还公开了一种地球物理仪器的跨时钟域串行数据交换装置,所述装置包括:
数据接收模块,用于采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据,所述第一串行接口为地球物理仪器中数据采集模块的串行接口;
数据发送模块,用于采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。
本发明还公开了一种地球物理仪器的跨时钟域串行数据交换系统,所述系统包括:数据接收端、地球物理仪器的数据采集模块和所述的装置,所述装置的数据接收模块与所述数据采集模块连接,所述装置的数据发送模块与所述数据接收端连接。
其中,当所述数据采集模块为一个时,所述数据接收端为一个或多个;当所述数据采集模块为多个时,所述数据接收端的个数与所述数据采集模块个数相同、且一一对应。
(三)有益效果
本发明通过按照第一串行接口的时钟频率来接收串行数据,并通过第二串行接口的时钟频率来发送数据,使得在不占用地球物理仪器资源的情况下,有效提高了数据交换速度。
附图说明
图1是本发明一种实施方式的地球物理仪器的跨时钟域串行数据交换方法的流程图;
图2是本发明一种实施例的地球物理仪器的跨时钟域串行数据交换方法的流程图;
图3是本发明一种实施方式的地球物理仪器的跨时钟域串行数据交换装置的结构框图;
图4是本发明一种实施方式的地球物理仪器的跨时钟域串行数据交换系统的结构框图;
图5是本发明一种实施例的多对多的地球物理仪器的跨时钟域串行数据交换系统的结构框图;
图6是本发明另一种实施例的一对多的地球物理仪器的跨时钟域串行数据交换系统的结构框图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图1是本发明一种实施方式的地球物理仪器的跨时钟域串行数据交换方法的流程图;参照图1,所述方法包括以下步骤:
S1:采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据(根据地球物理仪器的特性可知,所述串行数据为地球物理仪器中数据采集模块的一帧数据,每帧数据的位数相同),所述第一串行接口为地球物理仪器中数据采集模块的串行接口;
S2:采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。
本实施方式通过按照第一串行接口的时钟频率来接收串行数据,并通过第二串行接口的时钟频率来发送数据,使得在不占用地球物理仪器资源的情况下,有效提高了数据交换速度。
第一串行接口的时钟频率一般要求小于第二串行接口的时钟频率,在特殊情况下,第一串行接口的时钟频率是第二串行接口的时钟频率的整数倍。
获取第一串行接口的时钟频率的方式有多种,此处以两种方式为例:第一种:先向所述数据采集模块发送第一时钟频率获取请求;再接收所述数据采集模块所返回的所述第一串行接口的时钟频率。第二种:直接接收人工设置的所述第一串行接口的时钟频率。获取第二串行接口的时钟频率的方式与获取第一串行接口的时钟频率的方式基本相同,在此不做赘述。
为防止数据出现错误,优选地,步骤S1包括:
S111:采用第一串行接口的时钟频率来接收由所述第一串行接口所传送来的串行数据,并将所述串行数据存储至寄存器A中;根据需要,在将所述串行数据存储之前,还可对所述串行数据进行预处理,所述预处理为平滑、滤波和均值计算等处理中的至少一种。
步骤S1和S2之间还包括:
S121:将所述寄存器A所存储的串行数据转移至寄存器C中;
步骤S2包括:
S211:采用第二串行接口的时钟频率将所述寄存器C中存储的串行数据通过第二串行接口发送至数据接收端。
为节约寄存器的使用空间,并且便于控制,优选地,所述寄存器A和寄存器C的位宽相同,且所述寄存器A的位宽与所述串行数据的位数相同。
为防止寄存器A还未存满,就开始进行数据交换,所导致的串行数据错误,优选地,步骤S121之前还包括:
S120:判断所述寄存器A中是否存满数据,若是,则执行步骤S121,否则返回步骤S111。
为便于获得寄存器A的存储状态,优选地,设置与所述寄存器A的存储状态相对应的标志寄存器B,当所述寄存器A中存满数据时,所述标志寄存器B被置为1;当所述寄存器A未存满数据时,所述标志寄存器B为0;
步骤S120中,判断所述寄存器A中是否存满数据包括:
判断所述标志寄存器B是否为1,若是,则判定为所述寄存器A已经存满数据,否则判定为未存满数据。
为防止寄存器C还未存满,就开始进行数据交换,所导致的串行数据错误,优选地,步骤S211之前还包括:
S210:判断所述寄存器C中是否存满数据,若是,则执行步骤S211,否则返回步骤S121。
为便于获得寄存器C的存储状态,优选地,,设置与所述寄存器C的存储状态相对应的标志寄存器D,当所述寄存器C中存满数据时,所述标志寄存器D被置为1;当所述寄存器C未存满数据时,所述标志寄存器D为0;
步骤S210中,判断所述寄存器C中是否存满数据包括:
判断所述标志寄存器D是否为1,若是,则判定为所述寄存器C已经存满数据,否则判定为未存满数据。
在数据交换完毕后,为便于及时结束流程,优选地,步骤S2之后还包括:
S3:判断数据交换是否全部完成,若是,则结束流程。
实施例
下面以一个具体的实施例来说明本发明,但不限定本发明的保护范围。参照图2,本实施例包括以下步骤:
步骤101:设置一个位数够宽(即与地球物理仪器中数据采集模块的一帧数据的位数相同,例如:24bit或32bit等)的寄存器A,并将其初始值置为0;同时设置一个位数为1bit、且与所述寄存器A的存储状态相对应的标志寄存器B,并将其初值置为0,当所述寄存器A中存满数据时,所述标志寄存器B被置为1;当所述寄存器A未存满数据时,所述标志寄存器B为0;
步骤102:设置一个位宽和寄存器A相同的寄存器C,并将其初始值置为0;同时设置一个位数为1bit、且与所述寄存器C的存储状态相对应的标志寄存器D,并将其初值置为0,当所述寄存器C中存满数据时,所述标志寄存器D被置为1;当所述寄存器C未存满数据时,所述标志寄存器D为0;
步骤103:获取第一串行接口和第二串行接口的时钟频率;
步骤104:采用第一串行接口的时钟频率来接收(每次接收1bit、或者2bit以上的串行数据)由所述第一串行接口所传送来的串行数据,并将所述串行数据依次存储至寄存器A中(若寄存器A中还存在上一次所接收的数据,则等寄存器A的数据全部转移至所述寄存器C后,再接收所述第一串行接口所传来的串行数据;可通过设置新的标志寄存器E来对应寄存器C的数据存储状态,当寄存器C的数据全部被发送时,新的标志寄存器置为1,以判断寄存器C是否还存在上一次所接收的数据);
步骤105:判断所述标志寄存器B是否为1,若是,则执行步骤106,否则返回步骤104;
步骤106:将所述寄存器A所存储的串行数据转移至寄存器C中(若寄存器C中还存在上一次所接收的数据,则等寄存器C的数据全部发送至所述数据接收端后,再将所述寄存器A所存储的串行数据转移至寄存器C中;可通过设置新的标志寄存器F来对应寄存器C的数据存储状态,当寄存器C的数据全部被发送时,新的标志寄存器F置为1,以判断寄存器C是否还存在上一次所接收的数据);
步骤107:判断所述标志寄存器D是否为1,若是,则执行步骤108,否则返回步骤106;
步骤108:采用第二串行接口的时钟频率将所述寄存器C中存储的串行数据通过第二串行接口发送至数据接收端;
步骤109:判断地球物理仪器中数据采集模块的采集工作是否完成(采集工作是否完成可通过接收人工输入的停止信号来判断是否完成,也可以通过在预设时间内,标志寄存器B和D是否均未变化来判断,若是,则认为采集工作完成,否则认为未完成,预设时间可根据需要进行设置,例如:5分钟),若是,则结束流程,否则返回步骤104。
本发明还公开了一种地球物理仪器的跨时钟域串行数据交换装置,参照图3,所述装置包括:
数据接收模块,用于采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据,所述第一串行接口为地球物理仪器中数据采集模块的串行接口;
数据发送模块,用于采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。
所述装置包括:现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、复杂可编程逻辑器件(ComplexProgrammableLogicDevice,CPLD)、数字信号处理器(digitalsignalprocessor,DSP)和ARM等处理器中的至少一种。
本发明还公开了一种地球物理仪器的跨时钟域串行数据交换系统,参照图4,所述系统包括:数据接收端(所述数据接收端为数据传输接口或数据存储模块,所述数据传输接口即图中的“其他接口”)、地球物理仪器的数据采集模块和所述的装置(即图中的“数据交换装置”),所述装置的数据接收模块与所述数据采集模块连接,所述装置的数据发送模块与所述数据接收端连接。
在具体的数据交换过程中,可能会存在多个一对一的情况,参照图5,即具有n(n为大于1的整数)个地球物理仪器和n个数据接收端、且一一对应,这时所述装置需要具有与之对应的n组寄存器,每组寄存器均包括:寄存器A、标志寄存器B、寄存器C和标志寄存器D;还可能会存在一对多的情况,参照图6,即具有1个地球物理仪器和n个数据接收端,这时需要一个寄存器A和标志寄存器B,及n个寄存器C和标志寄存器D;还可在所述一对多的基础上设置多个一对多的情况,在此不再具体说明。针对上述情况,优选地,当所述数据采集模块为一个时,所述数据接收端为一个或多个(所述多个为至少两个);当所述数据采集模块为多个时,所述数据接收端的个数与所述数据采集模块个数相同、且一一对应。
本发明与现有技术相比,还有以下优点:
(1)充分利用串行通信的特点,在资源够的情况下可以根据需要将多个数据用于串行传输,提升速度,降低设计难度和复杂度。
(2)避免了对多个不同的时钟域进行异化处理,避免了一般将所有时钟域提升为一个时钟域带来的问题,提升了各个时钟域的设计资源的利用率。
(3)能很好解决了地球物理仪器设计中单个FIFO不能进行的一对多的设计、而多个FIFO资源不够或者接口不够或者硬件空间不够的设计,并且能够做到更精简,当有多个数据对的时候采用会有效的避免FIFO等资源不够用而实现不了的情况。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种地球物理仪器的跨时钟域串行数据交换方法,其特征在于,所述方法包括以下步骤:
S1:采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据,所述第一串行接口为地球物理仪器中数据采集模块的串行接口;
S2:采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。
2.如权利要求1所述的方法,其特征在于,步骤S1包括:
S111:采用第一串行接口的时钟频率来接收由所述第一串行接口所传送来的串行数据,并将所述串行数据存储至寄存器A中;
步骤S1和S2之间还包括:
S121:将所述寄存器A所存储的串行数据转移至寄存器C中;
步骤S2包括:
S211:采用第二串行接口的时钟频率将所述寄存器C中存储的串行数据通过第二串行接口发送至数据接收端。
3.如权利要求2所述的方法,其特征在于,所述寄存器A和寄存器C的位宽相同,且所述寄存器A的位宽与所述串行数据的位数相同。
4.如权利要求3所述的方法,其特征在于,步骤S121之前还包括:
S120:判断所述寄存器A中是否存满数据,若是,则执行步骤S121,否则返回步骤S111。
5.如权利要求4所述的方法,其特征在于,设置与所述寄存器A的存储状态相对应的标志寄存器B,当所述寄存器A中存满数据时,所述标志寄存器B被置为1;当所述寄存器A未存满数据时,所述标志寄存器B为0;
步骤S120中,判断所述寄存器A中是否存满数据包括:
判断所述标志寄存器B是否为1,若是,则判定为所述寄存器A已经存满数据,否则判定为未存满数据。
6.如权利要求3所述的方法,其特征在于,步骤S211之前还包括:
S210:判断所述寄存器C中是否存满数据,若是,则执行步骤S211,否则返回步骤S121。
7.如权利要求6所述的方法,其特征在于,设置与所述寄存器C的存储状态相对应的标志寄存器D,当所述寄存器C中存满数据时,所述标志寄存器D被置为1;当所述寄存器C未存满数据时,所述标志寄存器D为0;
步骤S210中,判断所述寄存器C中是否存满数据包括:
判断所述标志寄存器D是否为1,若是,则判定为所述寄存器C已经存满数据,否则判定为未存满数据。
8.一种地球物理仪器的跨时钟域串行数据交换装置,其特征在于,所述装置包括:
数据接收模块,用于采用第一串行接口的时钟频率来接收并存储由所述第一串行接口所传送来的串行数据,所述第一串行接口为地球物理仪器中数据采集模块的串行接口;
数据发送模块,用于采用第二串行接口的时钟频率将所述串行数据通过第二串行接口发送至数据接收端,所述第二串行接口为所述串行数据接收端的串行接口。
9.一种地球物理仪器的跨时钟域串行数据交换系统,其特征在于,所述系统包括:数据接收端、地球物理仪器的数据采集模块和权利要求8所述的装置,所述装置的数据接收模块与所述数据采集模块连接,所述装置的数据发送模块与所述数据接收端连接。
10.如权利要求9所述的系统,其特征在于,当所述数据采集模块为一个时,所述数据接收端为一个或多个;当所述数据采集模块为多个时,所述数据接收端的个数与所述数据采集模块个数相同、且一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495410.3A CN103530259B (zh) | 2013-10-21 | 2013-10-21 | 地球物理仪器的跨时钟域串行数据交换方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310495410.3A CN103530259B (zh) | 2013-10-21 | 2013-10-21 | 地球物理仪器的跨时钟域串行数据交换方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103530259A CN103530259A (zh) | 2014-01-22 |
CN103530259B true CN103530259B (zh) | 2016-03-30 |
Family
ID=49932284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310495410.3A Active CN103530259B (zh) | 2013-10-21 | 2013-10-21 | 地球物理仪器的跨时钟域串行数据交换方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103530259B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466348A (zh) * | 2002-06-15 | 2004-01-07 | 华为技术有限公司 | 高速数据链路控制协议发送处理模块及其数据处理方法 |
CN2938595Y (zh) * | 2006-02-20 | 2007-08-22 | 上海欣泰通信技术有限公司 | 一种用于板间通信的高速串行接口装置 |
CN101308480A (zh) * | 2008-06-18 | 2008-11-19 | 嘉兴闻泰通讯科技有限公司 | 主机串口同时连接多个异步串口设备的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005071278A (ja) * | 2003-08-27 | 2005-03-17 | Nec Corp | クロック同期シリアルデータ転送方法および同システム |
-
2013
- 2013-10-21 CN CN201310495410.3A patent/CN103530259B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1466348A (zh) * | 2002-06-15 | 2004-01-07 | 华为技术有限公司 | 高速数据链路控制协议发送处理模块及其数据处理方法 |
CN2938595Y (zh) * | 2006-02-20 | 2007-08-22 | 上海欣泰通信技术有限公司 | 一种用于板间通信的高速串行接口装置 |
CN101308480A (zh) * | 2008-06-18 | 2008-11-19 | 嘉兴闻泰通讯科技有限公司 | 主机串口同时连接多个异步串口设备的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103530259A (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103366539B (zh) | 无线抄表系统以及广播式抄收方式 | |
CN103064805B (zh) | Spi控制器及通信方法 | |
CN101873299B (zh) | 串行总线和通信方法及系统 | |
CN102801744B (zh) | 一种通信方法及系统 | |
CN104320317B (zh) | 一种以太网物理层芯片状态的传送方法和装置 | |
CN103546467A (zh) | 在TCP/IP网络上传输Modbus RTU协议的方法 | |
CN103353851A (zh) | 一种管理任务的方法和设备 | |
CN102567280A (zh) | 一种基于dsp和fpga的计算机硬件平台设计方法 | |
CN103019990A (zh) | 一种采集端启动pci-e总线dma上传数据的方法 | |
CN104345861A (zh) | 一种数据处理方法和装置及电子设备 | |
CN102012879A (zh) | 大容量数据采集装置及其数据传输方法 | |
CN102253910A (zh) | 一种i2c传输方法及其装置 | |
CN101452427B (zh) | 一种dma数据传输系统及方法和一种中央处理器 | |
CN104021097A (zh) | 数据传输方法、装置及直接存储器存取 | |
CN104765701A (zh) | 数据访问方法及设备 | |
CN104601574A (zh) | 一种用于电能表的数据采集的抄读方法 | |
CN107436851A (zh) | 串行外设接口四线隔离系统及其控制方法 | |
CN114448493A (zh) | 一种卫星一体化数据交互系统 | |
CN104424142B (zh) | 一种多核处理器系统中访问共享资源的方法与装置 | |
CN103176941B (zh) | 核间通信方法和代理装置 | |
CN103530259B (zh) | 地球物理仪器的跨时钟域串行数据交换方法、装置及系统 | |
CN102215097A (zh) | 一种管理混合自动重传请求缓存的方法及装置 | |
CN103885910A (zh) | 多设备在主模式下进行iic通信的方法及系统 | |
CN104714832A (zh) | 一种用于机载数据网络异步数据交互区的缓冲管理方法 | |
CN105550089A (zh) | 一种基于数字电路的fc网络帧头数据错误注入方法 |
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 |