- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CAN总线网间控制器设计 指导老师:于家辉 学生姓名:任尚存 专业:电子信息工程 班级:079411班 CAN是现场总线的一种,由于它具有通信速率高、开放性好、纠错能力强和系统成本低等优点,在生产和生活中得到了广泛的应用,然而由于受到CAN收发器的限制,在一个CAN总线网络中最多只能有110个CAN节点,最大只能达到10 km的通信距离。所以当所需CAN总线网络规模超出以上限制时就必须进行CAN总线网络的扩展,目前一般的扩展方式是加入CAN总线网间控制器。 CAN网间控制器是系统组网的关键设备之一,在稍大型的CAN总线系统中经常会用到,它是基于普通单片机的廉价现场总线转换网桥,同时具有中继器的功能。使用时只需对网间控制器的初始化参数进行适当配置,就能使网间控制器具有报文转发功能,又有报文过滤功能。本设计提出一种基于单片机的网间控制器的设计,主要阐述了它的结构组成、各部分功能和软件设计。 硬件总体设计框图 本设计硬件部分主要由STC89C52和两路CAN网控器接口组成,STC89C52作为CAN网控器的微控制器,负责整个网控器的监控任务。两路CAN网间控制器接口电路基本相同,都是由CAN总线控制器SJA1000、CAN总线收发器PCA82C250组成。 CAN总线控制模块 本模块作为CAN控制器与物理总线间的接口,可以提供对总线的差动发送和接受功能,该模块的核心芯片是独立控制器SJA1000。 CAN总线收发模块 本模块作为一个总线接口模块,通过它实现上位机与现场微处理器之间的数据通信,该模块的核心芯片是Philips公司的PCA82C250 。 看门狗电路 本模块通过主控芯片单片机对该模块的控制,可以实现软件看门狗的功能,主要用于监视程序的运行,若程序跑飞,则看门狗电路产生复位信号,使单片机重新返回程序正常运行状态,该模块的核心芯片X5045。 电源模块 本模块是利用稳压芯片为78L05,为系统提供稳定的5V电源。 显示模块 本模块设计了7个LED:1个用于网间控制器上电指示,4个用于两路CAN接口的当前接收和发送状态实时,还有2个用于两路CAN接口的通信 障碍(如总线关闭)指示。 总原理图 系统初始化流程 发送子程序流程 接收中断子程序流程图 看门狗电路软件流程 小结 谢谢大家! * 本课题研究的意义及主要内容 显示模块 单片机小系统 总线 看门狗模块 电源 模块 总线 CAN总线控制模块1 CAN总线控制模块2 CAN总线收发模块1 CAN总线收发模块2 软件系统总体流程图: 为了实现网间控制器的数据转发功能,本设计主要包含以下一些子程序: 初始化子程序、主监控程序、接收中断子程序和发送中断子程序等。 微处理器上电复位及初始化 是否接收? 是否转发? 是否转发? 是否为第一路? 转发到第二路 转发到第一路 Y N Y N Y Y N N 进入复位模式 接收码寄存器赋值 接收屏蔽码赋值 总线定时器0、1赋值 选择pelican模式 输出控制寄存器赋值 进入正常模式 初始化流程 指示。 本模块包括对单片机STC89C52、总线控制器SJA1000和芯片X5045的初始化,本节主要介绍对SJA1000进行初始化,为接下来的数据的接受和发送做准备。 SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、验收滤波方式的设置、验收屏蔽寄存器和验收代码寄存器的设置和中断允许寄存器的设置等。检测到有复位请求后将终止当前的接收/发送的报文而进入复位模式。当复位请求出现到了1到0的变化时,CAN控制器将返回操作模式 。 正在接收否? 缓冲区释放否? 报警信息否 RET 读状态寄存器 Y Y Y N N N 驱动声光报警 发送数据,并释放缓冲区 发送流程 将数据写入发送缓冲区 发送子程序负责FIFO网间控制器的发送,网间控制器软件中共有两个发送子程序,分别对应两路CAN总线控制器。 发送子程序的调用是在主监控程序中进行的,当主监控程序发现某一路CAN控制器对应的FIFO非空时,就会调用发送子程序向另一路发送数据。 关中断保护现场 错误警告中断? 总线关闭? 接受子网报文并存入缓冲区内 网控器状态查询? CAN复位 置请求状态标志 Y 读入CAN中断寄存器 接受中断? 读入CAN状态寄存器 计算接受数据长度与 缓冲区剩余空间比较 Y N N N 缓冲区是否溢出? 读入命令字节 N 置请求状态标志 释放接收器缓冲区 恢复现场,
文档评论(0)