传感网应用开发(高级)课件第2-3章_第1页
传感网应用开发(高级)课件第2-3章_第2页
传感网应用开发(高级)课件第2-3章_第3页
传感网应用开发(高级)课件第2-3章_第4页
传感网应用开发(高级)课件第2-3章_第5页
已阅读5页,还剩119页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“1+X”传感网应用开发 RS-232和RS-485原理与驱动程序 1、串行通信的基本概念目录2、RS232和RS485的基本概念3、RS485原理与应用4、UART和RS485的驱动程序 1、串行通信的基本概念(1)、串行通信的定义 所谓“串行通信”,是指外设和计算机之间,通过数据信号线、地线与控制线等,按位进行传输数据的一种通信方式。(2)、串行通信接口标准 常见的有RS232、RS422和RS485等,其他SPI、I2C和CAN等。(1)、常见的电平信号及其电气特性电平信号名称输入输出 说明逻辑 1逻辑 0逻辑 1逻辑 0TTL电平=2.0V=2.4V=0.7Vcc=0.7Vcc=200

2、mV (VD-VD+)=200mV4线制:VCC、GND、D+和D-。2、RS232和RS485的基本概念(2)、RS232、RS422和RS485标准对比标准RS232RS422RS485工作方式单端(非平衡)差分(平衡)差分(平衡)节点数 1收1发(点对点)1发10收1发32收最大传输电缆长度50英尺4000英尺4000英尺最大传输速率20Kbps10Mbps10Mbps连接方式点对点(全双工)一点对多点(全双工)多点对多点(半双工) (DE/RE管脚连在同一个GPIO,同一时刻,只能发或收)电气特性逻辑1-15V-3V两线电压差+2V+6V两线电压差+2V+6V逻辑0+3V+15V两线电

3、压差-2V-6V两线电压差-2V-6V管脚编 号名称功能描述1RO接收器输出(至MCU)2/RE接收允许(低电平0有效)3DE发送允许(高电平1有效)4DI发送器输入(来自MCU)5GND接地6A发送器同相输出/接收器同相输入7B发送器反相输出/接收器反相输入8VCC电源电压485发送输入 485接收输出 A 485+ B 485- A+, B- 注意:(1) /RE,DE连接到MCU的同一个GPIO 1发送,0接收3、RS485典型应用(1)、RS485的典型应用电路(2)、RS485的主、从模式模式的目的:RS485主从设备能够相互通信。(1)主机要发送数据,先把自己设置为发送状态(IO口

4、的电平为1),发送结束设置(IO口的电平为0)为接收状态;(2)从机接收到数据后,改为发送状态,因为要回应数据给主机, 回应结束要改为接收状态。 4、UART和RS485的驱动程序 (1)、串口的初始化 (2)、发送和接收数据 1发送,0接收 (3)、接收数据(中断服务函数)初始设置“1+X”传感网应用开发 Modbus通信协议01Modbus 协议概述02Modbus通信原理03Modbus寄存器分类目录CONTENTS04Modbus串行消息帧格式0506知识链接01Modbus概述02Modbus通信原理1Modbus 协议概述 Modbus是一种串行通信协议,是工业电子设备之间常用的连

5、接方式。01ModBus概述 主机数 接设备(从站)最大数 通讯最大距离(米) 最大传输速(bps) 终端电阻位置 终端电阻阻值() 接线方式 RS-232112020k-与DB头针(孔)数有关 RS-4221101219(在100kbps速率以下) 10M(在100米以下) 最远端(在300米以下不接) 100四线、地线 RS-4851321219(在100kbps速率以下) 10M(在100米以下) 两端(在300米以下不接) 120二线/四线、地线 RS-232、RS-422与RS-485通讯特性对照表 ModBus概述ModBus概述01 Modbus是Modicon(现为施耐德电气公

6、司的一个品牌)在1979年开发的一项在ISO模型第7层的应用层报文传输协议,在过去几十年已被大量地应用于工业控制领域的开放的、标准的、免费的网络通信协议。01 Modbus是最早的串行链路上的国际标准。在串行链路上取决于TIA/EIA标准(232-F和485-A)。 1997年施耐德在TCP/IPIETF标准(RFC793和RFC791)上实现了Modbus协议。ModBus概述EIA/TIA-232EIA/TIA-485MASTER/SLAVEETHERNET RJ45PHYSICAL LAYERETHERNET II/802.3Modbus RTU/ASCIIIPTCPPHYSICAL L

