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所示。
本文关键字:监控系统 元器件特点及应用,元器件介绍 - 元器件特点及应用