EDN China > 设计实例 > 可编程器件 > 正文
?

(多图) 基于FPGA的远距离测温器数控系统设计

21ic 中航工业雷达与电子设备研究院 陈文俊?? 2011年08月29日 ?? 收藏1

  2.4 数字控制单元设计

  该测温器的软件设计主要分为两个部分,一是FPGA的相关程序设计,其主要功能包括:A/D数据采集控制、串口数据通信控制、LCD的读写控制以及PROM的烧录等;二是计算机中的相关程序,主要功能包括数值运算、标定FPGA和将采集到的数据存储以供分析等。在整个FPGA的设计上,由Altera公司开发的基于SoPC的NiosⅡ处理器及其软件开发包SoPC Builder可以方便地将所需要的IP核、存储器、接口控制器等简单而又快速的集成到FPGA中去,从而缩短设计周期。FPGA内部功能模块如图4所示。

FPGA内部功能模块

  FPGA的核心控制系统是由1 400~1 800 LE构成的,运行起来可以到达86DMIPSD的f型NiosⅡCPU。除了CPU外,数控系统主要还包括一个标志NiosⅡ系统的系统ID核;一个提供JTAG串行异步收发器的IP核,用于在线调试FPGA的程序;一个可以实现任何标准RS 232标准波特率的UART核,用在控制电路调试成功后在单机工作状态下与外接计算机通信;两组并行输入、输出PIO核,分别对A/D采样电路进行控制和读取A/D采样后得到的数据;两个LCD控制器IP核;一个用于运行程序的片内ROM;一个提供系统时钟的pll;一个EPCS串行配置器件控制器IP核。如图5所示。

Nios

  系统生成的原理图如图6所示。

系统生成的原理图

  3 系统开发测试

  系统构建好之后,需要进一步的测试才能确保其正常测温。系统的开发测试流程如图7所示。

系统的开发测试流程

  上电后首先观测系统的主要硬件是否正常工作,将在NiosⅡIDE中生成的SOF文件下载到FPGA中,完成NiosⅡ系统的下载和初始化。然后将NiosⅡ软件通过JTAG口下载到目标系统中。系统正常工作后,由远端计算机通过串口对A/D进行初始化,采集数据。计算机接收到A/D采样数据后,就可以对测温器进行标定,通过数据处理计算出用于标定各台测温器的校准方程。

  标定过程如下,将测温器红外接收探测头对准热源,热源产生准确的温度。为了测量准确,对于同一个温度点,采用多次测量取平均值的方法。由计算机通过串口通信记录下多次A/D采样的值与对应的温度值。从低温开始到较高的温度,由计算机通过串口通信记录下A/D采样值。当记录下的数值达到可以反映各温度段变化的情况时,就可以让计算机采用合适的数据拟合方法生成反映该测温器测量特性的曲线方程。计算机将方程系数传送给NiosⅡ系统,完成对整个测温器的校准。

  最后检查FPGA中NiosⅡ处理器能否通过LCD控制器与LCD正常通信、LCD能否正常显示字符;NiosⅡ软处理器可否与PROM实现正常的读写。调试成功后为了节约资源可将JTAG调试去掉,然后将正确的程序烧录到EPCS4中。这时所设计的程序即可脱离计算机及NiosⅡIDE独立运行。

  完成了整个开发过程的测温器即可正常使用,对标定温度范围内的温度进行测量。脱机测量时,由定时器产生对A/D采样时所需的时钟脉冲,NiosⅡ系统的两组PIO,分别控制A/D的控制信号和将A/D采样值读入NiosⅡ系统。在使用时,仍然采用多次测量取平均值的方法来得到A/D采样值,然后根据拟合方程,即可得到对应的温度值,然后NiosⅡ系统控制LCD控制器的R/W,RS和DB0~DB7,将对应的温度值显示在LCD上。而当需要联机使用时,NiosⅡ系统通过串口将存储在内部的A/D采样值和对应的温度值发送到计算机中,形成文件供分析用。

  4 结语

  本文设计的测温器的数控电路以Altera公司的CycloneⅡ系列的FPGA为核心,完成了从总体方案设计到系统调试等一系列过程。整个数控系统共计占用3 700多个LE,99 200个存储器比特。为整个测温器提供了稳定可靠的数据处理平台,可为更高级别的功能扩展提供一定的参考,具有很广的应用前景。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

FPGA? 测温器? AD7675? UART?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