精简ISA总线扩展应用实例_第1页
精简ISA总线扩展应用实例_第2页
精简ISA总线扩展应用实例_第3页
精简ISA总线扩展应用实例_第4页
精简ISA总线扩展应用实例_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精简ISA总线扩展应用示例ARM的嵌入式主板系列产品在ARM9系列和X86系列的所有嵌入式主板上都配备了精简ISA扩展总线,以支持客户的各种应用程序扩展。 ISA总线是PC最典型的扩展总线(在嵌入式应用中,通常以PC104总线的形式出现),在工业控制领域具有广泛的应用和深入的应用基础。 精简ISA总线对应于模块的小型化,同时保持公共总线信号,最小化总总线信号的数量,而不改变通用ISA总线的时序。 ARM精简ISA总线包括8位数据总线、5位地址总线(可扩展到13位)、片控制线、读/写控制线和中断请求线。 ARM提供的评估开发底板采用了将这些信号线作为接口基准的两列20芯IDC引脚,用户能够利用精简ISA总线来扩展系统功能。在ARM的精简ISA总线中设置有唯一的芯片选择控制信号CS0#和CS1#两条,能够省略大量的上位地址总线。 CS0#和CS1#是低电平有效的脉冲信号。 在x86系列的嵌入式设备中,CS0#芯片选择信号的地址区域为0x200-0x21F,CS1#芯片选择信号的地址区域为0x3000x3f。 在ARM9系列嵌入式设备中,客户无需考虑精简ISA总线的绝对地址,只要基于芯片选择信号和芯片选择来选择地址偏移即可。 在基于X86的系统上,如果选择CS1作为片信号并使用0x301,则CS1#、地址偏移为1的端口可用于ARM系统。 ARM9系列主板的CS0#、CS1#对应的地址区域范围不同。 EM9000有13条地址线,每个芯片可以访问8K个地址空间。 EM9160和EM9161片可以访问32个地址空间。 在EM9260和EM9360中,CS0#可以访问8K的地址空间,而CS1#可以访问1K的地址空间。以下是ARM提供的精简ISA扩展总线接口的信号定义信号名称和简要说明新ISA信号名称和简要说明PIN#PIN#RESET#、复位输出、低有效12sa地址总线SD0、数据总线、LSB34SA1,地址总线SD1,数据总线56SA2,地址总线SD2,数据总线78SA3,地址总线SD3,数据总线910SA4,地址总线SD4,数据总线1112WE#,写信号控制线,低有效SD5,数据总线1314RD#、读取信号控制线、低激活SD6,数据总线1516CS1#、I/O片选择线、低有效SD7、数据总线、MSB1718VCC,电源输出IRQ、中断请求、上升沿有效1920GND,公共地本部分以x86指令和ARM系统为例,简要介绍基于ARM嵌入式主板的精简ISA的应用,以帮助用户了解精简ISA总线接口的编程方式。 x86、EM9000和EM9x6x这三个系统具有不同的ISA总线读写操作函数,因此具体使用时请参阅相应的*.h文件。 基于ARM的嵌入式主板的精简ISA总线操作命令表如下所示进行查询系统国际航空航天局由国际安全局编写x86系列inport ()或inportb ()outport ()或outportb ()EM9000EM9000_READ ()EM9000_WRITE ()EM9x6x系列ISA_ReadUchar ()ISA_WriteUchar ()X86系统使用DOS操作系统,因为其指令也是标准的c函数,所以操作ISA时使用的绝对地址。 由ARM嵌入式板使用的WINCE操作系统将ISA操作过程封装在操作函数中提供给用户,并且在操作ISA时不需要指定绝对地址,以便在存在地址映射问题的同时更加方便地使用ISA 下一次读取也一样。写入ISA总线:c语言ISA总线写入函数:将outportb (0x301、ub1) /ub1的数据写入0x301地址或寄存器EM9000 ISA总线写入函数:以下,对于#defineCS1# 1/ARM系统的CS1芯片选择信号的定义不作说明将EM9000_WRITE (CS1#、0x1、ub1) /ub1的数据写入CS1芯片选择信号使能的1偏置地址EM9x6x ISA总线写入函数:将ISA_WriteUchar (CS1#、0x1、ub1) /ub1的数据写入CS1芯片选择信号使能的1个偏移地址对应的总线灯的时序图如下所示(此处的总线周期图以ARM系列模块为例)ISA总线读取操作:c语言ISA总线读取运算函数:将UCHARub1=inportb (0x301) 0x301地址或寄存器的数据读入ub1EM9000 ISA总线读取运算函数:UCHARub1=EM9000_READ (CS1#,0x1)/将CS1芯片选择信号为使能的1偏置地址的数据读入ub1EM9x6x ISA总线读取运算函数:ISA_ReadUchar (CS1#、0x1、ub1) /cs1芯片选择信号为使能的1偏置地址的数据被读入ub1对应的公共汽车时间关系如下:如果应用程序读取和写入16位数据,即一个字,则x86系统可以unsignedint ui1=inport(0x301) /16读取16位数据写入outport(0x301、ui1) /16位数据当使用c函数一次完成操作时,ISA总线会自动生成两个8位数据的读写周期,并分别访问低位字节和高位字节。 在AD、DA的访问中,经常会遇到这种情况。在ARM9系统中,作为使用EM9000 ISA的读写操作的示例,只需调用总线读写函数两次,即可处理16位数据的低位和高位字节UCHARub1=EM9000_READ (CS1#,0x1) /获取低位字节。UCHARub2=EM9000_READ (CS1#,0x2) /获取高位字节。ui1=(ub2 8)| ub1; /高低比特字节合成16比特数据对于写入,也使用相同的方法EM9000_WRITE (CS1#、0x1和(ub10xff ); /写罗伯特的数据EM9000_WRITE (CS1#、0x2和ub18 ); /写高位元组资料在使用精简ISA总线进行扩展的情况下,为了能够更可靠地进行总线的信号传输,可以在总线上的所有信号线附加RC网络来实现最佳的信号传输,并且可以使用HCT245一次性地用高速数据总线进行驱动。 如下图所示扩展应用程序1 .通过精简ISA进行数据I/O扩展如果用户使用大量I/O并且ARM提供的嵌入式板上的数据I/O不足,则用户可以使用精简ISA总线进行扩展。 只需使用3个简单的74逻辑设备,即可轻松扩展8路输入8路输出。 ARM的ETA716扩展模块就是这样实现的。接口解码电路在74HCT139完成。如果应用程序在基于X86的系统上执行读取操作:unsigned charu B1=inportb (0x300 )/使外部状态的读取与ub1并存在EM9000系统上,应用程序执行读取UCHARub1=EM9000_READ (CS1#,0x0)74HCT245被栅极到解码信号RD300H#,在数据总线SD0 - SD7中出现外部输入状态INPUT0 - INPUT7,并且CPU在RD300H#上升时将总线上的数据锁存到ub1中。类似地,如果应用程序执行写操作:写入X86系统:将outputb(0300、ub1) /ub1数据输出发送至0x300端口在EM9000系统中EM9000_WRITE (CS1#、0x0和ub1 )当ub1的数据被发送到ISA数据总线时,解码信号WE300H#变低,在其上升时刻,总线的数据被锁存在74HCT273的8个寄存器中,74HCT273的8个寄存器的输出OUTPUT0 - OUTPUT7写入新的数据系统复位或接通电源时,保证低活动的复位信号RESET#通过74HCT273的输出。2、通过精简ISA总线进行A/D收集扩展(应用模块: ETA197 )此外,通过简化ISA总线,还可以扩展具有通用并行接口的A/D转换器,以实现简单的数据收集。 对于通过ISA总线连接MAX197的信号连接方法,因为MAX197只有12位数据宽度,所以这里使用SA0地址线来作为高速、低字节的数据选择,形成正好连续的两个地址,以便于函数的操作。MAX197模数转换的基本步骤如下:在X86系统下:1、写入控制字节并开始AD转换: outportb(0x300,CtrlByte )2、延迟15us转换数据的读取: unsignedint1=inport(0300 )/ub1是读入的16位数据在EM9000系统中1 .写入控制字节,启动AD转换:EM9000_WRITE(CS1#、0x0和ctrl字节)2、延迟15us3 .转换数据读取:ub1=EM9000_READ(CS1#,0x0)ub1=ub1 8;ub1=ub1 | (EM9000_READ(CS1#,0x0 )0xff )对于每个系统,请参阅相应的ETA197测试程序。3、通过精简ISA总线串行扩展(应用模块: ETA502 )同样,用户也可以使用精简ISA总线扩展串行端口,如16C550芯片。 由于每个16C550必须占用8个I/O端口地址,因此使用3条地址线,这3条地址线是连续的地址线,从而使应用程序的开发和控制变得容易。 由于精简ISA总线上的复位信号对于低电平复位是有效的,所以将ISA总线上的复位信号反转,并

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论