打印本文 关闭窗口 | ||||
基于FPGA的李沙育图形在手持式示波表中实现来源于瑞达科技网 | ||||
作者:佚名 文章来源:不详 点击数 更新时间:2011/12/29 文章录入:瑞达 责任编辑:瑞达科技 | ||||
|
||||
1.引言 示波器测量频率和相位的方法很多, “李沙育图形法”就是其中用得最多的一种。“李沙育图形法”又称波形合成法,就是将被测频率的信号和频率已知的标准信号分别加至示波器的Y轴输入端和x轴输入端,在示波器显示屏上将出现一个合成图形,这个图形就是李沙育图形。李沙育图形随两个输入信号的频率、相位、幅度不同,所呈现的波形也不同。 早期的模拟示波器显示李沙育图形的原理是将电信号转换为光信号,核心部分是阴极射线示波管(CRT)。将输入信号加到示波管内部的偏转系统,高速电子经聚焦、加速和偏转后,打到荧光屏上形成亮点,实现李沙育图形。李沙育图形在数字示波器上显示与在模拟示波器上显示完全不同,输入的两路信号,经采样后变为数字信号,利用CPU做一次算法,通过运算后的数字信号映射到液晶屏上后形成了对应的李沙育图形,此种显示方法也能达到模拟示波器的效果。 该设计应用于手持式数字示波表,主要部分由高速ADC、FPGA、ARM 7和TFT_LCD组成,由于成本原因,选用低速处理器ARM7,其主频低于50MHz,如果采用常规设计方法,达不到模拟示波器相同的显示效果。利用FPGA来实现李沙育图形是该设计的关键所在。 2.FPGA设计原理 由FPGA完成李沙育图形,核心在于利用FPGA的内部数字逻辑单元实现数据的运算与存储。该系统主要由高速数据采集模块、可编程逻辑器件FPGA、微处理器和液晶显示模块等四部分组成,其中显示模块由液晶屏和一块低成本的CPLD组成。当两路信号分别接至A、B通道的输入端,经衰减、放大后输入到数据采集模块进行采样。由ADC采样回来的信号直接送到FPGA,此时数据并不是马上存储到FPGA的内部RAM模块里面,而是先做一次算法处理,此算法的功能就是利应两路信号的数值大小,计算出在液晶屏上的对应的被点亮的像素点的位置,而屏幕上不同的位置又对应不同的地址,此地址作为FPGA内部RAM的地址,用来存储对应的像素点是否点亮的信息,因此实际上RAM内部存储的数据就是一幅李沙育图形。此数据为二进制数据,都由逻辑信号0、1组成,0对应该像素点不被点亮,1则表示点亮。ARM读取这些数据时,RAM屏蔽写使能,只有当ARM把所有的数据读完后,RAM才被重新写使能。可以看到,在ARM读取数据的期间,从A、B两通道输进来的信号仍然在往FPGA里面传送,为了保证数据不丢失,该设计采用了两块大小相同的RAM的乒乓工作模式,即ARM在读取RAM1的数据时,RAM2用来存储输入进来的数据,当读完RAM1的数据后,ARM转到读RAM2的数据,而由RAM1来存储输入进来的数据。 3.李沙育图形在FPGA内部的实现 3.1 FPGA内部算法 x=A lsin(ω1t+ψ1) (1) Y=A 2sin(ω2t+ψ2) (2) ADD=Y×1 6+X/1 6 (3) DATA=X%16(4) 3.2 RAM工作状态和设计实现
|