您的位置 首页 国产IC

使用FPGA来完成李沙育图形数据的运算与存储系统规划

利用FPGA来实现李沙育图形数据的运算与存储系统设计-示波器测量频率和相位的方法很多, “李沙育图形法”就是其中用得最多的一种。“李沙育图形法”又称波形合成法,就是将被测频率的信号和频率已知的标准信号分别加至示波器的Y轴输入端和x轴输入端,在示波器显示屏上将出现一个合成图形,这个图形就是李沙育图形。李沙育图形随两个输入信号的频率、相位、幅度不同,所呈现的波形也不同。

1.导言

示波器丈量频率和相位的办法许多, “李沙育图形法”便是其间用得最多的一种。“李沙育图形法”又称波形组成法,便是将被测频率的信号和频率已知的规范信号别离加至示波器的Y轴输入端和x轴输入端,在示波器显现屏大将呈现一个组成图形,这个图形便是李沙育图形。李沙育图形随两个输入信号的频率、相位、起伏不同,所呈现的波形也不同。

前期的模仿示波器显现李沙育图形的原理是将电信号转换为光信号,中心部分是阴极射线示波管(CRT)。将输入信号加到示波管内部的偏转体系,高速电子经聚集、加快和偏转后,打到荧光屏上构成亮点,完结李沙育图形。李沙育图形在数字示波器上显现与在模仿示波器上显现彻底不同,输入的两路信号,经采样后变为数字信号,运用CPU做一次算法,经过运算后的数字信号映射到液晶屏上后构成了对应的李沙育图形,此种显现办法也能到达模仿示波器的作用。

该规划应用于手持式数字示波表,首要部分由高速ADCFPGAARM 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)

由上式可知,李沙育图形实践上是一个质点一起在x轴和Y轴上振荡构成的,其初始相差值△ψ=ψ2一ψ1,频率比为ω2/ω1。为了在屏幕上到达显现的作用,把实践李沙育图形显现区域(256*200)等分为四个象限,水平中心线为X轴,笔直中心线为Y轴。当A、B两通道一起输入进来信号今后,把A通道的数值按由小到大的次序,从左向右摆放,B通道的信号则同理从下向上摆放,一起进来的一组信号一起决议了它们所对应的在屏幕上显现的方位,而方位对应了FPGA内部RAM的地址。其算法可由下面两个公式完结:

ADD=Y×1 6+X/1 6 (3)

DATA=X%16    (4)

在这里ADD表明RAM的地址,DATA表明相应的RAM地址中存储的数据。式(3)中Y值的巨细表明在笔直方向上的方位,因为前面说到过水平宽度为2 56个像素点,刚好对应了1 6个1 6b i t的二进制数据,即屏幕上的一行对应了1 6个地址单元。Y×1 6能够表明成,Y值每加一次,地址添加1 6。X/1 6是一个除法求整数的核算,此核算成果代表了这一行的l 6个地址中,哪个地址单元将被选中,而此地址单元将用来存储它所对应的屏幕上的1 6个像素点的状况信息。式(4)中X 1 6是一个求余数的运算,此运算成果刚好代表了在式(3)推算出来的地址对应的1 6个像素点中,哪个像素点将会被点亮。上面算法是在FPGA内部选用Verilog言语编程完结。

3.2 RAM作业状况和规划完结

当地址和数据都核算出来后就能够将数据写入RAM模块。在本规划中,F P G A内部的作业状况都是受ARM所操控的,因而实践上ARM便是一个调度中心,它操控着整个体系的作业进程。为了确保数据的不丢掉,两块RAM的乒乓作业形式被分成了四个状况(A:RAM 1清零、RAM2写入;B:R AM 1写入、 RAM 2读出;C:RAM 1写入、RAM2清零;D:RAM 1读出、RAM2写入),依据ARM的作业状况,这两块RAM在这四种作业状况中循环改变。其状况流程如图1所示。从流程图能够看到,两块RAM呈现替换的作业状况,使数据不被丢掉,确保了全体的流畅性。

运用FPGA来完结李沙育图形数据的运算与存储体系规划

在实践的规划中还有下面两个要素需求考虑。一是因为ARM的作业速度相关于FPGA来说慢了许多,因而在对RAM进行有用清零的时分,并不是由ARM来完结,而是当ARM读完数据后,由A R M发一条清零状况指令到FPGA,FPGA依据接收到的指令来履行完结的。实践上便是把ARM与FPGA之间的操控大大简化掉,关于ARM只需求在履行完自己的使命后,将相应的状况发给FPGA,而不去关怀FPGA是怎么完结相应使命的;FPGA收到ARM发过来的状况指令后,对指令进行解读,经过解读出来的信息,再履行相关的使命。

另一个问题便是,假定当A R M在读取R A M 1内的数据时,RAM2正在被写入数据,而ARM需求必守时刻才能将一切的数据读完。因为数据还在连绵不断的输入,就会呈现下面的状况:在R A M 2的同一个地址中,之前或许现已写入了一个数据,而此刻又要写入一个新的数据,假如选用直接写入的方法,就会把之前保存下来的数据掩盖掉。为了和谐上述对立,该规划采取了分时操控的作业方法,即数据写入模块将地址发送到RAM时,屏蔽写使能,而将读使能翻开,此刻可将地址中之前存储下来的数据读出,将该数据送回到数据写入模块,与新数据做一次按位或操作运算,运算完毕后再把写使能翻开,将新核算成果写入RAM中。这样既确保了不丢掉旧数据,一起也将新数据保存了下来,完结了李沙育图形的完好性。详细规划结构图如图2所示。

当一幅完好的李沙育图形在FPGA内部“发生”后,剩余显现的作业就由ARM来完结,首要作业包含:图形显现和余辉设置。ARM读取数据的时分,是从第一个地址一向读到最终一个地址,相当于从图形的左下方开端,直到右上方完毕,显现的时分也是这个道理。ARM将地址和数据顺次发给CPLD,CPLD依据对应的地址和数据来驱动液晶屏的显现。

3.3 余辉效应

余辉的规划与完结是经过ARM的软件处理来完结。图形显现区域被模仿成三层堆叠的显现层,在这三层中,各层之间彼此独立,只需有任何一层在显现,屏幕上就能看到图形,余辉便是依据层与层之间的切换时刻来完结的,该切换时刻是经过ARM的内部守时中止发生。如图3所示,每次中止时刻T到来时,ARM会对下一层做清零处理,即同一层被清零的时刻距离则是3T,因而3 T便是余辉时刻,即图象在屏幕上逗留的时刻。ARM经过修正守时时刻T,即可完结不同的余辉时刻。在实践规划中添加了1 s、2s、5s、无限余辉和封闭,这五种选项供运用。无限余辉可使显现出来的图画一向保存在屏幕上,只可被新图象掩盖,而不被铲除,此种显现方法关于调查极低频信号非常有协助。

4.结语

运用FPGA在手持式示波表上完结李沙育图形,根本确保了图象的连续性,显现精度高,一起也具有必定的实时性,加上可变的余辉,显现作用现已超过了模仿示波器。该计划的规划在不影响整个示波表功用的一起,为手持式数字示波表添加了另一种测验功用,关于惯例的相位和频率丈量具有极大的协助。该计划现已完结于正式产品中,作业杰出。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/95506.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部