0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于SJA1000芯片和PCA82C250芯片实现总线节点仿真平台设计

电子设计 来源:自动化与信息工程 作者:李传艺 , 陈舜儿 2020-05-09 08:04 次阅读

引言

控制器局域网(CoNtroller Area Network,CAN),是德国Bosch 公司为汽车的监控系统而设计的总线式串行通信网络,它具有良好的组网灵活性、开放性、扩展性和兼容性,它的抗干扰、自诊断、自监控和纠错能力强,可靠性高,它的协议模型结构简单,实时性好,性价比高,便于开发,它是目前唯一有国际标准的现场总线,它的应用范围已经远远超出汽车监控系统,它适用于许多领域中分布式自动控制系统,如:工业过程控制和自动化,智能结构和分布管理等,成为很有推广普及应用潜力的现场总线。

为便于CAN总线在不同领域的推广普及应用,研制一种通用的CAN总线系统基本组成单元――节点的仿真平台,通过仿真使研究开发CAN总线系统的成本和周期降低,这是很有实际应用价值的。

本仿真平台选用Philips公司的SJA1000芯片作为CAN控制器,它除了具有基本CANPCA82C200芯片标准模式的所有功能外,更增加了一种新的工作模式―PeliCAN模式,这种模式支持具有很多新特性的CAN2.0B协议,如:兼容性和扩展性更强,检错和纠错能力更强,支持热插拔等,设计更方便灵活,而芯片价格低廉,很适合作通用的CAN总线系统节点仿真平台之用。

为了适应多种不同领域的自动控制系统仿真需要,可采用普通PC机作为各种不同的自动控制系统的传感器、执行器和人机键控和显示接口仿真器,形成仿真平台,提高节点的通用性,灵活性和可扩展性。通过仿真PC机可模拟各种不同应用系统。

仿真平台的硬件设计

所设计的CAN总线系统节点仿真平台硬件系统框图如图1所示。

基于SJA1000芯片和PCA82C250芯片实现总线节点仿真平台设计

图1CAN总线系统节点仿真平台

总线系统采用价格低廉而安装方便的双绞线作为通信介质,将各节点联接成网络系统。每个节点由CAN控制器、CAN收发器微处理器和仿真PC机四个功能模块组成。

CAN控制器SJA1000作为核心,执行CAN协议,包括数据的成帧和解帧以及帧的收发等等。

由于SJA1000的总线驱动能力有限,它通过CAN收发器PCA82C250芯片与物理总线联接起来。CAN收发器将来自CAN控制器的逻辑电平信号转换成适合在CAN总线上传输且能被CAN收发器接收的逻辑电平信号,起到抗瞬间干扰和射频干扰,增大通信距离和保护总线等作用;为了进一步增强抗干扰能力,在SJA1000与PCA82C250之间,可用高速光电耦合器6N137实现总线上各CAN节点间的电平隔离。

CAN控制器和收发器配合完成CAN协议中物理层和数据链路层的通信协议功能。微处理器89C51控制SJA1000的功能,包括初始化和监控管理,实现数据的收发通信,执行应用层功能。

仿真PC机通过串口芯片MAX232实现与微处理器之间的电平转换和通信,从而实现与CAN总线通信。PC机可作为各种不同的自动控制系统的传感器、执行器和人机键控和显示接口的仿真器,形成仿真平台,提高节点的通用性,灵活性和可扩展性。通过仿真PC机可模拟各种不同的应用系统。

仿真平台的软件设计(图2)

软件设计主要是对微处理器进行应用编程,实现SJA1000的初始化(包括工作模式、滤波器、中断使能寄存器等初始值的设置),监控管理和键控显示。微处理器采用中断工作模式,使响应速度提高,支持系统实时性。中断流程如图2。

图2 中断流程图

软件设计的核心是微处理器与CAN控制器之间的数据通信。最终实现CAN网络节点间的数据通信。编程采用模块化方式,方便修改、升级和调试,支持系统灵活性、开放性和可扩展性。

小结

本文的基于SJA1000的CAN总线系统节点仿真平台,经测试得,可实现两个节点间的数据正确的发送和接收,并实现了节点和仿真PC机之间的通信以及键控输入、数据显示等功能。它的硬件结构简单价廉,软件灵活,易修改、升级和进一步组网等的开发,通过仿真PC机可模拟各种不同应用系统。通过仿真使研究开发CAN总线系统的成本和周期降低,该仿真平台为CAN总线系统在汽车及其它多种不同领域的自动控制系统中推广应用,提供了方便的研究开发条件,为CAN的普及和提高提供了有益的参考实例。

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47655

    浏览量

    408569
  • CAN总线
    +关注

    关注

    145

    文章

    1806

    浏览量

    129562
  • 仿真
    +关注

    关注

    50

    文章

    3870

    浏览量

    132124