7、AYERDATALINK LAYERNETWORK LAYERTRANSPORT LAYERSESSION LAYERPRESENTATION LAYERAPPLICATION LAYERModBus概述2Modbus 通信原理ModBus通信原理Modbus协议是主从站通讯协议;网络上的每个从站必须有唯一的地址(范围从1到247); 从站地址用于寻址从站设备,由主站发起;地址0用于广播模式,不需要响应;串行链路上的Modbus 传输模式分为Modbus RTU 和 Modbus ASCIIModBus通信原理 Modbus串行链路协议是一个主-从协议。在同一时间,只能将一个主站连接到总线,将

8、一个或多个从站(最大数量为247)连接到相同的串行总线。Modbus 通讯总是由主站发起,当从站没有收到来自主站的请求时,将不会发送数据。主站同时只能启动一个Modbus事务处理,从站之间不能相互通信。Modbus主/从协议原理ModBus通信原理 Modbus寻址空间由256个不同地址组成。地址0为广播地址,所有从站必须识别广播地址。Modbus主站没有特定地址,只有从站有一个地址,在Modbus串行总线上,这个地址必须是唯一的。Modbus寻址原则01-247248-255广播地址从站某个地址保留地址ModBus通信原理单播模式工作方式:由主站寻址单个从站,从站接收并处理完请求之后,向主站

9、返回一个报文(一个应答)。在这种模式下,一个Modbus 事务处理包含2 个报文:一个是主站的请求,另一个是从站的应答。每个从站必须有唯一的地址(1247),这样才能区别于其它站而被独立地寻址。Modbus主/从协议原理ModBus通信原理Require-Respond(请求-响应)模型ModBus通信原理 广播模式工作方式:主站可以向所有的从站发送请求,对于主站广播的请求没有应答返回,广播请求必须是写命令,所有设备必须接收写功能的广播,地址0被保留用来识别广播通信。Modbus主/从协议原理3Modbus 寄存器分类ModBus寄存器分类寄存器种类读/写长度寄存器PLC地址寄存器Modbus

10、协议地址线圈状态Read-write1 bit00001-099990 x0000-0 xFFFF离散输入状态Read-only1 bit10001-199990 x0000-0 xFFFF输入寄存器Read-only16 bits30001-399990 x0000-0 xFFFF保持寄存器Read-write16 bits40001-499990 x0000-0 xFFFF线圈状态:开关量输出,可读可写离散输入状态:开关量输入,只读输入寄存器:输入参数,只读保持寄存器:输出参数或保持参数,可读可写4Modbus 串行消息帧格式Modbus串行消息帧格式(1)ASCII消息帧格式 使用ASC

11、II模式,消息以冒号 : 字符(ASCII码 3AH)开始,以回车换行符结束(ASCII码 0DH,0AH),其它域可以使用的传输字符是”0.9,A.F”。Modbus串行消息帧格式2)RTU消息帧格式两个连续发送的数据帧之间至少要有3.5个字符的停顿时间间隔。传输的第一个域是设备地址。网络设备不断侦测网络总线上的有效数据和停顿间隔时间,当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。如果发送完一个数据帧,间隔时间小于3.5个字符时间又发送第二个数据帧,那么接收站点就会误认为它们是同一个数据帧。Modbus串行消息帧格式功能码名称作用01读线圈状态(Read Coil St

12、atus)取得一组开关量输出的当前状态02读取离散输入状态状态(Read Input Status)取得一组开关量输入的当前状态03读 保持寄存器(Read Holding Registers)取得一组模拟量输出的当前状态04读输入寄存器(Read Input Registers)取得一组模拟量输入的当前状态05写单个线圈(Force Single Coil)强制设定某个开关量输出的值06写单个保持寄存器(Preset Single Register)强制设定某个模拟量输出的值15写单个保持寄存器(Force Multiple Coils)强制设定从站几个开关量输出的值16写多个保持寄存器(P

13、reset Multiple Regs)强制设定从站几个模拟量输出的值Modbus功能码分类Modbus串行消息帧格式Modbus功能码-01读取线圈/离散量输出状态功能码01 该功能码用于读取从设备的线圈或离散量的输出状态.从站地址功能码起始地址高位起始地址低位数据线圈数高位数据线圈数低位校验和CRC11H01H00H13H00H25H0EH 84H从站地址功能码字节计数数据校验和CRC11H01H05HCDH 6BH B2H 0EH 1BH45H E6H应答RTU帧(Response)询问RTU帧(Query)Modbus串行消息帧格式Modbus功能码-02读取离散量输入值功能码02该功

