zoukankan      html  css  js  c++  java
  • CAN总线系列讲座第五讲——CAN总线硬件电路设计

    CAN总线系列讲座第五讲——CAN总线硬件电路设计
    一  实战学习背景 
    CAN总线节点的硬件构成方案有两种,其中的方案:
    (1)、MCU控制器+独立CAN控制器+CAN收发器。独立CAN控制器如SJA10000、MCP2515,其中MCP2515通过SPI总线和MCU连接,SJA1000通过数据总线和MCU连接。
    该方案编写的CAN程序是针对独立CAN控制器的,程序可移植性好,编写好的程序可以方便的移植到任意的MCU。但是,由于采用了独立的CAN控制器,占用了MCU的I/O资源,并且电路变得复杂。
    为了增强针对性,选择”51系列单片机+ SJA1000”的CAN总线节点的硬件构成方案,做入门介绍.
    二  51系列单片机CAN总线学习板硬件电路设计 

     
    51系列单片机CAN总线学习板采用STC89C52RC作为节点的微处理器。在 CAN 总线通信接口中采用PHILIPS 公司的“独立CAN总线通信控制器SJA1000” 和“高性能CAN总线收发器TJA1040”芯片。图1为51系列单片机CAN总线学习板硬件电路原理图。从图中可以看出,电路主要由七部分构成:微控制器STC89C52RC、独立 CAN 通信控制器 SJA1000、 CAN 总线收发器TJA1040、DC/DC电源隔离模块、高速光电耦合器 6N137、串口芯片MAX232电路、按键及LED灯显示电路。
    STC89C52RC初始化SJA1000后,通过控制 SJA1000 实现数据的接收和发送等通信任务。SJA1000 的 AD0~AD7 连接到STC89C52RC的 P0 口,其CS引脚连接到STC89C52RC的 P2.7, P2.7为低电平“0”时,单片机可选中SJA1000,单片机通过地址可控制SJA1000执行相应的读写操作。SJA1000 的 RD、 WR、 ALE 分别与STC89C52RC的对应引脚相连。SJA1000 的INT引脚接STC89C52RC的 INT0,STC89C52RC可通过中断方式访问SJA1000。
    为了增强CAN总线的抗干扰能力,SJA1000的TX0和RX0引脚通过高速光耦 6N137与TJA1040的引脚TXD和RXD 相连,这样能够实现总线上各CAN节点间的电气隔离。需要特别注意一点:光耦部分电路所采用的两个电源VCC和CAN_V 必须完全隔离,否则采用光耦也就失去了意义。电源的完全隔离可采用小功率电源隔离模块,51系列单片机CAN总线学习板选用B0505D-1W电源隔离模块。这些电路虽然增加了CAN节点的复杂程度,但是提高了CAN节点的稳定性和安全性。
    TJA1040与CAN总线的接口部分采用了一定的安全和抗干扰措施:TJA1040的CANH 和CANL 引脚各自通过一个5欧姆的电阻与 CAN 总线相连,电阻可起到一定的限流作用,保护TJA1040 免受过流的冲击。CANH和CANL与地之间分别并联了一个30P的电容,可以起到滤除总线上的高频干扰的作用,也具有一定的防电磁辐射的能力。另外,在两根CAN总线接入端与地之间分别反接了一个保护二极管IN4148,当 CAN 总线有较高的负电压时,通过二极管的短路可起到一定的过压保护作用。
    串口芯片MAX232电路用于“51系列单片机CAN总线学习板”下载程序,也可以实现CAN总线转232串口数据转换功能。

  • 相关阅读:
    20172319 结对编程练习_四则运算第二周阶段性总结
    20172319 《Java程序设计教程》第8周学习总结
    20172319 结对编程练习_四则运算第一周阶段性总结
    20172319 实验二《Java面向对象程序设计》实验报告
    20172319 《Java程序设计教程》第7周学习总结
    20172319 2018.04.11-16 《Java程序设计教程》 第6周学习总结
    20172319 2018.04.11 《Java程序设计教程》第7周课堂测验(补写博客)
    学号 2017-2018-2 《程序设计与数据结构》实验五报告
    2017-2018-2 《程序设计与数据结构》第11周学习总结
    2017-2018-2《程序设计与数据结构》实验四报告
  • 原文地址:https://www.cnblogs.com/zhj868/p/12496470.html
Copyright © 2011-2022 走看看