基于FPGA的智能温度控制仪的设计
实验题目:基于 FPGA 的智能温度控制仪的设计
1. 课程简要信息
课程名称:可编程逻辑器件
课程学时:160(课内64学时+课外96 学时)
适用专业:电子信息工程技术、智能产品开发、嵌入式技术应用、微电子技术
学生年级:二年级第二学期
- 实验内容与任务(限 500 字,可与“实验过程及要求”合并)
1)任务基本要求
(a)采用提供的温度传感器,实现对工件的实时温度测量和显示;
(b)采用数码管显示实际测量温度值;
(c)控制仪可实现对工件温度控制,并同步显示温度的变化;
(d)编写控制仪的操作使用说明书。
2)任务扩展要求
(a)温度控制设定功能:通过按键调节预设温度值 T1,启动控制功能,当工件实际温度小于T1 时,启动功率电阻加热;当工件实际温度大于 T1 时,启动风扇散热,将工件的温度快速地控制在所设置的温度 T1附近。
实际验收测试时,要求从室温开始,能够尽量快速、稳定地将工件的温度控制在 $\mathsf { T } \mathsf { 1 } \pm 2 \mathsf { ^ { \circ } C }$ 的范围内,当达到 T1 时产生一个持续时间 1 秒的报警声音,尽可能降低温度波动。
(b)在控制仪的测量范围内,分别用作品和组委会提供的温度测量仪测量室温以及另外两个可设置的温度,并记录两个仪表的读数。
3. 实验过程及要求(限 300 字)
1)做好实验预习:
(a) 课前需完成本次实验预习报告(系统框图、单元模块程序设计、完成预习思考题);
(b) 课前需完成关键模块(数码管动态显示、模数信号转换)的程序调试,课内以模块调用和补充设计为主;
(c) 预习时请访问智慧职教平台《可编程逻辑器件》资源网站:https://zjy2.icve.com.cn/。观看相关项目相关模块开发视频。
2)复习ISE软件的使用、利用 VHDL语言设计电路并进行调试和仿真;
3)设计核心单元模块电路,并对其进行仿真和优化:
(a) 数码管动态显示模块
(b) 模数信号转换状态机模块(基于 TLV2542——12位模数信号转换芯片)
(c) 电压采样数据处理模块
4)将各单元电路组成完整系统,并进行系统仿真;
5)在实验开发板上完成系统的硬件实验;
6) 按照指导教师要求逐项验收实验结果,并回答问题;
7)撰写实验设计报告。
4. 相关知识及背景(限 150 字)
智能温度控制系统是一个解决现实生活和工程实际问题的典型案例,需要运用传模数信号转换、数据显示、反馈控制及参数设定等相关知识与技术方法。并涉及测量仪器精度、线性度,硬件及软件反馈,仪器设备标定及抗干扰等工程概念与方法。
5. 教学目标与目的(限 100 字)
知识目标:了解现代测量方法、传感器技术熟练掌握分频、数码管显示、串口通信等技术的 FPGA实现
技能目标:根据需要设计电路、构建测试环境与条件能进行故障分析、排除,完成电路功能调试
素质目标:能与同学良好沟通、协作完成实验任务
6. 教学设计与引导
本实验的过程是一个比较完整的工程实践项目,需要经历学习研究、方案论证、系统设计、实现调试、测试标定、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:
1)学习温度测量的基本方法,了解随着温度测量范围与测量精度要求的不同,在传感器选择、测量方法等方面不同的处理方法。
2)介绍实验所提供的模数信号转换模块 TLV2542(12 位模数信号转换芯片)。设计控制状态转移图如图 1 所示,读取转换值。学会根据状态转移图编写状态机程序。

图1 模数转换状态装意图
3)介绍数码管动态显示的工作原理,通过动态显示电路讲解和动画视频演示,让学
生了解刷新频率和动态显示之间的关系。

图2 数码管动态显示电路

返回

图3 数码管动态显示动画
图4 数码管动态显示实验结果
4)电压采集数据处理模块的设计:学会对测量后得到的数据进行锁存;将锁存的数值显示出来。
5)对每个模块进行仿真、验证其正确性。将所有模块进行布线、综合并下载。
6)可以简略地介绍反馈控制的基本原理,要求学生自学实现反馈控制的方法及参数的整定。
7)在电路设计、搭试、调试完成后,必须要用标准仪器设备进行实际测量,标定所完成的温度计的误差;需要根据实验室所能够提供的条件,设计测试方法,搭建温度可控且较为稳定的测试环境。
8)在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流,了解不同解决方案及其特点,拓宽知识面。
在设计中,要注意学生设计的规范性;如系统结构与模块构成,模块间的接口方式与参数要求;在调试中,要注意工作电源、参考电源品质对系统指标的影响,电路工作的稳定性与可靠性;在测试分析中,要分析系统的误差来源并加以验证
7. 实验原理及方案
1)系统框图

图5 系统框图
2)基本任务顶层电路图

