单片机最小系统
本设计中,应用到单片机为ATMEL公司51系列的89C51,该型号的单片机应用广泛,技术成熟,市场上价格便宜,而且在学习中所学到的多为该型号,在本次设计中是首选的芯片。89C51单片机作为系统的核心控制部分,但在本设计中不是重点讲解内容,其相关技术应用和引脚特点功能等,可参照其他相关资料。设计的电路原理方框大致如下图所示。设计中为避免出现时钟信号的冲突,对单片机的外接晶振引脚XTAL1、XTAL2不接上外围电路,而是通过控制器 SJA1000的时钟信号脚反馈给单片机。同时,对单片机的复位信号处理,RST引脚接上X5045P的RST脚,复位信号可由X5045P输出,在 X5045P芯片看门狗外围电路的作用下,减少了以往由电阻、电容组成的简易复位电路造成的不精确、延时高等不良作用,使单片机回复到初始状态,完成复位操作。由于在该电路中要用到单片机的存储作用,存储由SJA1000传输过来的处理数据。因此,脚/EA接上高电平,选用片内ROM。对ALE脚,也即地址锁存有效信号除数端是和控制器 SJA1000的ALE脚接通。
图2-2 单片机最小系统
基于SJA1000的控制电路设计
控制器SJA1000作为本接口电路中的控制部分,应用本设计中,对于SJA1000和单片机的连接,引脚AD0~AD7是和89C51的输出输入脚 P0.0~P0.7相接;SJA1000的片选信号脚/CS必须由微控制器的P2.7口控制否则这个片选输入必须接到VSS 也可以通过地址解码控制例如当地址/数据总线用于其他外围器件,ALE对应ALE,读/写输入脚/WR、/RD,/INT和单片机的/INT0连接,由于在该系统中要用到相同的时钟频率,所以我们要时钟信号引脚CLKOUT和单片机的XTAL1脚相连,达到频率一致的目的;而在复位信号的处理,可以在看门狗外围电路的RST信号输出后再通过和非门电路的相连,很好的实现了电路的复位作用。而对于控制器的收发引脚TX0,TX1与RX0,RX1,在本系统中 TX0、RX0可和收发器82C250的TXD、RXD接通。同时,在和CPU接口中SJA1000 支持对两个著名的微型控制器系列的直接连接80C51 、68xx 。通过SJA1000 的MODE 引脚可选择接口模式Intel 模式 MODE 高;Motorola 模式 MODE 低。在Intel 模式和Motorola 模式里地址/数据总线和读/写控制信号的连接。本设计中,正是使用Intel模式。对SJA1000的Vdd1~Vdd3电源输入脚,外接上驱动+5V电压;而Vss1~Vss3输出接地。设计中,对SJA1000提供16Mkz的晶振。
图2-4 SJA1000控制电路
基于82C250收发电路设计
82C250是CAN控制器与物理总线间的接口,可以提供对总线的差动发送和接收能力,与IS011898标准完全兼容,并具有抗汽车环境下的瞬间干扰、保护总线的能力。设计中,收发器的接受、发送脚原理上要和SJA1000的发送、接受脚相连接。但这样一来,两者的电气不一致,造成电气隔离,给通信带来麻烦。为此,在它们之间接上高速光耦合器6N137,避开了电气隔离,更好的实现通信联系。82C250的TXD、RXT就对应接上6N137的输出脚OUT和输入脚 IN;脚Rs作为斜率控制电阻输入端,电阻的大小可以割据总线通信速度适当调整一般在16~140KΩ之间,设计中Rs阻值为47KΩ。在通过接一个 47K电阻分流之后,可以接地。电压引脚Vcc,其电源电压:4.5V〈 Vcc〈 5.5V,在设计中采用5V电压。Vref作为基准电压输出端,设计中可以接地。而CANH,CANL脚是信号的输入输出,实现对电平信号的传送,通过它们连接上双绞线,完成通信传输。
基于X5045P的电路设计
X5045P在本设计中做为复位、监控电路使用,虽然增加了电路连接的复杂和成本,但对于电路的稳定和可靠性有起到很大的作用,是系统中不可缺少的部分。对X5045的操作是通过4根口线CS、SCK、SI和SO进行同步串行通信来完成的。SCK是外部输入的同步时钟信号。在对芯片定改指令或数据时,时钟前沿将SI引脚信号输入;在读邮数据时,时钟后沿将数据位输出到SO引脚上。数据的输入/输出都是高位在先。在设计中,/CS脚和单片机P1.0、 SI、 SCK、SO、RST分别与单片机的引脚P1.0~P1.3、RST连接。对于不用到的引脚,可以直接和地相连。电路设计如下:
图2-10 X5045P电路监控、复位电路