基于PC/104总线的多功能扩展通讯模块的设计
1 引言
PC/104总线计算机具有体积小、功耗低、工作温度宽、可靠性高等特点,被广泛地应用于分布式系统和集散控制系统中作为现场控制计算机。在这些系统中的104PC,往往需要同上位机及下面连接的控制执行机构、传感器或丈量仪表通讯,而常用的通讯方式有RS-232串行口加MODEM方式、RS-485方式、以太网方式以及各种产业现场总线。
RS-232串行口加MODEM方式一般用于点对点之间较远间隔的数据传输;RS-485方式一般用于控制现场对多点实施控制,目前它还是产业控制中使用得最广泛的一种方式;以太网方式可以实现远程控制和信息共享,但它的时延不可控,在实时性和保密性要求较高的控制系统中的应用受到一定限制;现场总线技术是当今自动化领域技术发展的热门之一,是应用于控制现场、在微机化丈量设备之间实现双向串行多节点数字通讯的系统,也被称为开放式、数字化、多点通讯的底层控制网络。现场总线的标准很多,其中CAN总线在国内的发展速度最快,被以为是替换RS-485的最理想的方式之一。
CAN总线规范已被ISO制定为国际标准,其模型结构有三层,包括OSI底层的物理层、数据链路层和顶层的应用层,通讯速率最高可达1Mbps/40m,直接传输间隔最高可达10Km/5Kbps,可挂接设备数最高可达110个。总线的电气规范类似于RS-485,采用双线差分平衡传输,以两线间的电压差表示数字逻辑,分为“显性”和“隐性”两种逻辑。CAN总线采用面向内容的编址方案,可以在总线中加进一些新站而无需在硬件或软件上进行修改。该总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,确保不同实时性要求的数据以不同优先级传送,总线读取中的冲突可通过位仲裁解决。CAN协议可使用五种检查错误的方法,保证了数据传输的可靠性。利用CAN总线可以以较低的本钱、较高的实时处理能力和在恶劣的强电磁干扰环境下可靠地工作。
综上所述,根据目前104PC在产业控制中的应用特点和需求,本设计的目的是按照PC/104标准设计通用型多功能扩展通讯模块,该通讯模块包括两个RS-232串行口、两个RS-485接口和一个CAN总线接口。
2 器件选型和总体设计方案
要按照PC/104标准在通讯模块中扩展四个串行口和一个CAN总线接口,在模块功耗和外型尺寸上限制很严,因而器件需选择高集成度IC。
异步通讯单元是串行口扩展的核心器件,它在指定波特率和数据格式下完成并行数据和串行数据之间的相互转换并完成相应的控制。设计中选用了TI公司的高集成度异步通讯控制单元TL16C554芯片,它集成有4个ACE(异步通讯单元),共用了数据线和一些逻辑控制信号,可以通过各自的片选信号选择每一个ACE单元。每个收发单元都有自己的中断请求、数据收发以及MODEM逻辑控制信号,可以完成异步收发器的所有功能。
RS-232C电平与TTL电平转换通过Max213完成。Max213采用的是SSOP封装,外型尺寸小,功耗小,一片Max213加上几个小电容就可以完成一个标准RS-232C所有信号的电平转换。
RS-485电平与TTL电平转换通过SN65LBC184实现。SN65LBC184是德州仪器公司推出的RS-485总线驱动芯片,结构简单,功耗小,由单芯片实现半双工RS-485通讯。它采用1/2负载设计,总线上答应挂接64个单元,还具有防静电、耐高压冲击和过热保护功能,可以进步系统的可靠性。
CAN总线控制器是实现CAN总线接口扩展的核心器件。它将来自104PC上ISA总线的并行数据按照CAN总线协议转发出往,同时也按照CAN总线协议接收来自外部总线的数据。在设计中选用了PHILIPS公司的SJA1000独立CAN总线控制器。SJA1000是PCA82C200的升级产品,集成了CAN总线逻辑链路层协议。它与PCA82C200在硬件和软件上完全兼容,还具有支持扩展CAN总线协议的PELI工作模式(支持CAN2.0B协议)。具体来说,SJA1000主要具有以下特点:扩展的64 Byte FIFO接收缓冲、支持11bit标识码和29bit标识码、支持标准和扩展格式的帧信息的传输,还具有单/双掩码滤波器、仲裁丢失中断、只听模式、自身信息接收、最近错误寄存等众多PELICAN模式扩展功能。
CAN总线电平与TTL电平的转换通过PHILIPS公司的PCA82C250完成。该芯片与ISO11898标准兼容,支持最高达1Mbaud的高速传输,可连接110个节点。采用限斜率控制,降低射频干扰,具有宽范围的抗共模干扰、抗电磁干扰能力。
设计中所涉及到的逻辑控制、时序控制由CPLD实现。这样做的目的,主要出于以下考虑:
·假如采用与非门,译码器、锁存器等分立元件实现逻辑控制,大量的元件难以在PCB板上布局,而且使电路变得复杂,也降低了模块的可靠性和抗干扰能力。
·CAN控制器SJA1000的对外操
总线通讯模块控制 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)