基于LPC1114的温度监控记录仪设计
实验题目:基于LPC1114的温度监控记录仪设计
课程简要信息
课程名称:嵌入式系统课程设计
课程学时:32学时
项目学时:课内16学时+课外16学时
适用专业:电子信息工程专业
学生年级:大三,第六学期
设计内容与任务
本课程的目标是设计并实现基于LPC1114的温度监控记录仪。具体设计内容与任务包括:
-
温度检测与存储:每秒检测一次环境温度,并将检测到的温度数据存储起来。
-
时间关联与数据导出:确保存储的数据与时间相关联,并且可以通过串行口对外导出。
-
时间读取功能:能够通过串口读取当前时间。
-
供电方式:采用USB供电,以确保设备的便捷性和通用性。
-
数据传输:实现USB转串口数据传输功能,使得数据可以轻松传输到其他设备。
-
状态指示和功能按键:设有一个运行状态指示灯和一个功能按键,方便用户操作和监视设备状态。
-
报警功能:能够设定每个采样点的上限报警温度值,并在超过时立即发出警报。
-
数据存储:将采集的数据保存到TF卡中,确保可以长期的存储历史数据。
-
文件系统:设计一个便于文件读取和书写的文件系统,以方便数据管理和导出。
-
数据显示:通过屏幕进行数据的显示,增强用户交互性和可视化。
-
多机协同工作:支持使用RS485总线进行多机协同工作,提升系统的扩展性和灵活性。
-
拓展任务:实现至少1个拓展功能或基础核心功能的复杂化设计。
-
自拟任务(可选):针对项目研发过程中遇到的问题,开展自由探索。
通过引导学生自拟工程背景,进行需求分析和实验方案设计,学生将深入了解嵌入式系统的设计与实现,掌握温度监控记录仪的开发流程和关键技术,培养其在解决复杂工程问题中的实践能力和创新意识。并设置多层次任务,锻炼学生的思考能力和培养学生科研兴趣。
实验过程及要求
在本实验中,学生将通过以下步骤完成设计与制作温度记录仪的任务,并培养相关能力:
-
背景选取和需求分析:关注国家战略领域和产业核心技术,自拟工程背景,明确温度记录仪的功能和特性。
-
资料查询与自学预习:查找相关资料,了解不同类型的温度传感器、存储传感器的特性和选型原则,以及传感器之间通信协议的使用。
-
方案设计与项目管理:根据项目要求,设计温度信号采集、存储和显示的方法,并规划实验进程和进行成本概算。
-
器件选择与电路设计:根据所学知识和实验要求,选择合适的元器件,并设计相应的硬件电路,包括主控的核心电路以及外围传感器电路等。
-
现象观察与数据测试:在实验过程中观察各个模块的工作情况,测试温度记录仪的性能指标,如温度测量精度、响应速度、存储容量等。
-
实验报告与总结答辩:撰写设计总结报告,总结实验过程中遇到的问题及解决方法,对实验结果进行分析和评价,并通过演讲进行总结答辩。
相关知识及背景
在当今工业生产和日常生活中,温度监测设备的需求不断增长。随着工业化进程的加速和智能化技术的广泛应用,各行各业对于温度数据的精准监测和实时记录变得至关重要。随着冷链物流的快速发展和食品安全标准的提高,对运输过程中的温度控制提出了更高要求。在冷链运输中,无论是食品药品还是其他需要恒温保存的物品,都必须严格控制温度环境,以防止产品变质或损坏。特别是在长途运输和多次转运过程中,温度波动可能对货物质量产生严重影响。因此,冷链运输迫切需要一种精准、可靠的温度记录仪,能够实时监测和记录运输途中的温度数据。温度监控记录仪不仅需要小巧便携,以适应冷链运输的特殊性,还需具备长时间的数据存储能力,以便在需要时能够回溯整个运输过程中的温度变化情况。通过实时记录的温度数据,物流管理人员可以及时了解货物所处环境的温度状况,一旦发现温度异常,就能迅速采取措施,确保货物安全。同时,这些数据还可以用于后续的质量追溯和责任界定,为冷链运输提供有力的数据支持。
通过设计和制作温度记录仪的实践项目,学生不仅能够掌握工程问题解决能力、系统设计与集成能力、实践操作技能等方面的能力,还能够培养团队合作与沟通能力,创新意识和解决问题的能力,以及拓展工程视野,了解嵌入式系统在冷链运输和日常生活中的重要性和应用场景。
实验环境条件
项目实施需要的环境条件如下:
-
实验教学平台:主要使用本校自主设计的嵌入式教学开发板进行实验教学,并使用canvas线上系统进行课下的交流与互动,可以完成作业提交、批改以及总体进度的查看。
-
线上虚拟仿真平台:使用本校自研的远程虚拟仿真平台,可以提供远程的虚拟仿真,可以在课下通过网络进行操作,进行验证实验。
-
通过与嘉立创企业进行合作,在嘉立创平台建立课程群,便于学生自主设计PCB板进行硬件自定义,满足特定的功能。
-
实验室提供搭硬件设计所需的仪器、仪表和元件,包括:嵌入式教学开发板、万用表、多功能电源、电路元件模块等。
教学目标与目的
经过本课程的学习,学生将能够:
-
系统方案设计与评估:根据设计需求和性能指标,提出系统方案,并进行综合评估。通过比较不同技术方案,选择最适合项目需求的方案。
-
EDA软件应用:运用EDA软件进行原理图和PCB图设计,实现系统方案的具体落地。
-
项目管理与成本核算:进行项目成本估算与核算,有效管理项目进度与资源。进行项目管理,包括进度控制、风险评估等方面。
-
系统软件设计:利用软件开发工具进行系统软件设计,实现系统功能的编码与测试。
-
系统调试与测试:利用软件模拟工具和硬件在线仿真工具进行系统调试与测试,确保系统功能正常运行。
-
文档撰写与汇报:撰写设计报告、项目演示文档,清晰表达项目设计与实施过程。能够对项目进行汇报和答辩,展示专业知识与技术能力。
教学设计与实施进程
- 课堂知识讲解、方法引导、背景解释:
-
在课堂知识讲解中,将介绍温度记录仪的设计原理、各个模块的功能和相互关系,以及相关的嵌入式系统设计理论知识。
-
方法引导将包括对学生进行温度记录仪的系统设计方法的引导,例如如何根据性能指标选择元器件、设计系统框图以及软件流程图等。
-
背景解释将重点介绍芯片和EDA软件的应用,以便学生更快的了解与接受嵌入式的设计理念。
-
鼓励学生自拟温度监控记录仪背景,并从国家战略角度和产业核心技术出发,教授学生如何解决复杂工程问题,并融入课程思政教育。
- 实验资源、研讨主题、观察节点、验收重点、质询问题等方面设计:
-
实验资源包括实验室的硬件设备和软件工具,以及教师对学生的实验指导和辅导;此外,本案例设计将建立软件例程库和电路功能库,引导学生按照自拟背景自由选择、按需组合。
-
研讨主题将涉及到温度记录仪的系统方案设计、元器件选型、硬件设计和软件设计等方面的讨论。
-
观察节点将关注学生在系统设计、软硬件调试和测试等环节的表现,以及作品的功能实现情况。
-
验收重点将放在学生对任务的完成程度、作品的质量以及课程设计报告的撰写和答辩情况上。
-
质询问题将涉及到学生在设计过程中所面临的挑战、解决问题的方法和思考等方面,以及对设计原理和实现细节的理解。
- 实验实施进程的各个环节:
-
任务安排:明确实验任务的目标和要求,引导学生理解项目的整体框架和实现思路。
-
预习自学:学生通过资料查询和自学预习,掌握与实验相关的知识和技术原理。
-
现场教学:教师对实验中涉及的关键知识点进行讲解和详细解释,引导学生理解各个模块的设计原理和功能实现方法。
-
分组研讨:学生分组讨论和解决特定的设计问题或方案选择,促进合作与交流。
-
现场操作:学生进行实际的硬件连接和软件编程,熟悉实验设备的使用和操作方法。
-
结果验收:教师对学生完成的实验结果进行验收和评估,检查是否符合实验要求,并提供反馈意见和改进建议。
-
总结演讲:学生通过分组演讲向全班展示他们的实验成果和经验总结,提高表达能力和自信心。
-
报告批改:教师对学生提交的设计报告进行批改和评分,关注报告内容的准确性和完整性,确保学生对实验过程的理解和总结。
-
长期目标建立:自选企业调研,形成需求报告;撰写强相关实用新型专利;申报大学生创新创业训练项目;参加任意强相关学科竞赛。针对不同学生特点从四个维度实现教学闭环。
以上,通过精心设计的多环节教学过程,从课堂讲授、自主探究、小组讨论以及思维引导,使得学生全面掌握嵌入式系统设计的理论知识和实践技能,培养其解决工程问题的能力和终身学习的意识。
实验原理及方案
- 系统结构
以LPC1114为处理器,按照功能将总体电路分为采集模块、通信模块、显示反馈模块和存储模块四大模块,模块框图如图1所示。其余如降压模块、调试模块等与功能实现并不与温度监控系统直接相关所以未在此处列出。