14、能码用于读取从设备的离散量的输入状态.从站地址功能码起始地址高位起始地址低位数据线圈数高位数据线圈数低位校验和CRC11H02H00HC4H00H16HBAH A9H从站地址功能码字节计数数据校验和CRC11H02H03HACH DBH 35H20H 18H应答RTU帧(Response)询问RTU帧(Query)Modbus串行消息帧格式Modbus功能码-03读取保持寄存器功能码03该功能码用于读取从设备的保持寄存器的二进制数据,不支持广播从站地址功能码起始地址高位起始地址低位寄存器数高位寄存器数低位校验和CRC11H03H00H6BH00H03H76H 87H从站地址功能码字节计数数据校

15、验和CRC11H03H06H02H 2BH 00H 00H 00H 64H20H 18H应答RTU帧(Response)询问RTU帧(Query)Modbus串行消息帧格式Modbus功能码-04从站地址功能码起始地址高位起始地址低位寄存器数高位寄存器数低位校验和CRC11H04H00H6BH00H03HC3H 47H从站地址功能码字节计数数据校验和CRC11H04H06H02H 2BH 00H 00H 00H 64H5CH 89H应答RTU帧(Response)询问RTU帧(Query)读取输入寄存器功能码04该功能码用于读取从设备输入寄存器的二进制数据,不支持广播Modbus串行消息帧格式

16、Modbus功能码-05从站地址功能码起始地址高位起始地址低位数据开关原状态校验和CRC11H05H00HACHFFH00H4EH 8BH应答RTU帧(Response)询问RTU帧(Query)从站地址功能码起始地址高位起始地址低位数据开关原状态校验和CRC11H05H00HACHFFH00H4EH 8BH写单个线圈或单个离散输出功能码05该功能码用于将单个线圈或单个离散输出状态设置为“OFF”或“ON”Modbus串行消息帧格式Modbus功能码-06从站地址功能码起始地址高位起始地址低位数据高位数据低位校验和CRC11H06H00H87H03H9EHBAH 2BH应答RTU帧(Respo

17、nse)询问RTU帧(Query)从站地址功能码起始地址高位起始地址低位数据开关原状态校验和CRC11H06H00H87H03H9EHBAH 2BH写单个保持寄存器功能码06该功能码用于更新从设备单个保持寄存器的值Modbus串行消息帧格式Modbus功能码-15从站地址功能码起始地址高位起始地址低位寄存器数高位寄存器数低位字节计数数据校验和CRC11H0FH00H13H00H0AH02HCDH 00H7EH CBH应答RTU帧(Response)询问RTU帧(Query)从站地址功能码起始地址高位起始地址低位寄存器数高位寄存器数低位校验和CRC11H0FH00H13H03H0AH26H 99

18、H写多个线圈功能码15该功能码用于将连续的多个线圈或离散输出设置为“ON”或“OFF”,支持广播模式Modbus串行消息帧格式Modbus功能码-16从站地址功能码起始地址高位起始地址低位寄存器数高位寄存器数低位字节计数数据校验和CRC11H10H00H87H00H02H04H00H 0AH 01H 02H7EH CBH应答RTU帧(Response)询问RTU帧(Query)从站地址功能码起始地址高位起始地址低位寄存器数高位寄存器数低位校验和CRC11H10H00H87H00H02HF3H 71H写多个保持寄存器功能码16该功能码用于设置或写入从设备保持寄存器的多个连续的地址块,支持广播模式

