PC104总线是嵌入式PC机所用的总线标准.有两个总线插头.其中P1 有64个引脚, P2 有40个引脚 共有104个引脚,这也是PC104 名称的由来.PC104有两个版本,8位和16位,分别与PC和PC/AT相对应。PC/104模块本质上就是尺寸缩小为3.8英寸、3.9英寸的ISA总线板卡。它的总线与ISA 在IEEE-P996中定义基本相同。具有16位数据宽度,工作频率为8MHz数据传输速率达到8MB/s,地址线24 条,可寻访16M字节地址单元。所有PC/104总线信号定义和功能与它们在ISA总线相应部分是完全相同的。104根线分为5类:地址线,数据线 ,控制线,时钟线,电源线 。
块PC104产生于1987年,但严格意义的规范说明在1992年才公布,从那以后,对PC104感兴趣的人越来越多,当时就有125个厂家引进PC104规范生产PC104兼容产品。像原来的PC总线一样,PC104一直是以一个非法定标准在执行,而不是委员会设计制定的。
1992年IEEE开始着手为PC和PC/AT总线制定一个精简的IEEEP996标准(草稿),PC104作为基本文件被采纳,叫做IEEE P996.1兼容PC嵌入式模块标准。
可见,PC104是一种专门为嵌入式控制而定义的工业控制总线。我们知道IEEE-P996是PC和PC/AT工业总线规范,IEEE协会将它定义IEEE-P996.1,很明显PC104实质上就是一种紧凑型的IEEE-P996,其信号定义和PC/AT基本一致,但电气和机械规范却完全不同,是一种优化的、小型、堆栈式结构的嵌入式控制系统。
PC104有两个版本,8位和16位,分别与PC和PC/AT相对应。PC104PLUS 则与PCI总线相对应,在PC104总线的两个版本中,8位PC104共有64个总线管脚,单列双排插针和插孔,P1:64针,P2:40针,合计104个总线信号,PC104因此得名。当8位模块和16位模块连接时,16位模块必须在8位模块得下面。P2 总线连结在8-位元模块中是可选的,这样让这些模块无论何处都可在堆栈中使用。
PC104PLUS 是专为PCI总线设计的,可以连接高速外接设备。PC104PLUS 在硬件上通过一个3X40即120孔插座,PC104PLUS包括了PCI规范2.1版要求的所有信号。为了向下兼容,PC104PLUS保持了PC104的所有特性。
1、 小尺寸结构:标准模块的机械尺寸是3.6X3.8英寸,即96X90mm
2、 堆栈式连接:去掉总线背板和插板滑道,总线以“针”和“孔”形式层叠连接,即PC104总线模块之间总线的连接是通过上层的针和下层的孔相互咬和相连,这种层叠封装有极好的抗震性。
3、 轻松总线驱动:减少元件数量和电源消耗,4mA总线驱动即可使模块正常工作,,每个模块1-2瓦能耗。
1、小尺寸:PC104的板卡标准尺寸为90mmX96mm(比一本新华字典还要小很多,而传统桌面PC系统的板卡尺寸为315mmX122mm),这样小的尺寸使得PC104、PC104+和PCI-104模块板成为了嵌入式系统应用的理想产品。开放的高可靠性的工业规范,PC104、PC/10+和PCI-104产品在电气特性和机械特性上可靠性极高,功耗低,产生热量少。板卡与板卡之间通过自堆栈进行可靠的连接,抗震能力强。全世界有超过200家公司使用这些开放的规范来生产和销售各种PC104模块板。
2、模块可自由扩展:PC104模块具有灵活的可扩展性。它允许工程师互换及匹配各种功能卡,可随系统的需求而升级CPU的性能。增加系统的功能和性能只需通过改变相应的模块即可实现。
3、低功耗:4mA的总线驱动电流,即可使模块正常工作,低功耗有利于减少元件数量。各种插卡广泛采用VLSI芯片、低功耗的ASIC芯片、门阵列等,其存储采用大容量固态盘(SSD)。
4、堆栈式连接:这种结构取消了主板和插槽,可以将所有的PC104模块板利用板上的叠装总线插座连接起来。有效减小整个系统所占的空间。
5、丰富的软件资源:与PC系统兼容的操作系统、开发工具、应用软件都可以运行在PC104系统中。这使得用户可以随时利用无处不在的PC系统丰富的软件资源,从而降低软件购买、学习、培训等方面的成本。此外,在许多PC104系统的设计中,大量的实时操作系统已经被成功地应用。
6大大简化系统设计的复杂性:通过使用PC104、PC104+和PCI-104模块,用户可以将精力集中于末端系统设计及功能设计上。不用为CPU及其外围器件之间的复杂接口关系花费时间。PC104模块的“(plug-together-write-application-software)”设计方法确保了设计者面向市场的最快响应速度。
总之,PC104凭借紧凑的外形、成熟的标准体系结构、设计、生产带来的高可靠性,将广大硬件工程师引入了一个更高的层次,标准的PC兼容体系结构大大减少了软件工程师的工作量。模块化、通用化的系统更易于维护、易于扩展、易于系列化、易于升级。大大减少了重复学习、重复开发的成本。