图1 总体功能框图
- 方案设计
- 总线协议选择
本系统使用外设多,且需要板间通信以及与PC的通信。每种通信使用的总线协议需要分配清楚。
a) 控制器与温度传感器通信使用I2C总线,传感器选择LM75BD,分辨率高,且可以同时挂载多个传感器采集数据,易于数据管理。
b) 控制器与屏幕通信使用I2C总线,SPI、MPU等方式驱动的屏幕普遍价格高,很多为TFT触摸屏(如ILI9325)。屏幕只是用于展示数据,对交互需求不用太高,使用I2C连接的OLED屏幕,便宜且便于控制。
c) 控制器之间的通信采用RS485总线,方便易于实现,可以节省大量电路,减少占用开发板空间,且易于监测系统的多传感器集成。
d) 控制器读写SD/TF卡正常有三种模式4位SD模式、1位SD模式以及SPI模式,其中SPI模式使用引脚数最少,且操作与读写FLASH类似便于操作,使用SPI模式进行读写更简单快捷。SSP1读写FLASH,SSP0用于读写SD/TF卡。
- 构建文件系统
基于项目需求,需要使用FATFS文件系统为温度记录仪提供高效的数据存储,使用FATFS文件系统有几个重要的原因。
a) 数据存储和管理:FATFS是一个适用于嵌入式系统的文件系统,能够有效地管理存储在设备上的大量数据。由于温度记录仪需要长时间存储温度数据日志,FATFS提供了方便的文件管理功能,能够将温度数据以文件的形式进行组织和存储,便于后续的读取、检索和处理。
b) 兼容性:FATFS是一种通用的文件系统,与多种操作系统和硬件平台兼容。这使得温度记录仪可以在不同的设备和环境中使用,无论是在嵌入式系统上运行,还是连接到PC机进行数据传输和处理,都能够方便地访问和管理存储的温度数据。
c) 轻量级和高效性:FATFS具有较小的存储和内存占用,适用于资源受限的嵌入式系统。它的设计注重于简洁和高效,能够在有限的资源条件下提供稳定可靠的文件系统功能,同时保证数据的完整性和可靠性。
d) 易于实现:FATFS的代码相对简单,具有良好的可移植性和易用性,便于在嵌入式系统中集成和实现。这使得在温度记录仪中使用FATFS文件系统可以更快地完成开发和调试,减少开发周期和成本。
- 实施方案
- 软件流程
整体软件编写流程图如图2所示。分为初始化模块、温度采集模块、时间采集模块、数据存储模块和交互显示模块。