19、“1+X”传感网应用开发 CAN 通信帧介绍 CAN 控制器与收发器01CAN总线基础知识02CAN控制器和收发器03应用案例:生产线环境监测系统目录CONTENTS知识链接学习目标掌握CAN总线相关基础知识理解CAN控制器与CAN收发器接口方式技能目标:进行基于CAN总线协议应用程序的开发1CAN总线基础知识知识链接一、 CAN总线概述01 CAN 总线定义了更为优秀的物理层、数据链路层,并且拥有种类丰富、简繁不一的上层协议。 CAN是控制器局域网络(Controller Area Network)的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。02 由德国电气商博世公司在198

20、6年率先提出。用于应对汽车上日益庞大的电子控制系统的需求,其最大的特点是可拓展性好,可承受大量数据的高速通信,并且高度稳定可靠。 广泛应用于:汽车电子、工业自动化、安防监控、楼宇自动化、船舶、医疗设备、工业设备等方面。一、 CAN总线概述02CAN总线属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。一、 CAN总线概述较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:01数据传输距离远(最远10Km); 具有实时性强、传输距离较远、抗电磁干扰能力强、成本低数据传输速率高;通信介质可以是双绞线、同轴电缆或光导纤

21、维,通信速率可达1mb/s。具备优秀的仲裁机制(ID识别);具有优先权和仲裁功能,多个控制模块通过CAN 控制器挂到CAN-bus 上,形成多主机局部网络。一、 CAN总线概述CAN总线主要特性02使用筛选器实现多地址的数据帧传递;借助遥控帧实现远程数据请求;具备错误检测与处理功能,保证了数据通信的可靠性。;具备数据自动重发功能;发送的信息遭到破坏后,可自动重发;故障节点可自动脱离总线且不影响总线上其他节点的正常工作。CAN是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信。一、 CAN总线概述CAN总线主要特性二、 CAN技术规范与标准ISO未对此部分进行标准化CAN的再发送

22、控制功能未在ISO11898/11519-2中标准化ISO对此部分进行了标准化对于数据链路层,ISO11898和11519-2定义的内容相同;对于物理层,ISO11898和11519-2定义的内容不相同;美国汽车工程师学会等组织针对不同应用领域对CAN技术规范进行了标准化,常见的标准见下表:OSI参照模型与CAN标准ISO11898标准高速CAN总线网络(500Kbps)闭环网络应用在汽车动力与传动系统总线最大长度为40米两端各有一个120的电阻ISO11519标准低速CAN总线网络(125Kbps)应用在汽车车身系统两根总线是独立的,不形成闭环要求每根总线上各串联一个2.2K的电阻终端电阻用

23、来做阻抗匹配,以减少回波反射二、 CAN技术规范与标准常见的CAN标准(见教材P85)二、 CAN技术规范与标准CAN总线有ISO11898和ISO11519两个通信标准对物理层的定义不同,两者的信号电平特性也不相同,CAN总线上的报文信号使用差分电压传送。三、 CAN总线的报文信号电平差动信号放大器将CAN-H线上的电压(UCAN-High)减去CAN-L线上的电压(UCAN-Low)得出输出电压;CAN-H为3.5V,Can-L为1.5V时,差值为2V时判定为逻辑0;静态时均为2.5左右,差值为0V时判定为逻辑1。四、 CAN总线的网络拓扑结构CAN总线的物理连接只需要两根线,CAN_H和

24、CAN_L,通过差分信号进行数据的传输.CAN总线有两种电平,分别为隐性电平和显性电平,这两种电平有着 “与”的关系:若隐性电平相遇,则总线表现为隐性电平;若显性电平相遇,则总线表现为显性电平;若隐性电平和显性电平相遇,则总线表现为显性电平。CAN总线的网络拓扑结构五、 CAN总线的传输介质CAN总线上的报文信号使用差分电压传送,分别为显性电平和隐性电平。传输介质选择注意事项:物理介质必须支持显性、隐性状态,总线仲裁时,显性状态可支配隐性状态双线结构的总线必须使用终端电阻抑制信号反射,并且采用差分信号以减弱电磁干扰使用光学介质时,隐性电平-状态“暗”,显性电平状态“亮”同一段CAN总线网络必须

