




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于可编程逻辑器件实现多路数据采集系统的设计对于国内而言,正如DSP在20年前出现的情形一样,如今,FPGA正处于数字信号处理技术的前沿。而DSP都是基于一种精简指令集的计算机体系架构,其固定的硬件结构和数据总线宽度已不适合许多面向用户型(可重配置型)的DSP应用系统;其速度也受制于CPU的指令顺序执行的基本工作模式,这已成为DSP处理器一个难以突破的瓶颈。现代的大容量、高速度FPGA器件通常都内嵌有可配置的高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器(MAC)等DSP模块,而且都提供了支持以低系统开销、低成本实现高速乘-累加(MAC)超前进位链的DSP算法。在许多宽带信号处理领域(如无线通信、多媒体系统、卫星通信、雷达系统等),FPGA技术具有更广阔的应用前景,已代替DSP实现许多前端的数字信号处理算法。用FPGA来实现数字信号处理可以很好地解决并行性和速度问题,而且其灵活的可配置特性,使得FPGA构成的数字信号处理系统易于修改、测试及系统升级,能降低设计成本,缩短开发周期。本文应用FPGA技术针对一个远程监控系统的多路数据采集系统,实现了64bit位宽的海量数据实时采集、存储以及时钟匹配。1数据存储板的结构图1为数据采集系统中数据存储板的基本框图,数据采集时钟为20MHz,远低于SDRAM存储的工作时钟100MHz,需要进行缓冲处理。通用CPU的SDRAM控制器只支持32bit位宽数据,而且容量也很难做到480M,笔者运用Altera公司的Cyclone系列高性价比EP1CQ240C8定制SDRAM控制器。EP1CQ240C8是该数据存储板的核心器件,其主要功能有:完成数据的缓冲;对SDRAM的读写时序控制;完成EPP(增强型并口)协议与计算机通信;提供SDRAM的100MHz工作时钟;产生SDRAM所需的定时刷新、充电、配置等控制命令;提供SDRAM的地址空间等。SDRAM选择HYNIX公司32M×8bit×16组的HYM72V64636BT8。20MHz晶振为EP1CO240C8提供输入时钟,同时被EP1CQ240C8内部的PLL倍频到100MHz和跟随的20MHz,前者被CY2309功分到SDRAM,为SDRAM的存储器组提供工作时钟;后者被时钟驱动芯片74FCT3807分为多路,为A/D提供采样时钟。2EP1CQ240C8与SDRAM的接口设计SDRAM的工作模式配置HYM72V64636BT8具有同步接口,其所有输入和输出都与系统时钟CLK上升沿同步,由输入信号RAS、CAS、WE组合产生SDRAM控制命令,完成相应的模式寄存器设置、刷新、激活、读写、预充电等操作。SDRAM在工作之前必须设置模式寄存器,其读写工作模式分为普通模式和页模式。普通模式的数据长度可以为1,2,4,8;页模式和普通模式不同,一旦确定行列地址,则数据按照工作时钟(本系统工作时钟为100MHz)读出或写完一页(1024列)。为了编程方便,笔者选取读写不同的工作模式:向SDRAM写入数据时采用页模式,写满后读出数据时采用是突发长度为1的普通模式。读写操作完成后用PCH命令或BT命令预充电中止读或写操作。在没有读写操作的时候,每64ms必须用ARF命令刷新存储单元,防止数据丢失。SDRAM的控制接口设计根据本系统SDRAM的工作要求,EP1CQ240C8与SDRAM的接口电路方框图如图2示,笔者对FPGA的内部硬件资源进行了详细配置。(1)PLL(锁相环)完成时钟管理。(2)地址产生模块由计数器构成,包括写地址模块和读地址模块。写地址模块产生的地址同时送到双口RAM和状态机,状态机发出初始化、刷新、读写、充电等命令,交给仲裁机制,在不冲突的情况下完成命令的译码和地址的行列复用,这时数据被存入到由地址的行和列所确定的SDRAM地址中去。数据存满SDRAM后再切换到读地址模块,通过读地址模块产生读地址将数据读出到并口,然后导入计算机进行相关的处理。(3)仲裁机制完成对读写命令和刷新命令的仲裁,杜绝同时操作;命令译码主要用于控制SDRAM的各种时序,完成SDRAM的读写和刷新。(4)刷新控制电路主要完成对SDRAM数据刷新进行计时,确保每64ms刷新8192行数据;刷新控制电路主要由781计数器构成。由于SDRAM工作时钟是100MHz,SDRAM要求在64ms之内刷新8192行数据,因此该计数器应小于:64ms/8192/0.01us=781.25。当计数器计满781次后,刷新控制电路向仲裁电路发出刷新请求,仲裁机制根据请求向SDRAM发出刷新命令。(5)状态机是SDRAM控制器的核心。在程序方案上,笔者设计了两个模块:一个模块产生状态机命令和控制命令;另一个模块完成命令的译码,包括读写、刷新、充电等操作,将命令翻译成SDRAM的命令码字,完成特定的操作。在本系统中,由于多通道数据采集后进入FPGA的时钟是20MHz,而FPGA的状态机以及SDRAM的时钟是100MHz,因此,数据需要做缓冲处理。笔者利用FPGA内部的硬件资源构造双口RAM解决时钟匹配问题,同时又考虑到SDRAM工作在页模式,因此将双口RAM的容量构造成SDRAM一页的数据容量1024×64bits,这样数据缓冲一页就存入一页。双口RAM作为FPGA配置中的关键模块,下面将详细介绍双口RAM的设计。3双口RAM的构造由于本系统中数据读出时钟是写入时钟的五倍,所以必须注意时钟追赶的问题,即读出一定要滞后写入,否则读出的数据就不是存入双口RAM的数据。笔者的编程思路是:当数据以20MHz时钟写入到双口RAM容量的7/8时,便以100MHz时钟开始读出,读完一页后必须就等待下次写满7/8。读出的一页数据刚好存满SDRAM的一页,依次类推,这样就完成了数据的缓冲。当然,读写地址的产生是FPGA内部用计数器实现的,因此,就得到如图3示的算法流程图。图3中clk1为20MHz时钟,clk2为100MHz时钟;count1[9:0]输入到双口RAM的wraddress[9:0],count2[9:0]输入到rdaddress[9:0]。并和“1110000000”比较,判断是否写满了双口RAM的容量的7/8,如果写满了就触发100MHz的读出时钟,数据开始从双口RAM读出。根据上述思路,利用Altera公司的开发平台QUARTUSII完成编译、仿真得到双口RAM的功能仿真波形如图4示,由仿真结果可知该方案很好地解决了时钟追赶问题,完成了数据缓冲。4数据存储板的性能测试笔者利用在FPGA内部资源编写了一个测试模块,用它产生有规律的数据信号(模拟采样的数据),并存入SDRAM,当存满后通过EPP将数据存储到计算机,利用相关软件读出保
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSWSL 019-2020肉牛用菌酶协同发酵饲料
- T/CSUS 32-2021污水中微塑料的测定显微拉曼光谱法
- T/CNFA 9-2019中式家具常用木材识别
- T/CIMA 0032-2022单相智能电能表设计方案多目标稳健性评价通则
- T/CHASA 001-2018净水上门服务工程师资质认证规范
- T/CECS 10349-2023绿色校园用装饰装修材料抗菌、抗病毒性能要求
- T/CECS 10109-2020耐腐蚀预制混凝土桩
- T/CCMA 0168-2023土方机械电控手柄技术要求及试验方法
- T/CCMA 0095-2020非公路自卸车操作使用规程
- T/CCAS 021-2021水泥生料助磨剂
- 现场照相技术课件
- 抖音带货主播劳动合同范本
- 广东省高等学校“千百十工程”第六批继续培养对象和第
- 人教版三年级数学上册口算题卡
- 绿色施工与环境管理
- 小数乘整数的教学设计 小数乘整数教学设计一等奖(十四篇)
- 毕业设计基于单片机的发动机转速电控系统程序设计及仿真
- 统借统还资金分拨合同
- 地铁运营施工负责人考试题库
- GB/T 708-2006冷轧钢板和钢带的尺寸、外形、重量及允许偏差
- 故宫的资料简介(标准版)
评论
0/150
提交评论