基于CAN总线分布式控制系统智能节点的设计
硬件电路设计
CAN遵循ISO的标准模型,分为数据链路层和物理层。在工程上,这两层通常由CAN控制器和收发器实现的。当前,市面上有两种CAN总线器件可供选择:一种是带有片上CAN的微控制器,如P8XC591/2、87C196CA/CB、MC68376、PowerPC555等,使用这种集成器件方便用户制作印制板,电路图也更紧凑;另外一种是独立的CAN控制器,如Philips SJA1000、Intel公司82526以及MCP2510(具有SPI接口,方便MCU连接)等, 使用独立的CAN控制器的潜在优势是,系统开发人员可以根据所需从众多种类的单片机中选择最理想的系统设计方案。
节点微控制器选用单片机80C196KC,CAN接口由独立控制器SJA1000和CAN控制器接口芯片82C250组成。SJA1000在软件上和引脚上都是与它的前款PCA82C200独立控制器兼容的,并增加了许多新功能:标准帧数据结构和扩展帧数据结构,并且这两种帧格作为式都具有单/双接收过滤器;64字节的接收FIFO;可读写访问的错误计数器和错误限制报警以及只听方式等等。
SJA1000有两种工作模式:Basic CAN模式和PeliCAN模式,其中PeliCAN模式全面支持CAN2.0B协议。SJA1000作为微控制器的片外扩展芯片,其片选引脚CS接在微控制器的地址译码器上,从而决定了CAN控制器各寄存器的地址。SJA1000通过CAN控制器接口芯片82C250连接在物理总线上。82C250器件提供对总线的差动发送能力和对CAN控制器的差动接受能力,完全和“ISO11898”标准兼容。其引脚8允许选择三种不同的工作方式:高速、斜率控制和待机。在低速和总线长度较短时,一般采用斜率控制方式,限制上升和下降斜率,降低射频干扰,斜率可通过由引脚8至地连接的电阻进行控制。斜率正比于引脚8 上的电流输出。为进一步提高系统抗干扰能力,在CAN控制器SJA1000和CAN控制器接口82C250之间加接6N137光电隔离芯片,并采用DC- DC变换器隔离电源。通信信号传输到导线的端点时会发生反射,反射信号会干扰正常信号的传输,因而总线两端接有终端电阻R1、R2,以消除反射信号,其阻值约等于传输电缆的特性阻抗。