频率特性测试仪又称为扫频仪,或频率响应分析仪,它利用矩形具有内刻度的示波管作为显示器,来直接显示被测电路的幅频特性曲线。但由于示波管的使用,使得整个仪器在外形上显得庞大,笨重,如BT-3GII型的扫频仪重量达到10kg,不方便移动式测量。为此,本设计针对其显示部分,将示波管用LCD代替。适用于便携式仪器仪表中。
硬件设计
本设计所选的液晶显示器是深圳天马微电子公司的TM320240 EFG,它是一款内藏SED1335控制器的点阵式图形液晶显示模块。LCD控制器选用的是EPSON公司的SED1335,内部拥有一个160种5×7点阵字符的字符发生器,能分区管理64K的显示存储器,并同时能管理自定义字符发生器 。模块TM320240EFG的对外接口实质上就是控制器SED1335与MCU的接口。在单片机的选型上,考虑到系统功能与电路的简洁,采用Atmel 公司推出的AVR单片机AT90S8535,内嵌8路10位ADC,可直接输入模拟电压信号。
AT90S8535与TM320240EFG接口采用间接访问方式进行连接。单片机通过控制SED1335完成对图形液晶模块的控制。所谓间接访问方式,就是把TM320240EFG作为终端接在AT90S8535的某个并行I/O接口上,AT90S8535通过对该I/O接口的操作,间接地实现对TM320240EFG的控制。间接访问方式的接口电路与时序无关。
在电路中,AT90S8535使用8位并行PC口作为数据线与模块的数据线DB0~DB7连接,另外还需要一个3位并行接口作为时序控制信号线/RD,/WR和A0。把PB口中的PB0作为写信号接至TM320240 EFG的写控制信号/WR上;PD口中的PD3作为读信号接至TM320240EFG的读控制信号/RD上;PD4作为数据类型选择信号与模块的A0连接。由于这些并行接口在MCU系统中有自己的专用地址,所以TM320240EFG的片选信号 /CS可以不使用,直接接地选通。液晶驱动电源VEE取值为-20V,利用单片DC-DC转换器MC34063从逻辑电源转换生成负电源。电路中LCD电源控制端V0用来调节显示屏灰度,电位器R3作为调节液晶显示对比度使用。
ADC的0通道输入经过检波后的采样信号,带宽为10KHz ,经RC滤波去除交流分量。5.1V稳压管起保护作用,高于5.1V的输入信号被限幅在5.1V之内。该输入波形的X轴方向扫描频率为50Hz,周期为20ms,12ms工作期,8ms消隐期。外部中断管脚INT0输入50Hz的方波,作为同步脉冲。MCU的晶振选为6M。
屏幕规划
该液晶屏为320×240点阵,将坐标原点(0,0)定在整个液晶屏的左上角,向右为X坐标,向下为Y坐标。为美观起见,四周边框留出空白区域,实际显示曲线的区域为X方向从第24点到264点,共240个点距,30字节;Y方向从第16点到208点,共192个点距, 24字节。为方便观测,在显示区内绘制坐标轴,用虚线等间距地将横向分作10小格,竖向分作8小格。
在进行图形显示时,起初我们采用的是单层显示方法,但由于要求实时显示,必须考虑屏幕的刷新问题。由于此液晶屏属多点阵,刷新满屏需花费很长一段时间,刷新完后还要在屏幕上重新绘制出坐标轴,增加了MCU的操作负担,而且频繁的满屏刷新还会引起屏幕的闪烁现象发生。因此采取的解决方法为:显示时分作两层显示,第一层为文本属性,第二层为图形属性。将不需刷新的坐标轴、汉字显示在文本层,首地址$0000。将实时动态更新的幅频特性曲线显示在图形层,首地址$1000,并通过两层的逻辑“或”操作进行合成显示,以达到图文并茂的显示效果。这样,在刷新时,文本层上的坐标轴和汉字可以保持不变,所需刷新的仅为图形层上的曲线。实际测试结果表明,分层显示的设计思路是正确的。
软件设计
绘制曲线在软件设计上关键是画点和消点的程序。
ADC采用单次转换模式,总的转换周期数为14,总的转换时间70~280ms,预分频器的分频因子选为32,故ADC时钟频率为6M/32=187.5KHz。所以每一次的转换时间是14/187.5K=74.666ms,此ADC转换时间是在6M的晶体振荡频率下最快的采样时间。若选小于32的分频因子,则总的转换时间太快,将小于70ms,不能实现。考虑到实际需要,ADC转换时间越快越适宜,故不采用64以上分频。
用ox来记录X方向字节数,初始值为$00,随点的右移从1到30递增。当ox=30时,说明X方向已到达有效显示区的尾部。code记录点在字节中所处位置,画奇数点时code从$80开始右移,画偶数点时code从$40开始右移,每次移动2位,移完一字节后,ox加1。
ADC能转换的最大量程电压是电路基准电压Vref的值,这里调节的是4V。1V占48个点距。某一时刻,输入信号Z V(Z≤4),则其在屏幕上Y向的位置是208-Z×48。MCU内嵌的ADC为10位精度,采样结果转化成点的高度的计算表达式为:208-(AD值)×(4/1024)×48=208-(AD值)×3/16
|