导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→精简ISA总线扩展应用[原创][emtronixuser]

 *第32626篇: 精简ISA总线扩展应用[原创]

  
楼 主:emtronixuser 2009年10月26日11:35
 精简ISA总线扩展应用[原创]
文章来源:

    英创公司的嵌入式主板系列产品为了支持客户的各种应用扩展,所有的ARM9系列和X86系列的嵌入式主板均带有精简ISA扩展总线。ISA总线是PC机最经典的扩展总线(在嵌入式领域,通常以PC104总线的形式出现),在工业控制领域有着广泛的应用,以及深厚的应用基础。所谓精简ISA总线就是在保持通用ISA总线时序不变的前提下,仅保留常用的总线信号,以最大限度的减少总线总的信号数量,以适应模块的小型化。英创公司的精简ISA总线包括8位数据总线、5位地址总线(可扩展到13位)、片选控制线、读写控制线以及中断请求线。英创公司所提供的评估开发底板将这些信号线制定了一个接口标准,采用双排20芯 IDC插针,用户可利用精简ISA总线进行系统功能的扩展。

      在英创的精简ISA总线中,设置了2条独特的片选控制信号CS0#和CS1#,这样就省去了大量的高位地址总线。CS0#和CS1#为低电平有效的脉冲信号。在x86 系列的嵌入式产品中,CS0#片选信号的地址区域为0x200 – 0x21F,CS1#片选信号的地址区域为0x300 – 0x31F。在ARM9系列的嵌入式产品中,客户就不用关心精简ISA总线的绝对地址,只要选定一个片选信号及基于这个片选的地址偏移量即可。如在X86系统下选用了CS1作片选信号,对0x301进行操作,则相对于ARM系统,可使用CS1#、地址偏移量为1的端口。ARM9系列板卡的CS0#、CS1#所对应的地址区域范围有所不同。EM9000有13条地址线,每位片选可访问8K的地址空间。EM9160、EM9161的每位片选可访问32 个地址空间。EM9260、EM9360的CS0#可访问到8K的地址空间,CS1#可访问到1K的地址空间。
 
      以下是英创公司所提供的精简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,公共地 


      为了便于用户理解精简ISA总线接口如何进行编程,本节以x86指令和ARM系统为例,简单介绍基于英创嵌入式主板的精简ISA的应用。由于x86、EM9000、EM9x6x三种系统的ISA总线读写操作函数不一样,所以在具体使用时,应当参考相应的'*.h'文件。以下是基于英创的嵌入式主板的精简ISA总线操作指令表,以便查询:  

系统
 ISA读
 ISA写
 
X86 (1)
 inport()或inportb()
 outport()或outportb()
 
EM9000
 EM9000_READ()
 EM9000_WRITE()
 
EM9x6x (2)
 ISA_ReadUchar()
 ISA_WriteUchar()
 

      (1):包括ETR232i、ETR232H、ETR100E、NETBOXII等
      (2):包括EM9160、EM9161、EM9260、EM9360

      X86系统使用DOS操作系统,其指令也是标准的C函数,所以操作ISA时使用的时绝对地址。ARM嵌入式主板使用的WINCE操作系统,存在地址映射问题,同时使用户更加方便对ISA的使用,所以对ISA操作的过程被封装成一个操作函数后再提供给用户,在对ISA操作时不需要给出绝对地址,但是需要指明所使用的片选信号及基于当前片选信号的偏移地址。下面的读操作也是相同的。

[]

[]

[]

[]


>>>>>>对该主题发表你的看法

本主题贴数1,分页: [第1页]


[上一篇主题]:北京博基兴业提供altera usb下载线

[下一篇主题]:短信控制的低成本监控单元