CAN/RS 232接口卡的设计与实现

分享到:
352
下一篇 >

控制器局域网(Controller Area Network,CAN)属于现场总线的范畴,其总线规范已被ISO国际标准化组织制定为国际标准,并被公认为是*有前途的现场总线之一。CAN总线广泛应用于控制系统中的各检测和执行机构之间的数据通信。因为CAN总线数据的传输和处理都由节点的单片机完成。这样就使设计者和观察者没有办法以比较直观的方式掌握总线的运行情况。现在市场上主要有两种CAN的接口卡,使用PCI总线和使用USB接口。前者具有传输速度快的特点,但却要占用一个计算机的插槽,并且设计上十分困难;后者的传输速度也很快,且价格较便宜,但要花费很大的精力进行USB的固件开发和维护,并要编写复杂的驱动程序。根据此,需要设计一种能够方便读取CAN总线数据,并通过RS 232串行口将数据送给PC机处理和显示的接口卡;此外还需对其串行传输的协议进行加强,以使能有效地降低传输过程中出现的错误。

1 接口卡的硬件设计

硬件部分主要包括主控制器、CAN总线控制器、CAN总线收发器以及与计算机的RS 232通信接口芯片等。系统的总体结构如图1所示。主控制器通过CAN总线接口接收和缓存数据。根据PC机的命令进行选择性的数据传输。

1.1 与CAN总线接口

如图2所示,接口卡的控制器选用Atmel公司的AT89S51,该单片机的引脚和功能与8051兼容,并且内部含有4 KB的FLASH ROM,支持在系统编程(ISP),这样可以很方便地将应用程序下载到单片机里。

CAN总线控制器选用Philips公司生产的SJA1000,该芯片是PCA82C200CAN控制器的替代品,而且新增加了一种PeliCAN工作模式,能够支持CAN 2.0B协议。它还支持错误中断、报警限制、验收滤波器扩展和自接收请求等功能。在系统中,将SJA1000的中断输出引脚INT接到单片机的中断输入引脚,这样可以在接收数据或者总线错误时产生中断,由控制器进行相应的处理。SJA1000的片选CS端接单片机的P2.7引脚,这样SJA1000的地址就确定为7F00H~7FFFH。

你可能感兴趣: 嵌入式 图片 CAN 国际标准 现场总线
无觅相关文章插件,快速提升流量