本次北京市电赛要求利用示波器原理设计一个乒乓球游戏机,但是所提供的器件中并没有DA,而是使用低通放大+脉宽调制的方式来充当DA的作用。赛前组委会透露说芯片只提供一个LM324运放,这大大的迷惑了我们……没有了AD/DA,意味着很多的题都不可能出,以至于我们认为只可能在测频这么一块里面做文章,题目发下来的时候,傻了……好比张辽被秒——“真没想到……”<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
题目要求:构造两组无源低通滤波器,使得FPGA可以用脉宽调制方式控制球的位置。
脉宽调制,即利用调节矩形波的占空比来控制信号。通俗的说,矩形波占空比越大,能量越高,通过低通滤波后所成的直流信号的幅度就越大。根据这样一个原理,当我们使用FPGA控制输出脉冲的占空比变化时,低通滤波后的模拟信号幅度也随之而变化,也就相当于使用DAC后的模拟输出了。
以竞赛题目为例:
由FPGA输出两路频率固定占空比可调的矩形脉冲,通过低通放大(此处到底是先低通后放大还是先放大后低通并没有太大的关系,提供给的运放是LM324,廉价的四路运放,增益带宽积1MHz,开环直流增益100dB,较为适合低电压场合,音频场合也同样适用。考虑到FPGA输出为3.3V,选择先低通滤波,后直流放大。)输出模拟的直流信号,接入示波器X/Y模式显示。
根据所给器件,选用20k电阻和0.1u电容构成一阶RC无源低通滤波器(此处用两阶乃至更高也行,个人认为不是很有必要,因为低通滤波在这里并不是要一个多窄的过渡带,只需要把脉冲滤成直流信号即可,比赛时间有限,为确保更低的错误率,我们就选用了一阶的RC),大致测量后,发现脉冲频率大概在15k~20k时性能最好。需要注意的是整个题目中有多个频率参数:1、脉冲的频率;2、脉冲占空比的变化频率;3、时钟周期。由于涉及示波器显示,需要考虑人眼视觉暂留时间来设定占空比变化的频率,根据前面滤波器的特性来设定输出脉冲的频率,而这两者频率在FPGA内部设计时都是根据时钟频率变换而来。
以下简单总结下FPGA内部程序设计的结构:
首先,设计一个占空比可调的17kHz的脉冲发生器。即用计数器来控制频率17k,而输入的占空比控制信号来控制跳变沿的产生时间。
其次,根据X,Y两路信号不同的要求,分别设计两路信号的占空比控制模块。X为扫描信号,Y为显示波形。两者可利用DDS原理,将Y的波形数据存于ROM波表中,X即为波表的地址。
最后,根据题目其它要求设计其它显示、控制模块。
文章评论(0条评论)
登录后参与讨论