简易频率特性测试仪(7)

2019-08-31 16:31

5.1.3 FPGA和SOPC控制方案介绍

FPGA技术作为一种新兴技术,近几年发展很快。作为一种通用逻辑器件,开发者可以使用硬件描述语言Verilog或VHDL来实现电路的设计。使用FPGA最大的优势是可以进行并行处理,在FPGA内部,众多功能模块可以同时执行而不相互干扰。同时,规模较大的FPGA还可嵌入软核处理器,如8051、NIOS II等等,通过软核与硬件逻辑的配合,可以弥补FPGA在控制方面的不足。

本设计的控制系统正是采用FPGA硬件逻辑与软核处理器配合使用的方式,实现了对整机的高速高效的控制。该系统不仅能实现对系统各模块的高效控制,还能驱动TFT彩屏显示出友好的人机界面,为使用者提供方便,同时,也是最为重要的一点,基于FPGA的控制结构决定了该系统拥有非常好可升级性,这是采用单片机和DSP方式所无法企及的。

5.2 控制系统功能介绍

本设计采用FPGA硬件逻辑与嵌入式软核处理器软件控制相结合的方式来对整个系统进行高效的控制[30][31],图(5.1)为控制系统设计框图。

FPGA (EP2C20F256C8)NIOS II处理器及可配置外设系统定时器IPPIO IP红外解码模块红外接收电路PIO IPNIOS II处理器PIO IPSPI IP320*240彩色液晶显示屏TLV2544模数转换器64Mbit SDRAM基于AD9854的DDS扫频信号源DDS接口IP硬件乘法、除法IP图5.1 控制系统原理框图

SDRAM控制器

5.2.1 系统人机交互设计

作为一个科学测量仪器,要实现高效的测量,友好的人际交互界面必不可少。早期的频率特性测试仪多采用阴极射线管作为显示器件,此种方式能显示数据信息有限。且需要辅以手动调节,操作性差。本设计为了实现友好的人机界面显示,采用16位色TFT液晶屏作为显示器件,可同时显示被测系统的幅频特性曲线和相频特性曲线,并可直接显示出系统的中心频率或-3dB带宽处的频率。

25

目前的TFT液晶主要有2种驱动方式:并/串口驱动模式和同步刷新模式。并/串口方式主要用于对图像显示动态性能要求不高的环境,如静态文字显示、图片显示。同步刷新模式主要用于显示动态内容,该模式最常见应用为电脑的VGA显示器。该模式需要一路场同步信号、一路行同步信号和3路色彩信号。在VGA显示器应用中,3路色彩信号为模拟量,在TFT屏中,则为6位或8位的数字量。本设计中,由于频率特性曲线的测试花费的时间较长,因此对显示数据更新速率要求不高,故本设计采用16位I80并口总线驱动方式来驱动液晶屏,显示屏选用可同时支持并/串口驱动模式和同步刷新模式的ILI9325控制器方案。使系统具备一定的动态图像显示能力,方便后期系统升级。在控制系统内部,采用通用输入输出外设(PIO)模拟16位I80总线,在不影响对液晶屏读写速度的前提下简化了控制系统的设计。

在使用过程中,使用者还需要根据实际情况来输入不同的参数,以控制系统按照指定的测量要求来进行测量,因此人机交互中另一个非常重要的模块则为信息输入模块。本系统采用红外遥控实现对系统的人为控制。相比于红外遥控,采用矩阵按键会占用系统较多的IO口资源,而电阻式触摸屏作为一种玻璃制品,在受到力的作用下容易破碎,因此不适合户外使用。而红外遥控作为一种非接触式控制方式,拥有电路简单,控制稳定,且不易损坏的优点,因此非常在恶劣的环境下使用。在本系统中,通过在FPGA内部设计专用红外遥控解码电路,并采用PIO口与NIOS II处理器进行对接,用最小的软件资源占用实现了高效的信息输入。

5.2.2 模数转换电路设计

为了对I、Q信号进行采样,系统使用了一片基于SPI接口的12位高速模数转换器TLV2544。通过在CPU中加入Altera公司提供的SPI总线IP核,实现了对TLV2544高效精准控制。

