基于ARM(LPC2138)嵌入式系统的多功能数字信号发生(7)
时间:2025-04-19
时间:2025-04-19
本设计采用数值计算合成和D/A转换模块来完成,可产生输出频率及幅度可调,频率范围为1HZ~50KHZ的正弦波、方波、三角波及其复合波信号,具有信号频率、波形、幅度变化容易,硬件简单可靠等特点
3.3 各个功能块的实现原理及分析 3.3.1 正弦波的产生
本设计中信号的产生直接用LPC2138芯片上集成的D/A转换器和软件的结合来生成。波形的信号数据采用了函数计算的方法来取得:
[7]
Y=sin(N) (3-1)
其中,N表示所要取得的点数的多少。在设计中我选择N=1024,即一个完整的基本的正弦信号有1024个数据信号点组成。
将数据存储到控制芯片LPC2138的RAM当中,根据所要的频率来取得信号数据的多少,点数多少的计算如下:
[7]
N=T/2t (3-2)
其中,N表示点数,T表示所要产生的波形信号的周期,t表示定时器的时间长短. 从RAM中 取得点数的间隔为:
M=1023/N[8] (3-3)
其中M表示在RAM中的表格取得点数的间隔.根据不同的间隔的大小决定产生一个完整的波形信号所要的数据多少不同.
设计中要求信号的最高产生的频率为50KHZ, 根据奈奎斯特定理,采样的频率最少要为所要信号的频率的两倍,但是为了更好的保证信号的完整输出,我们至少要让它采样10个点才能输出完整波形,就要求采样的频率为他的10倍即500KHZ,采样时间的大小为2us,这刚好满足了LPC2138控制芯片上的集成D/A转换器最高转换时间为1us的限制。
3.3.2 三角波的产生
在设计中,三角波的产生就直接利用定时器定时时间的长短来控制信号数据的输出,信号数据从
[9]
一个较低(或高)的位置开始按照一定的规律步进,当其达到一个高度时再按照相同的步进下降到原来的数据大小,如此反复的输出就构成了三角波模拟信号的输出。
3.3.3 方波的产生
在设计中,方波的产生由大小不同的两个信号数据交替输出形成,每个信号数据输出的时间长短根据所要点信号频率来决定。
3.3.4 复合波形的产生
复合波形由正弦波、方波和三角波合成。
V∑(wt)=A*Vsin(wt)+B*Vpul(wt)+C*Vtri(wt) (3-4)
其中:V∑(wt)为复合波形函数,Vsin(wt) 为正弦,Vpul(wt)为方波, Vtri(wt)三角波,A、B、C为他们在复合波形中所占的比率系数,只要改变三个比例系数就可以得到不同的复合波形。
根据波形合成的知识,要使多个波形合成必须保证子波形的频率是一致的,因此,设计时三种波形的组成信号数据的多少是一样的,这样在定时时间一样的情况下就保证了三个波形的频率是一样的。
[10]
3.3.5 幅度的控制
在设计中,为了能使波形在示波器中显示,这样就要设定好波形的幅度,在设计时我把波形的幅度控制在1024之内,才能很好的显示波形。同时为了改变幅度的大小,我设置了一个参数直接与所取得的信号数据相乘,这就改变了信号数据的大小,也就使得D/A转换时的数据大小产生变化,从而体现在输出的信号波形在幅度上发生改变。
3.3.6 频率的控制
在输出的信号数据的时间间隔一定时,当产生一个完整波形时所需要的点数发生变化时信号的周期就发生变化,这样它的频率就相应的变化。因此,在设计中, 通过固定定时器的定时长短,改变波形数据的点数多少就改变了信号的频率。
3.3.7 滤波器设计
由于我所设计的信号源的输出频率还不是很高,所以可以用简单的低通滤波器就可以完成滤波的功能,因此我选择使用RC低通滤波器。参数为:R=100欧姆,C=0.1UF。
具体结构如下:
上一篇:皇帝养成计划2丹药配方