欢迎来到天天文库
浏览记录
ID:38711134
大小:104.50 KB
页数:5页
时间:2019-06-18
《基于DSP+FPGA的便携数字存储示波表设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于DSP+FPGA的便携数字存储示波表设计[日期:2008-10-918:08:00]作者:未知来源: 随着大规模集成电路技术、信号分析与处理技术及嵌入式微处理器软硬件技术的迅速发展,现代电子测量技术与仪器领域也在不断探讨新的仪器结构和新的测试理论及方法集数字存储示波器、数字万用表、频率计三者功能于一体的便携式数字存储示波表正代表了当代电子测量仪器发展的一种新趋势便携式数字存储示波表具有体积小、重量轻、成本低、不需交流供电、可靠性高、使用简便等一系列特性,非常适合于使用在有电源、空间、运输等条件限制的环境下 1.引言 便携式数字存储示波表集A
2、/D技术、ASIC技术、DSP技术、LCD显示技术于一体,具有极高的技术含量、很强的实用性和巨大的市场潜力目前国外已有较成熟的产品,而国内在该领域的研究尚属起步阶段本文所述方案采用嵌入式设计技术,成功地实现了对被测信号的实时处理与分析 2.便携式数字存储示波表的硬件设计思想 2.1硬件系统结构设计 便携式数字存储示波表硬件上主要包括模拟通道、数据采样、数据处理、显示控制等模块图1所示为一种传统的以微控制器(DSP)为核心的示波表结构设计方案该方案的缺点是:系统只能将DSP做为核心控制器件,造成DSP任务繁重、接口复杂 为解决上述问题,本文采用
3、了基于DSP+FPGA结构的嵌入式设计方案,如图2所示其中FPGA主要集成了以下部件: (1)2K字节的FIFO及FIFO控制器:FIFO用来缓存高速ADC采集的信号数据系统无有效触发信号时FIFO工作在环形方式, 不断写入ADC送来的采样数据;当触发信号有效后,FIFO工作在桶形方式,FIFO控制器将根据DSP预先写入的"预触发/后触发时间"控制字设置FIFO读指针位置,一旦FIFO写"满"后就停止写入,并由FIFO控制器通知DSP取走这一屏的采样数据; (2)2K字节的显示缓存:用以缓存从DSP送来的LCD显示数据,并等待LCD控制器取走
4、送LCD显示; (3)外围控制器部分: a.测频测周电路:接收模拟通道送来的整形后的测量信号,测得被测信号的频率/周期值并等待DSP读取; b.采样频率控制电路:根据DSP写入的控制字分别控制ADC采样频率及FIFO写频率,以最大限度地利用有限的FIFO空间实现宽频采样; c.触发仲裁:确定是否抑制模拟通道送来的触发信号; d.总线仲裁:对DSP产生的地址信号及控制信号进行译码以完成对外部设备的操作,并负责协调FIFO和显示缓冲可能存在的读/写冲突; e.LCD控制器:产生LCD显示所需的各种时序信号,并负责从显示缓存中读取数据送LCD显
5、示屏; 可见,本设计将除模拟通道、ADC、DSP及LCD显示屏之外的绝大部分功能部件都集成在FPGA内部FPGA硬件在解析DSP预先写入的少量控制字后即可自动完成数据采样、信号频率/周期测量以及波形显示等底层控制功能,而DSP则被解放出来主要负责数据编码、波形恢复及人机界面等上层数据的控制处理 总之,为最大限度地充分发挥可编程ASIC芯片在嵌入系统设计中的作用,本设计使用FPGA分担部分系统控制任务,使DSP能够更好、更有效地发挥其数据处理的特长;同时,FPGA的使用使系统中分立功能部件大大减少,也有效地缩减了系统的体积和功耗,增加了系统的可靠性
6、 2.2显示缓存的设计 本系统中对LCD显示缓存的设计是需要着重考虑的为解决"DSP不断写(刷新)"和"LCD控制器不断读"的矛盾,通常系统中需要设置两片独立的RAM芯片,并引入复杂的"PING-PANG"切换控制机制,以保证DSP写操作和LCD读操作总是针对不同的RAM芯片而在本设计中,我们直接使用了FPGA内部的双口块RAM资源,一方面FPGA内部的RAM控制电路实现对双口RAM的异步读/写,保证显示数据更新在时间上的连续性;另一方面,由FPGA分别定义的不同宽度的读/写数据端口自动完成了数据宽度的转换 这里的一个实际问题是:FPGA内部双
7、口块RAM容量是有限的本设计采用的FPGA内部只有2KB容量的双口块RAM,而我们选用的320×240的LCD一整屏的显示数据需要将近10KB(9375B)单元来存放一种解决的方法是:系统将一屏显示数据分为5帧来处理,FPGA以定时中断的方式向DSP申请数据刷新,而每次中断DSP将向显示缓冲中写入1/5屏的数据实际证明,只要设计好时序关系,系统的工作是非常稳定的 3.便携式数字存储示波表的软件系统框架 3.1软件系统结构设计 为了提高系统的可维护性和可扩展性,本文示波表精心设计了一种模块化的层次软件体系架构,如图3所示 其中: (1)硬件接
8、口层:主要包括底层驱动程序(以函数形式提供),如硬件初始化代码、DSP中断服务代码(FIFO送来的读中断及显
此文档下载收益归作者所有