- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CAN总线多点分布式数据交换系统节点设计
基于CAN总线多点分布式数据交换系统节点设计
[摘要]文章主要介绍分析对P87C591控制器的应用,主要包括与上位机的数据通信程序、 CAN总线通信、外部数据的采集、I2C串行通信等。
[关键词]P87C591;CAN总线;SIO0;SIO1;I2C;串行通信
[作者简介]蒙丽华,广西机电工程学校实验师,研究方向:电气控制,广西南宁,530000
[中图分类号] TP336 [文献标识码] A [文章编号] 1007-7723(2011)04-0043-0005
一、前言
随着通讯技术、计算机技术、集成电路技术的飞速发展,传统的现场控制技术以及现场监控设备正在发生着一场新的革命。这就是以数字式现场总线(Field bus)为代表的现场控制仪表与设备的规范互联,在全世界范围内兴起。
控制器局部网(CAN-Controller Area Network)属于现场总线的范畴,它是一种有效支持分布式控制或者实时控制的串行通信网络。CAN的应用范围遍及从低成本的多线路网络到高速网络。在自动化电子领域的汽车传感器、发动机控制部件、防滑系统等应用中,CAN的位速率可达1Mbps。同时,它可以廉价地用于交通运载工具电路系统中,如:电气窗口、灯光聚束等以替代所需要的硬件连接。由于CAN有卓越的特性及极高的可靠性,特别适合工业过程监控设备的互连,因此越来越受到工业界的重视,并已经被公认为是几种最有前途的现场总线之一,成为一种国际标准(ISO11898)。
本文主要依据CAN的应用特点实现了一种多点分布式数据交换系统中一个节点的设计,侧重芯片的编程控制。
二、系统概述
(一)硬件系统概述
如图1所示,本系统以带CAN控制器的单片机P87C591为核心,外接4路A/D转换电路,对外部数据进行采集。同时,系统设计有外部数据存储器24LC256,可将采集数据进行保存。P87C591利用其串行口TxD,RxD通过RS232总线和电平转换芯片MAX232与上位机进行通信。同时通过CAN收发器TJA1050与CAN总线进行通信。
对于CAN总线的数据采集通过收发器TJA1050实现。P87C591的TxDC和RxDC分别与TJA1050的TxD脚和RxD相连,通过TJA1050的引脚CANH和CANL连接到CAN总线上去。
上位机通过发送命令使P87C591转到相应的工作状态。P87C591与上位机的通信通过读接收寄存器,来判断上位机的命令并执行,同时通过写发送寄存器返回一个应答字节给上位机。P87C591与上位机之间通信利用全双工串行接口SIO0进行。P87C591的TxD与上位机的RxD连接,P87C591的RxD与上位机的TxD连接。接口电路通过RS232转换电路实现。
P87C591自带可选择快速8位ADC。通过引脚P1.2-P1.5外接4路A/D对外部采集的模拟数据进行A/D转换。
P87C591具有I2C串行接口SIO1。通过P1.6/SCL和P1.7/SDA同外部数据存储器24LC256传送数据,将采集到的数据保存到24LC256中。 (二)软件系统概述
本系统的软件设计分为两部分:
1.上位机软件部分
2.对P87C591控制器进行编程的软件部分
本论文主要介绍对P87C591控制器进行编程的软件部分,软件编程使用的语言是C51语言。C51是一种与C语言十分类似的高级语言,可读性好,易于修改,具有较高的效率。
根据系统设计,对P87C591控制器进行编程的软件编程主要包括系统监控主程序和各个模块子程序。
其中系统监控主程序是控制芯片P87C591依照上位机的命令而相应运行的程序,通过读取上位机命令调用相应的功能模块,完成预定的任务。系统中共有8个功能模块,分别是:单通A/D转换、循环A/D转换、发送数据到RAM、读取RAM数据、CAN初始化、发送数据到CAN总线、接受CAN总线数据、出错处理。
三、软件设计
(一)监控主程序
在监控程序中,P87C591根据上位机发送的报文,调用相应的功能模块。监控程序流程图如图2所示。
(二)报文的接收与发送
当一个字节接收完毕,接收中断标志位RI由硬件置位,在RI为1时,可以从接收寄存器S0BUF中读数据。采用查询中断方法,一旦检测到RI为1,就从S0BUF中读数据。接收同时对数据累加,以便在接收完报文后进行校验。接收报文程序如下:
向上位机发送报文时,只需将数据写入发送寄存器,当TI置位时表示一个字节发送完毕,将TI清零后可以发
您可能关注的文档
最近下载
- 肉牛生产性能测定技术规范-编制说明.pdf VIP
- 中医药治疗乙型肝炎的优势及存在的问题.docx VIP
- 高危新生儿眼病筛查分类管理专家共识(2024).pptx VIP
- 24J306国家建筑标准设计图集.docx
- 汽车轮毂结构优化与轻量化设计研究.docx VIP
- 生物质呋喃基新材料呋喃二甲酸(FDCA)项目可行性研究报告写作模板-申批备案.doc
- 2025年搬运机器人行业研究报告及未来五至十年行业预测分析报告.docx
- FDCA行业动态报告:FDCA发展潜力巨大,下游制成PEF替代空间广阔.docx
- 学前儿童美术教育与活动指导第4版全套教学课件.pptx
- 预算编制服务投标方案(技术标).pdf
文档评论(0)