英创公司的嵌入式主板系列产品为了支持客户的各种应用扩展,所有的ARM9系列和X86系统的嵌入式主板均带有精简ISA扩展总线。ISA总线是PC机最经典的扩展总线(在嵌入式领域,通常以PC104总线的形式出现),在工业控制领域有着广泛的应用,以及深厚的应用基础。所谓精简ISA总线就是在保持通用ISA总线时序不变的前提下,仅保留常用的总线信号,以最大限度的减少总线总的信号数量,以适应模块的小型化。英创公司的精简ISA总线包括8位数据总线、5位地址总线(可扩展到13位)、片选控制线、读写控制线以及中断请求线。英创公司所提供的评估开发底板将这些信号线制定了一个接口标准,采用双排20芯 IDC插针,用户可利用精简ISA总线进行系统功能的扩展。
在英创的精简ISA总线中,设置了2条独特的片选控制信号CS0#和CS1#,这样就省去了大量的高位地址总线。CS0#和CS1#为低电平有效的脉冲信号。在x86 CPU的嵌入式产品中,CS0#的片选区域为0x200 – 0x21F,而CS1#的片选区域为0x300 – 0x31F。在ARM9 CPU的产品中,应用程序通过专用的API函数来进行总线读写,读写函数支持选择CS0或CS1片选,而偏移量则直接表示SA0 – SA4的状态。
以下是英创公司所提供的精简ISA扩展总线接口的信号定义:
信号名称及简要描述 | 精简ISA | 信号名称及简要描述 | |
PIN# | PIN# | ||
RESET#,复位输出,低有效 | 1 | 2 | SA0,地址总线 |
SD0,数据总线,LSB | 3 | 4 | SA1,地址总线 |
SD1,数据总线 | 5 | 6 | SA2,地址总线 |
SD2,数据总线 | 7 | 8 | SA3,地址总线 |
SD3,数据总线 | 9 | 10 | SA4,地址总线 |
SD4,数据总线 | 11 | 12 | WE#,写信号控制线,低有效 |
SD5,数据总线 | 13 | 14 | RD#,读信号控制线,低有效 |
SD6,数据总线 | 15 | 16 | CS1#,I/O片选线,低有效 |
SD7,数据总线,MSB | 17 | 18 | VCC,电源输出 |
IRQ,中断请求,上升沿有效 | 19 | 20 | GND,公共地 |
总线时序图,以及和C语言、汇编指令之间的关系
为了便于用户理解精简ISA总线接口如何进行编程,本节以x86指令为例,简单介绍C语言中的指令、用户操作的函数与总线的时序之间的关系。
C语言端口输出函数:
outportb ( 0x30a, ub1 );
上述C语言函数把字节变量ub1的内容写到总线地址为0x30A的寄存器,该寄存器对应的片选信号为CS1#,5位地址总线SA[4:0]在CS1#片选有效期间为5'b01010。
[查看全文]
[相关文章]
[技术论坛]