嵌入式设计应用
利用SOPC强大的IP核和容易配置的优势简化设计流程。充分发挥NiosⅡ强大的并行处理能力。该系统主要涉及多个下位机与FPGA的通信问题。
1. 功能描述
1.1 整体设计思路
利用SOPC强大的IP核和容易配置的优势简化设计流程。充分发挥NiosⅡ强大的并行处理能力。该系统主要涉及多个下位机与FPGA的通信问题。通过SOPC设计技术可以很容易的构造多个UART接口,降低系统的设计成本。在Quartus中可以用VHDL/Verilog语言写入总线复用模块,解决SRAM、SDRAM、FLASH之间存在的总线冲突问题。
显示和操作部分的硬件主要在Altera的CycloneⅡEPSC35板上由SOPC Builder配置实现。传感检测和信号处理部分则通过系统扩展来实现。特别是放大和A/D转换部分,必须由专门的模块来处理。
1.2 系统的主要功能
旋风预热器仿真主要实现对水泥回转窑模型在模拟工作状态下的参数检测和控制。由传感器采集的数据经过放大和修正送入A/D转换芯片,转换后的数据送入作为下位机的AT89S52系列单片机中,通过串口通信的方式将数据流送入作为上位机的DE2开发板中,利用NiosⅡ软核的VGA视频显示功能将采集的数据显示为状态曲线。
同时,利用FPGA快速反应的优点,实现对下位机部分的控制,从而对模型的模拟工作状态进行调整和监控。整个旋风筒模型由透明的有机玻璃构成,具有很强的观赏性。LED灯的提示和LCD的数字显示更加提高了整体的实用性。由于系统的各个单元之间存在独立性,因此,本系统可以做为教学上的演示模型。传感器的用法,A/D的用法,放大的原理以及通信和FPGA的使用都可以独立的用来作为教学模型。在旋风筒模型上预留了各成120度的三维测量孔,装入传感器后可以同时在X、Y、Z三维场中检测,实现同一参数的三维测量。因此,该系统在科研方面也具有很大的实用性。
2. 系统模块概述
本系统主要由检测单元、信号放大修正单元、串口通信单元、显示单元组成。各个部分通过单片机和FPGA之间的通信联系在一起。构成一个完整的集检测、通信、显示、控制为一体的系统。本系统只测量模拟工作下一维场中的状态参数。风机的控制使用专用的晶闸管智能控制模块,直接由0~5V电压控制输出0~220V的风机电源电压。
方案的硬件设计框图如图1所示。
3. 模块功能描述
3.1 显示单元
整个处理过程就是对四路传感器所采集的实时数据进行分时显示。通过按键操作VGA,让四路参数状态的曲线可以分屏显示。显示屏采用普通的PC机显示器,显示像素为480640。当第一路数据流通过串口通信送入上位机后,软核处理器将该组数据流迅速进行暂存,按键操作VGA显示函数选择屏数并调用这部分数据在显示屏上依次点亮对应的像素点,从而可以将整个数据流所对应的状态曲线动态的显示在屏幕上,达到可视化的监控效果。
在第一屏进行画线显示的同时,处理器将继续对各路参数的数据流进行接收和缓存。按键操作进入第二屏后,开始对第二个参数状态进行画线和实时数值描述,四路状态曲线全部画完结束返回。 在这个过程中,处理器同时调用字符液晶显示和数码管的显示函数,对当前数据的平均值和瞬时值进行准确的数值描述。LED用于提示当前分屏显示的屏数,即提示目前采集的参数类型。按键用于控制风机转速。显示单元的系统软件设计框图如图2
3.2 检测单元
由于传感器的输出电压变化都是在毫伏级,因此必须由稳定的放大和滤波电路将采集信号进行放大和修正,达到可以满足数据传输的电平要求和线性要求。经过放大的信号送入A/D转换芯片中,将模拟信号转换成数字信号后再由单片机送入NiosⅡ中。
旋风筒模拟工作时,分别由传感器将温度、风机转速、气压、气体流量等参数值进行采集。温度采用高精度的铂热敏电阻测量。气压和空气流量采用由Honeywell公司生产的专用检测传感器进行测量。风机转速通过单片机对光电开关开合产生的脉冲进行计数从而予以确定。传感器将采集的信号通过放大修正单元的处理后直接送给单片机。四路信号采用同时采集,分时传送的方式发送给上位机。在NiosⅡ对第一路送入的数据开始进行显示处理,同时将第二路数据送入。
3.3 通信单元
采用串口多机通信的方式。在多路数据传送方法上,可以选择485通信的方式。多路下位机同时挂在485的通信输出端,分时的传送数据。但是这种方式如果有传送速度上的要求则有很大的弊端,传送速度会比较慢。本系统充分发挥CycloneⅡ处理器可以定制多个UART的强大功能,实现上位机对多路数据的同时接收和处理。在速度上要比485的方式要快。从而实现对模拟环境的迅速监控。下位机采用AT89S52系列单片机,同样支持串行通信。由于通信距离比较近,为了避免资源的浪费,不建议采用RS232或485的串行通信方式。在今后的系统扩展上可以将232通信添加进去。
检测和通信单元的系统软件设计流程如图3
4. 软件设计
4.1 基于Nios IDE的软件设计
由SOPC Builder构建成的硬件系统首先必须下载到FPGA中,在FPGA上生成对应外设的引脚,然后才能够通过IDE烧程序给外设,使外设可以正常的运行。也就是说对主程序部分必须要在IDE模式下进行调试,这是整个过程中感觉效率比较低的地方,每次修改的程序都必须通过再次运行Run As Hardware重新编译才能写入硬件中,造成调试进度很慢。程序可以在SRAM或SDRAM上运行。
为了保证断电后数据不丢失,采用FLASH Programmer把数据写入FLASH,然后把CPU的ResetAddress地址指向FLASH。通电后系统会自动对FPGA进行配置,并运行内部程序。该部分的程序主要是设置多个串口通信的时序以及VGA显示的内容。程序流程图如图4所示。
5. 结果分析
经过检测和调试,系统的整体功能完全可以正常实现。系统采用Nios软核结合可编程逻辑阵列对旋风预热器的仿真模型的模拟工作状态进行检测和控制。实现了多线程的串口通信和VGA的显示,充分发挥了FPGA快速响应的实用性特点和支持CPU操作的强大功能。使用SOPC Builder可以方便的对系统的扩展部分和自定义部分进行添加和删除,根据需要开发自己的IP核优化系统。充分利用SOPC的特点来缩短设计和开发周期。
利用SOPC Builder配置了四个串口来完成这一要求,而这一特殊用法却是其它处理器如单片机,ARAM等无法实现的。
全部0条评论
快来发表一下你的评论吧 !