图2 软件流程图
- 温度采集
LM75BD温度传感器芯片是一款内置带隙温度传感器和模数转换技术的温度数字转换器,它也是温度检测器,可提供过热输出功能。LM75BD包含多个数据寄存器,通过两线的串行I2C总线接口与控制器通信。温度寄存器通常存放着一个11位的二进制数的补码,用来实现0.125°C的精度,在需要精确地测量温度偏移或超出限制范围的应用中非常有用。温度采集模块使用LM75BD作为温度传感器,通过I2C总线实时返回获取到温度值。LM75BD温度采集部分电路如图3所示。
LM75BD温度获取步骤:LPC1114完成主机模式初始化后执行以下操作:
(1)发送START信号;
(2)写SLA+R(0x91)字节,LM75B应答(ACK);
(3)主机置位应答位AA,读取温度寄存器MSByte;
(4)主机清零应答位AAC,读取温度寄存器LSByte;
(5)发送STOP信号。

图3 LM75BD温度采集部分电路
- 时间获取
实时时钟DS1307是低功耗、IIC接口、日历和时钟数据,按BCD码存取的时钟/日历芯片。它提供秒、分、小时、星期、日期、月和年等时钟日历数据。时间获取模块使用DS1307作为外设RTC,记录温度采集对应时间。DS1307外设RTC时钟部分电路如图4所示。

图4 DS1307外设RTC时钟部分电路
DS1307写操作步骤(设置初值):
(1)发送START信号;
(2)写SLA+W(0xd0)字节,DS1307应答(ACK);
(3)写1字节内存地址(在以下第四步写入的第一字节将存入到DS1307内该地址处),DS1307应答;
(4)写数据(可写多个字节,每一字节写入后DS1307内部地址计数器加一,DS1307应答);
(5)发送STOP信号。
DS1307读操作步骤(读取时间):
(1)发送START信号;
(2)写SLA+R(0xd1)字节,DS1307应答(ACK);
(3)主机接收x个字节数据,每接收1个字节,主机发送一个应答ACK,最后一个字节主机发送非应答NACK;
(4)发送STOP信号。
- 板间通信
RS-485是一种常用的串行通信标准,用于在工业控制系统、自动化设备和数据采集系统中实现设备之间的远距离通信。RS-485通信协议基于差分信号传输,具有高抗干扰性和远距离传输能力,使其在工业环境中得到广泛应用。使用SP3485芯片作为RS485通信芯片,如图5所示。通过485总线进行板间通信,主要为传递报警信息。当某一温度检测点处温度超出预警值,相连接的设备会接收到来自该板的预警信息,并且将报警信息显示在OLED上,实现多点的监测联动。

