0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的智能温度采集控制器

电子设计 来源:陈翠 2019-02-16 10:55 次阅读

1引言

目前基于智能温度传感器DS18B20的测温设计大多是单片机程序。本课题尝试使用FPGA芯片进行设计。FPGA内部有丰富的触发器和I/O引脚,同时具有静态可重复编程和动态在系统重构的特性,极大地提高了设计的灵活性和通用性,更适用于电子系统的开发。如果用户需求量非常大,采用ASIC流片能极大地节省成本,经济效益十分显著。FPGA可做其它全定制或半定制ASIC电路的中试样片。鉴于此,本课题使用硬件描述语言设计FPGA控制器来实现传感器控制,同时用VC来实现用户控制界面。

一线总线(l-wire)传感器的出现(如DS18B20),使得在仓库、工厂、楼宇等需要实时测温的网络布线得以大大改善。在大体积混凝土的建造过程中,为了防止混凝土的开裂而造成工程的失败,需要对若干点的温度进行实时监控。由于施工现场的限制,使得可利用的布线区域越简单越好。与此同时,现场温度的采集与控制也有一定的要求。这时就可以在需要的测温点横向或纵向构成多层网络,而各个一线总线传感器直接挂接在上面即可。而对于每层的温度采集和控制则可以由“FPGA控制器”去实现,使用和拆卸都很方便。并且由于FPGA移植性好、升级方便,对于各企业的成本也可以大大降低。随着FPGA的进一步发展,此温度采集控制器的应用范围将不断扩大,所体现的价值也将越来越高。

现场可编程门阵列(Field Programmable Gate Array,FPGA)是当今应用最广泛的一类可编程专用集成电路(ASIC)。FPGA作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。电子设计工程师利用它可以在办公室或实验室里设计出所需的专用集成电路,从而大大缩短了产品上市时间,降低了开发成本。此外,可编程逻辑器件还具有静态可重复编程和动态在系统重构的特性。这使得硬件的功能可以像软件一样通过编程来修改,极大地提高了电子系统设计的灵活性和通用性。

2智能温度采集器的设计

在FPGA的设计中一般有两种方法:自上而下和自下而上。任何复杂的数字系统,都可以按层次细分,一直分到对每个部分都有比较明确而简单的设计方案为止。这就是常常说的分而治之的方法。自上而下的方法之所以重要,就在于只有在上面的层次上才能全面确定下面模块的输入输出和功能行为的规格。而自下而上有时也行得通的原因是有些模块的规格本身是就是事先确定的或者基本可以确定的。

针对温度采集控制器系统的特点,决定采用自上而下的设计方法,并将整个系统分为Control Unit和Data Path来进行设计(图1)。这样实现有以下优点:(1)Control Unit在内部FSM的控制下,在每一个State会有Outputs,控制Data Path中数据的传输,满足DS18B20的时序要求;(2)Data Path则完成了所有的数据流传输,并实时的反馈给Control Unit一些Inputs,从而使其State转换能够正确完成;(3)如果要有附加的控制流和数据流要添加进整个FPGA系统,则只要在Control Unit中更改相应的State和Data Path中做相应修改就可。这样设计出来的系统稳定、扩展性好。

基于FPGA的智能温度采集控制器

图1、智能温度采集器的系统结构框图

在设计Control Block的时候一般采取有限状态机(FSM)的方法。FSM分两大类:米里型(Inputs对输出逻辑和下一状态逻辑有影响)和摩尔型(Inputs只对下一状态逻辑有影响)。FSM设计中首要的是确定状态变量。这是以对设计问题的深入了解为基础的。每一个状态都有可以实现的进入条件,每个状态在所有输入条件下都有明确的下一状态,包括下一状态和目前状态相同的状态的情况。显然,如果下一状态只有和目前状态相同的状态才是可实现的,那么FSM一旦进入这个状态就不会再改变了,这种“死机”状态当然是要避免的。在此系统的 Control Block中的FSM采用摩尔型,设计出“下一状态逻辑”从而使得“状态寄存器”能在每一个时钟沿正确的进行状态转换,并确定好“输出逻辑”,在每一个状态都能输出正确的控制流来对 Data Path中的数据流进行正确的控制,保证整个系统能够正确的工作。

