一种高精度波形产生系统及方法

未命名 08-13 阅读:251 评论:0


1.本发明涉及电子技术领域,具体的说是一种高精度波形产生系统及方法。


背景技术:

2.目前,设备常采用嵌入式微控制器作为主控制器。如果利用微控制器进行软件编程直接产生特定波形,实时性较差。这主要有以下原因:一是微控制器可能需要执行更高优先级的中断任务,从而使指令序列发生变化;另一方面如果微控制器在某一时间段,将所有的时间都应用于数字波形产生的指令序列,那么其他一些重要的任务将难以实时运行,从而影响系统的控制性能。
3.基于以上原因,基于微控制器设计波形产生的硬件电路可以保证波形产生的实时性。然而,目前的设计思路是取1个波形周期内足够的数据点数,存储于存储器中,然后将其输出。但该方法没有考虑存储器容量的限制和波形精度的需求。波形的精度是由周期的大小和每个周期内的数据点个数决定。在存储器容量一定的情况下,也就是每个周期内的数据点个数一定的情况下,波形的精度由波形周期所决定。如果波形周期较小,则组成每个波形的数据点之间的时间间隔会较小,波形的精度较高。如果波形周期较大,则组成每个波形的数据点之间的时间间隔会较大,波形的精度较低。
4.如图1所示,假定从t1时刻到tn时刻是一个波形周期,周期为tn-t1。在该周期内,微控制器输出n个数据点,
′×′
表示1个数据点。由于数模转换器的作用,在两个数据点之间保持不变,粗实线就是实际的输出波形。可见,在n个数据点保持不变时,周期越大,波形精度越低。
5.综上所述,现有技术中,波形产生系统所产生的波形精度有限。


技术实现要素:

