您当前所在位置:首页 > 论文 > 计算机论文 > 计算机数据库

谈CAN总线基础上数据控制体系构造

编辑:

2014-10-10

2.2.4 CAN发送函数

SJA1000报文的发送可以采用中断的方式,也可以采用查询的方式,在本项目中,关闭SJA1000的中断源,采用查询的方式完成报文的发送,该方式的处理过程比中断更加的容易理解,并且完全可以适应本系统的实时性要求。SJA1000的报文发送是通过CAN控制器自动完成的,发送的时候只需要把报文发送到SJA1000的发送缓冲器,然后通过命令寄存器启动发送命令即可,其程序流程图如图2-5所示

2.2.5 显示函数

显示函数主要的功能是对当前电压信息进行显示,显示函数首先把数据进行分离,通过CD4511驱动四个共阴的数码管,并编写片选表,进行数据显示,入口参数为片选和显示数据,程序流程图如图2-6所示

2.3 系统硬件设计

2.3.1元器件选择

主控芯片:STC89C52

CAN控制器:SJA1000

CAN收发器:PCA82C250

LED数码管:LG5011AH

温度传感器:DS18B20

2.3.2 CAN控制器接口电路设计

本设计中,应用到单片机为STC公司52系列的89C52,该型号的单片机应用广泛,技术成熟,市场上价格便宜,并且支持在线串口STC程序下载,在本次设计中是首选的芯片。89C52单片机作为系统的核心控制部分,但在本设计中不是重点讲解内容,其相关技术应用和引脚特点功能及其应用等,可参照其他相关资料。设计的电路原理方框大致如下图2-7所示。

单片机的复位信号处理,因为单片机89S52内部有看门狗设计,所以设计一个由电阻,电容和开关组成的简单复位电路,完成复位操作。由于在该电路中要用中要用到单片机的存储作用,存储由SJA1000传输过来的处理数据。因此,脚/EA接上高电平,选用片内ROM。对ALE脚,也即地址锁存有效信号除数端是和控制器SJA1000的ALE脚接通控制器SJA1000作为本接口电路中的控制部分,应用本设计中,对于SJA1000和单片机的连接,引脚AD0~AD7是和89C51的输出输入脚P0.0~P0.7相接;SJA1000的片选信号脚/CS必须由微控制器的P2.7口控制否则这个片选输入必须接到VSS 也可以通过地址解码控制例如当地址/数据总线用于其他外围器件,ALE对应ALE,读/写输入脚/WR/RD,/INT和单片机的/INT0连接,而在复位信号的处理,SJA1000的复位引脚由单片机的P2.6相连,可以实现软件复位,很好的实现了电路的复位作用。而对于控制器的收发引脚TX0,TX1与RX0,RX1,在本系统中TX0、RX0可和收发器82C250的TXD、RXD接通。同时,在和CPU接口中SJA1000 支持对两个著名的微型控制器系列的直接连接80C52  。通过SJA1000 的MODE 引脚可选择接口模式Intel 模式 MODE 高;Motorola 模式 MODE 低。在Intel 模式和Motorola 模式里地址/数据总线和读/写控制信号的连接。本设计中,正是使用Intel模式。对SJA1000的Vdd1~Vdd3电源输入脚,外接上驱动+5V电压;而Vss1~Vss3输出接地。设计中,对SJA1000提供12Mkz的晶振。

2.3.3 CAN收发器接口电路设计

82C250是CAN控制器与物理总线间的接口,可以提供对总线的差动发送和接收能力,与IS011898标准完全兼容,并具有抗汽车环境下的瞬间干扰、保护总线的能力。为了提高系统的可靠性和抗干扰能力,在CAN控制器和CAN收发器之间采用光耦6N137进行隔离PCA82C250提供对物理总线的符合CAN电气协议的差动发送和接收功能,另外,它具有的电流限制电路,还提供了对总线的进一步的保护功能。通过82C250与物理总线进行连接,可使总线支持多达110个节点的挂接。图6-2-2-1给出PCA82C250的功能方框图。对于CAN控制器及带有CAN总线接口的器件,82C250并不是必须使用的器件,因为多数CAN控制器均具有配置灵活的收发接口并允许总线故障,只是驱动能力一般只允许20~30个节点连接在一条总线上。而82C250支持多达110个节点,并能以1Mbps的速率工作于恶劣电气环境。

PCA82C250 收发器的电路原理图如图2-8所示,协议控制器通过串行数据输出线TX 和串行数据输入线RX 分别连接到收发器的TX和RX端,收发器通过有差动发送和接收功能的两个总线终端CANH 和CANL 连接到总线电缆,输入Rs 用于模式控制,在这里采用的是接地,参考电压输出VREF的输出电压是额定VCC 的0.5倍,其中收发器的额定电源电压是5V,在这里,可以采用置空VREF。

2.3.4 温度采集模块电路设计

DS18B20可以设置成两种供电方式,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但由此带来的缺点是完成温度测量的时间较长;而采取外部供电方式则多用一根导线,但测量速度较快,且I/O线上不需要强加上拉,总线控制器不用在温度转换期间总保持高电平。本设计采用后一种外部供电方式,接口电路如

2.3.5 数据显示模块电路设计

此电路部分主要是对于采集到的信息以及其分析结果进行显示,为了节约IO口为以后的扩展部分做出相应的准备,此部分的显示通过CD4511进行数码管的驱动,CC4511 是BCD-7段所存译码驱动器,在同一单片结构上由COS/MOS逻辑器件和n-p-n双极型晶体管构成。这些元器件的组合,使CC4511具有低静态耗散和高抗干扰及源电流高达25mA的性能。由此可直接驱动LED及其它器件。LT、BI、LE输入端分别检测显示、亮度调节储或选通一BCD码等功能。当使用外部多路转换电路时,可多路转换和显示几种不同的信号。由于P1口的输出电流较大所以,显示接在P1口,并且通过程序的编写进行访问的简化操作,报警电路采用蜂鸣器和LED声光同时报警,这样可以提高发现错误机器的速率。.电路连接图2-10所示

2.3.6需要说明的问题

在电路部分的设计中,必须要注意的是,因为实现的是基于CAN总线的通信,所以CAN节点需要两个,所以由89S52+SJA1000+PCA82C250组成的CAN节点需要做出两个出来。然后是,在其中的一个上边加入温度传感器进行温度的测量,在另一个节点上加入显示模块。在两个节点之间进行通信,将检测到的温度数据传

送给显示模块进行显示。

第3章  系统使用说明

因为整个系统已经是一个集成的系统,所以功能已经能够自动实现了,在使用过程中不需要进行额外的连线等操作,在使用过程中需要进行的操作就是把电源线和地线都连接即可。其中在电路板中,蓝色的线接地,绿色的线接电源,这时就可以进行温度测量和显示了。

以上是由小编为大家整理的CAN总线基础上数据控制体系构造,如果您觉得有用,请继续关注精品学习网。

免责声明

精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。