引言
现代工业控制领域通常要测量很多信号,将其转化为计算机可以识别的二进制信号,并利用计算机监视和记录各种测量的信号。这个过程就要涉及到信号的采集和处理。CAN 总线是一种串行多主总线,它卓越的特性、极高的可靠性和独特的设计,特别适合工业过程监控设备的互连,因此,越来越受到工业界的重视,并已公认为最有前途的现场总线之一。本文介绍了基于 STM32 和 CAN 总线的温度监控系统的设计,通过上位机与下位机的通信,实现对温度数据的监控,并经初步实验达到了设计的要求。
1 系统总体方案概述
系统总体框图如图 1 所示,本系统采用主站+从站的结构,CAN 主站主要实现温度数据的存储以及 CAN 总线协议和串口协议之间的桥接,CAN 从站主要实现温度的采集。CAN 从站采集的温度,经过 CAN 总线传送到 CAN 主站,主站将各从站的温度值传送到系统上位机中。上位机对各点的数据进行实时曲线显示并进行存储,上位机可以设定报警值,当节点温度超过设定值的时候,上位机发出报警声。在没有上位机的场合,主站将数据以文本文档的形式存储在主站的 SD 卡中。
图 1 系统总体框图
2 系统硬件设计
2.1 CAN 主站硬件设计
主站电路如图 2 所示,主要有电源模块、STM32 模块、CAN 收发器模块、RS232 串口模块和 SD 卡模块。
其中 STM32 模块由 STM32F103RBT6 和周边时钟、复位、调试等组成。电源模块由外部输入+5V 电压,经线性压降 AMS1117-3.3V 后供 STM32 使用。CAN 收发器模块采甩 NXP 的高速收发器 TJA1040,TJA1040 是 PCA82C250 的替代品,它完全符合 ISO 11898 标准,具有高速、低功耗、低电磁辐射的优点。RS232 电平转换芯片采用 MAX3232,它具有低功耗、高数据速率以及增强型 ESD 保护等特性。采用专有的低压差发送输出级,+3.0 V 至+5.5V 供电时利用内部双电荷泵保证 RS-232 性能。工作时,电荷泵仅需要四个 100 nF 的小电容。SD 卡模块采用四线制 SPI 总线与 SD 卡相连接。
2.2 CAN 从站硬件设计
从站电路如图 3 所示,主要有电源模块、STM32 模块,CAN 收发器模块,PT100 模块和从站地址选择模块。
图 2 CAN 主站电路框图 图 3 CAN 从站电路框图
其中电源模块、STM32 模块和 CAN 收发器模块与 CAN 主站相同。PT100 模块,采用传感器测量电桥,为了保证电桥输出电压信号的稳定性,电桥的输入电压通过 TL431 稳至 2.5V。从电桥获取的差分信号通过两级运放放大后输入 STM32 的 AD 输入口。从站地址选择模块由 8 位拨码开关组成,连接到 STM32 I/O 的 PC6-PC13。
3 系统软件设计
本系统软件由 CAN 主站软件、从站软件以及 Delphi 上位机软件构成。其中 CAN 主站和从站程序用 C 语言编写,上位机程序用 Obieet Pascal 编写。
3.1 CAN 主站软件设计
CAN 主站的功能是发送远程帧向从站查询数据、通过 AD 的转换结果计算芯片内部温度传感器的温度值、接收从站发送的数据帧、发送温度数据到上位机或存储数据到 SD 卡。CAN 主站程序如图 4 所示。
图 4 CAN 主站程序流程图 图 5 写 SD 卡程序流程图
写 SD 卡部分程序流程图如图 5 所示,SD 卡部分主要用到了移植的 FATFS 文件系统提供的访问 FAT 卷的应用接口(Application Interface)。主要用到了以下函数:
·f_mount- 注册/注销一个工作区域
·f_open- 打开/创建一个文件
·f_close- 关闭一个文件
·f_lseek- 移动/写指针,扩展文件大小
·f_puts- 写字符串
·f_printf- 写一个格式化字符串
3.2 CAN 从站软件设计
CAN 从站的主要功能是通过 AD 转换器检测 PT100 电桥的差分输出电压,然后计算得出此节点的温度值,最后通过 CAN 总线传送给 CAN 主站。其中只有在 CAN 从站收到与自己节点号相同的主站发送的远程帧的时候,从站 CAN 控制器才发出一个数据帧。CAN 从站程序流程图如图 6 所示。
图 6 CAN 从站程序流程图 图 7 Delphi 实时曲线部分流程图
3.3 Delphi 上位机软件设计
本上位机软件主要实现了五个功能:实时曲线显示当前各从节点的温度;打印实时曲线;将实时曲线保存为图片;将实时曲线的数据保存为 TXT 文档以及实时温度超过报警值时报警。
本系统上位机串口通讯控件采用 SPCOMM,该控件具有丰富的与串口通信密切相关的属性及事件,支持多线程;提供了对串口的各种操作。图形控件采用 TChart,TCharc 是 Delphi 里面一个标准的图形显示控件。它可以静态设计(At Design TIme)也可以动态生成。该系统设计采用的版本为 TeeChart 7;实时曲线部分流程图如图 7 所示。上位机程序完成后界面如图 8 所示。
图 8 上位机界面
4 结束语
本文介绍了基于 STM32 和 CAN 总线的温度监控系统的设计,初步实验证明,上述的硬件及软件设计基本达到了设计要求。本系统适用于多节点、远距离的场合,并具有实时性好、可靠性高的特点,具有一定的应用价值。
上一篇:基于STM32的景点语音自动导览系统的研究与设计
下一篇:基于STM32的高性能、低成本芯片的税控器方案设计
推荐阅读最新更新时间:2024-11-13 01:44
推荐帖子
- LPC810的电源模式设置,sleep,deep sleep
- 请问我设置SCB-SCR&=~SCB_SCR_SLEEPDEEP_Msk;//设置为休眠模式,SCB-SCR|=SCB_SCR_SLEEPONEXIT_Msk;//进入休眠模式为何定时器能工作,而串口不能啊,同时主函数也不运行了。这是为何。这是时钟的配置#defineSYSOSCCTRL_Val0x00000000//Reset:0x000#defineWDTOSCCTRL_Val0x00000000//Reset:0
- 楞伽山人 NXP MCU
- 出青风 QF-TM4C123 TI LM4F232 Cortex-M4 开发板
- 本帖最后由nwcheroes于2014-7-2123:48编辑 青风QF-TM4C123开发板,做毕设的时候用过一段时间,做完就放着吃灰了。现在和jlink打包一起出,资料光盘都有http://item.taobao.com/item.htm?id=40208434125出青风QF-TM4C123TILM4F232Cortex-M4开发板
- nwcheroes 淘e淘
- [转贴]我的嵌入式之路
- 前言这个题目很大,给人一种感觉我好像很成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸!工作三年、几成废人!我2000年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来说是天文数字
- liqin3004 嵌入式系统
- DCDC模块电源滤波的问题
- 注意:DCDC模块要注意电源滤波的问题,尤其在AD和传感器供电电路中使用的金升阳的WAR0512S-3WR2模块,如下图,没有加LC滤波电路因为该模块为开关电源,最初没经过计算,只在输出端加了10uF的滤波电容,电源输出的纹波如下图(注意,频率大约1KHz),这种电源的噪声一般是开关电源的开关频率造成的。在模块后添加LC滤波电路后,LC低通滤波电路的滤波频率约为足以滤除上面的约1KHz
- Aguilera 模拟与混合信号
- 示波器高压探头的问题
- 【不懂就问】如图下,是一个示波器高压探头这个图的意思是不是表明,该探头的共模电压可以达到600-1000v(就是可以把600-1000v的电位当做地),然后在此基础上,两个探头间的电压峰值是1300v?示波器高压探头的问题CAT等级可不是什么“共模电压”,而是指设备满足使用者人身安全的电气应用环境。CAT1指通过变压器或隔离的电源适配器的二次电气侧,CAT2则是一般工作、生活中的交流电网一次侧从电源插座引出的部分,CAT3则是指与交流电网直接连接的一次侧。1300V是探头两线间准许的最
- shaorc 模拟电子
- 分享LMP7721的微电流测试
- 本帖最后由dontium于2015-1-2311:28编辑微弱电流测试,在半导体、绝缘材料、电场测试、弱光测试、射线探测等领域应用广泛。微弱电路测试用的最多的电路就是IV转换电路,最简单也用的最多电路如下图所示:分享LMP7721的微电流测试本帖最后由dontium于2015-1-2311:28编辑再简单介绍下TI的超低输入偏置电流的运放LMP7721。 LMP7721的Ib不大于20fA,典型值达到3fA,相当不错,尤其是其VosLMP772
- music_586 模拟与混合信号
设计资源 培训 开发板 精华推荐
- 用于 300Khz 自举 N 沟道晶体管的 Tc110333Ect Pfm/Pwm 升压直流/直流控制器的典型应用
- MCP1603L 500mA 同步降压稳压器的典型 5V 至 1.0V @ 500mA 应用
- ST890BDR 1.2A 限流高边功率开关典型应用电路热关断
- 低成本 MOSS 触摸灯 流浪地球2
- CP2101EK,用于 CP2101 单芯片 USB 至 UART 桥接器的评估套件
- TI推出的无线计量总线M-BUS参考设计
- SPV2011_CoreBoard_V1.0
- 使用 ON Semiconductor 的 SPT7850 的参考设计
- LT1021DCS8-10 精密电压基准的典型应用
- 使用 NXP Semiconductors 的 MC13226V 的参考设计