数据通道实现的是数据间的运算和传输。数据可能是8/16/32/64位的,一般所有位的运算并没有太大的不同。但是,它又要同时实现Control Block中的FSM的功能,其设计是要和 Control Block中的FSM的结构一起考虑的。一旦FSM确定了,数据通道的计划就要着手进行。由于数据通道的性能决定了整个系统的性能的高低,所以它又非常的关键。以往通用处理器因为生产数量大,数据通道用全定制的方法设计比较多,线路和版图设计的精雕细刻,以求换得低的芯片生产成本和用其他方法难以达到的性能水平。这种情况在现代的SOC产品里有了很大的改变,因为SOC产品的产量一般都比较小,而且设计者都希望同一个处理器核的设计能够用于不同工艺生产的产品。这样,全定制的设计就不合适了。一般来说,数据通道是一定形式的流水线,因为数据的读取、运算和结果的写入都在同一个周期内实现,时钟频率就很难提高,所以高性能处理器的数据通道现在都采用流水线设计。数据通道和数据寄存器和数据存储器的关系十分密切,这当然是由处理器的结构确定的。在此系统中的 Data Path的数据流处理功能并不是非常的复杂,可以不用采取流水线设计,并在FSM的控制下进行正确的数据流传输,同时会反馈给FSM中的“下一状态逻辑”一些Inputs信号来使其能够进行正确的状态转换。

3智能温度采集器的实现

系统开发环境。本课题硬件设计采用XILINX公司SPARTAN-3器件开发板进行编程验证,其特性如下:(1)具有二十万门,十二个嵌入式18x18乘法器支持高性能DSP应用,216 Kbit的块RAM,50 MHZ内部时钟晶振;(2)板上2Mbit Platform Flash;(3)八个开关,四个按钮,八个LED,四个七段显示;(4)串口,VGA口,PS/两个鼠标/一个键盘口;(5)三组各40个引脚的扩展连接;(6)三个强电流的电压整流器(3.3V,2.5V,1.2V);(7)配合JTAG3编程线和Xilinx的P4&MultiPRO线。系统硬件设计采用Verilog HDL设计语言,设计流程在Xilinx公司提供的开发工具ISE中完成,配合MODELSIM SE仿真工具。SPARTAN-3开发板上使用MAX3222电平转换器,转换RS-232C的EIA电平+12V与TTL电平+3.3V。在本系统中,由于串口通讯的双方都是自订制的,因此本课题中的RS-232C的串行传输波特率选择使用了PC机所能达到的最快传输速度:115200 bit/s。上位机软件编程采用VC++ 6.0。

控制器逻辑功能流程图。首先设计各个硬件模块,其中主控模块状态机先只实现一些基本功能指令的流程控制,仿真测试单独的模块。然后连接各个模块组成完整的硬件电路并进行一些基本功能指令的测试。再利用串口调试助手及示波器检验硬件电路对一线总线上单个DS18B20的初始化(INITAILIZATION)、发送匹配ROM命令(MATCH ROM)、发送温度转换命令(CONVERT T)、发送引脚读取命令(READ SCRATCHPAD)、发送读时隙脉冲(READ TIMESLOTS)的操作结果。串口调试结果正确后联合上位机程序实现最基本的“Read Temperature”功能。上位机调试结果正确后硬件电路继续添加其他功能,调试“搜索ROM命令(SEARCH ROM)和读取ROM ID命令”,在FSM中实现搜索算法将温度采集扩展至一线总线上多个DS18B20。整个系统逻辑框图可见图2。

基于FPGA的智能温度采集控制器

图2、智能温度控制器逻辑功能流程图

控制器逻辑功能模块。FPGA实现的控制器处于PC端上位机与温度传感器DS18B2O中间。FPGA的主要设计任务便是接收从串口得来的PC端上位机命令,通过内部状态机逻辑的判断和控制,通过Data Path将命令传达至温度传感器DS18B20,并将命令的执行结果返回给上位机。FPGA主要实现1-wire收发器RS232收发器,对两边起沟通作用。整个硬件模块大致分成三层(图3),第一层为RS232串行通信模块和时钟分频模块fenpin,第二层为主控模块 Control Block,第三层为 Data Path部分:读/写模块bytebit。

基于FPGA的智能温度采集控制器

图3、智能温度控制器系统模块层次结构图

l)RS232串行通信模块。负责外部上位机串行bit与主控模块Control Block并行byte间的数据传输。RS232串行通信速率采用 115200 bit/S。Uartrec从上位机接受一个字节com命令发给主控模块Control Block,同时Uarttran从主控模块Control Block接收一个字节result回应发给上位机。

2)分频模块fenpin。由50 MHZ内部晶振产生与DS18B20同步的1 MHZ时钟。

3)主控模块Control Block。负责状态转化控制,实现 Data Path和RS232收发器的沟通。通过内部FSM逻辑的判断和控制,将命令传达至传感器,并将命令的执行结果返回给上位机。由两个延时子模块组成。初始化模块init,负责初始化总线上所有DS18B20,并在初始化成功后报告主控模块初始化状态。若初始化失败,将继续初始化。若超过设定初始化时间仍不能成功初始化,将停止初始化并报警。温度转化等待模块Convert,负责在读/写模块bytebit向DS18B20发出convert命令后延时800 ms再报告主控模块转化完毕。根据DS18B20用户手册,温度转化最多用750 ms。所以采用800 ms的保守估算。