图5 RS485通信电路
- 与PC通信
采用中断的方式进行数据接收具有较高的效率和灵活性,能够及时响应串口数据的到达,确保数据的准确接收和处理。通过UART串口与PC端通信,可以实现数据的双向传输,包括从嵌入式系统发送数据到PC端,以及从PC端发送数据到嵌入式系统。采用UART串口通信的优点包括成本低、实现简单、稳定可靠等,适用于各种嵌入式系统和PC端的通信需求。同时,通过中断方式进行数据接收可以减少CPU的轮询负载,提高系统的效率和性能,使得嵌入式系统能够更好地处理串口通信中的数据传输任务,串口通信电路如图6所示。

图6 串口通信电路
- 屏幕显示
OLED由I2C总线驱动,使用有SDA、SCL、GND以及VCC的4 pin的OLED屏幕,型号为SSD1306,电路如图7所示。

图7 OLED屏幕驱动电路 图8 蜂鸣器驱动电路
- 蜂鸣器驱动
蜂鸣器使用GPIO控制,电路如图8所示。程序中在定时器中断判断温度若超出预警值后,将会将温度状态变量设置为WARNING。温度状态变量为WARNING时蜂鸣器鸣叫。蜂鸣器鸣叫由GPIO口提供高低电平翻转实现。其中通过调节蜂鸣器的上电频率,改变其鸣叫的音调(音量)高低,使用引脚输出的PWM模式可以很方便的实现此功能。
- FLASH存储
存储模块中分为FLASH和TF卡两个存储器,两者均使用SPI协议进行读写。其中FLASH芯片使用SSP1,TF卡使用SSP0。FLASH型号为XT25F02E,存储电路如图9所示。
图9 FLASH芯片驱动部分电路
FLASH命令集如图10所示。

图10 FLASH命令表
- FLASH读取:
读取数据字节(Read)命令后面是一个3字节地址(A23-A0),每个位在SCLK的上升沿期间被锁定。然后,在该地址的内存内容在SO上移出,在SCLK的下降沿期间,每个位以最大频率𝑓
𝑅移出。
- FLASH写入:
页面编程(PP)命令用于对内存进行编程。在发送页面编程命令之前,必须先执行写入使能(WREN)命令来设置写入使能锁存(WEL)位。
- FLASH擦除:
扇区擦除(SE)命令用于擦除所选扇区的所有数据。以前必须执行过写入使能(WREN)命令才能设置写入使能锁存(WEL)位。扇区擦除(SE)命令是通过把CS#拉低,然后是命令代码和SI上的3个地址字节来输入的。扇区内的任何地址都是扇区擦除(SE)命令的有效地址。CS#必须在整个序列期间被拉低。
扇区擦除命令序列:CS#变低->发送扇区擦除命令->3字节地址在SI->CS#变高。
- TF/SD卡存储
选择使用SPI模式。SPI模式占用引脚少,协议简单,如图11为两种工作模式下的引脚图,SPI模式引脚以及硬件连线如图12所示,SD卡的命令总共有12类,如图13为几个比较重要的命令。

图11 两种模式下SD卡引脚

