精简ISA总线扩展应用实例.doc

精简ISA总线扩展应用实例.doc

ID:53039896

大小:434.55 KB

页数:8页

时间:2020-03-31

精简ISA总线扩展应用实例.doc_第1页
精简ISA总线扩展应用实例.doc_第2页
精简ISA总线扩展应用实例.doc_第3页
精简ISA总线扩展应用实例.doc_第4页
精简ISA总线扩展应用实例.doc_第5页
资源描述:

《精简ISA总线扩展应用实例.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

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

2、线制定了一个接口标准,采用双排20芯IDC插针,用户可利用精简ISA总线进行系统功能的扩展。        在ARM的精简ISA总线中,设置了2条独特的片选控制信号CS0#和CS1#,这样就省去了大量的高位地址总线。CS0#和CS1#为低电平有效的脉冲信号。在x86系列的嵌入式产品中,CS0#片选信号的地址区域为0x200–0x21F,CS1#片选信号的地址区域为0x300–0x31F。在ARM9系列的嵌入式产品中,客户就不用关心精简ISA总线的绝对地址,只要选定一个片选信号及基于这个片选的地址偏移量即可。如在X86系统下选用了CS1作片选信号,对0x301进

3、行操作,则相对于ARM系统,可使用CS1#、地址偏移量为1的端口。ARM9系列板卡的CS0#、CS1#所对应的地址区域范围有所不同。EM9000有13条地址线,每位片选可访问8K的地址空间。EM9160、EM9161的每位片选可访问32个地址空间。EM9260、EM9360的CS0#可访问到8K的地址空间,CS1#可访问到1K的地址空间。        以下是ARM所提供的精简ISA扩展总线接口的信号定义:信号名称及简要描述精简ISA信号名称及简要描述PIN#PIN# RESET#,复位输出,低有效12 SA0,地址总线 SD0,数据总线,LSB34 SA1,

4、地址总线 SD1,数据总线56 SA2,地址总线 SD2,数据总线78 SA3,地址总线 SD3,数据总线910 SA4,地址总线 SD4,数据总线1112 WE#,写信号控制线,低有效 SD5,数据总线1314 RD#,读信号控制线,低有效 SD6,数据总线1516 CS1#,I/O片选线,低有效 SD7,数据总线,MSB1718 VCC,电源输出 IRQ,中断请求,上升沿有效1920 GND,公共地        为了便于用户理解精简ISA总线接口如何进行编程,本节以x86指令和ARM系统为例,简单介绍基于ARM嵌入式主板的精简ISA的应用。由于x86、E

5、M9000、EM9x6x三种系统的ISA总线读写操作函数不一样,所以在具体使用时,应当参考相应的'*.h'文件。以下是基于ARM的嵌入式主板的精简ISA总线操作指令表,以便查询:系统ISA读ISA写 x86系列 inport()或inportb() outport()或outportb() EM9000 EM9000_READ() EM9000_WRITE() EM9x6x系列 ISA_ReadUchar() ISA_WriteUchar()        X86系统使用DOS操作系统,其指令也是标准的C函数,所以操作ISA时使用的时绝对地址。ARM嵌入式主板

6、使用的WINCE操作系统,存在地址映射问题,同时使用户更加方便对ISA的使用,所以对ISA操作的过程被封装成一个操作函数后再提供给用户,在对ISA操作时不需要给出绝对地址,但是需要指明所使用的片选信号及基于当前片选信号的偏移地址。下面的读操作也是相同的。 ISA总线的写操作:       C语言ISA总线写操作函数:       outportb(0x301, ub1); //将ub1的数据写入0x301地址或寄存器        EM9000ISA总线写操作函数:        #define CS1#1  //ARM系统的CS1片选信号的定义,以下不再说明

7、       EM9000_WRITE(CS1#,0x1,ub1); //将ub1的数据写入CS1片选信号使能的1偏移地址        EM9x6xISA总线写操作函数:       ISA_WriteUchar(CS1#,0x1,ub1); //将ub1的数据写入CS1片选信号使能的1偏移地址        对应的总线写时序图为(本文中的总线周期示意图以ARM系列模块为例): ISA总线的读操作:        C语言ISA总线读操作函数:        UCHAR ub1=inportb(0x301); //将0x301地址或寄存器的数据读入ub1   

8、      EM9000ISA总线读操

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。