由第2.2.4节对零中频解调电路原理的分析可知,零中频解调电路最终输出信号为直流信号,因此可使用采样速率较低的ADC来进行采样。ADC采样速率的要求只与扫频测量中频率变化时间有关。为了保证在扫频过程中能对每一个频点进行准确的测量,ADC采样一次所花费时间必须小于扫频过程中频率变化的时间间隔。本设计测量范围为1MHz至40MHz,扫频步进最小为100KHz,则完成一次扫频至少需要进行390次模数转换。若设定完成一次扫频花费最短时间为1秒,则需要ADC的转换速率不低于390/s即可。为了充分保证采样到数据的准确性,必须对采集的数据进行一定的滤波。因此,必须使实际ADC采样速率高于最低要求。本设计中使用的模数转换器TLV2544拥有3.6us的转换速度,其最高转换速率为200KSPS,输入信号带宽高达500KHz,拥有4路输入通道,因此采用一片该芯片即可完成对所有信号的采集。

26

5.3 控制系统结构设计

在本设计中,采用FPGA硬件逻辑与嵌入式软核处理器软件控制相结合的方式来实现对系统所有功能电路的控制。其中,FPGA硬件逻辑主要实现红外遥控的解码工作,NIOS II处理器则实现了TFT彩屏驱动、模数转换器控制、扫频信号源控制、相位和幅度的算法实现功能。 5.3.1 红外解码电路设计

在本设计中,红外解码电路主要实现红外遥控发送数据的解码工作[32],该模块符号模型如图(5.2)所示,其中,clk为模块工作时钟,默认为50MHz,rst_n为模块复位信号,与全局信号相连,IR为红外编码信号,与红外接收端信号脚相连,key_db[7..0]为8位键值总线,当一次解码完成,此次解码所得到的指令便会锁存到此总线上。Key_int引脚为中断引脚,当一次解码完成后,该引脚上会有一个从高到低的跳变信号,该信号则可作为NIOS II处理器的中断信号。当NIOS II处理器接收到此中断后,便可读取key_db[7..0]上的键值。通过此种中断的方式,可以将此模块与NIOS II处理器连接起来,且只占用处理器非常少的资源,就可实现对红外遥控的高速反应。clk_test作为测试时钟,频率与系统对外部红外信号电平的采样频率一致,该时钟主要用于系统调试。

图5.2 红外解码模块符号模型

在红外遥控系统中,遥控发射部分采用基于NEC公司制定的红外遥控协议的红外遥控器,接收端采用1838一体式高灵敏接收头。在altera公司的EP2C20F256C8芯片上对该设计模块进行验证,并采用Quartus II软件中自带的嵌入式逻辑分析仪Signaltap II Logic Analyzer对模块的输入待解码信号和输出信号进行了抓取分析,验证了该模块设计的正确性,图(5.3)为Signaltap II Logic Analyzer对解码模块输入输出信号的分析得到的实际波形。

27

图5.3 红外解码模块端口信号波形实测图

由图(5.3)可见,当红外接收头没有接收到红外遥控发送的信号时,红外信号输入端IR_in为高电平,此时,key_int为低电平,key_db为上一次解码得到的红外遥控发送的命令,当解码模块接收到正确的同步码以后,key_int引脚被拉高,表明正在进行解码工作。当解码完成后,key_db上的数据更新为本次解码得到的数据,key_int引脚由高变低,表明解码已经完成。

红外解码模块与NIOS II处理器通过PIO外设连接,key_int通过一个带输入中断功能的PIO口与NIOS II处理器连接,PIO中断触发方式设置为下降沿触发。Key_db通过通用输入PIO口与NIOS II处理器连接,该PIO口位宽设定为8位,因此,当key_int中断到来时,NIOS II处理器只需要读取key_db上的值即可获取红外遥控发送的指令。通过中断方式,大大减轻了处理器的负担,且提

