CAN通信入门讲解.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文档。上传文档
查看更多
CAN通信入门讲解

* * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential * * Confidential 報告人 CAN Protocol of NUC130 Nuvoton (SH) Ltd. * Represent by: CONTENTS CAN protocol CAN Feature of NUC130 CAN-Tx Rx Procedure of NUC130 * CAN in a car * Topology of CAN * Topology of CAN * Signal Protocol of CAN Bus 数据帧 总线上的数据报文 START+ID+数据长度位+0~8BYTE数据+CRC+ACK+STOP ID是报文属性,而非节点地址 远程帧 请求远程数据报文,无数据域,其它与数据帧相同 出错帧 出错报文 过载帧 过载报文 * Signal Protocol of CAN Bus * Signal Protocol of CAN Bus * 远 程 帧 Signal Protocol of CAN Bus * Signal Protocol of CAN Bus * Signal Protocol of CAN Bus * 总线仲裁 * 位错误 * 错误帧的输出 * 位填充 * 一位四个时间段 * 位时间段 * 传输时间段的确定 * 位的再同步 * 同步调整规则 总线空闲时(隐性位),出现显性位,一定做同步调整 总线非空闲时,隐性电平到显性电平的转变,进行位调整 一位只调整一次 发送节点发现自身发送输出有延迟,不进行调整。 多个节点发送时,起始位和仲裁域,不进行位同步调整。 * CAN的高可靠性 位同步调整机制,补偿了线路延迟 位填充机制:总线正常数据不会出现连续6个相同位 CRC校验,可发现连续0~16位的数据错误 数据为广播报文,任一节点发现错误都可发出错误帧 短帧格式,重发机制 * CAN总线上数据实例 * CAN Feature of NUC130 支持CAN 2.0A和2.0B协议 可配置32个报文消息队列做收发准备 最高传输速率可达1Mbps 可把CPU从Sleep唤醒 * CAN Basic Mode of NUC130 在APBCLK中,使能CAN时钟,配置GPIO为CAN功能引脚 置位CAN_CON[Init]初始化使能,置位CAN_CON[CCE]写时基寄存器使能 确定位时基的四个时间段,写入BTIME和BRPE 清零CAN_CON [CCE], 清零CAN_CON [Init]就开始接收 IF2_MCON中位NewDat若为1说明收到一帧,从IF2中读出数据 发送: 把ID, Xtd, Dir, DLC, Data写入IF1 对应寄存器. 把IF1_CREQ中Busy位置1, 总线有空闲就发送, 发送成功就清零Busy位. 可读Busy来确认发送成功 * Basic Mode Rx Code * int main (void) { ...... SYSCLK-APBCLK.CAN0_EN = 1 ;      //使能CAN时钟 SYS-IPRSTC2.CAN0_RST = 1 ; //复位CAN SYS-IPRSTC2.CAN0_RST = 0 ; outpw(SYS-GPDMFP, inpw(SYS-GPDMFP) | (0x36)); //CAN引脚配置 DrvCAN_Open(500);                 //配置位时间 CAN-CON.TEST = 1;

文档评论(0)

22ffbqq + 关注
文档贡献者

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

1亿VIP精品文档

相关文档