- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用MC9S12单片机构建CAN总线网络研究
利用MC9S12单片机构建CAN总线网络研究
摘要:飞思卡尔MC9S12(X)单片机的控制器局域网(MSCAN)是一种通信控制器,介绍基于使用该单片机的MSCAN模块构建小型网络的研究,实现三块单片机的实时交互通信。三块单片机包括一块主控制器和两块辅控制器,系统将两块辅控制器挂在主控制器的CAN总线上,与主控制器进行数据交换。其中,数据包括采集的环境温度和用电压模拟的车速。
关键词:MC9S12(X);CAN总线;通信
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)20-0210-03
CAN全称为Controller Area Network,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN是由德国的Bosch公司提出,被设计为汽车环境中的微控制器通信,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。本文按照CAN总线协议设计了一个小型的CAN总线网络,正文从硬件设计和软件流程来进行阐述。
1 硬件电路设计
1.1 CAN接口电路
本文采用TJA1050作为CAN总线的接口芯片,它是一种标准的高速CAN收发器,可以为总线提供差动发送性能和为CAN控制器提供差动接收性能。
TJA1050的3引脚和2引脚分别为电源的正极和负极,连接5V电源和地。1引脚和4引脚为CAN模块的发送和接收引脚,分别用于从CAN总线控制器中输入发送到总线上的数据和将从总线接收的数据发送给CAN总线控制器,连接单片机的PM1和PM0引脚。7引脚和6引脚连接到CAN总线的CANH和CANL线上,信号使用差分电压传送,因此两条信号线被称为CAN_L和CAN_H。8引脚是工作模式选定引脚,该CAN接口芯片一共有高速、斜率控制和待机3种工作模式,把该引脚直接接地可选择高速工作模式。在总线接口部分还要接一个120欧姆的匹配电阻。J_CAN是与CAN总线连接的接口。CAN总线接口电路见图1:
1.2 电源模块
电源模块采用LM2940稳压芯片,将电压从12V稳到5V。原理图中C11、C12、C13、C14、C15、C16分别为滤波电容,F11为滤波电感,D12是电源指示灯,防止指示灯被烧,串联一个1K的电阻。其中PAD02接MC9S12(X)单片机的71引脚PAD02,采用固定电压的AD转换输入。电源模块电路图见图2:
1.3 AD采集电路
本文所设计的CAN小型网络只用到两路AD采集。因此电路图中PAD00和PAD01分别接MC9S12(X)单片机的67脚和69脚,R44和R47采用1K的电阻,而R43和R46采用10K的电位器来进行分压调节。AD采集电路见图3:
1.4 温度传感器模块
设计中,我们用的温度传感器是DS18B20。用DS18B20有以下几个优点:①独特的单线接口方式,只需一个接口引脚即可通信;②可用数据线供电,电压范围:+3.0V―+5.5V;③测温范围:-55℃―+125℃,在-10℃―+85℃围内精度为范围内精度为+0.5℃,分辨率为0.0625℃;④通过编程可实现9-12位的数字读数方式。⑤多个DS18B20可以并联在惟一的三线上,实现多点测温。温度传感器模块原理图见图4:
1.5 LED显示模块
本设计的显示模块采用LCD12864液晶显示屏,显示的内容有两个辅控制器采集到的温度和经过两个辅控制器AD转换以及计算模拟出来的车速。经过液晶屏的显示,可以方便的知道CAN总线上的数据传输是否正确。LED显示模块原理图见5:
2 软件设计
2.1 MSCAN初始化程序的编写
初始化按照下列过程实现:
1)首先检测MSCAN是否处于工作模式;
2)进入初始化模式中,正在进行的任何发送或接收都会立即中止,与CAN总线失去同步。在进入初始化模式时,必须要保证MSCAN不在工作状态,否则中止正在发送的报文可能导致错误发生。在初始化模式中,虽然MSCAN被停止,但是其接口寄存器仍然可以访问;
1)设置相应寄存器,依次设置CAN总线波特率、接收滤波方式、标识符接收寄存器和标识符掩码寄存器;
2)使能CAN模块,设置运行模式(初始化、睡眠和工作三种模式)。MACAN初始化流程图见图6。
2.2 MSCAN发送程序的编写
MACAN用报文来发送数据,首先选择空闲的发送缓冲区,然后向该空闲缓冲区写入数据,最后设置改缓冲区的发送标志位来将报文发送至CAN总线上。因此,用户在发送报文缓存区写入数据前,只需要通过相应的寄存器(CANTBSEL)设置一个指针来访问任何一个缓冲区。此算法不仅简化了发送缓冲器选择功能,而且这种机制还使程序软件处理更为简单。
M
您可能关注的文档
最近下载
- 2025年成都市金牛区某国企招聘工作人员若干人备考题库含答案详解.docx VIP
- 2025年成都市金牛区某国企招聘工作人员若干人备考题库参考答案详解.docx VIP
- .铝合金门窗的新技术应用.pdf VIP
- 第六部分犬的保健.ppt VIP
- 国际货币基金组织IMF债务可持续分析框架.docx VIP
- 外墙立面改造工程施工方案.docx VIP
- TD_T 1012-2016 土地整治项目规划设计规范.docx VIP
- 小学五年级英语期中测试卷(含听力材料).doc.docx VIP
- 2025年成都市金牛区某国企招聘工作人员若干人备考题库附答案详解.docx VIP
- 机械基础机械基础(初级)试题库.docx VIP
原创力文档


文档评论(0)