版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
“1+X”传感网应用开发CAN通信帧介绍北京新大陆时代教育科技有限公司01CAN通信帧类型及帧格式02CAN数据帧03遥控帧/远程帧目录CONTENTS04代码中的帧定义序号帧类型帧用途1数据帧用于发送单元向接收单元传送数据。2遥控帧/远程帧用于发送单元向具有相同ID的接收单元请求数据。3错误帧用于当检测出错误时向其他单元通知错误。4过载帧用于接收单元通知发送单元其尚未做好接收准备。5帧间隔用于将数据帧及遥控帧与前面的帧分离开。01帧类型数据帧和遥控帧有标准格式和扩展格式两种格式01帧格式CAN标准帧和扩展帧只是在ID的长度上不一样,类似IPv4与IPv6的区别。02数据帧结构上由7个段组成02数据帧02数据帧02数据帧02数据帧02数据帧02数据帧02数据帧03遥控帧/远程帧04代码中相应的设置CAN控制器与收发器北京新大陆时代教育科技有限公司目录1CAN总线基础2CAN控制器3CAN收发器1CAN总线基础CAN总线CAN是ControllerAreaNetwork的缩写(简称CAN),由德国电气商博世公司在1983年率先提出。最早被应用于汽车内部控制系统的监测与执行机构间的数据通信。因其高可靠性,可靠性,广泛应用于:汽车电子、工业自动化、船舶、医疗设备、工业设备等方面。CAN优点:多主控制。数据传输距离远(最远10Km);数据传输速率高(最高数据传输速率1Mbps);具备优秀的仲裁机制(ID识别);借助遥控帧实现远程数据请求;具备错误检测与处理功能;具备数据自动重发功能;故障节点可自动脱离总线且不影响总线上其他节点的正常工作。遵循ISO11898标准的高速CAN总线网络(500Kbps)。应用在汽车动力与传动系统,它是闭环网络,总线最大长度为40米,要求两端各有一个120Ω的电阻。遵循ISO11519标准的低速CAN总线网络(125Kbps)低速CAN总线网络被应用在汽车车身系统,它的两根总线是独立的,不形成闭环,要求每根总线上各串联一个2.2KΩ的电阻。终端电阻用来做阻抗匹配,以减少回波反射。CAN总线的网络拓扑结构CAN总线标准2CAN控制器CAN控制器定义:用于将欲收发的信息(报文),转换为符合CAN规范的CAN帧,通过CAN收发器,在CAN-bus上交换信息。类别产品举例独立CAN控制器NXP半导体的MCP2515,SJA1000等集成CAN控制器的单片机NXP半导体的P87C591,LPC11CXX系列控制器,ST公司STM32F103系列和STM32F407系列等CAN控制器分类:CAN控制器内部逻辑结构图CAN控制器工作原理接口管理逻辑
用于连接外部主控制器,解释来自主控制器的命令,控制CAN控制器寄存器的寻址,并向主控制器提供中断信息和状态信息CAN核心模块
收到一个报文时,CAN核心模块根据CAN规范将串行位流转换成用于接收并行数据,发送一个报文时则相反。发送缓冲器
用于存储一个完整的报文,当CAN控制器发送初始化时,接口管理逻辑会使CAN核心模块从发送缓冲器读CAN报文。接收滤波器
可以根据用户的编程设置,过滤掉无须接收的报文接收FIFO接收滤波器和主控制器之间的接口,用于存储从CAN总线上接收的所有报文BasicCAN:支持标准模式PeliCAN:支持CAN2.0B的标准式和扩展模式CAN控制器工作模式STM321系列MCU的CAN控制器介绍STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下
支持CAN协议2.0A和2.0B主动模式
波特率最高达1Mbps
支持时间触发通信
具有3个发送邮箱
具有3级深度的2个接收FIFO
STM32CAN控制器简介-模式
①初始化模式(INRQ=1,SLEEP=0)
②正常模式(INRQ=0,SLEEP=0)
③睡眠模式(SLEEP=1)测试模式(方便用户调试)
①静默模式(LBKM=0,SILM=1)
②回环模式(LBKM=1,SILM=0)
③静默回环模式(LBKM=1,SILM=1)3CAN收发器CAN收发器定义:CAN收发器是CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据。CAN收发器分类及相应产品CAN收发器分类过压述相应产品隔离CAN收发器将CAN控制器的逻辑电平转换为CAN总线的差分电平,并且具隔离功能、ESD保护功能及TVS官防总线过压CTM1050系列、CTM8250系列、CTM8251系列通用CAN收发器NXP半导体PCA82C250、PCA82C251高速CAN收发器支持较高的CAN通信速率NXP半导体的TJA1050、TJA1040、TJA1041/1041A容错CAN收发器在总线出现破损或短路情况下依然可以维持运行NXP半导体的TJA1054、TJA1054A、TJA1055、TJA1055/3CAN总线报文电平总线电平=CAN_H的电压-CAN_L的电压显性电平对应逻辑0=总线电平为2V左右隐性电平对应逻辑1=总线电平为0V显性电平具有优先权,只要有一个单元输出显性电平,总线上即为显性电平。隐形电平则具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平(显性电平比隐性电平更强)。CAN能够使用多种物理媒体,如双绞线、光纤等,最常用的是双绞线。信号使用差分电压传送,两条信号线被称为CAN_H和CAN_L。总线可具有两种逻辑状态:隐形(逻辑”1”)或显性(逻辑”0“)NXP半导体SN65HVD230电阻R14与R15为终端匹配电阻,阻值为120欧。SN65HVD230芯片封装是SOP-8,RXD与TXD分别为数据接收与发送引脚,用于连接CAN控制器的收发端。CAN_H、CAN_L两端用于连接CAN总线上的其他设备,所有设备以并联方式接在CAN总线。NXP半导体SN65HVD230管脚编号名称功能描述1TXDCAN发送数据输入端(来自CAN控制器)2GND接地3VCC接3.3V供电4RXDCAN接收数据输出端(发往CAN控制器)5S模式选择引脚
拉低接地:高速模式
拉高接VCC:低功耗模式10K欧至100K欧拉低接地:斜率控制模式6CAN_HCAN总线高电平线7CAN_LCAN总线低电平线8VREFVCC/2参考电压输出引脚,一般留空THANKS“1+X”传感网应用开发–CAN案例1生产线环境监测系统案例分析与通信协议分析北京新大陆时代教育科技有限公司生产线环境监测系统案例的构建1.系统功能要求构建一个基于CAN总线的生产线环境监测系统。采集温湿度和火焰传感器数据,并实现数据的云平台实时显示、历史数据查询等功能。1生产线温度湿度火焰温度湿度火焰温度湿度火焰云平台3任务1案例分析2.系统构成本案例要求搭建一个基于CAN总线的生产线环境监测系统,系统构成如下:PC机一台(作为上位机);物联网网关一个;CAN节点三个(一个CAN网关节点、两个CAN终端节点);温湿度传感器两个;火焰传感器一个;USB转CAN调试器一个。生产线环境监测系统的拓扑图如图所示。使用USBCAN调试助手分别连接三个CAN节点的CAN_H与CAN_L端子,使其构成一个CAN通信网络。两个CAN节点分别连接温湿度传感器与火焰传感器,CAN网关节点连接温湿度传感器。特别注意CAN总线和RS485总线的接线。云平台A1B1RS485B485-A485+USB转CAN调试器终端节点终端节点网关节点3任务1案例分析3.系统工作流程本案例构建完成后根据系统功能要求应实现以下工作流程:终端节点MCU实时采集传感器数据,并将数据上传到CAN网关节点。CAN网关节点收到传感器数据后,通过RS485总线发送给网关。CAN网关节点实时采集传感器数据,并发送给网关。网关收到传感器数据后,将通过TCP协议上传到云平台。电脑通过Internet网络访问云平台,实现对生产线环境数据的实时监控和查询。云平台A1B1RS485CAN总线B485-A485+USB转CAN总线模块终端节点终端节点网关节点010100111110010101010103任务1案例分析4.系统通信协议分析CAN总线上的信号:总线上传输的信息被称为报文,总线规范不同,其报文信号电平标准也不同。ISO11898和ISO11519标准在物理层的定义有所不同,两者的信号电平标准也不尽相同。CAN总线上的报文信号使用差分电压传送。实线与虚线分别表示CAN总线的两条信号线CAN_H和CAN_L。静态时两条信号线上电平电压均为2.5V左右(电位差为0V),此时的状态表示逻辑1(或称“隐性电平”状态)。当CAN_H上的电压值为3.5V且CAN_L上的电压值为1.5V时,两线的电位差为2V,此时的状态表示逻辑0(或称“显性电平”状态)。01010011111001013任务1案例分析4.系统通信协议分析CAN总线的通信帧:通信帧:帧描画了以串行流的形式在通信信道上发送的数据的结构。CAN总线上的数据通信基于以下5中类型的通信帧。0101001111100101序号帧类型帧用途1数据帧用于发送单元向接收单元传送数据。2遥控帧用于接收单元向具有相同ID的发送单元请求数据。3错误帧用于当检测出错误时向其他单元通知错误。4过载帧用于接收单元通知发送单元其尚未做好接收准备。5帧间隔用于将数据帧及遥控帧与前面的帧分离开。0101001111100101编程时,应首先设计CAN总线和RS485总线的数据帧格式3任务1案例分析4.系统通信协议分析CAN总线的数据帧:本案例的CAN通信采用标准格式的数据帧段类型帧ID帧类型RTR标识符ID类型IDE保留位数据长度DLC数据段Data[8]长度11bit(标准帧)1bit1bit1bit4bit8Byte内容标准帧ID0:数据帧1:远程帧0:标准帧1:扩展帧r0DLCData举例0x120000x08Data[0]~Data[7]00010010000010000000111···11001000任务1案例分析4.系统通信协议分析(2)通过RS-485网络上报网关的数据帧网关节点需要通过RS-485网络将采集到的传感器数据上报至物联网网关。组成部分帧起始符(START)地址域(ADDR0)地址域(ADDR1)命令码域(CMD)数据长度域(LEN)传感器类型(TYPE)数据域(DATA)校验码域(CS)长度1Byte1Byte1Byte1Byte1Byte1Byte2Bytes1Byte内容固定为0xDDDstAddrDstAddr见本表格说明Length见本表格说明DataCheckSum举例0xDD0x120x120x010x090x010x18、0x400x51帧起始符:固定为0xDD;地址域:为发送节点的地址,低位在前,高位在后,如地址为0x1234则ADDR0=34ADDR1=12;命令码域:0x01代表上报CAN总线网络的数据,0x02代表上报RS-485总线网络的数据;数据长度域:固定为0x09;传感器类型:1温湿度传感器,2人体红外传感器,3火焰传感器,4可燃气体,5空气质量传感器,6光敏二极管,7声音传感模块,8红外传感模块,9心率传感器,10其他;数据域:占2个字节,高8位和低8位。如:对应温湿度传感器,高8位为温度值,低8位为湿度值。则温度24℃对应0x18,湿度64%对应0x40;校验码域:采用和校验方式,计算从“帧起始符”到“数据域”之间所有数据的累加和,并将该累加和与0xFF按位与而保留低8位,将此值作为CS的值。3“1+X”传感网应用开发CAN总线生产过程监测代码流程北京新大陆时代教育科技有限公司目录CONTENTSCAN总线通信应用01应用场景02系统构成03代码流程分析04小结11应用场景
某企业为确保安全生产,提高生产效率,建立针对生产过程的有线传感网感知系统。针对此需求,本项目围绕企业的生产过程进行传感网应用开发。关注仓储区域的温湿度等情况。具体任务:利用温湿度传感器采集环境参数利用火焰传感器进行防火检查实现生产过程远程监测22系统构成生产线环境监测系统基于CAN总线标准搭建硬件构成如下:PC机一台(作为上位机);物联网网关一个;CAN节点三个(一个CAN网关节点、两个CAN终端节点);温湿度传感器两个;火焰传感器一个;USBCAN调试器一个。生产线环境监测系统的拓扑图如右图所示。完善工程代码节点固件下载与配置其中两个终端节点,下载“节点工程”固件,路径“..\CAN总线通信应用\节点固件”。网关节点,下载“网关节点”固件,路径“..\CAN总线通信应用\网关节点固件”。选用“M3主控模块”。33代码流程分析HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef*hcan-----CAN中断回调函数Can_Send_Msg_StdId(uint16_tMy_StdId,uint8_tlen,uint8_tType_Sensor)--can发送数据CAN_User_Config(CAN_HandleTypeDef*hcan)-------------------------------------CAN总线配置4代码流程分析3代码流程分析配置下载后的M3主控模块点击图中的标号①进行串行通信口的配置。另外,还有两项需要配置的内容:一是节点发送数据的“标识符ID”,如:将“标识符ID”配置为0x001A(图中的标号②处)。(注:CAN的标识符ID的有效范围为0x00~0x7FF)二是节点所连接的传感器“类型”,如:将传感器“类型”配置为“温湿度”(图中的标号③处)。最后点击“设置按钮”(图中的标号④处)即可完成一个节点的配置。使用SerialPortCommunication.exe(M3主控模块配置工具)配置两个下载节点固件的模块传感器分别为“温湿度传感器”和“火焰传感器”,地址设置为0XAA和0Xbb;配置下载网关节点固件的模块使用“温湿度传感器”;53代码流程分析已抓取了部分CAN通信数据的“CAN调试助手”工具的界面选取图中的一条数据(011C3C0000000000)进行分析如下:01:传感器类型,01代表温湿度传感器;1C:温度值为28摄氏度;37:湿度值为55%。63代码流程分析2.云平台创建工程
在本案例中,我们设置“项目名称”为“生产线环境监测系统”,“行业类别”选择“工业物联”,“联网方案”选择“以太网”。33代码流程分析项目建立完成的效果项目新建完毕后,我们可为其添加设备从图中可以看到,我们需要对“设备名称”(标号①处)、“通讯协议”(标号②处)和“设备标识”(标号③处)进行设置。73代码流程分析设备添加完成的效果如图所示至此云平台工程创建完毕83代码流程分析3.配置物联网网关接入云平台登陆物联网网关系统管理界面00:8400(IP可自行设置+端口号固定);93代码流程分析物联网网关配置参数配置完毕,点击⑦设置按钮,物联网网关系统自动重启,
20秒左右,系统初始化完毕;103代码流程分析4.系统运行情况分析
至此生产线环境监测系统的构建完毕,并成功通过物联网网关接入云平台;113代码流程分析1201重点4小结1302难点4小结“1+X”传感网应用开发-CAN硬件搭建+烧写+数据上云
北京新大陆时代教育科技有限公司01系统搭建02下载配置03数据上云目录CONTENTS硬件搭建+烧写+数据上云CAN总线设备连接方式00CAN总线设备连线方式Step0CAN基础总线电平=CAN_H的电压-CAN_L的电压显性电平对应逻辑0=总线电平为2V左右隐性电平对应逻辑1=总线电平为0V显性电平具有优先权,只要有一个单元输出显性电平,总线上即为显性电平。隐形电平则具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平(显性电平比隐性电平更强)。02CAN总线报文电平Step0CAN基础1系统搭建1.1系统构成
1.2工作流程
1.3硬件连接Step1系统搭建1.1系统构成本案例要求搭建一个基于CAN总线的生产线环境监测系统,系统构成如下:PC机一台(作为上位机);物联网网关一个;CAN节点三个(一个CAN网关节点、两个CAN终端节点);温湿度传感器两个;火焰传感器一个;ST-Link下载调试器一个。生产线环境监测系统的拓扑图如图所示。Step1系统搭建1.2系统工作流程1)CAN终端节点每隔1.5秒钟发送一次数据至总线上。2)CAN网关接收总线上数据,并通过RS-485上报至物联网网关3)CAN网关通过RS-485上报数据至物联网网关。4)物联网网关收到传感器数据后,将通过TCP协议上传至云平台。Step1系统搭建1.3硬件连接
参照图中所示的系统拓扑图,安装设备并连线2下载配置2.1固件下载
2.1节点配置Step2下载配置2.1固件下载将ST-Link与M3主控板连接在Keil中点击downloadStep2下载配置2.2节点配置3数据上云3.1创建云平台工程
3.2物联网网关配置
3.4过程演示3.3数据上云Step3数据上云3.1创建云平台工程Step3
数据上云Step3
数据上云设备添加完成的效果如图所示至此云平台工程创建完毕Step3
数据上云至此云平台工程创建完毕登陆物联网网关系统管理界面00:8400(IP可自行设置+端口号固定);点击“设置”按钮,物联网网关重启3.2物联网网关配置物联网网关20秒后利用新的配置重启完毕刷新云平台,能够看到数据已经正常上传Step3
数据上云3.3数据上云3.4过程演示Step3
数据上云3.4共享资源Step3
数据上云码云(Gitee)代码https码云(Gitee)代码库git“1+X”传感网应用开发CAN总线抓包与解析北京新大陆时代教育科技有限公司01CAN抓包工具连接方法02CAN抓包工具软件设置03生产线环境监测系统数据解析目录CONTENTSCAN总线通信数据抓包与解析CAN总线在连接各个设备时,有CAN_H,CAN_L两根通信线,在总线连接时需要注意CAN_H和CAN_L都应接到对应端口。1CAN总线抓包工具连接3任务1案例分析1.生产线环境监测系统构成11CAN总线抓包工具连接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年西充县带编教师招聘考试备考试题及答案解析
- 2026年成武县带编教师招聘笔试参考题库及答案解析
- 2026年桓仁满族自治县带编教师招聘笔试参考题库及答案解析
- DB32/T 5312-2025 公路钢渣沥青路面施工技术规范
- 合肥工业大学高等数学专项训练卷
- 2026年嘉禾县带编教师招聘笔试参考题库及答案解析
- 2026年旺苍县带编教师招聘笔试参考题库及答案解析
- 2026年肃南裕固族自治县带编教师招聘考试备考题库及答案解析
- 2026年措勤县带编教师招聘考试备考题库及答案解析
- 2026年巴里坤哈萨克自治县带编教师招聘笔试备考试题及答案解析
- 汉语言文学自考唐宋词研究精讲高频考点100题
- 山东省临沂市河东区、费县2024-2025学年高二上学期期中联考 化学试题
- 安全驾驶培训
- NB/T 11266-2023火储联合调频项目后评估导则
- 穴位埋线疗法增强免疫功能与抗炎作用
- 餐厅场所的安全摄像监控系统
- 5版物理化学物理化学电子教案(第二版)课件
- 全国优质课一等奖初中综合实践活动劳技《贺卡制作》公开课课件
- 入托入学预防接种查验报告(10篇)
- 高二上学期第一次月考数学试卷(提高篇)(原卷版)
- 招标采购项目绩效评价表 竞争性谈判采购项目绩效评价表 竞争性磋商采购项目 询价采购项目绩效评价表
评论
0/150
提交评论