- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于STM32的CAN
石润彬
指导老师 邓 晶
摘 要:本文介绍了以STM32 CPU作为控制核心,基于CAN总线协议的汽车温度采集系统的设计,从硬件与软件两方面介绍了其温度采集节点与中心信息显示的实现过程。
关键词:STM32;CAN总线协议;温度传感器
Design of Smart Temperature Acquisition System
Based on STM32 and CAN
Abstract:This paper introduces a temperature acquisition system model based on the CAN bus and using STM32 as its controller, also describes the process of temperature acquisition in node module and information display in central module from hardware and software.
Keywords:STM32;CAN;Temperature acquisition
0 引言
社会的发展,汽车成为了最为普及的交通工具,Controller Area Network ,CAN)是BOSCH公司领先推出的一种多主机局部网,由于其卓越性能现已广泛应用于电磁辐射强,工作环境恶劣的工业场所CAN的直接通信距离最远可达10km通信速率最高可达1Mbps
1 概述
1.1 系统设计
本文设计的温度采集系统可以采集不同位置的温度,并通过CAN总线准确地传回控制中心,同时系统也可以在温度异常时做出报警提示。该系统由主控节点、采集节点和传感器组成。传感器设置在需要监控温度的汽车部件中,将温度转化为数字信号。采集节点用来收集相近的两个传感器信号,然后通过CAN总线将温度信息发送至主控节点。主控节点接收到总线上的信息后,进行数据处理,并在LCD显示器上显示出各监控部件的温度信息。系统结构模型如图1所示。
1.2 关键技术
基于STM32的CAN
·CAN总线协议
·基于ARM7的STM32微处理器
·DS18B20温度传感器单总线通信
·TFT LCD显示器控制驱动
2. 硬件实现
2.1 节点设计
温度采集系统中的节点包含主控节点与采集节点两种类型,在硬件上的实现过程较为相似,其系统结构框图如图2所示,其中*号标注的为主控节点特有外设,#号标注的为采集节点特有外设。
2.2 STM32核心
主控芯片采用STM32F103VE,STM32系列32位微处理器采用ARMv7的Cortex-M3内核,接口丰富,外设完整,主频高达72MHz,使用3.3V电压供电。内置有CAN控制器与FSMC控制器,简化了系统的实现过程。
bxCAN(Baisc Extended CAN)是STM32内置的CAN控制器,支持2.0A、2.0B CAN协议最高速率可达到1Mbit/s。其中包含3个发送邮箱,2组各包含3个接收邮箱的FIFO,14个可变位宽的过滤器组。报文的发送和接收由CAN内核自动实现。
(Flexible Static Memory Controller)是STM32内置的静态存储控制器,FSMC映射管理的1GB空间被分为4个BANK,LCD控制芯片中的Flash可以被映射到BANK1,在之后的显示使用中,只需更改映射后FSMC中BANK1的值即可对LCD的FLASH进行操作。
2.3 温度传感器
本系统采用的温度传感器是DS18B20“单总线”接口的温度传感器,与传统的热敏电阻等测温元件相比,它是一种新型的体积小、适用电压宽、与微处理器接口简单的数字化温度传感器。该传感器测量温度范围为-55~+125℃,精度为±0.5℃。DS18B20数据端与STM32的GPIO口连接,因为要求上拉输出模式,所以可以直接使用GPIO口的IPU(上拉输入)模式,传感器的VDD端接5VDC。
2.4 CAN外围收发电路
TJA1050是和物理总线之间的接口,是一种标准的高速CAN收发器。
2.5 LCD显示器
本系统采用了分辨率为320*240的26万像素TFT显示器,LCD控制器为ILI9325,其数据总线为16位,为了简化程序,使用STM32中的FSMC与数据总线连接。ILI9325数据口与STM32的连接方式如图4所示。
3 软件设计
3.1 节点程序操作过程
主控节点用来接收采集节点发出的温度信息,处理数据并显示。主控节点的主程序包括:(1)初始化配置;(2)CAN接收中断服务;(3)转换温度信息程序;(4)显示程序;(5)报警程序。采集节点的主程序分为三部分:(1)初始化配置;(2)与传感
文档评论(0)