- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《网络控制系统及应用》复习题.
1、图示说明CAN总线系统中点到点通信的主要环节,哪几个环节与初始化有关?以任一款通信控制器为例介绍CAN2.0A协议规范下相关初始化细节。答:一、点对点通信主要环节:首先描述两节点的一次点对点通信过程。通信开始时, 通信发起方建立用于本次通信的缓冲区, 并申请一个空闲的端口号, 向通信的另一方发送请求连接信息, 另一方收到请求信息后建立通信缓冲区和端口号, 并发确认信息给请求方, 通信建立完成, 接下来通信双方互发数据, 任务完成时, 通信一方发结束通信息给对方, 双方释放通信缓冲区和端口号, 至此一次点对点的通信过程完成。主要环节如图所示:节点发送数据帧:(1)总线访问:采用载波监听多路访问,CAN控制器之恩能够在总线空闲时,就是节点侦听到网络上至少存在3个空闲位(隐性位)时开始发送,采用硬同步,所有的控制器同步都为与帧的起始的前沿。过了一定时间,并在一定条件后,重同步。(2)仲裁:各节点向总线发电平时,也对总线上电平进行读取,并于自身发送的电平进行比较,相同则发下一位,直至全部发完。不同则说明网络上有更高优先级的信息帧正在发送,即停止发送,退出竞争。(3)编码/解码:帧起始域,仲裁域,控制域,数据域和CRC序列均使用位填充技术进行编码,就是5个连续的同状态电平插入一位与它相补的电平,还原时每5个同状态的电平后的相补电平被删除。(组织发送数据帧)(4)出错标注:当检测到位错误,填充错误,形式错误或应答错误时,检测出错条件的CAN控制器将发送一个出错标志。(5)超载标注:一些控制器会发送一个或多个超载帧以延迟下一个数据帧或远程帧的发送。节点接收数据帧:(1)滤波器:为了实现点对点通信,必须有一个表示通信双方身份的信息,该身份信息称为节点ID,节点ID包含在帧标识符中,使用滤波器对标识符进行滤波。另外每一帧都包含通信双方的节点ID,下面将标识符的29位进行分配,以使其有效支持点对点通信,这29位标识符表示如下:节点ID用8位表示,因为帧标识符的最高7位不能全为1,所以,节点ID表示的范围从0到253。目的节点表示本帧的接收者,它可以使一个具体的节点也可以是广播ID。源节点ID表示本帧的发送者。滤波器是通过验收滤波来决定总线上的数据帧的ID是否和本节点相吻合,如果与本节点吻合,那么总线上的数据就被存入总线控制器的相应寄存器里,否则就抛弃该数据。(2)校验:对数据帧进行校验,确认数据帧信息是否正确。(3)发送应答帧。二、以意法半导体公司STM32系列的STM32F103VCT6介绍CAN2.0A协议规范下相关初始化细节1、时钟配置:控制器为每个外设配置有时钟,该控制器包含有2个CAN。打开CAN复用IO的时钟、复用时钟和CAN总线时钟,CAN时钟位于低速?APB(APB1)上,IO时钟和复用时钟位于高速APB(APB2)上。CAN总线IO管脚配置:PB8为CAN_RX,配置为上拉输入(IPU),PB9为CAN_TX,配置为复用推挽输出,最高输出频率为50MHz。工作模式:STM32的CAN主要有3个工作模式:初始化、正常和睡眠模式。发送优先级:发送优先级可配置为由标识符决定,或者由发送请求次序决定。报文自动重传选择:报文重传可以配置为使能和禁止模式,在使能条件下,报文的重传由CAN内部定时器产生的时间戳决定,在禁止模式下,报文只发送一次,如果发送操作失败了,不管是由于仲裁丢失或出错,硬件都不会再自动发送该报文。时间触发:使能时间触发模式时,CAN硬件的内部定事情被激活,并且被用于产生(发送与接收邮箱的)时间戳。内部定事情在每个CAN位时间累加。内部定时器在接收和发送的帧起始位的采样点位置被采样,并生成时间戳。接收管理:应用程序只能通过读取FIFO输出邮箱,来读取FIFO中最先受到的报文。FIFO管理:FIFO从空状态开始,在接收到第一个有效的报文后,FIFO状态变为pending_1,软件可以读取FIFO输出邮箱来独处邮箱中的报文,然后通过对CAN_RFR寄存器的RFOM位设置1来释放邮箱,这样FIFO有变为空状态。如果在释放邮箱的同时,又收到一个有效的报文,那么FIFO仍然保留在pending_1状态,软件可以读取FIFO输出邮箱来读出新收到的报文。如果程序不释放邮箱,在接收到下一个有效的报文后,FIFO状态变为pending_2,重复上面的过程,第三个有效的报文把FIFO变为pending_3.此时,软件必须对RFOM位设置1来释放邮箱,以便FIFO可以有空间来存放下一个有效的报文。否则,下一个邮箱的报文到来时就会导致一个报文的的丢失。溢出:当3个邮箱都是满的,下一个邮箱的报文就会导致溢出。如果禁用FIFO锁定功能,那么FIFO中最后收到的报文就会被新报文覆盖。如果使能FIFO锁定功能,那么新收到的报文就会被丢弃,软件可以读到
您可能关注的文档
最近下载
- 浙江省绍兴会稽联盟2023-2024学年高二上学期期末联考化学试题含解析.pdf VIP
- 中国华电集团招聘笔试题库2024.pdf
- 浙江省杭州市2023-2024学年高二上学期1月期末化学试题含解析.pdf VIP
- 登泰山记(ppt)课件.ppt
- 浙江省金华十校2023-2024学年高二上学期期末调研考试语文试卷含答案.pdf VIP
- 浙江省丽水市2023-2024学年高二上学期1月期末数学试题(含答案).pdf VIP
- ansys教学算例集筒型燃烧室内燃烧辐射分析.pdf
- 2022-2023年机场建设行业洞察报告.pdf VIP
- 360日志审计系统操作手册.pdf
- 电子工艺实习报告收音机(共10篇).docx VIP
文档评论(0)