收藏 人收藏

    评论

    相关推荐

    基于SJA1000的完整CAN节点设计

    独立的 CAN 控制器 SJA1000 有两种不同的操作模式:(1)BasicCAN 模式(PCA82C200 兼容);(2) PeliCAN 模式。
    的头像 发表于 06-18 17:16 8288次阅读
    基于<b class='flag-5'>SJA1000</b>的完整CAN<b class='flag-5'>节点</b>设计

    CAN控制器SJA1000及其应用

    ;单片机1 SJA1000简介SJA1000是PHILIPS公司早期CAN控制器PCA82C200的替代品,功能更强,具有如下特点:①完全兼容PCA82C200及其工作模式,
    发表于 10-03 14:15

    proteus元件库中没有的芯片怎么画?

    想要画几个芯片PCA82C250/SJA1000/SJA1050/P89C591这些,不需要仿真
    发表于 04-19 18:42

    51单片机接收CAN总线一次数据需要多长时间?

    9600波特率的CAN总线,数据以中断的方式进入AT89S52, 单片机要使用两个定时器输出控制舵机的精度要求为2us的PWM,CAN总线的中断是否影响PWM的输出?如果影响,影响有多大?几个us。使用的是SJA1000
    发表于 04-03 01:10

    proteus里没有SJA1000PCA82C250的电路咋办

    想做CAN总线方面的研究,但SJA1000PCA82C250找不到怎么画啊,求有关大神帮忙啊
    发表于 04-11 23:43

    采用P89C668单片机实现CAN总线接口设计

    节点接口硬件电路设计 CAN节点接口硬件电路原理如图1所示.采用PHILIPS公司生产的P89C668单片机、CAN控制器SJA1000和CAN总线
    发表于 05-06 09:18

    一种基于FPGA的飞行模拟器通信接口设计流程介绍

    Verilog对FPGA编程,实现SJA1000T的控制及CAN节点之间的通信功能。接口电路设计如图1所示。SJA1000芯片是一款独立的
    发表于 06-18 05:00

    怎么实现基于PCA82C250与MCU间的直连通信网络设计?

    怎么实现基于PCA82C250与MCU间的直连通信网络设计?
    发表于 05-28 06:09

    基于STM32F103 RET6芯片+PCA82C250使用CAN通讯换回模式测试CAN收发

    测试9 总结1 博客内容博客内容基于STM32F103 RET6芯片(Keil.STM32F1xx_DFP.2.3.0.pack)+PCA82C250,使用CAN通讯换回模式测试CAN收发。CAN引脚对应PA11(RX)和PA12(TX),
    发表于 08-06 07:03

    SJA1000 在CAN 总线系统节点的应用

    介绍CAN 总线控制器SJA1000; 给出其在CAN 总线系统节点中的应用方法、节点电路原理图及初始化程序; 针对应用
    发表于 05-13 16:43 62次下载

    PCA82C250 PCA82C251 CAN Transc

    The PCA82C250 and PCA82C251 are advanced transceiver products for use in automotive and general
    发表于 11-18 11:44 64次下载

    基于SJA1000PCA82C250的CAN总线接口设计

    CAN总线是较为流行的技术,介绍了CAN总线的主要特性,简述了SJAl000和PCA82C250的结构和工作原理,并基于此设计了CAN总线接口,给出了系统硬件电路设计和SJAl000的
    发表于 11-17 17:21 441次下载
    基于<b class='flag-5'>SJA1000</b>和<b class='flag-5'>PCA82C250</b>的CAN<b class='flag-5'>总线</b>接口设计

    基于CAN总线的智能节点设计

    应用51单片机为控制核心结合其他的器件设计了一种能连接于CAN总线上的智能节点。通过单片机控制CAN总线控制器SJA1000,并进一步通过CAN总线
    发表于 01-10 16:54 120次下载

    利用TL16C554和SJA1000芯片实现4路UART总线与CAN总线的通讯设计

    CAN模块采用一种独立的CAN控制器SJA1000,主要用于移动目标和一般工业环境中的区域网络控制,是PHILIPS公司半导体PCA82C200CAN控制器的替代产品。SJA1000具有
    发表于 03-17 09:58 3670次阅读
    利用TL16C554和<b class='flag-5'>SJA1000</b><b class='flag-5'>芯片</b><b class='flag-5'>实现</b>4路UART<b class='flag-5'>总线</b>与CAN<b class='flag-5'>总线</b>的通讯设计

    基于SJA1000的CAN节点设计

    电子发烧友网站提供《基于SJA1000的CAN节点设计.pdf》资料免费下载
    发表于 10-13 11:40 0次下载
    基于<b class='flag-5'>SJA1000</b>的CAN<b class='flag-5'>节点</b>设计