图12 SPI模式SD卡电路图
图13 SD卡常用命令
-
SD卡初始化步骤:①初始化与SD卡连接的硬件条件(MCU的SPI配置,IO口配置);②上电延时(>74个CLK);③复位卡(CMD0),进入IDLE状态;④发送CMD8,检查是否支持2.0协议;⑤根据不同协议检查SD卡(命令包括:CMD55、CMD41、CMD58和CMD1等);⑥取消片选,发多8个CLK,结束初始化。通过SD卡初始化,就可以知道SD卡的类型(V1、V2、V2HC或者MMC),在完成了初始化之后,就可以开始读写数据。
-
SD卡读取数据步骤:①发送CMD17;②接收卡响应R1;③接收数据起始令牌0XFE;④接收数据;⑤接收2个字节的CRC,如果不使用CRC,这两个字节在读取后可以丢掉。⑥禁止片选之后,发多8个CLK;
-
SD卡写入数据步骤:①发送CMD24;②接收卡响应R1;③发送写数据起始令牌0XFE;④发送数据;⑤发送2字节的伪CRC;⑥禁止片选之后,发多8个CLK;
- FATFS文件管理系统
FATFS是用于小型嵌入式系统的通用 FAT/exFAT文件系统模块。FATFS模块按照ANSIC(C89)编写的,并且与磁盘I/O层完全分开。因此,它独立于平台。它可以并入资源有限的小型微控制器中,例如8051,PIC,AVR,ARM,Z80,RX等。
实现步骤分为以下几个部分:
文件系统初始化:在使用FATFS之前,需要进行文件系统的初始化操作。这包括为FATFS结构体分配内存空间,并且调用相关函数初始化FATFS对象。
挂载文件系统:初始化完成后,需要将文件系统挂载到目标设备上。挂载操作将使文件系统与目标设备建立连接。
文件读写操作:一旦文件系统挂载成功,就可以通过FATFS提供的接口对文件进行读写操作。这包括打开文件、读取文件内容、写入文件内容、关闭文件等操作。FATFS会负责管理文件的分配和释放,以及文件系统的目录结构。
文件管理:FATFS还提供了一系列的文件管理函数,用于文件的创建、删除、重命名、查找等操作。这些函数可以方便地管理文件系统中的文件。
- 总原理图
使用立创EDA进行原理图设计。总体原理图,如图14所示。PCB设计,如图15所示。

图14 总体电路原理图


图15 PCB板图顶层、底层图
- 程序调试
代码调试使用以下DAP-LINK连接,使用SWD模式进行调试,如图16所示。

图16 学生调试作品
实验报告要求
实验报告需要反映以下工作:
-
根据嵌入式系统课程设计的题目,进行功能需求分析,确定性能指标。
-
根据需求分析进行初步的方案设计。方案设计要详细说明各部分单元电路和软件的设计思路,要有框图,不能太随意。
-
根据设计方案进行成本估算,并计入PCB加工、元器件、焊接、耗材、运输费用等成本。
-
根据拟定的题目、功能和性能指标,进行原理图和PCB图设计,利用立创EDA进行设计,用文字和图说明设计思路。
-
根据需求分析,写出程序设计思路,画出总的流程图和各个模块流程图,并附关键代码。
-
写出系统硬件和软件调试过程,说明调试过程中用到的调试工具,附图片说明。
-
对设计完成的系统进行测试,设计测试用例,搭建测试环境,测试结果与设计功能和性能指标进行对比,分析出现问题的原因。
-
对设计完成的系统进行项目成本核算。
-
按照实验报告模板撰写实验报告。
考核要求与方法
本课程最终通过多维度考核方式。总成绩由平时成绩(团队总结、操作规范、个人反思)和实验成绩(课程报告、作品演示、汇报答辩)组成,平时成绩占30%,实验成绩占70%。
- 平时成绩(30%)
-
团队总结:团队合作性(10%)
-
操作规范:项目管理完善性(10%)
-
个人反思:课程总结和拓展研究(10%)
- 实验成绩(70%)
-
课程报告:需求分析准确性、方案设计合理性、书面规范性(30%)
-
作品演示:软件代码可读性、硬件功能完整性(20%)
-
汇报答辩:个人表达沟通能力、PPT逻辑完整及美观性(20%)
项目特色或创新
1) 半自主式案例设计思想:
通过学生自拟工程背景锻炼学生发掘问题的能力,同时激发学生自主学习兴趣;通过“乐高”模式为学生提供大量的学习资源库,增强学生学习信心并扩展知识面;设计多层次任务,保障学生基础技能学习,同时区分具有创新意识和拓展思维的学生。
2) 新工科背景下课程建设:
在新工科背景下,引导学生关注国家战略领域和产业核心技术,融入“爱国主义教育”、“科研创新教育”等课程思政内容;实验内容自定义、结果可拓展,匹配并激发学生的学习潜力和积极性,完成综合素质提升;实验过程发挥学生自主性和创新性,适应创新创业教育培养模式。
3)匹配岗位需求的能力培养
本实验案例需求涵盖了项目管理、硬件设计、嵌入式开发、数据处理与通信等多个方面,指导学生综合先修专业基础理论,运用工程方法解决实际问题;提出实时监测和多机协同工作的项目核心需求,与复杂工程背景相契合,增强课程的实用性;最后通过答辩汇报与长期目标培养,帮助学生将理论知识和实践操作对应,实现从理论到实践转化、实践到理论强化学习的闭环。

