CN117674780A - 一种脉冲编码调制数据采集电路及方法 - Google Patents
一种脉冲编码调制数据采集电路及方法 Download PDFInfo
- Publication number
- CN117674780A CN117674780A CN202311658143.7A CN202311658143A CN117674780A CN 117674780 A CN117674780 A CN 117674780A CN 202311658143 A CN202311658143 A CN 202311658143A CN 117674780 A CN117674780 A CN 117674780A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- ttl level
- pulse code
- clock 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000005070 sampling Methods 0.000 claims abstract description 104
- 238000012545 processing Methods 0.000 claims abstract description 34
- 238000006243 chemical reaction Methods 0.000 claims abstract description 18
- 230000005540 biological transmission Effects 0.000 claims description 53
- 238000012937 correction Methods 0.000 claims description 31
- 239000013078 crystal Substances 0.000 claims description 25
- 238000004891 communication Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 16
- 238000013480 data collection Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
Abstract
本申请公开了一种脉冲编码调制数据采集电路及方法,可用于数字通信领域,该电路包括FPGA芯片,可编程钟发生器,总线电平转换芯片以及中央处理器;其中,总线电平转换芯片,用于接收脉冲编码调制数据;将脉冲编码调制数据转换为TTL电平数据;可编程钟发生器,用于响应于FPGA芯片的控制,向FPGA芯片输出采样时钟信号;FPGA芯片,用于基于脉冲编码调制数据的码速率,控制可编程钟发生器输出的采样时钟信号的频率;基于接收到的采样时钟信号采集TTL电平数据;向中央处理器传输TTL电平数据;中央处理器,用于对TTL电平数据进行解码。由此,仅采集二进制的PCM数据,由CPU端进行数据解码,从而降低硬件成本。
Description
技术领域
本申请涉及数字通信技术领域,特别是涉及一种脉冲编码调制数据采集电路及方法。
背景技术
脉冲编码调制(pulse code modulation,PCM)是将模拟信号变换为二进制信号的常用方法,主要包括抽样、量化和编码三个过程,随着PCM在数字通信系统中的广泛应用,采集PCM数据已成为实现数字通信的关键任务之一。
PCM的编码格式包括但不限于自然二进制码、格雷码以及折叠码等,目前,为了采集PCM数据,通常需要针对于PCM的编码格式,提供相对应的专用硬件解码器。这些硬件解码器通常由复杂的电路和逻辑门组成,成本较高,且难以适应新的编码格式。
由此,如何提供一种可适用于不同PCM编码格式的数据采集电路,成为需要解决的问题。
发明内容
基于上述问题,本申请提供了一种脉冲编码调制数据采集电路及方法,可以适用于不同的PCM编码格式。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供了一种脉冲编码调制数据采集电路,所述电路包括:FPGA芯片,可编程钟发生器,总线电平转换芯片以及中央处理器;
所述FPGA芯片的第一端连接所述可编程钟发生器;所述FPGA芯片的第二端连接所述总线电平转换芯片;所述FPGA芯片的第三端连接所述中央处理器;
所述总线电平转换芯片,用于接收脉冲编码调制数据;将所述脉冲编码调制数据转换为TTL电平数据;
所述可编程钟发生器,用于响应于所述FPGA芯片的控制,向所述FPGA芯片输出采样时钟信号;
所述FPGA芯片,用于基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率;基于接收到的采样时钟信号采集所述TTL电平数据;向所述中央处理器传输所述TTL电平数据;
所述中央处理器,用于对所述TTL电平数据进行解码。
可选地,所述电路还包括:晶振;
所述晶振连接所述FPGA芯片的第四端;
所述晶振用于向所述FPGA芯片输出晶振时钟信号;
所述FPGA芯片,还用于同步所述TTL电平数据与所述晶振时钟信号以及同步所述采样时钟信号与所述晶振时钟信号。
可选地,所述FPGA芯片,包括:数据传输模块,参数配置模块,采样修正模块以及数据采集模块;
所述数据传输模块的第一端连接所述中央处理器;所述数据传输模块的第二端连接所述参数配置模块的第一端;所述数据传输模块的第三端连接所述数据采集模块的第四端;所述参数配置模块的第二端连接所述采样修正模块的第一端;所述参数配置模块的第三端连接所述数据采集模块的第一端;所述采样修正模块的第二端连接所述数据采集模块的第二端;所述采样修正模块的第三端连接所述可编程钟发生器;所述数据采集模块的第三端连接所述总线电平转换芯片;
所述数据传输模块,用于接收所述中央处理器下发的参数配置信息;向所述参数配置模块传输所述参数配置信息;接收所述TTL电平数据;向所述中央处理器传输所述TTL电平数据;所述参数配置信息至少包括采样率以及脉冲编码调制数据的码速率;
所述参数配置模块,用于接收所述参数配置信息;基于所述参数配置信息,对所述采样修正模块以及所述数据采集模块进行参数配置;
所述采样修正模块,用于基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率;
所述数据采集模块,用于基于所述采样时钟信号采集TTL电平数据;向所述数据传输模块传输所述TTL电平数据。
可选地,所述参数配置模块,包括:使能寄存器以及码速率寄存器;
所述使能寄存器的第一端以及所述码速率寄存器的第一端均与所述数据传输模块的第二端连接;所述使能寄存器的第二端以及所述码速率寄存器的第二端连接所述采样修正模块的第一端和所述数据采集模块的第一端;
所述使能寄存器,用于配置基于采样率的采集使能;
所述码速率寄存器,用于配置脉冲编码调制数据的码速率。
可选地,所述FPGA芯片还包括FIFO存储模块;
所述数据采集模块的第四端连接所述FIFO存储模块的第一端;所述数据传输模块的第三端连接所述FIFO存储模块的第二端;
所述FIFO存储模块,用于接收所述数据采集模块输出的TTL电平数据;存储所述TTL电平数据;向所述数据传输模块传输所述TTL电平数据。
可选地,当所述FIFO存储模块中存储的数据等于或大于预设阈值时,所述FIFO存储模块通过所述数据传输模块向所述中央处理器发送中断信号;所述中央处理器响应于所述中断信号,通过所述数据传输模块读取所述FIFO存储模块中存储的TTL电平数据。
可选地,所述数据采集模块,还用于:对所述采样时钟信号进行计数,若采集TTL电平数据的过程中,所述采样时钟信号的计数值小于预设数值,则丢弃采集的TTL电平数据。
可选地,所述基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率,包括:
基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率为所述脉冲编码调制数据的码速率的六倍。
可选地,述FPGA芯片与所述中央处理器通过AXI总线连接。
第二方面,本申请实施例提供了一种脉冲编码调制数据采集方法,所述方法应用于上述第一方面中任一项所述的脉冲编码调制数据采集电路,所述方法包括:
基于脉冲编码调制数据的码速率,配置采样时钟信号的频率;
接收脉冲编码调制数据;
将所述脉冲编码调制数据转换为TTL电平数据;
基于接收到的采样时钟信号采集所述TTL电平数据;
向中央处理器传输所述TTL电平数据。
相较于现有技术,本申请具有以下有益效果:
本申请实施例提供了一种脉冲编码调制数据采集电路,包括FPGA芯片,可编程钟发生器,总线电平转换芯片以及中央处理器;FPGA芯片的第一端连接可编程钟发生器;FPGA芯片的第二端连接总线电平转换芯片;FPGA芯片的第三端连接中央处理器;总线电平转换芯片,用于接收脉冲编码调制数据;将脉冲编码调制数据转换为TTL电平数据;可编程钟发生器,用于响应于FPGA芯片的控制,向FPGA芯片输出采样时钟信号;FPGA芯片,用于基于脉冲编码调制数据的码速率,控制可编程钟发生器输出的采样时钟信号的频率;基于接收到的采样时钟信号采集TTL电平数据;向中央处理器传输TTL电平数据;中央处理器,用于对TTL电平数据进行解码。由此,一方面可以通过FPGA芯片调节可编程钟发生器输出的采样时钟信号的频率,并基于采样时钟信号采集PCM数据,从而对码速率不同的PCM数据均可以较为准确地采集和处理;另一方面,FPGA芯片仅采集二进制的PCM数据,由CPU端进行数据解码,可以使同一款PCM数据采集电路同时适用于不同编码格式,从而降低硬件成本,大大提高了PCM数据采集电路的灵活性。此外,由于FPGA技术具有较高的可靠性和稳定性,本申请实施例提供的PCM数据采集电路在较为恶劣的环境下仍可以正常工作,可以使PCM数据采集电路适用于更多的应用场景。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种脉冲编码调制数据采集电路结构图;
图2为本申请实施例提供的一种FPGA芯片结构图;
图3为本申请实施例提供的另一种FPGA芯片结构图;
图4为本申请实施例提供的一种数据传输模块原理图;
图5为本申请实施例提供的一种参数配置模块原理图;
图6为本申请实施例提供的一种采样修正模块原理图;
图7为本申请实施例提供的一种数据采集模块原理图;
图8为本申请实施例提供的一种FIFO存储模块原理图;
图9为本申请实施例提供的一种脉冲编码调制数据采集方法流程图。
具体实施方式
本申请提供的一种脉冲编码调制数据采集电路及方法可用于数字通信领域,上述仅为示例,并不对本申请提供的一种脉冲编码调制数据采集电路及方法的应用领域进行限定。
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”、“第三”以及“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“作为示例”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“作为示例”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“作为示例”或者“例如”等词旨在以具体方式呈现相关概念。
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,该图为本申请实施例提供的一种脉冲编码调制数据采集电路结构图,该电路包括:总线电平转换芯片101,可编程钟发生器102,FPGA芯片103以及中央处理器104。
其中,FPGA芯片103的第一端连接可编程钟发生器102;FPGA芯片103的第二端连接总线电平转换芯片101;FPGA芯片103的第三端连接中央处理器104。
总线电平转换芯片101,用于接收脉冲编码调制数据;将脉冲编码调制数据转换为TTL电平数据。
具体地,总线电平转换芯片101可以对接收到的脉冲编码调制数据进行电平转换,从而将例如RS422电平的PCM数据转换为可以被FPGA芯片采集的TTL电平的PCM数据。其中,TTL电平(Transistor-Transistor Logic level)是指在TTL逻辑门电路中,用于表示二进制“1”和“0”的两种不同电压水平。
可编程钟发生器102,用于响应于FPGA芯片的控制,向FPGA芯片输出采样时钟信号。
具体地,可编程钟发生器(Programmable Clock Generator,PCG)是一种能够产生多个频率、相位和占空比可调的时钟信号的集成电路,具有高度的灵活性和可配置性,允许设计师根据特定的应用需求调整输出的采样时钟信号的频率、相位和占空比等参数。这些参数的调整可以通过内部寄存器进行编程,也可以通过外部控制接口进行动态控制。可编程钟发生器通过FPGA芯片进行逻辑配置,通过可编程钟发生器102产生的稳定且准确的采样时钟信号,可以同步PCM数据的采集。
FPGA芯片103,用于基于脉冲编码调制数据的码速率,控制可编程钟发生器输出的采样时钟信号的频率;基于接收到的采样时钟信号采集TTL电平数据;向中央处理器传输TTL电平数据。
FPGA(Field Programmable Gate Array)是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
可选地,FPGA芯片可以根据待接收的PCM数据的码速率,控制可编程钟发生器输出的采样时钟信号的频率为PCM数据的码速率的六倍。具体地,在例如GJB21.1A等标准中,PCM数据的码速率包括204.8kbit/s×2n、320.0kbit/s×2n以及4.8kbit/s×2n等,在PCM数据的码速率为4.8kbit/s×2n时,可以将可编程钟发生器输出的采样时钟信号的频率控制为28.8kbit/s×2n。FPGA芯片可以对可编程钟发生器输出的采样时钟信号和采集的TTL电平数据进行同步,并利用采样时钟信号进行过采样,以确保采样时的PCM数据为稳定数据,并减少时钟误差累计频差过大而出现误码等异常情况。
示例性地,在采集得到TTL电平数据的PCM数据后,FPGA芯片可以通过例如AXI(Advanced eXtensible Interface)总线或PCIE(peripheral component interconnectexpress)总线等总线形式,将二进制的PCM数据传输至中央处理器(Central ProcessingUnit,CPU),由CPU通过上层软件进行解码,由此,可以使同一款PCM数据采集电路同时适用于不同编码格式,从而降低硬件成本,大大提高了PCM数据采集电路的灵活性。
中央处理器104,用于对TTL电平数据进行解码。
具体地,CPU端可以通过上层软件实现对TTL电平数据的多种编码格式的PCM数据进行解码。
由此,本申请实施例提供的PCM数据采集电路中,一方面可以通过FPGA芯片调节可编程钟发生器输出的采样时钟信号的频率,并基于采样时钟信号采集PCM数据,从而对码速率不同的PCM数据均可以较为准确地采集和处理;另一方面,FPGA芯片仅采集二进制的PCM数据,由CPU端进行数据解码,可以使同一款PCM数据采集电路同时适用于不同编码格式,从而降低硬件成本,大大提高了PCM数据采集电路的灵活性。此外,由于FPGA技术具有较高的可靠性和稳定性,本申请实施例提供的PCM数据采集电路在较为恶劣的环境下仍可以正常工作,可以使PCM数据采集电路适用于更多的应用场景。
在本申请提供的另一些实施例中,PCM数据采集电路还可以包括晶振;晶振连接于FPGA芯片的第四端,用于向FPGA芯片输出晶振时钟信号。
晶振,也即晶体振荡器,可以产生高度稳定的晶振时钟信号,FPGA芯片可以分别同步TTL电平数据与晶振时钟信号以及采样时钟信号与晶振时钟信号,从而进一步减小采样过程中的时钟误差。
参见图2,该图为本申请实施例提供的一种FPGA芯片结构图,FPGA芯片包括:数据传输模块201,参数配置模块202,采样修正模块203以及数据采集模块204。
数据传输模块201的第一端连接中央处理器;数据传输模块201的第二端连接参数配置模块202的第一端;数据传输模块201的第三端连接数据采集模块204的第四端;参数配置模块202的第二端连接采样修正模块203的第一端;参数配置模块202的第三端连接数据采集模块204的第一端;采样修正模块203的第二端连接数据采集模块204的第二端;采样修正模块203的第三端连接可编程钟发生器;数据采集模块204的第三端连接总线电平转换芯片。
可选地,参见图3,该图为本申请实施例提供的另一种FPGA芯片结构图,在本申请提供的另一些实施例中,FPGA芯片还包括FIFO存储模块205。
FIFO存储模块205可以连接于数据采集模块204和数据传输模块201之间,用于临时存储TTL电平数据。具体地,数据采集模块204的第四端连接FIFO存储模块205的第一端;数据传输模块201的第三端连接FIFO存储模块205的第二端。
数据传输模块201,用于接收中央处理器104下发的参数配置信息;向参数配置模块202传输参数配置信息;接收TTL电平数据;向中央处理器104传输TTL电平数据。
具体地,参数配置信息至少包括采样率以及脉冲编码调制数据的码速率,例如,当存在FIFO存储模块205时,参数配置信息还可以包括通道数以及FIFO深度等。
参见图4,该图为本申请实施例提供的一种数据传输模块原理图。
数据传输模块201可以包括AXI总线单元以及AXI读写控制单元;其中,AXI总线单元的第一端连接参数配置模块202,从而向参数配置模块202传输参数配置信息;AXI读写控制单元与中央处理器104连接,从而接收中央处理器104下发的参数配置信息,以及向中央处理器104传输TTL电平数据;AXI读写控制单元的第二端连接AXI总线单元,与AXI总线单元之间通过例如axi_w_data、axi_w_w、axi_r_r、axi_addr、axi_r_data等AXI读写信号进行数据传输;AXI读写控制的第三端连接数据采集模块204,从而接收TTL电平数据。
可选地,当存在FIFO存储模块205时,AXI读写控制的第三端可以连接FIFO存储模块205,以接收FIFO存储模块205以fifo_rd_data信号传输的TTL电平数据。
参数配置模块202,用于接收参数配置信息;基于参数配置信息,对采样修正模块203以及数据采集模块204进行参数配置。
参数配置模块202可以对PCM数据采集电路中例如码速率、采样率等参数进行配置,用户可以根据具体需求设置这些参数,灵活调整PCM数据采集电路的工作模式,以满足不同场景的使用需求。
参见图5,该图为本申请实施例提供的一种参数配置模块原理图。
参数配置模块202可以包括多个用于设置不同参数的寄存器,例如,可以包括使能寄存器以及码速率寄存器。
其中,使能寄存器的第一端以及码速率寄存器的第一端均与数据传输模块201的第二端连接;使能寄存器的第二端以及码速率寄存器的第二端连接采样修正模块203的第一端和数据采集模块204的第一端。
参数配置模块202还包括译码单元,使能寄存器的第三端以及码速率寄存器的第三端均与译码单元的第一端连接,译码单元的第二端连接数据传输模块201的第二端。
数据传输模块201将寻址信号axi_addr输出至译码单元,并通过axi_w_data信号向各个寄存器写入参数配置信息。
使能寄存器,用于接收数据传输模块201写入的参数配置信息,通过例如w_coll_enable_s0信号配置基于采样率的采集使能。
码速率寄存器,用于接收数据传输模块201写入的参数配置信息,通过例如w_baud_rate_s0信号配置脉冲编码调制数据的码速率。
可选地,当存在FIFO存储模块205时,参数配置模块202还可以包括通道数寄存器和FIFO深度寄存器。
其中,通道数寄存器的第一端和FIFO深度寄存器的第一端均与数据传输模块201的第二端连接;通道数寄存器的第二端和FIFO深度寄存器的第二端均与FIFO存储模块205的第三端连接;通道数寄存器的第三端和FIFO深度寄存器的第三端均与译码单元的第一端连接。
通道数寄存器,用于接收数据传输模块201写入的参数配置信息,通过例如w_coll_num_s0信号,为数据采集模块204配置采集通道数量;为FIFO存储模块205配置对应FIFO数量,以此扩展采集通道数量。
FIFO深度寄存器,用于接收数据传输模块201写入的参数配置信息,通过例如w_fifo_depth信号,配置FIFO存储模块205的FIFO深度。
采样修正模块203,用于基于脉冲编码调制数据的码速率,控制可编程钟发生器102输出的采样时钟信号的频率。
具体地,由于PCM数据通过单根数据线采集,无同步信号,在数据采集过程中,单比特位的PCM数据存在的微频差会累加在一起,形成多频差,导致采集到的PCM数据存在一定的误差。
示例性地,采样修正模块203可以基于待采集PCM数据的码速率,通过例如I2C总线控制可编程钟发生器输出的采样时钟信号的频率,以可编程钟发生器输出的采样时钟信号校准采集PCM信号的时钟,从而减小由于时钟抖动、时钟误差累计等因素引起的频差,提高数据采集的精度和稳定性。
参见图6,该图为本申请实施例提供的一种采样修正模块原理图。
采样修正模块203可以包括码速率选择单元、I2C总线以及采样修正单元。
其中,码速率选择单元用于接收参数配置模块202配置的码速率w_baud_rate_s0以及采集使能w_coll_enable_s0,并通过与之相连的I2C总线,向可编程钟发生器输出I2C_clk和I2C_dat信号,以控制可编程钟发生器输出的采样时钟信号的频率;采样修正单元用于接收可编程钟发生器输出的采样时钟信号sample_clk,并向数据采集模块204输出采样修正信号sample_clk_in。
可选地,采样修正单元还可以接收PCM数据的边沿检测信号baud_rate_rx_edge,在检测到PCM数据的上升沿或下降沿时,向数据采集模块输出计数清零信号cnt_clr,从而在每次边沿变化时对单比特位的PCM数据存在的微频差进行修正,提升PCM数据采集的可靠性。
数据采集模块204,用于基于采样时钟信号采集TTL电平数据;向数据传输模块201传输TTL电平数据。
具体地,数据采集模块204可以同步采样时钟信号和TTL电平数据。
可选地,当PCM数据采集电路中存在晶振时,数据采集模块204可以同步采样时钟信号、TTL电平数据以及晶振时钟信号。
可选地,当FPGA芯片中存在FIFO存储模块时,数据采集模块204可以先向FIFO存储模块传输TTL电平数据,再由FIFO存储模块将TTL电平数据传输至数据传输模块。
可选地,数据采集模块204还可以对采样时钟信号进行计数,若采集TTL电平数据的过程中,采样时钟信号的计数值小于预设数值,则丢弃采集的TTL电平数据。作为示例,预设数值可以为5,若采集TTL电平数据的过程中,采样时钟信号的计数值小于5,则可以认为此时采集的TTL电平数据为无效值,丢弃采集的TTL电平数据。由此,可以减少由于信号抖动或信号干扰产生的误码。
参见图7,该图为本申请实施例提供的一种数据采集模块原理图。
数据采集模块204可以包括同步单元和采样计数器。其中,同步单元用于接收采样修正模块203输出的采样修正信号sample_clk_in以及TTL电平数据,例如,TTL电平数据可以是通过例如RS422接收器接收的PCM数据rs422_rx,对二者进行同步;可选地,同步单元也可以用于接收晶振时钟信号晶振clk,对sample_clk_in、lan_xn_relay以及晶振clk三者进行同步。采样计数器利用同步后输出的时钟信号sample_clk_o进行计数,若采样计数器的计数值大于等于5,则可以认为此时采集的TTL电平数据为有效值,将采集的TTL电平数据rs422_rx_r0输出至数据传输模块201或FIFO存储模块205。由此,可以通过对计数值的判断去除干扰信号,向数据传输模块201或FIFO存储模块205传输去除干扰后的PCM数据。
FIFO存储模块205,用于接收数据采集模块204输出的TTL电平数据;存储TTL电平数据;向数据传输模块201传输TTL电平数据。
具体地,若FPGA芯片中不存在FIFO存储模块,则由于FPGA芯片内部的存储资源有限,且数据采集速度远高于数据处理速度,可能存在数据存储空间不足的问题,由此,本申请实施例中通过在FPGA芯片中增加可高速读写的FIFO存储模块,解决数据存储空间不足的问题,能够有效缓存采集到的数据,减少数据丢失的情况。
示例性地,FIFO存储模块205由一个双端口RAM构成,其中,一个端口用于接收来自数据采集模块204的TTL电平数据,另一个端口用于向数据传输模块201输出TTL电平数据。
FIFO存储模块205可以对采集到的TTL电平数据的PCM数据的每个比特进行打包,每32个比特打包为一组数据,并通过fifo_wr_data信号写入32比特位宽的FIFO存储空间;当CPU端通过数据传输模块201读取FIFO存储模块205中的数据时,FIFO存储模块205采取先入先出的规则,取出最先存储FIFO存储模块205中的数据;当有新的TTL电平数据的PCM数据到达时,PCM数据会被写入RAM的一个空闲位置,并更新写指针fifo_wr_wr,同时,读指针fifo_rd_rd会指向最旧的数据,以保证符合先进先出原则。可以理解的是,FIFO存储模块205中,FIFO存储器的存储空间是可以根据实际需求进行设置的,例如,可以将FIFO存储器的深度设置为4K。
可选地,当FIFO存储模块205中存储的数据等于或大于预设阈值时,FIFO存储模块205可以通过数据传输模块201向CPU发送中断信号;CPU响应于中断信号,可以通过数据传输模块201读取FIFO存储模块205中存储的TTL电平数据的PCM数据。
参见图8,该图为本申请实施例提供的一种FIFO存储模块原理图。
FIFO存储模块205可以包括数据打包单元,FIFO存储器以及中断控制单元。
其中,数据打包单元用于接收TTL电平数据,并将预设比特数的TTL电平数据打包为一组数据,通过fifo_wr_data信号写入FIFO存储器;FIFO存储器可以对其中存储的数据项进行记录fifo_data_count,在其中存储的数据等于或大于预设阈值时,向中断控制单元发送中断请求irq_emable_r0,进而,中断控制单元向数据传输模块201发送中断信号irq_2_out_r0,数据传输模块201将中断信号转发给CPU;CPU响应于中断信号,可以通过数据传输模块201读取FIFO存储器中存储的TTL电平数据的PCM数据,数据传输模块201与FIFO存储器之间通过读数据信号fifo_rd_data实现数据传输。
参加图9,该图为本申请实施例提供的一种脉冲编码调制数据采集方法流程图,应用于上述脉冲编码调制数据采集电路,该方法包括:
S801:基于脉冲编码调制数据的码速率,配置采样时钟信号的频率。
示例性地,可以将采样时钟信号的频率配置为脉冲编码调制数据的码速率的六倍。
S802:接收脉冲编码调制数据。
示例性地,可以通过总线电平转换芯片接收脉冲编码调整PCM数据。
S803:将脉冲编码调制数据转换为TTL电平数据。
例如,PCM数据可以为RS422电平的信号,可以通过总线电平转换芯片,将其转换为TTL电平的信号。
S804:基于接收到的采样时钟信号采集TTL电平数据。
具体地,可以通过接收到的采样时钟信号,在采集TTL电平数据的过程中,时刻校准采样时钟。
S805:向中央处理器传输TTL电平数据。
具体地,可以仅采集二进制的PCM数据,也即采集TTL电平的PCM数据,将采集到的数据传输至CPU端,由CPU端通过上层软件进行解码处理。可选地,可以由上述FIFO存储模块205将TTL电平数据进行打包,将打包后的数据传输至CPU端。由此,本申请实施例提供的PCM数据采集方法仅用于数据采集,不用于数据解码,可以不受PCM编码格式的约束,从而具有更广泛的适用性,降低数据采集成本。
由此,本申请实施例提供的PCM数据采集方法中,一方面可以调节采样时钟信号的频率,并基于采样时钟信号采集PCM数据,从而对码速率不同的PCM数据均可以较为准确地采集和处理;另一方面,仅采集二进制的PCM数据,由CPU端进行数据解码,可以使PCM数据采集方法可以不受PCM编码格式的约束,从而具有更广泛的适用性,降低数据采集成本,大大提高了PCM数据采集电路的灵活性。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所描述的电路实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种脉冲编码调制数据采集电路,其特征在于,所述电路包括:FPGA芯片,可编程钟发生器,总线电平转换芯片以及中央处理器;
所述FPGA芯片的第一端连接所述可编程钟发生器;所述FPGA芯片的第二端连接所述总线电平转换芯片;所述FPGA芯片的第三端连接所述中央处理器;
所述总线电平转换芯片,用于接收脉冲编码调制数据;将所述脉冲编码调制数据转换为TTL电平数据;
所述可编程钟发生器,用于响应于所述FPGA芯片的控制,向所述FPGA芯片输出采样时钟信号;
所述FPGA芯片,用于基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率;基于接收到的采样时钟信号采集所述TTL电平数据;向所述中央处理器传输所述TTL电平数据;
所述中央处理器,用于对所述TTL电平数据进行解码。
2.根据权利要求1所述的电路,其特征在于,所述电路还包括:晶振;
所述晶振连接所述FPGA芯片的第四端;
所述晶振用于向所述FPGA芯片输出晶振时钟信号;
所述FPGA芯片,还用于同步所述TTL电平数据与所述晶振时钟信号以及同步所述采样时钟信号与所述晶振时钟信号。
3.根据权利要求1所述的电路,其特征在于,所述FPGA芯片,包括:数据传输模块,参数配置模块,采样修正模块以及数据采集模块;
所述数据传输模块的第一端连接所述中央处理器;所述数据传输模块的第二端连接所述参数配置模块的第一端;所述数据传输模块的第三端连接所述数据采集模块的第四端;所述参数配置模块的第二端连接所述采样修正模块的第一端;所述参数配置模块的第三端连接所述数据采集模块的第一端;所述采样修正模块的第二端连接所述数据采集模块的第二端;所述采样修正模块的第三端连接所述可编程钟发生器;所述数据采集模块的第三端连接所述总线电平转换芯片;
所述数据传输模块,用于接收所述中央处理器下发的参数配置信息;向所述参数配置模块传输所述参数配置信息;接收所述TTL电平数据;向所述中央处理器传输所述TTL电平数据;所述参数配置信息至少包括采样率以及脉冲编码调制数据的码速率;
所述参数配置模块,用于接收所述参数配置信息;基于所述参数配置信息,对所述采样修正模块以及所述数据采集模块进行参数配置;
所述采样修正模块,用于基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率;
所述数据采集模块,用于基于所述采样时钟信号采集TTL电平数据;向所述数据传输模块传输所述TTL电平数据。
4.根据权利要求3所述的电路,其特征在于,所述参数配置模块,包括:使能寄存器以及码速率寄存器;
所述使能寄存器的第一端以及所述码速率寄存器的第一端均与所述数据传输模块的第二端连接;所述使能寄存器的第二端以及所述码速率寄存器的第二端连接所述采样修正模块的第一端和所述数据采集模块的第一端;
所述使能寄存器,用于配置基于采样率的采集使能;
所述码速率寄存器,用于配置脉冲编码调制数据的码速率。
5.根据权利要求3所述的电路,其特征在于,所述FPGA芯片还包括FIFO存储模块;
所述数据采集模块的第四端连接所述FIFO存储模块的第一端;所述数据传输模块的第三端连接所述FIFO存储模块的第二端;
所述FIFO存储模块,用于接收所述数据采集模块输出的TTL电平数据;存储所述TTL电平数据;向所述数据传输模块传输所述TTL电平数据。
6.根据权利要求5所述的电路,其特征在于,当所述FIFO存储模块中存储的数据等于或大于预设阈值时,所述FIFO存储模块通过所述数据传输模块向所述中央处理器发送中断信号;所述中央处理器响应于所述中断信号,通过所述数据传输模块读取所述FIFO存储模块中存储的TTL电平数据。
7.根据权利要求3所述的电路,其特征在于,所述数据采集模块,还用于:对所述采样时钟信号进行计数,若采集TTL电平数据的过程中,所述采样时钟信号的计数值小于预设数值,则丢弃采集的TTL电平数据。
8.根据权利要求1所述的电路,其特征在于,所述基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率,包括:
基于所述脉冲编码调制数据的码速率,控制所述可编程钟发生器输出的采样时钟信号的频率为所述脉冲编码调制数据的码速率的六倍。
9.根据权利要求1所述的电路,其特征在于,所述FPGA芯片与所述中央处理器通过AXI总线连接。
10.一种脉冲编码调制数据采集方法,其特征在于,所述方法应用于权利要求1~9任一项所述的脉冲编码调制数据采集电路,所述方法包括:
基于脉冲编码调制数据的码速率,配置采样时钟信号的频率;
接收脉冲编码调制数据;
将所述脉冲编码调制数据转换为TTL电平数据;
基于接收到的采样时钟信号采集所述TTL电平数据;
向中央处理器传输所述TTL电平数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311658143.7A CN117674780A (zh) | 2023-12-05 | 2023-12-05 | 一种脉冲编码调制数据采集电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311658143.7A CN117674780A (zh) | 2023-12-05 | 2023-12-05 | 一种脉冲编码调制数据采集电路及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117674780A true CN117674780A (zh) | 2024-03-08 |
Family
ID=90085991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311658143.7A Pending CN117674780A (zh) | 2023-12-05 | 2023-12-05 | 一种脉冲编码调制数据采集电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117674780A (zh) |
-
2023
- 2023-12-05 CN CN202311658143.7A patent/CN117674780A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101689209B (zh) | 通用串行总线数据采集中减少触发延迟的方法与系统 | |
EP2976866B1 (en) | Timestamp correction in a multi-lane communication link with skew | |
US5289474A (en) | Communication network interface testing system | |
WO2002054262A2 (en) | Low latency synchronization of asynchronous data | |
EP2965458B1 (en) | Dithering circuit for sampling serial data transmission | |
CN111930176B (zh) | 多路lvds数据处理装置及方法 | |
CN113190291A (zh) | 一种基于片上网络数据采集的可配置协议转换系统及方法 | |
CN103107862B (zh) | 逻辑器件及其mdio数据发送方法 | |
CN112328523B (zh) | 传输双倍速率信号的方法、装置及系统 | |
CN117674780A (zh) | 一种脉冲编码调制数据采集电路及方法 | |
US5228129A (en) | Synchronous communication interface for reducing the effect of data processor latency | |
EP2466479B1 (en) | Interface system, and corresponding integrated circuit and method | |
JP2004056803A (ja) | 非同期データ通信インターフェイス用プログラム可能グリッチフィルタ | |
EP2466478B1 (en) | Communication system, and corresponding integrated circuit and method | |
US6928569B2 (en) | Automatic output delay timing adjustment for programmable glitch filter | |
CN116185924A (zh) | 波特率时钟产生方法和电子装置 | |
EP3671720B1 (en) | Real-time on-chip data transfer system | |
CN107810495B (zh) | 具有线活动检测器的uart | |
CN101751357B (zh) | 一种数字锁相回路装置 | |
CN117290265B (zh) | 一种自适应调节同异步接口装置、方法和芯片 | |
Chapman | 200 MHz UART with internal 16-byte buffer | |
CN112104537B (zh) | 一种通信控制器 | |
CN109842575B (zh) | 一种429总线接收节点大容差采样电路 | |
Gupta et al. | Analysis of Universal Asynchronous Receiver-Transmitter (UART) | |
JP2736820B2 (ja) | データ通信機インタフェース回路 |
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 |