25、采用相同的传输介质五、 CAN总线的传输介质双绞线目前在汽车电子、电力系统、电梯控制系统和远程传输系统得到广泛应用双绞线五、 CAN总线的传输介质双绞线构成CAN网络时的注意事项双绞线1.网络两端必须各有一个120欧左右的终端电阻2.支线尽可能短3.确保不在干扰源附近4.电缆电阻越小越好,避免电路压降过大5.CAN总线的波特率取决于传输线延时,通信距离随波特率减小而增加五、 CAN总线的传输介质拓扑结构的类型 光纤总线型环型星型五、 CAN总线的传输介质拓扑结构的类型 光纤总线拓扑结构由一根用于共享的光纤总线作为主线路各节点使用总线耦合器和站点耦合器实现与主线路连接环形拓扑结构每个节点与相邻的

26、节点进行点对点相连所有节点形成闭环星型拓扑结构网络中有一个中心节点。其他节点与中心节点进行点对点相连六、 CAN通信帧CAN总线的五种通信帧序号帧类型帧用途1数据帧用于发送单元向接收单元传送数据。2遥控帧用于接收单元向具有相同 ID 的发送单元请求数据。3错误帧用于当检测出错误时向其他单元通知错误。4过载帧用于接收单元通知发送单元其尚未做好接收准备。5帧间隔用于将数据帧及遥控帧与前面的帧分离开。六、 CAN通信帧数据帧的构成1.数据帧结构上由7个段组成,其中根据仲裁段ID码长度的不同,分为:标准帧(CAN2.0A)扩展帧(CAN2.0B)六、 CAN通信帧帧起始、帧结束1.数据帧六、 CAN通

27、信帧仲裁段表示帧优先级1.数据帧标准帧的仲裁段由11个bit的标识符ID和RTR位构成;扩展帧的仲裁段由29个bit标识符ID、SRR位、IDE位、RTR位构成。六、 CAN通信帧控制段数据的字节数和保留位1.数据帧标准帧的控制段由IDE、保留位r0和4个bit的数据长度码DLC构成;扩展帧的控制段由保留位r1、r0和4个bit的数据长度码DLC构成。六、 CAN通信帧数据段承载数据内容(0-8个字节)1.数据帧六、 CAN通信帧CRC段检查帧传输是否错误1.数据帧六、 CAN通信帧ACK段确认接收是否正常1.数据帧六、 CAN通信帧与数据帧相比,无数据段,其他与数据帧相同;遥控帧:RTR为隐

28、性电平2.遥控帧六、 CAN通信帧3.错误帧六、 CAN通信帧3.错误帧六、 CAN通信帧4.过载帧六、 CAN通信帧5. 帧间隔七、 CAN优先级与位时序CAN技术规范规定:在总线空闲的时候,仅有一个单元可以占有总线并发送数据;在多个单元同时发送数据时,优先级高的帧先发送;“显性电平”的优先级高于“隐性电平”具有相同ID的数据帧与遥控帧在CAN总线上竞争时,数据帧RTR为显性,遥控帧的为隐性,则数据帧有优先权。七、 CAN优先级与位时序收发单元存在时钟频率误差,传输路径上相位延迟也会引起同步误差,接收单元必须采取措施调整接收时序,确保接收数据的准确性。这些段又由可称为 Time Quantu

29、m(以下称为Tq)的最小时间单位构成。 波特率=每秒传输码元数目 位速率=1/波特率 2CAN控制器与收发器知识链接01CAN节点的硬件构成02CAN控制器03CAN收发器一、 CAN总线上节点的硬件架构CAN总线上节点的硬件架构方案有两种1.硬件架构由MCU、CAN控制器、CAN收发器组成,采用独立控制器。优点:程序移植方便缺点:占有MCU资源且电路复杂2.硬件架构由集成了CAN控制器的MCU和CAN收发器组成。优点:硬件电路简单缺点:可移植性差,用户编写的CAN程序适用某个系列MCU。CAN控制器的分类独立控制器芯片与微控制器集成在一起NXP半导体的MPC2515NXP半导体的P87C59