图6 基本任务顶层电路图
首先,搭建硬件电路。调理电路由实验室提供,接上传感器后将温度转换为模拟信号进入模数信号转换芯片 TLV2542;
其次,设计系统的时钟系统。FPGA 开发板提供 100MHz 主时钟,要将主时钟进行分频,给模数转换芯片(TLV2542)提供串口时钟、给数码管动态扫描显示模块提供刷新频率时钟、给TLV2542芯片提供使能信号,控制采样速度。因此图7中两个分频模块clk_div和 clkdiv 的输入信号 clkin 和 clk 都是 100MHz 主时钟,通过两个模块分频后产生clkout 信号为 1MHz 脉冲信号,为 TLV2542 芯片提供时钟源;clkout_1k 产生 1KHz 脉冲信号,为数码管动态扫描提供刷新频率;clkout_1 产生 1Hz 脉冲信号为 TLV2542 提供使能信号,控制模数转换芯片每秒钟读一次模拟电压值。

图7 分频模块
再次,设计模数信号转换状态机,通过串行 SPI 接口对模数信号转换模块的 12 位数字信号进行循环读取,如图 8所示。当start 管脚输入高电平时,模块开始转换工作;通过 sck、ncs 和 sdatain 三个引脚将 TLV2542 的 12 位数字转换数据读入到 FPGA 里,再通过串并转换将读入的串行数据转换为 12位并行数据由 dataout(11:0)引脚输出。

图8 模数信号转换状态机模块
然后,将读取的12位数字采样信号通过公式:
模拟电压值 $= { \frac { 3 . 3 V } { 4 0 9 6 } } \times$ (12 位数字采用信号)
换算出对应的模拟电压值,而模拟电压值和温度值是线性关系,
即:温度值 $= \delta \times$ 模拟电压值
通过两次转换,就可将采用得到的数字信号转换为对应的温度值,并将温度值转换为可供数码管显示的 16位BCD码。这个过程由数据转换模块来完成,如图 9所示。

图9 数据转换模块
最后,如图 10 所示,通过数码管动态显示模块将温度值显示在数码管上。

图10 数码管动态显示模块
完成各模块设计后,在顶层将模块连接起来,如图 6所示。完成顶层电路后进行编译和管脚锁定,并将其下载到实验箱上,进行板级验证。

图 11 管脚锁定文件
为完成扩展任务,在系统内还需要设定比较值,一旦达到设定值就启动声光报警。
8. 教学实施进程
1)学情分析
在开展实验项目前我们对学生的学习情况做了深入的了解。我们了解到的学生的学习情况是:
(a) 学生的学习风格以动觉型和视觉型为主;
(b)学生比较喜欢的课时分配方式是侧重实践教学或理论和实践并重;
(c) 学生喜欢的课程讲授方式前三位分别是:项目实践、案例分析、课堂讲授;
(d) 学生喜欢的课程考核方式是以论文或报告的形式。
综上所述,我院学生在知识储备方面已掌握电路基础、数电、模电等基本知识;在能力方面有了一定的仪器设备使用能力;在学习方法方面比较适应协作探究的项目式学习。根据学生的学习情况,本课程采用建构主义模式下的支架式教学法进行教学设计
2)教学过程设计
根据支架式教学法本实验项目开展有三个阶段,如图 12 所示。
(a) 课前阶段:搭脚手架,将范例支架通过预习任务向学生发布,让学生预习。学生在课前大概要花费 $6 0 \widetilde { \ } 1 0 0$ 分钟时间进行预习;
(b) 课中阶段:本课程课堂教学是四节课连上,课上时间 180 分钟,分为四个环节,分别是进入情境,独立探索,协作学习,效果评价;
(c) 课后阶段,学生大概需要 30分钟时间进行巩固复习,拓展提高。

图 12 教学过程设计图
3)实施过程
课前阶段:搭脚手架环节,如图 13 所示。通过智慧职教微信平台发布课前学习任务,为学生搭建好学习支架,提供学习范例。学生通过任务提供的学习资源进行预习,这些学习资源包含教师的操作视频、案例的演示视频和老师讲解理论的视频。本实验比较重要的环节就是要编写数码管动态扫描的程序和模数信号转换状态机,所以教师的理论讲解视频重点讲解相关案例程序框架和具体程序流程。

图13 课前阶段发布预习任务
学生进行充分预习之后,教师会通过智慧职教平台发布小测验,检验学生的预习情况,如图 14 所示。学生可以通过电脑或手机进行实名制的在线测验,在测验结束后,系统立刻就能给出学生的测验成绩和每条题目的对错情况,并配有答案说明。学生可以通过测验了解自己还有什么不足之处。而老师可以通过后台看到每位同学的答题情况,分析出学生出错主要集中在什么知识点上,为课堂教学设计提供了很好的参考作用。
课中阶段:进入情境环节。为了激发学生的学习热情,由老师创设一个真实的工作环境。本学习项目创设的是某企业真实产品智能温控仪,如图 15所示。温控仪是以 FPGA为核心,将温度的采集和控制信息显示在显示板上。本项目的设计要求是让学生控制显示板。通过视频可以看到上排数码管显示工作状态,下排数码管显示设定温度和实时温度,通过按键来切换工作状态。

