CAN总线在程控交换机中的应用设计
出处:merry64 发布于:2007-11-19 14:14:06
主控制机与前端处理机之间有通信处理机,它主要完成通信功能,将从各从节点传来的信息整理打包传往主控单元,并将从主控单元发送来的命令分配发往各从节点。其中,前端处理机与主控机连接的电路结构如图1所示。
主控制机与6个通信处理机之间通过双口RAM,以中断方式传送数据,每个通信处理机与前端处理机都采用具有HDLC协议的8044芯片,各前端机不能主动发起与通信控制机的通信,必须等待通信控制机询问该节点时才能向它发送数据。
对于图1的应用,本文采用CAN总线技术来实现,大大减化了软硬件设计,降低了成本。
CAN总线设计关键点
物理层设计
CAN总线为了使用的灵活性,没有严格定义物理层的连接和媒质,这虽然使物理层的设计相当灵活,但对CAN总线设计的新手来说,此处也是容易出问题的地方。从应用来看,CAN控制器只引出了TX0、TX1两个发送输出端(它们具有互补的电平输出)和RX0、RX1两个差分比较输入端。因此,应用中要根据需要自行设计物理层的连接和总线电平。
总的原则是:针对TX0、TX1的两种输出状态(显性、隐性),总线应具有两种不同的电平,这两种电平可以使差分输入的接收端呈现两种状态(显性、隐性)。根据不同的传输距离和传输速率要求,有着相应的设计方案,本文图2所示的电路中,CAN总线控制器采用的是SJA1000,物理层驱动采用PCA82C250,通过设置PCA82C250的引脚8(Rs)可以使其分别工作在高速、斜率控制和待机方式下。在斜率控制工作方式下,对于较低速度或较短总线长度的应用场合,可用非屏蔽双绞线或平行线作总线,为降低射频干扰,可通过调整引脚8到地的连接电阻大小来实现。为了增加抗干扰能力,图2电路中在CAN控制器和PCA82C250之间加入了6N137高速光耦。该方案的主要特点是:位速度:0~1Mbit/s;节点数:2~110个。
软件编程
所有的CAN控制器具有相同的结构和顺序,只不过是在存储器中映象的偏移量不同。图2所示的电路中,CAN控制器SJA1000寄存器定义在4000H~401DH的范围之内。CAN总线数据通信的软件编程通过对30个寄存器的操作来完成,其收发的程序框图如图3所示。
程控交换机中主控机与前端处理机通信的电路设计
对于图1所示的电路,若采用CAN总线通信方式,则省去了通信处理机,硬件结构简单,且各节点都可以作为主节点发起通信,其电路结构如图3所示。主控制机由80586和CAN适配器构成,适配器上的8051与80586通过双口RAM,以内存映射方式交换信息。这里着重介绍前端机部分,前端机主要由8051、SJA1000和PCA82C250等构成,控制译码电路由GAL22V10完成。其电路如图4所示。
|
CAN控制器SJA1000的数据与地址端是时分复用的,其读写时序与8051读写片外RAM时的操作是兼容的,故其可以与8051直接相连,而不需要加地址锁存器。
前端机CAN总线的初使化、发送及接收程序框图如图5所示。
|
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 嵌入式系统的应用领域2024/11/12 17:16:41
- 使用 PLECSPIL 开发嵌入式控件2024/9/9 17:08:41
- 什么是嵌入式系统?嵌入式系统的优缺点及应用2024/9/5 17:49:34
- KEIL编程小技巧2024/8/13 17:34:35
- 什么是MCU?一文快速了解MCU基础知识2024/7/15 17:39:55