30、1和LPC11CxxNXP半导体的SJA1000ST公司的STM32F103系列和STM32F407二、 CAN控制器1.CAN控制器的分类二、 CAN控制器CAN控制器的工作原理接口管理逻辑:连接微控制器解释微控制器发送的命令,控制CAN控制器寄存器寻址,并向微控制器提供中断和状态信息CAN核心模块:接受数据时,用于将接收到的报文由串行流转换为并行数据。发送缓冲器:存储完整报文,发送数据时,CAN核心模块从发送缓冲器读取CAN报文接收滤波器:可根据编程配置过滤掉无需接收的报文接收FIFO:接收滤波器与微控制器之间的接口,存储从CAN总线上接收的所有报文当CAN总线上的一个节点(站)发送数据时

31、,它以报文形式广播给网络中所有节点。对每个节点来说,无论数据是否是发给自己的,都对其进行接收。二、 CAN控制器3.STM32F1系列MCU的CAN控制器bxCAN有3个主要的工作模式:初始化模式、正常模式和睡眠模式。bxCAN有3个主要的测试模式:静默模式、回环模式和静默回环模式。bxCAN特性:支持CAN技术规范V2.0A、 CAN技术规范V2.0B,通信比特率达1MB/s,支持时间触发通信方案;含3个发送邮箱,发送优先级可配置;含两个具有三级深度的接收FIFO,上溢参数可配置,筛选器组可调整二、 CAN控制器3.STM32F1系列MCU的CAN控制器bxCAN的组成:CAN控制核心、CA

32、N发送邮箱、CAN接收FIFO、筛选器CAN控制核心:构成:CAN2.0B主动内核与各种控制、状态、配置寄存器;任务:配置CAN参数、请求发送、处理接收、管理中断、获取诊断信息主要寄存器:CAN主控寄存器(CAN_MCR) CAN时序寄存器( CAN_BTR )二、 CAN控制器3.STM32F1系列MCU的CAN控制器CAN主控寄存器(CAN_MCR)配置功能:调试冻结、时间触发通信模式、自动总线关闭管理、自动唤醒模式、禁止自动重发送、接收FIFO锁定模式、发送FIFO优先级;CAN时序寄存器( CAN_BTR )配置功能:正常模式与各测试模式之间的切换;位时序与波特率的配置;二、 CAN控

33、制器3.STM32F1系列MCU的CAN控制器CAN发送邮箱:每个发送邮箱包含4个与数据发送功能相关的寄存器,具体名称和功能如下:1.当程序向CAN控制器发数据时,CAN会选择优级最高的空邮箱放入数据2.如果所有邮箱都满了,会使溢出标志位置1,需要等待有空邮箱3.满邮箱按先后顺序排队发送数据,发送完成后会变成空邮箱序号名称功能1标识符寄存器存储待发送报文的标准ID和扩展ID信息2数据长度控制寄存器存储待发送报文的数据长度DLC段信息3低位数据寄存器存储待发送报文数据段的低4个字节内容4高位数据寄存器存储待发送报文数据段的高4个字节内容二、 CAN控制器3.STM32F1系列MCU的CAN控制器

34、筛选器:每个筛选器组包含两个32位寄存器,分别是CAN_FxR0和CAN_FxR1 :筛选器使用时,需进行如下配置:配置筛选器模式:标识符掩码模式或标识符列表模式配置筛选器尺寸:双16位或单32位配置筛选器的FIFO关联情况:FIFO0或FIFO1二、 CAN控制器筛选器的4种工作状态与说明序号工作状态模式尺度说明1一个32位筛选器标识符掩码32位CAN_FxR1存储ID,CAN_FxR2存储掩码,2个寄存器表示1组待筛选的ID与掩码。可适用于标准ID和扩展ID。2两个32位筛选器标识符列表32位CAN_FxR1和CAN_FxR2各存储1个ID,2个寄存器表示2个待筛选的位ID。可适用于标准I

