PC/104总线是嵌入式PC机所用的总线标准.有两个总线插头.其中P1 有 64 个引脚, P2 有 40 个引脚 共有 104 个引脚,这也是PC/104 名称的由来.PC104有两个版本,8位和16位,分别与PC和PC/AT相对应。PC104PLUS 则与PCI总线相对应.
PC/104模块本质上就是尺寸缩小为3.8英寸 3.9 英寸的ISA 总线板卡。它的总线与 ISA 在 IEEE-P996 中定义基本相同。具有16位数据宽度,最高工作频率为 8MHz 数据传输速率达到8MB/s,地址线 24 条,可寻访16M字节地址单元。
所有PC/104 总线信号定义和功能与它们在 ISA 总线相应部分是完全相同的。104 根线分为 5 类:地址线,数据线 ,控制线, 时钟线,电源线 。简要介绍如下 :
(1 )地址线
SA0~SA19 和 LA17~LA23
SA0~SA19 是可锁存的地址信号,LA17~LA23 是非锁存信号 由于没有锁存延迟 因而给外设插板提供了一条快捷途径。SA0~SA19 加上 LA17~LA23 可实现 16MB 空间寻址(其中 SA17~SA19 和 LA17~LA19 是重复的)
(2 )数据线
数据线 SD0~SD7 和 SD8~SD15 其中 SD0~SD7 位为低 8 位数据,SD8~SD15 为高 8 位数据
(3 )控制线
AEN: 地址允许信号, 输出线, 高电平有效。AEN=1,表明处于 DMA控制周期;AEN=0,表示非 DMA 周期。此信号用来在DMA 期间禁止 I/O端口的地址译码。
BALE:允许地址锁存,输出线。这信号由总线控制器 8288 提供,作为 CPU 地址的有效标志 。当 BALE为高电平时 将 SA0~SA19 接到系统总线。 其下降沿用来锁存 SA0~SA19
IOR:I/O 读命令,输出线 ,低电平有效。 用来把选中的 I/O 设备的数据读到数据总线上 ,在 CPU启动的周期通过地址线选择I/O。在 DMA 周期,I/O 设备由 DACK选择
IOW:I/O 写命令,输出线 ,低电平有效 ,用来把数据总线上的数据写入被选中的 I/O 端口
SMEMR和SMEMW:存储器读/写命令 ,低电平有效, 用于对SA0~SA19 这 20位地址寻址的 1MB 内存的读/写操作
MEMR和MEMW:低电平有效 ,存储器读/写命令, 用于对 24 位地址线全部存储空间读/写操作
MEMCS16 和I/OCS16: 它们是存储器 16 位片选信号和 I/O 16 位片选信号 ,分别指明当前数据传送是16 位存储器周期和16 位 I/O 周期
SBHE:总线高字节允许信号,该信号有效时表示数据总线上传,送的是高位字节数据
IRQ3~IRQ7 ,IRQ9 ,IRQ10~IRQ15 用于作为来自外部设备的中断请求输入线 分别连在主片 8259A 和从片8259A 中断控制器的输入端 。其中IRQ13 留给数据协处理器使用, 不在总线上出现。这些中断请求线都是边沿( 上跳边) 触发, 三态门驱动器驱动。 优先级排队是:IRQ0 最高 ,依次为 IRQ1,IRQ8~IRQ15, 然后是 IRQ3~IRQ7
DRQ0~DRQ3 和 DRQ5~DRQ7 来自外部设备的 DMA 请求输入线 高
电平有效 ,分别连在主片 8237A 和从片 8237A。DMA控制器输入端 DRQ0优先级最高, DRQ7 最低, DRQ4 用于级联, 在总线上不出现
DACK0 ~ DACK3和DACK5 ~ DACK7:DMA 回答信号, 低电平有效。有效时 表示 DMA 请求,被接受 DMA控制器占用总线 ,进入 DMA 周期
T/C :DMA 终末/记数结束 输出线 该信号是一个正脉冲 表明DMA 传送的数据已达到其程序预置的字节数 ,用来结束一次DMA 数据块传送
MASTER:输出信号,低电平有效 ,它由要求占用总线的有主控能力的外设卡驱动 ,并与 DRQ 一起使用 ,外设的 DRQ 得到确认 DACK有效 后 才使 MASTER 有效 ,从此该设备保持对总线的控制直到MASTER 无效
RESER DRV: 系统复位信号, 输出线, 高电平有效 ,此信号在系统电源接通时为高电平 ,当所有电平都达到规定以后变低,即上电复位时有效, 用它来复位和初始化接口和 I/O 设备
IOCHCHK:I/O通道检查 ,输出线 ,低电平有效 ,当它变为低电平时, 表明接口插件的 I/O 通道出现了错误 ,它将产生一次不可屏蔽中断
I/O CHDRY :I/O 通道就绪 ,输入线 ,高电平表示 就绪。 该信号线可供低速 I/O 设备或存储器请求延长总线周期之用。当低速设备在被选中, 且收到读或写命令时将此线电平拉低 ,表示未就绪 以便在总线周期中加入等待状态。 TW 但最多不能超过 10 个时钟周期
REFRESH:刷新信号为了防止在内存刷新周期内产生不必要的中断。ISA 提供该刷新信号 防止中断发生
KEY:钥匙位
ENDXFR:零等待状态信号,输入线, 该信号为高电平时 ,无需插入等待周期
SYSCLK :系统时钟
OSC: 主振信号输出
除了以上信号外, 还有电源正负 12V 正负 5V ,地线 GND 等。
我们知道IEEE-P996是PC和PC/AT工业总线规范,IEEE协会将它定义IEEE-P996.1,很明显PC104实质上就是一种紧凑型的IEEE-P996,其信号定义与PC/AT相同,但电气和机械规范却完全不同:
a. 自堆栈总线,省掉了昂贵的底板
b.针孔总线连接器,提高了可靠性
c.减小了总线驱动电流,降低了功耗和电路的驱动要求
至于16位的PC/104总线比ISA的信号线多6根(104&98),都是地线.