第7章节嵌入式系统网络接口(744KB).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图7.2.1 CAN总线的一个位时间 ● 同步段:用于同步总线上的各个节点,在此段内期望有一个跳变沿出现(其长度固定)。如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。采样点位于相位缓冲段1的末尾和相位缓冲段2开始处。 ● 传播时间段:用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。因此,要实现与位流发送节点的同步,接收节点必须移相。CAN总线非破坏性仲裁规定,发送位流的总线节点必须能够收到同步于位流的CAN总线节点发送的显性位。 ● 相位缓冲段1:重同步时可以暂时延长。 ● 相位缓冲段2:重同步时可以暂时缩短。 ● 同步跳转宽度:长度小于相位缓冲段。 同步段,传播时间段,相位缓冲段1和相位缓冲段2的设定和CAN总线的同步、仲裁等信息有关。其主要思想是要求各个节点在一定误差范围内保持同步。必须考虑各个节点时钟(振荡器)的误差和总线的长度带来的延迟(通常每米延迟为5.5ns)。正确设置CAN总线各个时间段,是保证CAN总线良好工作的关键。 7.2.2 在嵌入式处理器上扩展CAN总线接口 一些面向工业控制的嵌入式处理器本身就集成了一个或者多个CAN总线控制器。例如:韩国现代公司的hms30c7202(ARM720T内核)带有两个CAN总线控制器; Phillips公司的LPC2194和LPC2294(ARM7TDMI内核)带有4个CAN总线控制器。CAN总线控制器主要是完成时序逻辑转换等工作,要在电气特性上满足CAN总线标准,还需要一个CAN总线的物理层芯片,用它来实现TTL电平到CAN总线电平特性的转换,即CAN收发器。 实际上,多数嵌入式处理器都不带CAN总线控制器。通常的解决方案是在嵌入式处理器的外部总线上扩展CAN总线接口芯片,例如:Phillips公司的SJA1000CAN总线接口芯片,Microchip公司的MCP251x系列(MCP2510和MCP2515)CAN总线接口芯片,这两种芯片都支持CAN2.0B标准。SJA 1000的总线采用的是地址线和数据线复用的方式,多数嵌入式处理器采用SJA 1000扩展CAN总线较为复杂。 MCP2510是由Microchip公司生产的CAN协议控制器,完全支持CAN总线V2. OA/B技术规范。0~8字节的有效数据长度,支持远程帧;最大1Mb/s的可编程波特率;两个支持过滤器Filter,Mask)的接收缓冲区,三个发送缓冲区;支持回环(Loop Back)模式,便于测试;SPI高速串行总线,最大5MHz;3V到5.5V供电。 MCP2510主要由CAN协议引擎,用来为器件及其运行进行配置的控制逻辑,SRAM寄存器和SPI协议模块3部分组成。MCP2510支持CANT2、CAN2.0A、主动和被动CAN2.0B等版本的协议,能够发送和接收标准和扩展报文,还同时具备验收过滤以及报文管理功能。MCP2510包含三个发送缓冲器和两个接收缓冲器,减少了处理器(CPU)的管理负担。CPU的通信是通过行业标准串行外设接口(SPI)来实现的,其数据传输速率高达5Mbps。 CPU通过SPI接口与器件进行通信。通过使用标准SPI读/写命令对寄存器进行所有读/写操作。器件上有一个多用途中断引脚以及各接收缓冲器专用的中断引脚,可用于指示有效报文是否被接收和载入各接收缓冲器。是否使用专用中断引脚由用户决定,若不使用,也可用通用中断引脚和状态寄存器(通过SPI接口访问)确定有效报文是否已被接收。 1.CAN协议引擎 CAN协议引擎的功能是处理所有总线上的报文发送和接收。报文发送时,首先将报文装载到正确的报文缓冲器和控制寄存器中。利用控制寄存器位、通过SPI接口或使用发送使能引脚均可启动发送操作。通过读取相应的寄存器可以检查通信状态和错误。任何在CAN总线上侦测到的报文都会进行错误检测,然后与用户定义的滤波器进行匹配,以确定是否将其转移到两个接收缓冲器之一中。 CAN协议引擎的核心是有限状态机(FSM)。该状态机逐位检查报文,当各个报文帧发生数据字段的发送和接收时,状态机改变状态。FSM确保了报文接收、总线仲裁、报文发送以及错误信号发生等操作过程依据CAN总线协议进行。总线上报文的自动重发送也由FSM处理。 2.CAN报文帧 MCP2510支持CAN2.0B技术规范中所定义的标准数据帧、扩展数据帧以及远程帧(标准和扩展),详细的描述请登录,查阅MCP2510数据手册。 3.寄存器映射表 MCP2510寄存器映射表如表7.2.1所示。通过使用行(低4位)列(高4位)值可对映射表中的寄存器地址进行确定。寄存器的地址排列优化了寄存器数据的顺序读/写。一些特定控制和状态寄存器允许使用SPI位修改命令进行单独位的设定。可以使用位修改命令对表7.2.1中的阴影部分的寄存器进行

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档