35、D和扩展ID。3两个16位筛选器标识符掩码16位CAN_FxR1高16位存储ID,低16位存储相应的掩码,CAN_FxR2高16位存储ID,低16位存储相应掩码,2个寄存器表示2组待筛选的16位ID与掩码。只适用于标准ID。4四个16位筛选器标识符列表16位CAN_FxR1存储2个ID,CAN_FxR2存储2个ID,2个寄存器表示4个待筛选的16位ID。只适用于标准ID。三、 CAN收发器电阻R14、R15为终端匹配电阻,120欧RXD、TXD:数据接收和发送引脚:用于连接CAN控制器的数据收发端;CAN-H/L两端用于连接CAN总线的其他设备;所有设备以并联形式接在CAN总线上三、 CAN收

36、发器官方定义:CAN收发器是CAN控制器和物理总线之间的接口,将CAN控制器的逻辑电平转换为CAN总线的差分电平,在两条有差分电压的总线电缆上传输数据。三、 CAN收发器CAN收发器芯片的管脚功能描述“1+X”传感网应用开发 CAN总线开发-代码讲解01CAN总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录CONTENTS04CAN总线实例流程图05CAN总线代码概览06代码编写建议CAN总线代码编写方法概览1.CAN总线配置:工作模式配置(初始化,正常,睡眠) CAN_MCR寄存器,过滤器模式设置,过滤器优先级设置等。2.发送数据:选择一个空的发送邮箱,设置标

37、志符,数据长度,待发送数据,CAN_T1xR寄存器置1,请求发送3.接收数据01CAN总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录CONTENTS04CAN总线实例流程图05CAN总线代码概览06代码编写建议CAN_HandleTypeDefCAN总线结构体CAN_HandleTypeDefCAN总线结构体:typedef struct _CAN_HandleTypeDef CAN_TypeDef *Instance; /*! Register base address */ CAN_InitTypeDef Init; /*! CAN required pa

38、rameters */ _IO HAL_CAN_StateTypeDef State; /*! CAN communication state */ _IO uint32_t ErrorCode; /*! CAN Error code. CAN_HandleTypeDef;CAN_TypeDef-CAN寄存器结构体见P102详细描述typedef struct _IO uint32_t MCR; _IO uint32_t MSR; _IO uint32_t TSR; _IO uint32_t RF0R; _IO uint32_t RF1R; _IO uint32_t IER; _IO uint

39、32_t ESR; _IO uint32_t BTR; uint32_t RESERVED088; CAN_TxMailBox_TypeDef sTxMailBox3; CAN_FIFOMailBox_TypeDef sFIFOMailBox2; uint32_t RESERVED112; _IO uint32_t FMR; _IO uint32_t FM1R; uint32_t RESERVED2; _IO uint32_t FS1R; uint32_t RESERVED3; _IO uint32_t FFA1R; uint32_t RESERVED4; _IO uint32_t FA1R;

40、 uint32_t RESERVED58; CAN_FilterRegister_TypeDef sFilterRegister14; CAN_TypeDef;01CAN总线代码编写方法概览02CAN总线代码的数据结构03CAN总线使用方法和函数目录CONTENTS04CAN总线实例流程图05CAN总线代码概览06代码编写建议MX_CAN_Init():CAN工作模式配置 hcan.Instance = CAN1; hcan.Init.Prescaler = 40; hcan.Init.Mode = CAN_MODE_NORMAL; hcan.Init.SyncJumpWidth = CAN_

41、SJW_1TQ; hcan.Init.TimeSeg1 = CAN_BS1_6TQ; hcan.Init.TimeSeg2 = CAN_BS2_2TQ; hcan.Init.TimeTriggeredMode = DISABLE; hcan.Init.AutoBusOff = ENABLE; hcan.Init.AutoWakeUp = DISABLE; hcan.Init.AutoRetransmission = DISABLE; hcan.Init.ReceiveFifoLocked = DISABLE; hcan.Init.TransmitFifoPriority = DISABLE;见P102CAN函数的用法见user_can.c1. MX_CAN_Init():CAN工作模式配置2. CAN_User_Init(),CAN总线配置,过滤器的配置和启用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论