12高了处理器对外部控制命令的响应速度,而这些优势,是触摸屏方式不具备的。 35.3.2 TLV2544型ADC驱动模块设计 在本设计中ADC起到对I、Q信号的采样功能,只有准确的数据采样才能A保证系统测量结果的准确性,因此,ADC的驱动设计至关重要,为了能够实现对ADC高效精准的控制,本设计采用在NIOS II处理器上外挂SPI主机接口的方式来对TLV2544进行操作。采用此种方式,既可以提高系统的工作速度,又U2116SDOCS能保证系统对ADC的灵活控制,从而使得测量结果真实可靠。关于QSYS1uF0.1uF215SDIREFPFPGA控制接口1234567CSSDOSDISCLEOCCSTARTC3C4(SOPCbuilder)中CPU的详细配置过程此处就不做过多介绍,通过使用QSYSVCC提供的标准SPI接口,在软件设计时,只需要调用NIOS II集成开发环境中提供Q的库函数,即可实现对ADC的完全控制。图(5.4)为TLV2544GND与NIOS II处理TLV2544BIVCC345678SCLKREFMEOCFSVCCPWDNA0GNDA1CSTARTA2A314131211109器连接示意图。 GNDSPI_MOSISPI_MISOSPI_CLKSPI_CSMISOMOSICLKCSNIOS II中SPI控制器CTLV2544 图5.4 TLV2544与控制器接口原理 5.3.3 相位、幅度运算模块的设计 由2.2.4节对零中频解调原理的分析可知,通过零中频解调电路,最终待测系统输出信号的幅度和相位分别为: D28 2SI2?SQ2 (5.1) B?A2SI2SQ??arccos()?arcsin(?) (5.2)

ABAB实现以上算法主要有两种实现方式,即FPGA硬件逻辑实现和C语言软件实现。通过对以上两个算式进行结构分析可知,在计算幅度B中,需要进行两次平方运算,一次开方运算,一次除法运算和一次乘法运算[33][34],在计算相位角?的中,需要进行两次乘法运算、一次除法运算和一次反正弦运算,整个运算过程运算复杂度较高,若全部采用FPGA硬件逻辑实现,则势必耗费大量的FPGA逻辑资源,这将使得系统成本剧增。若全部使用C语言软件运算,则会耗费大量的CPU运算时间,使得系统的实时性受到一定的影响。

充分考虑到系统成本以及测量速度的问题,结合频率特性测试仪的工作特点,本设计针对扫频测量过程采用了先采集后计算的策略,即首先按照系统要求的扫频范围、扫频时间、扫频步进进行扫频工作,并采集每一个频点的对应I、Q值,存入缓存中。完成扫频后,再对每一组I、Q数据进行计算,得出每个频点处待测系统输出信号的幅度和相位,然后在液晶显示屏上显示出系统的幅频特性曲线和相频特性曲线。此种方式的优点在于,大量的运算没有穿插在测量过程中,不会影响测量的速度,因此扫频速度可以做到很高。虽然曲线的显示需要在扫频完成后一段时间内才能实现,动态显示效果不佳,但是考虑到频率特性测试仪与示波器应用场合不同,示波器因为需要实时观测信号的波形,尤其是在观察信号毛刺的时候,对数据的动态显示要求极高。而频率特性测试仪不需要实时的观测待测系统的频率特性,只需要能够在规定的时间内完成一次测试即可,对数据显示的动态性要求不高,因此,此种计算和显示方式是完全可行的。

为了尽可能保证处理器的运算速度,在SOPCbulider中建立CPU时,选择了带硬件乘、除法器的增强型CPU,以使处理器拥有较强的数学运算能力。 5.3.4 扫频信号源控制模块的实现

系统对扫频信号源的控制主要实现扫频信号源工作模式,输出信号参数的设定,扫频信号源带有100MHz的高速并行通信接口,而在本设计中,不需要实现如此高的速度。根据扫频时系统工作的流程可知,控制系统控制扫频信号源输出一个指定频率,然后控制系统驱动ADC对此此频点对应的I、Q值进行采样,当ADC采样完成后,才会再次对扫频信号源进行控制。考虑到ADC在对一次I、Q信号进行采样时需要多次采样取平均值以减小偶然误差,因此,对扫频信号源实现一次完整的控制速度实际要求不高于ADC的采样速度。但为了尽量减轻处理器的工作负担,设计中给扫频信号源设计了一个专用的IP核,将控制扫频信号源的数据线和地址线直接连接Avalon总线上的数据总线和地址总线。扫频信

29


简易频率特性测试仪(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:粤教物理八下《6.5. 探究杠杆的平衡条件》[方老师][市一等奖]优

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: