微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 电控喷油雾化检测的DSP和FPGA通信模块设计

电控喷油雾化检测的DSP和FPGA通信模块设计

时间:03-12 来源:互联网 点击:


基于DSP的FPGA通信模块设计流程如图1所示。首先在FPGA中创建双口RAMl和RAM2,A/D采样的数据传送到RAMl中,然后RAM1中的数据经过EMIF被读入到DSP中进行实时处理运算,处理后的结果数据在经过EMIF写入到RAM2中,RAM2可以外接LED显示屏显示处理运算结果。在此过程中,RAM1和RAM2共用地址总线和数据总线,在RAM1读和RAM2写数据总线之间插入高阻模块,以防止数据总线冲突。3 通信模块软件实现

在高速数据采集和处理系统中,随着采样数据量的增大及信息处理任务的增加,对数据传送的要求也越来越高。在系统或模块间如果没有能够高速传送数据的接口,则在数据传送时极易造成瓶颈堵塞现象,从而影响整个系统对数据的处理能力。所以,高速并行数据接口的研制在信息处理系统中占有非常重要的地位。利用高性能双口RAM能够方便地构成各种工作方式的高速数据传送接口,不管是在并行处理网络中的数据共享,还是在流水方式中的高速数据传送中,高性能双口RAM都发挥着重要作用,从而保证数据通路的畅通。创建双口RAM的方法是直接在QuartusII中的MegaWizard Plug-In Manager中创建,如图2(a)和2(b)所示。


RAM1和RAM2都是有一个读端口和一个写端口,存储大小为6432位,数据总线和地址总线都是32位,独立的写时钟和读钟。不同的是RAM1中导入了初始存储内容(./0517.hex)。
0517.hex中的部分内容如下:
:04000000C000002AD2
:040001000000004487
:040002000000006496
:040003000000008871
:04000400000C008048
:04000500000000D91E
:040006000000102F3
在QuartusII中用原理图的形式创建FPGA与DSP数据传输模块,如图3所示。


主要的功能模块:1)EMIF接口模块,如图4(a)所示,该功能模块为DSP与FPGA中的双口RAM进行数据传输提供地址和数据总线。2)高阻态功能模块如图4(b)所示,该模块的主要功能是防止总线冲突。3)中断功能模块如图4(c)所示,该功能模块为时钟中断,负责双口RAM读和写的时间控制。


本论文中应用CCStudi03.1集成开发环境并结合C语言编写DSP与FPGA的数据传输的代码。编写流程如图5所示。

4 数据传输验证

随着FPGA设计任务复杂性的不断提高,FPGA设计调试工作的难度也越来越大,在设计验证中投入的时间和花费也会不断增加。为了让产品更快投入市场,设计者必须尽可能减少设计验证时间,这就需要一套功能强大且容易使用的验证工具。Ahera SignalTapⅡ逻辑分析仪可以用来对Altera FPGA内部信号状态进行评估,帮助设计者很快发现设计中存在问题的原因。QuartusⅡ软件中的SignalTapⅡ逻辑分析仪是非插入式的,可升级,易于操作。SignalTapⅡ逻辑分析仪允许设计者在设计中用探针的方式探查内部信号状态,帮助设计者调试FPGA设计。


在设计中嵌入SignalTapⅡ逻辑分析仪有两种方法:第一种方法是建立一个SignalTapⅡ文件(.stp),然后定义STP文件的详细内容;第二种方法是用MegaWizard Plug-InManager建立并配置STP文件,然后用MegaWizard实例化一个HDL输出模块。图6给出用这两种方法建立和使用SignalTapⅡ逻辑分析仪的过程。
用QuartusII提供的Signal Tap仿真获取数据,如图7所示。


由SignalTap截获的数据图和RAM1中存储的初始值对比可知,两者之间的数值完全符合,由此可知DSP与FPGA的通信模块能够正常通信。

5 结论
文中设计了一种DSP和FFGA数据传输的通信模块,通过Quartus II上完成了FPGA对数据采集系统的时序控制的设计,利用C语言编写DSP与FPGA之间的通信控制代码,应用Quartus II中的Signal Tap功能验证了DSP与FPGA之间数据传输的正确性,证明该通信模块能够实验电控喷油雾化检测快速测量和处理大量的数据的要求。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top