图 14 课前小测验

图15 智能温控仪实物和设计结构框图
在老师带领下进入情境后,学生就开始独立探索环节,如图 16 所示。由于在课前阶段老师通过视频已经讲解了程序的框架,所以学生可以自己分析设计任务,根据要求在框架中修改程序。而此时,教师就得到了充分的解放,可以对有困难的学生进行单独
辅导,实现了课堂上的针对性教学。
在独立探索环节完成后,就进入了协作分析环节。老师将学生进行分组,让同组同学对自己编写的程序进行充分的讨论。通过讨论同学们再次审视了自己编写的程序,发现自己的优点和不足,提高了设计能力。最终在小组同学的共同努力下完善本小组的设计程序。
在程序完善后,老师会下发显示板实物和原理图,让各组同学自己分析原理图,然后将显示板和开发平台连接,下载程序测试设计结果,如图 17所示。

图16 独立探索和分组协做

图17 设计验证
协作学习完成后进入效果评价环节。首先由各小组派代表来讲解本小组的设计情况,包括设计思路,各模块功能等。在讲解完成后,由老师发放组间评价表,让其它小组同学给出评分,然后由老师对各组的设计情况给出综合打分,如图 18 所示。最终评出课上优秀工作组,以激发学生的学习热情。

图 18 效果评价环节
最后由老师对本项目知识点进行归纳和总结,并汇总各小组的设计报告通过 EMAIL发送给企业的工程师,由企业工程师对各小组的设计报告进行评价。实验项目的最终得分按表1分配比例计算得出。
表1 实验项目评分比例分配表
| 考核内容 | 所占比例 |
| 报告格式规范 | 15% |
| 图表规范、记录数据合理 | 15% |
| 设计方案正确、合理 | 25% |
| 性能指标符合要求 | 25% |
| 创新思想、分析能力 | 10% |
| 书写工整 | 10% |
课后阶段是课堂教学的延伸。在课后老师通过微信订阅号发布每周一题,引导学生继续巩固项目知识点。学生还可以通过微信互动平台和老师实时交流,及时解决遇到的问题,如图19所示。

图19 课后师生交流互动
9. 实验报告要求
实验结束后一周内需在职教云平台提交电子报告(https://zjy2.icve.com.cn/)报告需要反映以下工作:
1)实验目的
2)实现方案论证(项目的设计过程、系统框图、原理图、测试方案等)
3) 实验仪器
4) 实验记录(步骤、数据、过程、故障、排除故障过程和方法等)
5) 实验结果验证(波形、仿真数据)
6) 数据处理分析
7) 实验结果总结
8)实验思考题
9)参考文献
10.考核要求与方法(限 300字)
1)实物验收:对顶层文件进行编译、综合、分配管脚和适配,并将其下载到实验箱上,进行板级验证;功能与性能指标的完成程度(如温度测量精度、控制精度),完成时间。
2)实验质量:设计方案的合理性,设计要求划分层次、单元模块和接口信号,对所有的单元模块进行功能仿真,记录并分析全部仿真结果。
3)实验数据:测试数据和测量误差。
4)实验报告:实验报告的规范性与完整性。
5)自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
11.项目特色或创新(可空缺,限 150 字)
课程采用支架式教学法使教学设计更加合理;师生交流互动平台使工作过程更加高效;采用了组间评价,综合评价,企业评价等过程性多元化评价,使对学生的评价更加客观合理。
特色:
(1)依托在线课程平台,,融合多样资源,实施混合式教学;
(2)基于能力导向,组织“做中学”;
(3)以学生为中心,构建多元评价机制。
参赛信息表
| 案例提供单位 | 南京信息职业技术学院 | 相关专业 | 电子类相关专业 | |||
| 设计者姓名 | 魏欣 | 电子邮箱 | weixin@njcit.cn | |||
| 移动电话 | 18951797695 | 通讯地址(含邮编) | 江苏省南京市栖霞区文澜路 99号 | |||
| 设计者姓名 | 孙玥 | 电子邮箱 | sunyue@njcit.cn | |||
| 移动电话 | 18951690376 | 通讯地址(含邮编) | 江苏省南京市栖霞区文澜路 99号 | |||
| 设计者姓名 | 王璇 | 电子邮箱 | wangxuan@njcit.cn | |||
| 移动电话 | 13851682634 | 通讯地址(含邮编) | 江苏省南京市栖霞区文澜路 99号 | |||
| 相关课程名称 | 可编程逻辑器件 | 学生年级 | 大学二年级 | 学时(课内+课外) | 160(课内64学时+课外96学时) | |
| 支撑条件 | 仪器设备 | FPGA 实验箱、示波器、PC 机 | ||||
| 软件工具 | ISE | |||||
| 主要器件 | Xilinx 公司 FPGA- -XC6SLX16 | |||||