1引言PC/104嵌入式控制PC出现于80年代末,并于1992年形成IEEEP966.1标准。它一方面继承了PC的所有资源,另一方面又对PC的各个方面做了优化设计,使其与IBMPC完全兼容,并具有体积小,功耗低,工作温度宽,可靠性高等特点;它采用了独特的"自栈式"总线连接、模块化结构,使用起来灵活方便;它采用面向对象的硬件设计方法,使得在PC/104标准上开发的扩展模块具有更强的通用性和更长的生命期;它以其优良的品质、高可靠性
1 引言
PC/104嵌入式控制PC出现于80年代末,并于1992年形成IEEEP966.1标准。它一方面继承了PC的所有资源,另一方面又对PC的各个方面做了优化设计,使其与IBMPC完全兼容,并具有体积小,功耗低,工作温度宽,可靠性高等特点;它采用了独特的"自栈式"总线连接、模块化结构,使用起来灵活方便;它采用面向对象的硬件设计方法,使得在PC/104标准上开发的扩展模块具有更强的通用性和更长的生命期;它以其优良的品质、高可靠性及模块化,广泛应用于工业控制、航空航天、军事、医疗、消防设备、智能仪器仪表、导航、通讯、数控、自动化生产设备、便携式计算机等领域。 在实际应用中,一个较为复杂的系统,往往不是由单个计算机独立控制,而是由多个计算机组成通信网络共同完成控制的过程。因此,对于每一个嵌入式计算机来说,除了连接必需的外设之外,还需要考虑计算机之间的通信。
控制器局域网(简称CAN)是目前国际上应用最广泛的现场总线之一。最初,CAN被设计用作汽车中的微控制器通讯,在车载各电子控制装置ECU之间交换信息,形成汽车电子控制网络。CAN是一种多主机方式的串行通讯总线,能够使用诸如双绞线、光纤等多种物理介质,其中最常用的就是双绞线。它的基本设计规范是要求具有高的位速率和高的抗电磁干扰性,而且要求能够检测出任何错误。由于CAN总线具有高实时性、卓越性能、高可靠性、独特灵活设计和低廉价格,已广泛应用于工业现场、控制、智能大厦、小区安防、交通工具、医疗仪器、环境监控等众多领域,目前,已被公认为是几种最有前途的现场总线之一。
2系统的硬件设计
设计的系统采用合适的档次(以功能、性能够用为标准)、高性价比、CPU为X86(相当于586)、300MHz的PC/104模块作为主控单元,以Philips的SJA1000+PCA82C250作为CAN接口器件和收发器;以Altera公司的CPLD器件EPM7128作为逻辑控制和译码单元。整个系统共设计4个CAN接口,其中两个用于外部远距离通讯,工作在5 Kb/s下,另外两个用于近距离通讯,工作在1 Mb/s下,当然这4个CAN接口的硬件是完全相同的。另外,系统还扩展了一个5英寸、320×240点阵的单色LCD屏、按键和LED指示灯组成的人机接口。图1给出该系统硬件原理框图。
2.1 I/O端口地址分配表
由于系统在PC/104的基础上扩充了CAN、LCD、LED指示灯和按键等资源,要对其进行访问和操作时,必须为它们分配地址,但分配的地址又不能与PC/104原有的I/O接口地址冲突,所以分配地址之前,必须搞清楚所选用的PC/104模块的地址分配表,即搞清楚哪些地址范围已被PC/104占用,哪些区域是空闲的。新分配的地址只能占用空闲区域,否则会引起端口冲突,导致系统不能正常工作。表1给出PC/104的I/O端口地址分配表。
PC/104总线能访问64 K个I/O端口,但实际上只用了1 K端口地址(000H~3FFH),其中256个单元(000H~OFFH)分配给系统板上的I/O接口器件,其余的768个单元(100~3FFH)分配给扩充卡。当然,现在的PC/104功能非常强大,板上集成了许多接口,如:多个串口、USB、Ethernet LAN、GPIO等,它们都要占用端口地址。所以,在实际应用中,必须以所选用的PC/104为准,选出一块空白的地址区域,对上述系统资源进行编址。该系统设计选取地址为180~1BFH。