6.为了解决现有技术中的不足,本发明提供一种高精度波形产生系统及方法,通过插值的方式提高波形数据点的数量,进而提高波形精度。
7.为了实现上述目的,本发明采用的具体方案为:一种高精度波形产生系统,包括:微控制器,用于生成多个按序排列的数据信号,数据信号用于表征数字包络线波形的幅值;存储模块,用于存储数据信号;插值模块,用于根据数据信号生成多个插值信号,插值信号为相邻两个数据信号的均值;数模转换模块,用于根据数据信号和插值信号输出模拟波形。
8.作为上述高精度波形产生系统的进一步优化:存储模块包括双端口静态随机存取存储器,微控制器电性连接有第一锁存器、第二锁存器和第三锁存器,其中第一锁存器与双端口静态随机存取存储器的第一端口和第二端口均电性连接,第二锁存器与双端口静态随机存取存储器的第一端口电性连接,第三锁存器与双端口静态随机存取存储器的第一端口电性连接。
9.作为上述高精度波形产生系统的进一步优化:插值模块包括分频器,分频器与第
一锁存器和第三锁存器电性连接,分频器还电性连接有第一非门和第二非门,第一非门与数模转换模块电性连接,并且第一非门还电性连接有计数器,计数器与双端口静态随机存取存储器的第二端口电性连接,第二非门电性连接有级联设置的第一加法器和第二加法器,第一加法器和第二加法器均与数模转换模块电性连接。
10.作为上述高精度波形产生系统的进一步优化:双端口静态随机存取存储器的第二端口与数模转换模块之间依次电性连接有第二缓冲器和第三缓冲器,第一非门与第三缓冲器电性连接。
11.作为上述高精度波形产生系统的进一步优化:第二非门通过第四锁存器与第二加法器电性连接、通过第五锁存器与第一加法器电性连接,第四锁存器和第五锁存器均与第二缓冲器电性连接。
12.作为上述高精度波形产生系统的进一步优化:第一加法器和第二加法器共同电性连接有第四缓冲器,第四缓冲器与数模转换模块电性连接,第四缓冲器还与分频器电性连接。
13.一种高精度波形产生方法,基于上述的一种高精度波形产生系统,其特征在于,方法包括如下步骤:s1、部署系统;s2、微控制器生成数据信号,并且将数据信号发送至双端口静态随机存取存储器中;s3、微控制器控制分频器生成分频信号,分频信号为方波,并且将分频信号发送至第一非门和第二非门,第一非门和第二非门分别生成与分频信号反相的方波信号,第一非门输出信号作为计数器的时钟脉信号,计数器的输出信号作为双端口静态随机存取存储器第二端口的地址信号,分频器输出信号和第二非门输出信号分别作为第五锁存器和第四锁存器的锁存信号;s4、双端口静态随机存取存储器通过第二缓冲器将相邻的两个数据信号均发送至第四锁存器和第五锁存器中锁存;s5、第四锁存器和第五锁存器均将锁存的数据信号发送至第一加法器和第二加法器,第一加法器和第二加法器分别将两个数据信号的低4位和高4位相加得到和值信号;s6、将第一加法器和第二加法器输出的和值信号进行处理得到插值信号,插值信号等于和值信号的二分之一;s7、插值信号通过第四缓冲器输出至数模转换模块;s8、数模转换模块基于数据信号和插值信号输出模拟波形。
14.作为高精度波形产生方法的进一步优化:s1中,部署系统时,双端口静态随机存取存储器的数据总线位数为m、地址总线位数为k,满足条件2k≥n,n为波形每个周期内数据信号的数量。
15.作为高精度波形产生方法的进一步优化:s2的具体方法包括:s21、微控制器通过第三锁存器向双端口静态随机存取存储器的第一端口发出地址信号;s22、微控制器通过第二锁存器向双端口静态随机存取存储器的第一端口发出已经计算好的数据信号;
s23、微控制器通过第一锁存器向双端口静态随机存取存储器的第一端口发出片选信号和写信号,将数据信号写入到双端口静态随机存取存储器中;s24、重复执行s21至s23,直到所有数据信号均写入到双端口静态随机存取存储器中。
16.有益效果:本发明通过在波形两个相邻的数据点之间插入一个插值数据点,通过插值的方式增加波形的数据点个数,从而有效提高产生的波形的精度,并且使插值数据点的数值等于相邻两个数据点的均值,可以保证产生的波形平滑。
附图说明
17.图1是波形数据点数量与波形精度的关联关系示意图;图2是本发明波形产生系统的结构框图;图3是波形一个周期内插值数据点的分布方式示意图;图4是具体实施方式中a点波形和b点波形的示意图。
具体实施方式
18.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.请参阅图2,一种高精度波形产生系统,包括微控制器、存储模块和插值模块。
20.微控制器,用于生成多个按序排列的数据信号,数据信号用于表征数字包络线波形的幅值。
21.存储模块,用于存储数据信号。
22.插值模块,用于根据数据信号生成多个插值信号,插值信号为相邻两个数据信号的均值。
23.数模转换模块,用于根据数据信号和插值信号输出模拟波形。
24.在使用时,首先由微控制器根据需要产生的波形生成多个数据信号,并且将数据信号存入到存储模块中,然后插值模块根据数据信号生成插值信号,最后由数模转换模块根据数据信号和插值信号输出模拟波形,每个数据信号和插值信号均对应数字包络线波形的一个数据点。通过增加插值信号,可以有效增加数据点的数量,从而提升最终产生的模拟波形的精度,并且插值信号为相邻两个数据信号的均值,可以避免波形局部畸变,进一步保证波形的精度。
25.存储模块的具体结构为:存储模块包括双端口静态随机存取存储器(sram),微控制器电性连接有第一锁存器、第二锁存器和第三锁存器,其中第一锁存器与双端口静态随机存取存储器的第一端口和第二端口均电性连接,第二锁存器与双端口静态随机存取存储器的第一端口电性连接,第三锁存器与双端口静态随机存取存储器的第一端口电性连接。第一锁存器、第二锁存器和第三锁存器分别用于传输和缓存微控制器不同的指令信号。
26.插值模块的具体结构为:插值模块包括分频器,分频器与第一锁存器和第三锁存器电性连接,分频器还电性连接有第一非门和第二非门,第一非门与数模转换模块电性连
接,并且第一非门还电性连接有计数器,计数器与双端口静态随机存取存储器的第二端口电性连接,第二非门电性连接有级联设置的第一加法器和第二加法器,第一加法器和第二加法器均与数模转换模块电性连接。分频器用于根据需要产生的波形生成一个分频信号,具体地说,分频信号的周期等于需要产生的波形数据点周期的2倍,第一非门和第二非门均用于生成与分频信号反相的信号,第一加法器和第二加法器用于根据第一非门和第二非门生成的信号进一步生成插值信号。该插值模块能够根据需要产生的波形生成合适数量和数值的插值信号,进而可以根据插值信号和数据信号共同产生波形,实现提升波形精度的效果。
27.双端口静态随机存取存储器的第二端口与数模转换模块之间依次电性连接有第二缓冲器和第三缓冲器,第一非门与第三缓冲器电性连接。
28.第二非门通过第四锁存器与第二加法器电性连接、通过第五锁存器与第一加法器电性连接,第四锁存器和第五锁存器均与第二缓冲器电性连接。第一加法器和第二加法器共同电性连接有第四缓冲器,第四缓冲器与数模转换模块电性连接,第四缓冲器还与分频器电性连接。各缓冲器用于暂时存储上一级器件产生的数据。
29.基于上述高精度波形产生系统,本发明还提供一种高精度波形产生方法,基于上述的一种高精度波形产生系统,其特征在于,方法包括s1至s8。
30.s1、部署系统。部署系统时,双端口静态随机存取存储器的数据总线位数为m、地址总线位数为k,满足条件2k≥n,n为波形每个周期内数据信号的数量,并且需要选择合适型号的微控制器。
31.s2、微控制器生成数据信号,并且将数据信号发送至双端口静态随机存取存储器中。s2的具体方法包括s21至s23。
32.s21、微控制器通过第三锁存器向双端口静态随机存取存储器的第一端口发出地址信号。
33.s22、微控制器通过第二锁存器向双端口静态随机存取存储器的第一端口发出已经计算好的数据信号。
34.s23、微控制器通过第一锁存器向双端口静态随机存取存储器的第一端口发出片选信号和写信号,将数据信号写入到双端口静态随机存取存储器中。
35.s24、重复执行s21至s23,直到所有数据信号均写入到双端口静态随机存取存储器中。
36.s3、微控制器控制分频器生成分频信号,分频信号为方波,并且将分频信号发送至第一非门和第二非门,第一非门和第二非门分别生成与分频信号反相的方波信号,第一非门输出信号作为计数器的时钟脉信号,计数器的输出信号作为双端口静态随机存取存储器第二端口的地址信号,分频器输出信号和第二非门输出信号分别作为第五锁存器和第四锁存器的锁存信号。具体地说,分频信号是一个方波信号,周期等于需要产生的波形数据点周期的2倍,可以将分频信号的信号点记为a点,将第一非门和第二非门产生的信号的信号点分别记为b点和c点,则b点和c点的波形相同,并且均与a点反相。
37.s4、双端口静态随机存取存储器通过第二缓冲器将相邻的两个数据信号均发送至第四锁存器和第五锁存器中锁存。
38.s5、第四锁存器和第五锁存器均将锁存的数据信号发送至第一加法器和第二加法
器,第一加法器和第二加法器分别将两个数据信号的低4位和高4位相加得到和值信号。
39.s6、将第一加法器和第二加法器输出的和值信号进行处理得到插值信号,插值信号等于和值信号的二分之一。
40.s7、插值信号通过第四缓冲器输出至数模转换模块。
41.s8、数模转换模块基于数据信号和插值信号输出模拟波形。
42.在本发明一个具体的实施方式中,微控制器设置为8位微控制器at89s52,各缓冲器均设置为8位的74ls245缓冲器,各锁存器均设置为8位的64ls373锁存器,sram的型号设置为idt7130,计数器采用8位的74ls590计数器,分频器采用8253可编程定时器,两个加法器均采用74ls283加法器。在此基础上,波形周期设置为2560us,每个周期包含256点,并已通过实验或计算得到了每一点的数值,则每隔10us有1个数据点,由于需要插值,则每隔5us输出1个数据点。如图3所示,其中,就在两个用
×
表示的数据点之间插入一个用。表示的数据点,从而提高了一个周期内数据点的个数,也就提高了波形的精度。
43.具体的波形生成方法如下所示。
44.步骤1、使用双端口sram的低8根地址线,其余地址线下拉到地。
45.步骤2、微控制器通过8位第三锁存器向双端口sram的第一端口发出地址信号。
46.步骤3、微控制器通过8位第二锁存器向双端口sram的第一端口发出已计算的数据信号,该数据代表了数字包络线波形的幅值大小。
47.步骤4、微控制器通过8位第一锁存器向双端口sram的第一端口发出片选信号和写信号,将数字包络线波形的幅值写入sram。
48.步骤5、重复步骤2、3和4,将数字波形所有点的幅值写入双端口sram。
49.步骤6、双端口sram第二端口的8位地址线连接8位二进制计数器74ls590的8位计数输出。双端口sram第二端口的8位数据线连接8位第二缓冲器,进而连接8位第三缓冲器、最后连接8位d/a转换器输出模拟波形。
50.步骤7、采用1mhz时钟芯片,微控制器通过8位第一锁存器控制可编程定时器8253工作于10分频状态,产生的分频信号是一个方波信号,周期为10us,该信号点称为a点。该信号经过非门1和非门2得到信号b点和c点。b点和c点波形相同,a点波形与b点和c点波形反相,a点、b点和c点波形如图3所示。
51.步骤8、b点波形连接到8位二进制计数器74ls590的时钟信号,同时连接8位第三缓冲器的输出使能信号/oe。
52.步骤9、a点连接到8位第五锁存器的锁存使能引脚le,c点连接到8位第四锁存器的锁存使能引脚le。8位第四锁存器和8位第五锁存器分别利用c点和a点波形的下降沿锁存来自双端口sram两个相邻的数据点。
53.步骤10、8位第四锁存器的低4位和8位第五锁存器的低4位分别连接到二进制四位第一加法器的加数引脚a1~a4和被加数引脚b1~b4。8位第四锁存器的高4位和8位第五锁存器的高4位分别连接到二进制四位第二加法器的加数引脚a1~a4和被加数引脚b1~b4,从而实现双端口sram两个相邻的数据点的相加。
54.步骤11、二进制四位第一加法器的输出引脚σ2~σ4连接到8位第四缓冲器的8位数据输入端的低3位d0~d2。二进制四位第一加法器的进位引脚c4连接到二进制四位第二加法器的进位引脚,实现两个二进制四位加法器的级联。二进制四位第二加法器的输出引
脚σ1~σ4和进位引脚c4连接到8位第四缓冲器的8位数据输入端的3位d3~d7。通过将加法器的最低位抛弃,而将进位位作为最高位,也就是将8位二进制数据右移了1位,从而使8位第四缓冲器的输出数据为加法器输出数据的1/2。可见,8位第四缓冲器的输出数据是双端口sram两个相邻的数据点的相加值的1/2,也就是需要插值的数据。而a点波形连接到8位第四缓冲器的输出使能信号/oe,也就是a点波形为0时,8位第四缓冲器打开输出数据。
55.下面以图3和图4来说明实现波形数据插值的过程,此时图3和图4中的n=256。
56.步骤12、8位第三缓冲器的数据d0~d7引脚连接下拉电阻,以便没有数据输出时,d0~d7引脚为0,从而使第三缓冲器输出为0,经过d/a转换器后波形输出为0。
57.步骤13、通过第一锁存器发出8位二进制计数器74ls590和8位d/a转换器的复位信号,将即计数器和d/a转换器的输出复位为0。
58.步骤14、在t1时刻,通过第一锁存器同时发出可编程定时器8253、8位二进制计数器74ls590、sram第二端口片选信号、8位第二缓冲器输出使能信号、以及sram第二端口读信号。
59.步骤15、8位二进制计数器开始从0计数,其输出作为双端口sram的第二端口8位地址。在第一个时钟周期,由于8位二进制计数器74ls590的计数时钟是b点波形,而二进制计数器74ls590是上升沿计数,所以在时钟周期1的b点波形上升沿到来前,也就是c1时刻之前,其输出的8位数据d0~d7为恒为0,也就是sram第二端口的地址为0。此时b点波形也连接到了8位第三缓冲器,使其输出使能信号/oe=0,故双端口sram地址0处的数据经8位第二缓冲器、8位第三缓冲器、8位d/a转换器输出。
60.步骤16、由于a点波形连接到8位第五锁存器的锁存使能引脚le,同时c点波形连接到8位第四锁存器的锁存使能引脚le。故还是第一个时钟周期,在t1时刻的下降沿,8位第四锁存器锁存了双端口sram地址0处的数据。而在c1时刻,8位二进制计数器74ls590在b点波形的上升沿计数,其输出的8位数据d0~d7为1,则8位锁存器锁5存了双端口sram地址1处的数据。
61.此时,经过上述的二进制第一加法器和二进制第二加法器,8位第四缓冲器输入端已经是双端口sram地址0和地址1处数据的相加值的1/2。
62.步骤17、在c1时刻之后,直到t2时刻,8位第三缓冲器的输出使能信号/oe=1而被关闭,而8位第四缓冲器的输出使能信号/oe=0而被打开,从而将双端口sram地址0和1处数据相加的1/2输出到8位d/a转换器,也就是插入了一个输出数据。
63.步骤18、同理,在时间t2~c2之间,8位第三缓冲器输出了双端口sram地址1处的数据。同时,在t2时刻,8位第四锁存器锁存双端口sram地址1处的数据。在c2时刻,8位第五锁存器锁存双端口sram地址2处的数据。在时间c2~t2之间,二进制第一加法器和、二进制第二加法器、以及8位第四缓冲器实现了双端口sram地址1处的数据和地址2处数据相加值的1/2经由8位第四缓冲器输出,进一步经8位d/a转换器转换成模拟量。
64.步骤19、重复步骤15、16、17、和18,从而输出所需波形的其余数据点。
65.步骤20、当计数完毕时,二进制计数器74ls590从0开始计数,重复输出波形的下一个周期。当然,也可以利用计数器的计数满溢出信号关闭8位第三缓冲器和8位第四缓冲器,从而仅输出一个波形周期。
66.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种高精度波形产生系统,其特征在于,包括:微控制器,用于生成多个按序排列的数据信号,数据信号用于表征数字包络线波形的幅值;存储模块,用于存储数据信号;插值模块,用于根据数据信号生成多个插值信号,插值信号为相邻两个数据信号的均值;数模转换模块,用于根据数据信号和插值信号输出模拟波形。2.如权利要求1所述的一种高精度波形产生系统,其特征在于,存储模块包括双端口静态随机存取存储器,微控制器电性连接有第一锁存器、第二锁存器和第三锁存器,其中第一锁存器与双端口静态随机存取存储器的第一端口和第二端口均电性连接,第二锁存器与双端口静态随机存取存储器的第一端口电性连接,第三锁存器与双端口静态随机存取存储器的第一端口电性连接。3.如权利要求2所述的一种高精度波形产生系统,其特征在于,插值模块包括分频器,分频器与第一锁存器和第三锁存器电性连接,分频器还电性连接有第一非门和第二非门,第一非门与数模转换模块电性连接,并且第一非门还电性连接有计数器,计数器与双端口静态随机存取存储器的第二端口电性连接,第二非门电性连接有级联设置的第一加法器和第二加法器,第一加法器和第二加法器均与数模转换模块电性连接。4.如权利要求3所述的一种高精度波形产生系统,其特征在于,双端口静态随机存取存储器的第二端口与数模转换模块之间依次电性连接有第二缓冲器和第三缓冲器,第一非门与第三缓冲器电性连接。5.如权利要求4所述的一种高精度波形产生系统,其特征在于,第二非门通过第四锁存器与第二加法器电性连接、通过第五锁存器与第一加法器电性连接,第四锁存器和第五锁存器均与第二缓冲器电性连接。6.如权利要求5所述的一种高精度波形产生系统,其特征在于,第一加法器和第二加法器共同电性连接有第四缓冲器,第四缓冲器与数模转换模块电性连接,第四缓冲器还与分频器电性连接。7.一种高精度波形产生方法,基于如权利要求6所述的一种高精度波形产生系统,其特征在于,方法包括如下步骤:s1、部署系统;s2、微控制器生成数据信号,并且将数据信号发送至双端口静态随机存取存储器中;s3、微控制器控制分频器生成分频信号,分频信号为方波,并且将分频信号发送至第一非门和第二非门,第一非门和第二非门分别生成与分频信号反相的方波信号,第一非门输出信号作为计数器的时钟脉信号,计数器的输出信号作为双端口静态随机存取存储器第二端口的地址信号,分频器输出信号和第二非门输出信号分别作为第五锁存器和第四锁存器的锁存信号;s4、双端口静态随机存取存储器通过第二缓冲器将相邻的两个数据信号分别发送至第四锁存器和第五锁存器中锁存;s5、第四锁存器和第五锁存器均将锁存的数据信号发送至第一加法器和第二加法器,第一加法器和第二加法器分别将两个数据信号的低4位和高4位相加得到和值信号;
s6、将第一加法器和第二加法器输出的和值信号进行处理得到插值信号,插值信号等于和值信号的二分之一;s7、插值信号通过第四缓冲器输出至数模转换模块;s8、数模转换模块基于数据信号和插值信号输出模拟波形。8.如权利要求7所述的方法,其特征在于,s1中,部署系统时,双端口静态随机存取存储器的数据总线位数为m、地址总线位数为k,满足条件2
k
≥n,n为波形每个周期内数据信号的数量。9.如权利要求7所述的方法,其特征在于,s2的具体方法包括:s21、微控制器通过第三锁存器向双端口静态随机存取存储器的第一端口发出地址信号;s22、微控制器通过第二锁存器向双端口静态随机存取存储器的第一端口发出已经计算好的数据信号;s23、微控制器通过第一锁存器向双端口静态随机存取存储器的第一端口发出片选信号和写信号,将数据信号写入到双端口静态随机存取存储器中;s24、重复执行s21至s23,直到所有数据信号均写入到双端口静态随机存取存储器中。

技术总结
一种高精度波形产生系统,包括:微控制器,用于生成多个按序排列的数据信号,数据信号用于表征数字包络线波形的幅值;存储模块,用于存储数据信号;插值模块,用于根据数据信号生成多个插值信号,插值信号为相邻两个数据信号的均值;数模转换模块,用于根据数据信号和插值信号输出模拟波形。本发明提供一种高精度波形产生系统及方法,通过插值的方式提高波形数据点的数量,进而提高波形精度。进而提高波形精度。进而提高波形精度。


技术研发人员:张海涛
受保护的技术使用者:河南科技大学
技术研发日:2023.04.14
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