版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目5多机通信系统的设计与实现概述485通信项目引导基于RS-485总线的多点温度监控系统广泛应用于:工业控制、仪器仪表、机电一体化产品。RS-485总线抗干扰能力强传输距离远多站传输能力部署便利成本较低概述485通信项目引导查阅Internet资料,说一说:RS-485在实际生活中的应用场景。概述485通信项目引导RS-485通信是一种常用的串行通信协议,常用于工业自动化、智能仪表、安防监控等领域。以下是一些常见的RS-485通信应用场合。(1)工业自动化:在工业自动化领域,RS-485通信被广泛应用于监控系统、控制系统、数据采集等应用场景。例如,在工厂生产线中,可以使用RS-485通信将多个传感器、控制器、执行器等设备连接起来,实现数据的实时传输和监控。(2)智能仪表:在智能仪表领域,RS-485通信被广泛应用于各种类型的仪表,如温度计、压力计、液位计等。通过RS-485通信,多个仪表可以连接在一起,实现数据的共享和互操作。(3)安防监控:在安防监控领域,RS-485通信被广泛应用于视频监控系统。通过RS-485通信,可以将摄像头、硬盘录像机、网络录像机等设备连接在一起,实现数据的实时传输和监控。(4)电力监控:在电力监控领域,RS-485通信被广泛应用于电力设备的数据采集和监控。例如,可以使用RS-485通信将电力设备的数据采集器、控制器等设备连接在一起,实现数据的实时传输和监控。(5)环境监测:在环境监测领域,RS-485通信被广泛应用于大气环境监测、水质监测等应用场景。通过RS-485通信,可以将多个传感器、数据采集器等设备连接在一起,实现数据的共享和互操作。总之,RS-485通信作为一种通用的串行通信协议,被广泛应用于各种类型的设备和系统之间进行数据传输和通信。任务描述485通信为了监测车间内各点的实时环境湿度数据,工厂需要建立一个RS-485网络,可用来实现多个节点之间数据的双向收发功能。任务描述任务要求(1)主节点和各个从节点之间通过RS-485总线进行连接。(2)节点每隔3s向从节点1发送“hello,node1”消息,从节点1收到后翻转其上的LED灯作为指示,同时回复“node1ack”消息给主节点,从节点2不参与上述流程。(3)主节点每隔3.8s向从节点2发送“hello,node2”消息,从节点2收到后翻转其上的LED灯作为指示,同时回复“node2ack”消息给主节点,从节点1不参与上述流程。(4)主节点不管收到任何节点发来的消息,都将其转发至上位机显示。任务5.1建立RS-485网络任务目标485通信职业能力目标(1)了解RS-485标准的电气特性。(2)掌握RS-485通信的收发器芯片功能及典型应用电路的工作原理。(1)会搭建RS-485总线通信网络。(2)会设计Cortex-M4微控制器的RS-485总线通信程序。知识目标技能目标485通信1.总线与串行通信知识链接按照传输速率分低速总线高速总线按照连接类型分系统总线外设总线扩展总线按照传输方式分并行总线串行总线总线的分类方式串行通信是指外设和计算机之间,通过数据信号线、地址线与控制线等,按位进行传输数据的一种通信方式。常见的串行通信RS-232RS-422RS-485几种常见的串行通信方式别忘了我们SPICANI2C……RS-485标准与RS-232/RS-422标准485通信知识链接在传输距离达到80米的工业控制应用场景,要实现现场PLC设备的数据采集,应选择哪种通信标准?标准RS-232RS-422RS-485工作方式单端(非平衡)差分(平衡)差分(平衡)节点数1收1发(点对点)1发10收1发32收最大传输电缆长度50英尺4000英尺4000英尺最大传输速率20Kbps10Mbps10Mbps连接方式点对点(全双工)一点对多点(四线制,全双工)多点对多点(两线制,半双工)电气特性逻辑1-3V~-15V两线间电压差+2V~+6V两线间电压差+2V~+6V逻辑0+3V~+15V两线间电压差-2V~-6V两线间电压差-2V~-6VRS485/422/232标准对比RS-485收发器介绍485通信知识链接RS-485收发器芯片的典型应用电路管脚编号名称功能描述1RO接收器输出(至MCU)2接收使能(低电平有效)3DE发送使能(高电平有效)4DI发送器输入(来自MCU)5GND接地6A发送器同相输出/接收器同相输入7B发送器反相输出/接收器反相输入8VCC电源电压RS-485收发器芯片的管脚功能描述RS-485通信中如何指定消息目的地485通信知识链接收件人地址发快递时如何定位收件人?设备地址广播设备匹配地址根据任务要求制定通信协议485通信知识链接地址域1Byte数据长度域1Byte数据载荷NBytes包尾1Byte0xFF(主节点)0x15例:nodetwoacknowledged0xDD0x01(节点1)0x0B例:HelloWorld.0xDD0x02(节点2)0x0B例:HelloWorld.0xDD地址域区分各节点(一个字节)数据长度域指明数据载荷实际长度数据载荷N个字节,有用的数据部分包尾固定值:0xDD(一个字节)485通信任务实施设备清单表任务实施前必须先准备好以下设备和资源。序号设备/资源名称数量是否准备到位(√)1M3主控模块3
2USB转RS-232线缆1
3各色香蕉线若干
4杜邦线若干
485通信任务导航基于STM32CubeMX建立工程编写代码搭建硬件环境编译下载程序结果验证实施纪要表项目名称项目五
多机通信系统的设计与实现任务名称5.1任务1建立RS-485网络序号分步纪要1
2
3
4
5
6
7
8
建立工程添加串口收发功能修改代码编译下载程序搭建硬件环境结果验证485通信任务实施基于STM32CubeMX建立工程在桌面新建文件夹“Project_RS485\task1_rs485_networking”用于保存工程。新建STM32CubeMX工程参照之前的任务,新建STM32CubeMX工程,保存于task1_rs485_networking文件夹下。配置工程根据任务要求,需要配置的STM32F407ZET6外设包括USART1、USART2、LED0引脚(PF9)和RS-485接收/发送使能引脚(PG8)。另外,还需对STM32的时钟系统、调试端口系统内核组件进行配置。配置步骤如下。(1)配置调试端口,配置结果如图5-2所示。图5-2RCC&SYS配置建立工程存放的文件夹新建STM32CubeMX工程配置STM32外设485通信任务实施配置STM32外设(2)参照之前相关任务步骤,配置STM32的时钟系统,配置结果如图5-3所示。图5-3时钟系统配置485通信任务实施配置STM32外设(3)参照之前相关任务步骤,配置USART1和USART2的BaudRate(波特率)为115200bps;WordLength(字长):8Bits;Parity(奇偶校验):None(无);StopBits(停止位):1;DataDirection(方向):ReceiveandTransmit(允许发送和接收);USART1&USART2globalinterrupt(全局中断):enable(允许)。配置如图5-4所示。(4)配置PF9引脚为推挽输出,默认输出高电平使LED0灯灭,UserLabel配置为“LED0”。配置PG8引脚为推挽输出,默认输出低电平使RS-485为默认接收模式,UserLabel配置为“U2_485TX_EN”。配置结果如图5-5所示。图5-4图5-5485通信任务实施4)编写代码编写代码(1)编写RS-485总线数据发送程序(2)将USART1输出重定向至printf(3)编写主节点程序(4)编写从节点1程序(5)编写从节点2程序485通信任务实施4)编写代码(1)编写主节点RS-485总线发送数据程序在task1_rs485-networking文件夹下建立名为“RS485”的文件夹,新建“rs485.c”和“rs485.h”文件放入RS485文件夹。在rs485.c文件中输入如程序清单5-1所示的代码。485通信任务实施4)编写代码在rs485.h文件中输入如程序清单5-2所示代码。485通信任务实施4)编写代码(2)将USART1输出重定向到printf()函数。在usart.h文件中添加如下代码:/*USERCODEBEGINIncludes*/#include
"stdio.h"/*USERCODEENDIncludes*/在usart.c文件中添加如下代码:/*USERCODEBEGIN0*/intfputc(intch,FILE*fp){ HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,HAL_MAX_DELAY);
returnch;}/*USERCODEEND0*/485通信任务实施4)编写代码(3)添加USART2空闲中断调用打开stm32f4xx_it.c文件,添加如下代码:/*Privateincludes--------------------------------------------------------*//*USERCODEBEGINIncludes*/#include
"rs485.h"/*USERCODEENDIncludes*/在USART2_IRQHandler()中断服务函数中,加粗显示语句“IDLE_UART_IRQHandler(&huart2);”,需要用户自行添加。代码如下:voidUSART2_IRQHandler(void){
/*USERCODEBEGINUSART2_IRQn0*/
/*USERCODEENDUSART2_IRQn0*/HAL_UART_IRQHandler(&huart2);
/*USERCODEBEGINUSART2_IRQn1*/IDLE_UART_IRQHandler(&huart2);//需要用户自己添加
/*USERCODEENDUSART2_IRQn1*/}485通信任务实施4)编写代码(4)编写主节点程序在main.c文件的相应位置输入程序清单5-3所示的代码,注意代码位置,确保输入位置正确。任务实施4)编写代码(4)编写主节点程序在main.c文件的相应位置输入程序清单5-3所示的代码,注意代码位置,确保输入位置正确。485通信任务实施编译主节点程序,并下载、运行在工程配置界面切换到“C/C++”标签,为“IncludePaths”增加“RS485”文件夹路径,然后编译程序,下载生成的HEX文件到核心板,运行程序。打开PC的串口调试助手软件,监视USART1、USART2显示如图5-6所示。图5-6在USART2中,十六进制字符串“010E68656C6C6F2C6E6F6465206F6E65DD”中,“01”表示地址,“0E”表示有效数据载荷的字节数为14,即“68656C6C6F2C6E6F6465206F6E65”这14个字符,其ASCII码为“hello,nodeone”,“DD”表示数据包包尾的特征字。同理,“020E68656C6C6F2C6E6F64652074776FDD”中,“02”表示地址,“0E”表示有效数据载荷的字节数为14,即“68656C6C6F2C6E6F64652074776F”这14个字符,其ASCII码为“hello,nodetwo”,“DD”为特征字。485通信任务实施5)编写RS-485从节点1程序只需更改main.c文件的代码即可,其余代码完全相同。现在先说从节点的硬件和主节点完全相同的情况:将main.c文件复制一份并更改为main_mode1.c,将其加入工程的“Application/User”组后修改其main()函数对应位置的代码如下。485通信任务实施5)编写RS-485从节点2程序只需更改main.c文件的代码即可,其余代码完全相同。现在先说从节点的硬件和主节点完全相同的情况:将main.c文件复制一份并更改为main_mode2.c,将其加入工程的“Application/User”组后修改其main()函数对应位置的代码如下。485通信任务实施7)搭建硬件环境1)取两个STM32F407核心板,把它们的“USART2RS-485”接线端子按同名端并联连接,即3个RS-485A端子相连,3个RS-485B端子相连。2)主节点的串口1通过USB转串口线连接PC的USB口。8)编译下载程序(1)建立节点编译配置选项单击工具栏上的“ManagerProjectItems”图标按钮(如图5-7①处),按图5-7④处修改“ProjectTargets(工程编译目标)”,方法:单击“ProjectItems”标签页,单击③处“”图标,建立“Pri-node-rs485”工程编译目标。用同样的步骤依次建立“node1-rs485”“node2-rs485”两个工程编译目标。“Pri-node-rs485”对应于主节点,“node1-rs485”对应于节点1,“node2-rs485”对应于节点2。485通信任务实施8)编译下载程序(1)建立节点编译配置选项图5-8建立好节点编译配置项后,可将不需要的源文件排除在编译范围外,操作步骤如图5-8所示。单击图5-8①处下拉列表并选中“Pri-node-rs485”(主节点)编译选项,将“main_node1.c”和“main_node2.c”排除在外。方法:右击“main_node1.c”,选择弹出菜单中的第一项“OptionsforFile‘main_node1.c’”,展开界面如图5-8所示,将③处复选框中的“√”取消,这时“main_node1.c”便排除在编译范围之外,用同样的方法将“main_node2.c”排除在编译范围之外,编译程序,下载此程序到主控节点。用上述介绍的方法,不难配置出“node1-rs485”即节点1的编译选项,将“main.c”和“main_node2”排除。“node1-rs485”即节点1的编译选项。同理,“node2-rs485”编译选项中,将“main.c”和“main_node1.c”两个文件排除。485通信任务实施8)编译下载程序(2)编译并下载程序选择“Pri-node-rs485(主节点)”编译选项,使用快捷键“F7”编译程序。若程序编译没有错误,接好ST-Link仿真器,使用快捷键“F8”即可将程序下载到主节点的核心板。选择“node1-rs485(从节点1)”编译选项,重复上述步骤完成从节点1程序的编译下载。同理选择“node2-rs485(从节点2)”编译选项,完成从节点2程序的下载。9)结果验证图5-9从图5-9中可以看到,主节点轮流收到节点1和节点2回复的消息。“节点1回复消息”的时间间隔大约为3s,“节点2回复消息”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋新教科版科学五年级上册教学课件:第三单元 第1课 拆解我的小车模型教学课件
- 人工智能在证券行业的应用模式创新-第3篇
- 人工智能反欺诈技术-第6篇
- 体感交互在证券服务中的应用探索
- 河南平顶山市2025-2026学年高二下学期7月期末考试数学试卷(A卷)(含答案)
- 2026年七台河市新兴区住房和城乡建设局人员招聘笔试参考试题及答案详解
- 招1人!贵德宗喀藏医院招聘考试模拟试题及答案详解
- 2026年防城港市港口区住房和城乡建设局人员招聘笔试参考试题及答案详解
- 2026年北京市朝阳区住房和城乡建设局人员招聘笔试备考题库及答案详解
- 四川大学博物馆2026年7月编制外用工岗位招聘笔试备考试题及答案详解
- 有创呼吸机参数设置与临床模式选择
- 国网配送管理办法
- JG/T 235-2014建筑反射隔热涂料
- 国家开放大学汉语言文学本科《古代诗歌散文专题》期末纸质考试第一大题选择题库2025春期版
- 第七届全国茶业职业技能竞赛(茶叶加工工赛项)理论考试题库(含答案)
- 2024年兰州市热力总公司招聘笔试冲刺题(带答案解析)
- 第四届西部HR能力大赛考试题库500题(含预测题)
- DLT802.7-2023电力电缆导管技术条件第7部分非开挖用塑料电缆导管
- 危岩稳定性计算表格-滑移式-倾倒式-坠落式-完整版
- 江苏镇江润州区调任公务员(参公管理人员)2人公务员国家公务员考试、考试大纲、历年真题514笔试题库含答案解析
- 大学物理大一教材电子版
评论
0/150
提交评论