4)Data Path。由读/写模块bytebit构成,负责主控模块Control Block和DS18B20之间的数据通信。由主控模块Control Block的r_w信号决定是发WRITE TIME SLOTS还是发READ TIME SLOTS。

4结束语

本文作者的主要创新点:分析并设计了一个基于FPGA的智能温度测控系统。本系统已经广泛地应用到各种相关的实际系统。本项目已经产生经济效益越230万元。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1603

    文章

    21331

    浏览量

    593649
  • 温度控制器
    +关注

    关注

    1

    文章

    171

    浏览量

    33567
收藏 人收藏

    评论

    相关推荐

    基于FPGA温度模糊自适应PID控制器的设计

    基于FPGA温度模糊自适应PID控制器的设计   此外,在FPGA中还集成有Altera公司提供的NIOS II软核处理器,FPGA一方
    发表于 01-22 11:44 1460次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>温度</b>模糊自适应PID<b class='flag-5'>控制器</b>的设计

    基于FPGA智能温度采集控制器

    刚刚开始入门FPGA,现在想做基于FPGA智能温度采集控制器设计,各位大神谁做过这个设计,能不
    发表于 02-18 15:50

    激光控制器数据采集

    我有一个SRS SERIES LDC500 的DFB激光控制器,想采集控制器输出的额电流和温度,并且可以控制他的电流,刚接触labview不
    发表于 06-23 16:58

    基于FPGA的数据采集控制器IP核的设计方案和实现方法研究

    仿真时,数据采集控制的复杂程度愈加恶劣[2]。通过改进数据采集控制器的结构,提高数据采集控制器
    发表于 07-09 07:23

    基于MCS-51单片机的温度控制器设计

    摘要:目标是设计一个基于MCS-51单片机的温度控制器温度测量范围为0到100度,且保证精度误差正负1°;通过四位七段LED数码管来实时显示温度
    发表于 07-21 06:22

    基于AT89C51智能温度控制器温控系统的设计资料分享

    回来的数据设计中则通过LCD1602液晶显示来对环境温度的实时监控。另外为了更加有效的实现温度的调节,设计中利用LED灯模拟温度升温和降温。本设计应该具有以下作用:(1)用户可根据自己的要求调节温室内
    发表于 11-19 07:00

    基于STC高性能单片机温度采集控制器设计

    ——基于STC高性能单片机温度采集控制器设计目录1.课程设计目的2.硬件设计3.软件设计4.安装调试5.结果分析6.体会7.参考文献(一)课程设计目的通过基于STC高性能单片机温度
    发表于 02-25 06:54

    基于FPGA智能温度采集控制器

    温度的监测与控制,对于工业生产的发展有着非常重要的意义。分析并设计了基于数字化一线总线技术的智能温度测控系统。本系统采用FPGA 实现一个
    发表于 05-27 15:32 28次下载

    基于FPGA智能温度采集控制器

    基于FPGA智能温度采集控制器   摘要:温度的监测与
    发表于 01-12 10:44 1205次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>智能</b><b class='flag-5'>温度</b><b class='flag-5'>采集</b><b class='flag-5'>控制器</b>

    基于FPGA温度模糊控制器的实现

    FPGA平台上实现了一种温度模糊控制器,首先对模糊控制系统的思想和工作原理进行了分析,然后使用Quartus ii和modelsim对整个系统进行设计和仿真,最后在
    发表于 03-15 17:06 104次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>温度</b>模糊<b class='flag-5'>控制器</b>的实现

    基于FPGA的远程图像与温度采集监控系统

    基于FPGA的远程图像与温度采集监控系统
    发表于 09-22 13:01 21次下载

    基于FPGA的屉式温度采集模块设计_王闯

    基于FPGA的屉式温度采集模块设计_王闯
    发表于 03-19 19:07 0次下载

    基于FPGA温度采集控制器

    温度是生活中最基本的环境参数。温度的监测与控制,对于生物生存生长,工业生产发展都有着非同一般的意义。温度传感器的应用涉及机械制造、工业过程控制
    发表于 08-31 14:58 3次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>温度</b><b class='flag-5'>采集</b><b class='flag-5'>控制器</b>

    智能型数字温度控制器的原理

    在很多的家用电器中,都安装有温度控制器,现在,温度控制器的种类是非常多的,也变得更加的智能智能
    发表于 05-25 09:59 3374次阅读

    FPGA智能温度控制设计、仿真及调试

      一、设计要求  通过前向温度采集电路,采集当前孵化器内部的温度信号,将采集到的模拟信号通过ADC0809模数转换芯片,转变为
    发表于 07-18 17:14 0次下载