精简ISA总线扩展应用实例
- 格式:doc
- 大小:434.55 KB
- 文档页数:8
精简ISA扩展总线应用英创公司的嵌入式网络模块系列产品均具有精简ISA 扩展总线,通常包括若干地址总线、8 位数据总线、读写控制线、片选控制线以及中断请求线。
英创公司所提供的评估开发底板将这些信号线制定了一个接口标准,采用双排20 芯IDC 插针,交错排列,用户可用该扩展总线进行硬件扩展。
片选线CS1出厂默认选择地址段为300H—37FH,例如,当(A6A5A4A3A2A1A0)=(0000101’b),CS1 加5 条地址线的译码输出端口地址为305H,以下是扩展总线接口的定义:1、总线时序图,以及和C 语言、汇编指令之间的关系为了便于用户理解精简ISA 总线接口如何进行编程,本文简单介绍C 语言中的指令、用户操作的函数与总线的时序之间的关系。
各个不同模块的CS1#片选地址范围不同,详见相关技术手册,下面以ETR232i 的使用为例进行讲解,在此CS1#对应的片选地址范围为300h——37Fh,其中A0——A6 的译码为0ah。
C 语言端口输出函数:outportb (0x30a, ub1 );//把ub1 字节送到0x30a 寄存器对应的汇编指令为:mov dx , 0x30a mov al , byte ptr ub1;byte ptr ub1 为变量ub1 对应的存储器out dx , al 对应的总线写时序图为(本文中的总线周期均以ETR232i 模块为例):C 语言端口输入函数:char ub1 = inportb (0x30a ); //把0x30a 地址寄存器的内容读入变量ub1 对应的汇编指令为:mov dx , 0x30a in al , dx mov byte ptr ub1, al ; byte ptr ub1 为变量ub1 对应的存储器tips:感谢大家的阅读,本文由我司收集整编。
仅供参阅!。
了解计算机扩展槽的类型和用途计算机扩展槽是计算机主板上的一个重要组成部分,它为计算机提供了扩展功能和升级硬件的能力。
在本文中,我们将详细介绍计算机扩展槽的类型和用途,以帮助读者更好地了解和应用计算机扩展槽。
一、ISA扩展槽ISA(Industry Standard Architecture)扩展槽是早期IBM PC兼容机广泛采用的一种扩展槽类型。
ISA扩展槽通常具有16位宽度,提供了传统的串行端口、并行端口、声卡、显卡等外设的接口。
ISA扩展槽的用途非常广泛。
首先,它可以用于添加各种不同类型的IO卡,如串口卡、并口卡、网卡等,以满足用户对于接口扩展的需求。
其次,ISA扩展槽可以用于添加显卡,提升计算机的图形处理能力。
此外,ISA扩展槽还支持声卡的添加,使计算机具备了音频输出功能。
然而,随着技术的进步和新一代计算机的发展,ISA扩展槽逐渐被PCI扩展槽所替代。
由于ISA扩展槽的数据传输速率较低,已经无法满足逐渐增长的计算机性能需求。
二、PCI扩展槽PCI(Peripheral Component Interconnect)扩展槽是一种高速、低成本、通用的扩展槽类型,成为计算机主板标配。
PCI扩展槽具有32位或64位宽度,传输速率高达133MB/s。
PCI扩展槽具有广泛的用途。
首先,它可以用于添加各种不同类型的IO卡,比如网卡、声卡、RAID卡等。
其次,PCI扩展槽还可以用于添加显卡,提升计算机的图形处理能力。
此外,PCI扩展槽还可以扩展存储控制器、视频采集卡等高性能外设。
需要注意的是,PCI扩展槽具有一定的兼容性。
PCI插槽支持PCI、PCI-X和PCI Express等多种规范的设备接口。
这使得用户可以兼容使用不同规范的PCI设备,实现更广泛的应用需求。
三、AGP扩展槽AGP(Accelerated Graphics Port)扩展槽是专为提升图形处理速度而设计的扩展槽类型。
AGP扩展槽通常具有32位宽度,传输速率高达266MB/s。
感谢您购买英创信息技术有限公司的产品:ETR232i嵌入式网络模块。
ETR232i是一款以R1610C为核心、以网络数据通讯为特色的嵌入式PC模块,其外形尺寸仅为74mm×53mm;配有Flash、串口、以太网接口、GPIO、精简ISA总线、实时时钟、LCD接口、矩阵键盘接口等板载资源;采用BC3.1作为开发调试工具;支持RS232/RS485数据通讯、常规TCP/IP应用、GPRS/CDMA远程数据通讯、NAT路由、无线网关、FTP服务器、Web服务器等多种应用;可用于通讯管理、工业控制、GPRS/CDMA 数据终端、仪器仪表等众多领域。
本手册详细列举了ETR232i的硬件配置、管脚定义及相关的技术指标供用户使用时备查。
此外,英创公司针对应用软件的开发编写有《ETR232i嵌入式网络模块编程手册》;针对评估底板的使用编写有《ETR232i嵌入式网络模块开发评估底板手册》。
这三个手册都包含在英创为用户提供的产品开发光盘里面,用户也可以登录英创公司的网站下载阅读。
用户还可以访问英创公司网站或直接与英创公司联系以获得ETR232i的其他相关资料。
英创信息技术有限公司联系方式如下:地址:成都市高新区高朋大道5号博士创业园B座402#邮编:610041联系电话:028-******** 85140028 028-******** 028-********传真:************网址:电子邮件:********************.cn目录1、主要技术指标 (3)2、外接管脚描述 (4)2.1ETR232I的CN1信号定义 (4)2.2ETR232I的CN2信号定义 (5)3、外形尺寸 (8)1、主要技术指标z RISC结构微处理器R1610C,96MHz主频,186指令集兼容z 640K常规内存(768K 可选),支持DOS标准应用z板载Flash文件系统,共512KB,应用程序可用空间326KBz 10/100Mbps快速以太网接口(100BASE-TX)z3个标准串口, COM1:RS232; COM2:TTL(9线); COM3:RS232/TTL z无需编程,可支持大多数LCD显示模块z8位通用数字IO(GPIO)z精简ISA扩展总线接口,主要支持I/O类型外设z可扩展高位地址线,以支持存储器类型外设z2个独立的外部中断请求输入z PC兼容的实时时钟RTCz直接支持M-System公司的DOC2000系列电子盘芯片或512KB Flash芯片z BC3.1集成开发环境,Turbo Debugger源码调试(交叉调试环境)z支持各种基于TCP/IP的网络通信应用,如以太网、GPRS、Web Server等z支持GSM07.10多路转换协议,保证GPRS数据通讯与AT指令并发操作z供电电压:5V±5%,工作电流:330mA,工作温度:-10℃—+65℃z模块尺寸:74mm×53mm,2个36芯双排IDC插针(0.1″间距)2、外接管脚描述ETR232i的外接管脚由两个标准0.1” 间距36芯双排插针CN1和CN2组成。
感谢您购买英创信息技术有限公司的产品:EM9161工控主板主板。
EM9161是一款面向工业自动化领域的高性价比嵌入式主板,其内核CPU为工业级品质的AT91SAM9261S,模块已预装正版Window CE5.0实时多任务操作系统,用户可直接使用Microsoft提供的著名免费软件开发工具eVC(+SP4)或微软的其他开发工具,在EM9161上直接开发应用程序。
英创公司针对EM9161提供了完整的接口低层驱动以及丰富的应用程序范例,用户可在此基础上方便、快速地开发出各种工控产品。
EM9161G是EM9161的增强型产品,其运行速度更快,各管脚功能与EM9161完全相同。
EM9161主要特点:●标准的Windows图形界面:EM9161带有工业标准的TFT彩色LCD及触摸屏接口,为客户提供高性能的人机界面。
●丰富的标准接口资源:作为一款高性能的嵌入式主板产品,EM9161带有多种标准接口,以满足不同应用需求。
这些接口包括:(1)以太网接口,支持标准WinSock以及基于WinSock的各类API;(2)4个标准异步串口;(3)2路USB HOST接口;(4)USB Device接口,支持ActiveSync方式对内部文件操作以及程序调试;(5)MicroSD卡接口,直接支持SD卡;(6)I2C总线;(7)32位GPIO;(8)CAN总线接口(可选);(9)精简ISA扩展总线。
●强大的应用开发工具:EM9161预装了微软的Windows CE操作系统,Windows CE是当前市场上最流行的实时多任务操作系统之一,微软针对CE的应用开发推出一系列完善的开发工具,eVC就是其中的代表,eVC是基于Visual C/C++发展的嵌入式版本,且可免费获取。
英创公司为EM9161的所有接口编写符合CE标准的驱动程序,因此用户可直接调用标准Windows API来操作各个通讯接口。
此外用户可利用微软工具链中所提供的远程维护工具或ActiveSync来对EM9161运行的程序进行调试,以及后续的产品维护。
一、ISA插槽:基于ISA总线的扩展插槽ISA插槽ISA插槽是基于ISA总线(Industrial Standard Architecture,工业标准结构总线)的扩展插槽,其颜色一般为黑色,比PCI接口插槽要长些,位于主板的最下端。
其工作频率为8MHz左右,为16位插槽,最大传输率16MB/sec,可插接显卡,声卡,网卡以及所谓的多功能接口卡等扩展插卡。
其缺点是CPU资源占用太高,数据传输带宽太小,是已经被淘汰的插槽接口。
目前还能在许多老主板上看到ISA插槽,现在新出品的主板上已经几乎看不到ISA插槽的身影了,但也有例外,某些品牌的845E 主板甚至875P主板上都还带有ISA插槽,估计是为了满足某些特殊用户的需求。
最早的PC总线是IBM公司1981年在PC/XT 电脑采用的系统总线,它基于8b it的8088 处理器,被称为PC总线或者PC/XT总线。
在1984年的时候,IBM 推出基于16-bit Intel 80286处理器的PC/AT 电脑,系统总线也相应地扩展为16bit,并被称呼为PC/AT 总线。
而为了开发与IBM PC 兼容的外围设备,行业内便逐渐确立了以IBM PC 总线规范为基础的ISA(工业标准架构:Industry Standard Architect ure )总线。
ISA 是8/16bit 的系统总线,最大传输速率仅为8MB/s ,但允许多个CPU 共享系统资源。
由于兼容性好,它在上个世纪80年代是最广泛采用的系统总线,不过它的弱点也是显而易见的,比如传输速率过低、CPU占用率高、占用硬件中断资源等。
后来在PC‘98 规范中,就开始放弃了ISA 总线,而Intel 从i810 芯片组开始,也不再提供对ISA 接口的支持。
使用286和386SX以下CPU的电脑似乎和8/16bit ISA 总线还能够相处融洽,但当出现了32-bit 外部总线的386DX处理器之后,总线的宽度就已经成为了严重的瓶颈,并影响到处理器性能的发挥。
用增强并口EPP协议扩展计算机的ISA接口用增强并口EPP协议扩展计算机的ISA接口摘要:提出了用EPP协议和CPLD扩展笔记本电脑的ISA接口的方法,给出了详细的技术解决方案。
扩展的ISA接口可以达到1310KB/s的双向通讯速度,与ISA本身的速度相当。
用户可以通过扩展的ISA接口直接使用市场上的基于ISA的接口卡。
关键词:ISA标准并口增强并口复杂的可编程逻辑器件利用微机开发便携式的数据采集、控制系统一直是微机应用系统开发者十分关心的课题。
特别在是基于笔记本电脑的数据采集和控制系统中,这一点显得尤为重要。
传统的数据采集和控制系统是针对台式机或者工控机设计的,一般都做成了标准的插卡,如A/D卡、D/A卡、RS232扩展卡等等,用户根据自己的实际需要选取合适的插卡,安装在自己的计算机中,再编写所需要的程序。
但是在基于笔记本电脑的应用系统中,由于其没有扩展槽,如果用户自己不再配一个扩展箱,就不能配置现成的插卡。
扩展箱的主要功能是扩展笔记本电脑的各种外围接口,即把笔记本电脑的功能扩展为与一个台式机相同的功能。
它需要单独的电源供应,体积比笔记本电脑本身大,又比笔记本重的多,价格在人民币7000~10000元左右。
如果能够找到一种便捷的方法,为笔记本电脑提供一个标准的总线接口,如ISA接口,那么现在市场上大部分的插卡都可以用在笔记本电脑上,不仅为用户节约了一个扩展箱投资,而且还为用户提供了更加广阔的选择余地。
本文提出了解决该问题的一个完整的技术方案。
1EPP并口最初的计算机并口只是为打印机设计的,数据只是单向传输。
IBM公司引进了PS/2设计后,并口开始支持双向数据传输,但是PS/2实际上并没有成为一个为业界广泛认可的双向并口模式。
1992年,由Intel、Xicom和Zenith公司共同制定了EPP1.7标准。
以后IEEE又发展了IEEE1284的EPP标准。
实际上EPP的标准共有三个,即EPP1.7、EPP1.9和IEEE1284,这些标准并不完全兼容,特别是EPP1.7和IEEE1284之间,不过这些对用户的使用并没有太大的影响。
内部总线、系统总线及外部总线举例一、内部总线1.I2C总线I2C(Inter-IC)总线10多年前由Philips公司推出,是近年来在微电子通信控制领域广泛采用的一种新型总线标准。
它是同步通信的一种特殊形式,具有接口线少,控制方式简化,器件封装形式小,通信速率较高等优点。
在主从通信中,可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别通信对象。
2.SPI总线串行外围设备接口SPI(serialperipheral interface)总线技术是Motorola 公司推出的一种同步串行接口。
Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。
SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
3.SCI总线串行通信接口SCI(serialcommunication interface)也是由Motorola公司推出的。
它是一种通用异步通信接口UART,与MCS-51的异步通信功能基本相同。
二、系统总线1.ISA总线ISA(industrial standard architecture)总线标准是IBM公司1984年为推出PC/AT机而建立的系统总线标准,所以也叫AT总线。
它是对XT总线的扩展,以适应8/16位数据总线要求。
它在80286至80486时代应用非常广泛,以至于现在奔腾机中还保留有ISA总线插槽。
ISA总线有98只引脚。
2.EISA总线EISA总线是1988年由Compaq等9家公司联合推出的总线标准。
它是在ISA 总线的基础上使用双层插座,在原来ISA总线的98条信号线上又增加了98条信号线,也就是在两条ISA信号线之间添加一条EISA信号线。
在实用中,EISA总线完全兼容ISA总线信号。
3.VESA总线VESA(video electronics standard association)总线是 1992年由60家附件卡制造商联合推出的一种局部总线,简称为VL(VESA local bus)总线。
1、精简ISA总线GPIO扩展原理在工业领域,GPIO的应用非常广泛,英利嵌入式Linux工控板上自带有16路GPIO。
然而在实际应用中,经常需要多于16路的GPIO作为控制或者数据信号使用,这时候可以通过英利精简ISA总线进行GPIO扩展。
采用最普遍的逻辑芯片74HCT138、74HCT245和74HCT273即可以扩展出满足需求数量的GPIO。
此外,由于上述芯片的成本极其低廉,单片采购价只有几角钱,因此在满足功能需求的同时,也有效地控制了产品成本。
采用精简ISA总线进行GPIO扩展的方法是:使用74HCT138对片选控制信号CS1#、读信号RD#、写信号WE#以及地址线SA0-SA2进行地址译码,产生不同地址偏移量的片选信号,应用程序通过对不同地址的读写操作来控制相应的GPIO(GPIO通过74HCT245或者74HCT273连接到数据线SD0-SD7)。
2、DIN扩展示例(输入不需要锁存)数字输入DIN的扩展原理图如下所示:如图所示,地址译码产生了8个读片选信号,每一个信号通过控制一片74HCT245可以操作8路GP IO,这样,一次译码之后可以扩展出64路DIN。
本图中只使用了RD0#和RD1#两个片选信号,客户如有需要可以使用RD2#-RD7#继续进行扩展。
3、DOUT扩展示例(输出需要锁存)数字输出DOUT的扩展原理图如下所示:如图所示,地址译码产生了8个写片选信号,每一个信号通过控制一片74HCT273可以操作8路GP IO,这样,一次译码之后可以扩展出64路DOUT。
本图中只使用了WE0#和WE1#两个片选信号,www.l 客户如有需要可以使用WE2#-WE7#继续进行扩展。
综上所述,通过一次地址译码能够扩展出64路输入、64路输出一共128路GPIO,可以满足绝大多数工业控制领域的需求。
而这128路GPIO扩展所需的器件成本只有十几元,相对于工控整机产品而言,几乎可以忽略不计。
数据采集 电 子 测 量 技 术 EL ECTRONIC M EASUREM EN T TEC HNOLO GY 第31卷第6期2008年6月 基于ISA总线的数据采集卡的设计及应用贺小亮1 李艾华1 王帆胜2(1.第二炮兵工程学院502教研室 西安 710025;2.中国人民解放军第6916工厂 廊坊 065000)摘 要:本文介绍了基于ISA总线的数据采集卡的硬件电路和软件设计。
针对传统数据采集卡中电压测量电路的零点校正和满刻度校正是用滑动变阻器来实现的,设计了一种新的采用D/A转换芯片、存储器和集成运算放大器的电路,代替了传统的滑动变阻器校正方法,实现了自动校正,提高了调整精度。
采用新的校正电路的另一个优点是可以采用各种非线性校准技术,对电压测量电路的非线性进行自动校准。
关键词:ISA总线;数据采集;自动校正中图分类号:TP18 文献标识码:ADesign and application of the data acquisition card based on ISA busHe XiaoLiang1 Li Aihua1 Wang Fansheng2(1.t he Second Artillery Engineering College,Xiπan710025;2.t he6916t h Plant of PL A,Langfang065000)Abstract:This paper presents the hardware circuit and software design of data acquisition card based on ISA ing the D/A convert chip,memorizer and integrated OP,the new circuit is designed instead of the traditional emendation with slip rheostat.The result shows that this design can achieve the auto2emendation with high precision,and auto2 calibrate the nonlinear with calibration of nonlinear technology in the voltage measurement circuit.K eyw ords:ISA bus;data acquisition;auto calibrating0 引 言目前,工业系统总线具有代表性的有ISA总线、PXI 总线和PCI总线,其中ISA总线因其产生最早、应用接口简单仍在许多对传输速度要求不是很高的场合被使用。
ISA总线ISA总线是IBM PC/AT机(CPU是80286)所用的系统总线:PC/AT总线经过标准化之后的名称,IEEE将ISA总线作为IEEE P996推荐标准,这是一个16位兼8位的总线标准。
如果忽略标准化细节,则可认为16位ISA总线就是PC /AT总线。
由于IBM PC/AT与IBM PC、IBM PC/XT机(CPU都是8088)所用的Pc总线兼容,所以可认为8位ISA总线(16位ISA总的低8位部分)就是PC 总线。
引脚信号图9.1所示为16位ISA总线板卡(又称I/O扩展板或接口板)及插槽外形示意图,元件面和焊接面共有31+18个引脚(A1~A31、B1~B31、C1~C18和D1~D18),其中A1~A31、Bl~B31是低8位部分即8位ISA总线所用的信号。
8位ISA总线板卡及插槽与该图的区别在于没有36个引脚(C1一C18和D1~D18)那部分。
显然,8位ISA总线板卡可以插在16位的插槽中。
表9.1给出了16位ISA总线前62个引脚(亦是8位ISA总线的全部引脚)信号定义,表9.2给出了16位ISA总线的后36个引脚信号定义。
下面对引脚信号做一些简要说明,首先是62线部分(8位ISA总线)。
①D7~DO:8位数据线,双向,三态。
对于16位ISA总线,它们是数据线的低8位。
②A19~A0:20位地址线,输出。
③SMEMR(上划线)、SMEMW(上划线):存储器读、写命令,输出,低电平有效。
④IOR(上划线)、IOW(上划线):I/O读、写命令,输出,低电平有效⑤AEN:地址允许信号,输出,高电平有效。
该信号由DMAC发出,为高表示DMAC正在控制系统总线进行DMA传送,所以它可用于指示DMA总线周期。
⑥BALE:总线地址锁存允许,输出。
该信号在CPU总线周期的Tl期间有效,可作为CPU总线周期的指示。
⑦I/O CH RAY:I/O通道准备好,输入,高电平有效。
该引脚信号与808 6的READY功能相同,用于插入等待时钟周期。
ISA总线ISA总线是采用80286 CPU的 IBM PC/AT机中使用的总线,它是在8位的PC/XT总线的基础上扩展而成的16位总线结构。
该总线同8位的 PC/XT总线保持了即兼容性。
80286与8088 CPU最明显的差别在于数据信号的位数,8088对外的数据总线只有8位,而80286为16位。
为了使ISA总线与原有的XT总线相兼容,ISA 总线保留了原有XT总线的所有信号,仅作了部分新的定义,而另外增加了高位的数据信号和与此有关的扩展信号,诸如SBHE、-MEMCS16、-IOCS16等信号。
除了数据传输线增加外,寻址能力的增加也是提高性能的方式。
80286的寻址能力达到了16MB,这样相应的 ISA总线上的地址信号也增加到了24条,即增加了4条(LA20~LA23)。
随着 PC系统的发展,外围设备的类型也不断增加,对于硬件中断与 DMA 通道也提出了更多的要求,原有的6个中断请求与3个 DMA通道已不能满足需要, ISA总线将中断的数目由6个扩充到15个,而 DMA通道则由3个增加到8个。
ISA总线扩展槽的插座是在原来 XT总线(62线)的基础上增加了一条短插座,该短插槽有36个引脚,并且与原 XT插槽在一条直线上,因此加上原来 XT 总线的62线,一共有98个引脚。
表3- 5列出了 ISA总线增加信号的排列。
表3- 5 ISA总线增加的36芯的信号定义在ISA总线上62芯和36芯插座上重新定义和增加的信号:(l)地址总线LA17~LA23(I/O):ISA总线中新增的地址信号线,可以给系统提供多达16MB 的寻址能力。
此信号在ALE信号为高电平时才有效,并且在 CPU周期过程中是不锁定的,因此并不保持整个周期有效,它们的用途是为一个等待状态存储周期生成存储器译码信号。
(2)数据总线SD8~SD15(I/O):系统数据总线的高字节信号,为存储器和I/O接口提供高8位总线数据。
为保持与XT总线的兼容性,可通过增加的16位存储器或16位I/O接口控制信号确定所用的数据线位数。
ISA总线实现即插即用技术的方法
蒋国强
【期刊名称】《情报理论与实践》
【年(卷),期】1998(021)004
【摘要】@@ "即插即用"(Plug and Play)技术是广泛运用于微机外部设备插卡上的一种技术.在采用"即插即用"技术的微机系统中,系统自动识别每一块插卡及每一块卡需用的资源,如IO地址、中断级别与类型等,然后根据这些要求分配系统总线资源给每一卡.采用"即插即用"技术,避免了用户对每一块卡进行单独跳线的设置,有利于用户的使用,同时,也为编写驱动软件提供了方便."即插即用"技术的实现依赖于系统硬件与软件的结合,下面我们从系统的硬件与软件两方面描述ISA总线上"即插即用"的实现方法.
【总页数】3页(P231-233)
【作者】蒋国强
【作者单位】国防科工委指挥技术学院,北京,101407
【正文语种】中文
【中图分类】TP3
【相关文献】
1.基于ISA总线接口的轴角编码单元实现方法 [J], 裴莹
2.一种ISA总线转CAN总线接口的实现方法 [J], 张锐;周晓华;牛德青;刘伟
3.一种单总线即插即用技术的实现方法 [J], 蔡彬彬
4.基于VHDL的386EX ISA总线实现方法 [J], 徐中;浮吉彦;杨秋弟;吴晓华;黄重威
5.Windows95平台下ISA总线即插即用应用技术研究 [J], 黄清华
因版权原因,仅展示原文概要,查看原文内容请购买。
ISA总线ISA总线接口ISA总线又称AT总线,是在PC/AT微机上所配备的扩展系统总线。
PC/AT的扩展总线系统设计的最大速度为...(Industry Standard Architecture),即ISA总线标准。
EISA总线是由COMPAQ等兼容机厂商联合于1988年9月推出的一种与IBM的MCA总线抗衡的增强型总线。
EISA总线是对ISA总线的扩展,除了保留符合ISA标准的98个引脚外,又增加了90个引脚,这90个引脚包括16条数据线、27条地址线、12条控制线、26条电源线和地线、5条保留线和4条系统制造商专用线。
EISA总线本质上是32位的ISA总线,插槽与所有ISA卡完全兼容。
与MCA类似的是,它也可以允许通过软件来配置EISA卡PCI总线接口PCI总线的英文全称为Peripheral Component Interconnect。
即外部设备互联总线,是于1993年推出的PC局部总线标准。
PCI总线的主要特点是传输速度高,目前可实现66M 的工作频率,在64位总线宽度下可达到突发(Burst)传输速率533MB/s。
可以满足大吞吐量的外设的需求。
VESA(video electronics standard association)总线标准是1992年由60家附件卡制造商联合推出的一种局部总线,简称为VL(VESA local bus)总线。
它的推出为微机系统总线体系结构的革新奠定了基础。
VESA总线主要目的是用于视频插卡,以提高视频性能。
VESA总线系统考虑到CPU与主存和Cache 的直接相连,通常把这部分总线称为CPU总线或主总线,其他设备通过VL总线与CPU总线相连,所以VL总线被称为局部总线。
并行外部设备总线SCSI第6章系统总线接口本章介绍了微机主板的各种标准系统总线和通用,专用接口的技术规格特点,也介绍了它们的使用方法等. 6.1 主板上的系统总线6.2 系统I/O总线的标准6.3 系统设备接口退出6.1 主板上的系统总线6.1.1 总线原理主板上的系统总线是传输数据的通道,就物理特性而言就是一些并行的印刷电路导线,通常根据传送信号的不同将它们分别称为地址(address bus),数据(data bus)和控制(Control bus)三大总线.在数字电路中,逻辑信号1,0是采用电平的高低来表示的,假如高电平表示1,低电平就表示0,由此抽象为二进制数的1和0,并以数位二进制数组成各种代码,来表示各种信息,如用7位二进制数的ASCII码表示英文字符.系统处理各种信息,实际上就是处理一组组二进制数,进一步说,就是在总线上不断传送高,低电平信号.由于元器件性能所限,电路的工作速度也是有限的,即不可能在一秒钟内开关任意多次.我们把系统总线电路每秒钟电平转换的最高次数,称为总线频率f,单位为MHz.频率f的倒数1/f称为总线时钟周期.6.1.2 总线分类总线大致可以分为四类:1.片内总线片内总线也称为CPU总线.它位于CPU处理器内部,是CPU内部各功能单元之间的连线,片内总线通过CPU 的引脚延伸到外部与系统相连.2.片间总线片间总线也称为局部总线(Local BUS).它是主板上CPU与其它一些部件间直接连接的总线.3.系统总线:系统总线也称为系统输入输出总线(System I/O Bus).它是系统各个部件连接的主要通道,它还具有不同标准的总线扩展插槽对外部开放,以便各种系统功能扩展卡插入相应的总线插槽与系统连接.4.外部总线外部总线也称为通信总线.它是电脑与电脑之间的数据通信的连线,如网络线,电话线等.外部总线通常是借用其它电子工业已有的标准,如RS-232C,IE1364标准等.6.1.3 总线构成这里主要介绍的是系统总线,即主板的系统I/O总线和总线扩展插槽.系统I/O总线是数据总线,地址总线和控制总线的总称.数据总线传送的是数据信号,可双向传送.它的线数即总线宽度取决于系统采用的CPU的字长指标.系统总线的宽度是指其数据线的位数.地址总线传送的是内存(或I/O接口)的地址信号,单向传送.它的线数与系统采用的CPU的地址线宽度一致,它决定了CPU直接寻址的内存容量.控制总线传送的是CPU和其它控制芯片发出的各种控制信号,如:读/写周期W/R,指令/代码传送D/C,存储器或IO口访问M/IO和系统复位Reset等.系统中的各个局部电路均需通过这三大总线互相连接,实现了全系统电路的互连.在主板上,系统I/O总线还连接到一些特定的插槽上去对外开放,以便于外部的各种扩展电路板连入系统.这些插座被称为系统I/O总线扩展插槽(System Input/Output Bus Expanded Slot).系统I/O总线的示意图如图6-1.图6-1 微机的系统I/O总线6.2 系统I/O总线的标准PC机主板上采用最多的系统I/O总线标准有ISA,VESA,PCI和AGP等,目前仍保留着ISA,但主要是使用PCI和AGP.主板上的系统总线插槽如图6-2所示.图6-2 主板上的系统I/O总线插槽6.2.1 以往的总线标准1.PC总线和ISA总线PC总线最初用于IBM PC/XT机主板,并在以后的PC/AT和各种286,386兼容机主板上继续使用,目的是便于保留老的PC扩展卡.在后来制定的ISA总线标准中被称为8位ISA总线,目前已被淘汰.PC总线是配合Intel 8088处理器的,因此是8位总线,具有8位数据线和20位地址线,直接内存寻址能力为220即1MB.它的扩展插槽是黑色的,有62个触点,分列两边,每边31个.PC总线扩展插槽的引脚配置如图6-3所示.图6-3 PC总线扩展插槽的引脚配置ISA总线标准来源于IBM PC/AT机主板使用的系统I/O总线和扩展插槽,所以也称为AT总线(AT Bus),87年成为国际通用总线标准ISA(Industry Standard Architecture)即工业标准结构总线.ISA是针对Intel 80286 CPU设计的,因此是16位总线,数据线16位和地址线24位,即直接内存寻址为16MB.它的工作时钟是8.33MHz,数据传输率为8.33MB/S.16位ISA总线是在8位ISA总线插槽的沿伸方向上增加了一个双排共36触点的插槽,新增的插槽引脚把8位数据和20位地址扩展成16位数据线和24位地址线.因此16位ISA插槽同8位ISA插槽保持了互换性,即16位ISA槽也可以使用8位ISA卡.低速ISA标准与高速的32位386,486和Pentium CPU形成了一定的矛盾,但为了允许保留使用老的ISA 卡,主板仍保留至少一个ISA插槽.ISA总线扩展插槽的引脚配置如图6-4所示,插槽的触点信号定义如表6-1.图6-4 ISA总线扩展插槽表6-1 ISA总线插槽的信号定义2.MCA和EISA总线这两种总线由于特定的原因,在PC机上很少采用.MCA(Micro Channel Architecture)即微通道结构总线来源于IBM PS/2机,是为32位的Intel 80386 CPU设计的.MCA是32位总线,数据线32位,地址线32位,直接内存寻址为4GB.它工作时钟为33MHz,数据传输率提高到20MB/S.它可以接16个外设.由于MCA技术不开放,且与ISA不兼容,以后在微机上很少使用.EISA(Extend Industry Standard Architecture)即扩展ISA总线,它是Compaq等兼容机厂商为对抗IBM的32位MCA总线和保持对ISA总线的兼容性而推出的.EISA支持386CPU,是32位总线.它的32位地址也可直接寻址4GB内存.EISA的工作时钟与ISA一样是8.33MHz,数据传输率是33MB/S.EISA的插槽外形与ISA一样,但在槽内的底部又增加了一排触点,用以扩充32位数据,32位地址和控制信号等.这样EISA既可用于32位扩展卡,又可兼容老的8位,16位ISA扩展卡.在EISA插槽上,EISA卡可以更深地插入,以便与下一排触点连接,取得32位支持.EISA的结构用当时的工艺技术制做是比较复杂的,因而成本很高,通常用于服务器和工作站.EISA总线扩展插槽的引脚配置如图6-5所示.图6-5 EISA总线扩展插槽3.VESA总线VESA(Video Electronic Standard Association)总线是以视频电子标准协会制定而得名,也叫VL BUS(VESA Local Bus)即VESA局部总线.它是专门为Intel 80486 CPU系统的高速视频信号处理而设计的.VESA是32位高速总线,也允许扩展到64位.它的工作时钟为33MHz,最大允许到66MHz,数据传输率高达133MB/S.VESA是在ISA总线的黑色插槽的延伸方向上增加了一个新的浅色插槽,它有双排共116个触点,单独提供32位数据线和32位地址线.因此32位的VESA总线槽同16位的ISA总线槽保持了互换性,即在VESA 扩展槽上也可以插ISA扩展卡,只是VESA扩展卡比较长.只有使用VL BUS扩展卡才能发挥它的32位高速总线的优势.最典型的VESA显示卡是ET-4000 VGA 和Trident 9440 VL-BUS Graphics Adaptor等.VL BUS还允许在32位插槽上再延长一个50引脚的插槽,从而扩展为64位的VESA总线.32位的VESA 总线扩展插槽的引脚配置如图6-6所示.图6-6 VESA总线扩展插槽6.2.2 目前主流总线标准6.2.2.1 PCI总线PCI(Peripheral Component Interconnect)即外部设备互联总线,顾名思义,它的初衷就是使外设主芯片能快捷地连入系统.PCI是专门为Intel Pentium处理器设计的,它也是一种高性能的PC机局部总线(Local Bus).PCI是32位总线,工作时钟是33MHz,数据传输率为133MB/S.PCI的高速性能使之能支持各种高速设备,特别是3D图形加速卡.目前PCI扩展卡已成为微机高速扩展卡的主流,包括显示卡,声卡,Modem卡,网卡和视频卡等.目前在一些高档机上也有64位PCI总线,工作时钟提高到66MHz,数据传输率可达528MB/S.PCI还有如下优点:1.PCI支持PnP(Plug and Play)即插即用功能.2.PCI总线支持猝发数据传送方式,大大提高了总线的数据传输率.3.PCI支持总线主控和同步操作.4.PCI采用多路复用技术,可以在有限的空间里加大总线宽度,提高总线利用率.5.PCI总线通过局部总线控制器与CPU相连,因此PCI可以不依赖于CPU的主频和种类,接入的PCI设备也不影响CPU.6.主板的芯片组内含PCI桥(PCI Bridage),通过这个缓冲控制器,可以实现6个PCI扩展槽同时工作.PCI 是白色插槽独立结构,与ISA扩展卡不兼容.它的插槽每边62线,共124线.64位的PCI总线扩展槽是在32位PCI插槽上延长,每边增加32线而成.PCI总线插槽分为5V供电电源和3.3V供电电源两种,为避免这两种不同的扩展卡插错,3.3V的插槽的定位挡片Key的位置改设在12,13引脚处.电源为3.3V和5V的32位PCI总线扩展插槽的引脚配置如图6-7所示.插槽的触点信号定义如表6-2.图6-7 5V和3.3V电源的PCI扩展槽的引脚配置6.2.2.2 AGP总线AGP(Accelerate Graphic Port)即加速图形接口,它是Intel专门为Pentium Ⅱ系统的图形控制器设计的系统总线结构,它十分默契地配合着Pentium Ⅱ的高速浮点运算能力和MMX技术,目前几乎垄断了3D 图形加速卡的接口.AGP是32位数据总线,工作时钟是66MHz,数据传输率为264MB/S,是PCI的二倍.第二代增强AGP 2×的工作时钟是133MHz,数据传输率达到532MB/S,是PCI的四倍.目前奔腾III主板已采用了AGP 4×,数据宽度扩展到64位,工作时钟133MHz,数据传输率高达1GB/S.AGP总线将显示卡与主板的芯片组直接相连,进行点对点传输,所以它不是那种通用性的总线,它只用于支持AGP图形加速卡.Intel公司推出了支持AGP的440LX和BX等芯片组.Pentium II CPU,440BX和AGP的系统结构如图6-8.图6-8Pentium Ⅱ,440BX和AGP系统结构AGP加速图形接口在PC图形控制器和系统内存之间提供了高速通道,可使图形控制器直接从主内存执行纹理映射,而不必局限于少量的显示缓存中.AGP还有助于加速从CPU到图形控制器的解码视频流,不需要将预取的纹理缓存到显存中,这使得3D程序运行更快.AGP插槽完全独立于原系统总线,且与以前的图形控制芯片,PCI控制芯片和CPU不兼容.AGP插槽为棕色,124个触点分列两边和上下两排,结构较复杂.AGP扩展插槽的引脚配置如图6-9所示.Intel还推出了一种AGP Pro插槽,目的是解决显示卡的电源供应和散热问题.它比原来的AGP插槽加长,并且要占用与其相邻的PCI插槽.图6-9 AGP扩展插槽6.3 系统设备接口6.3.1 主板上的设备接口主机的重要性前面已经充分说明了,但是作为一个有效的计算机系统,外部设备也是不可或缺的.如果没有最基本的外存设备和输入输出设备,计算机主机系统就无法运行和与用户交互.微型计算机的外部设备主要包括外存设备和输入输出设备(I/O设备),常用的外部存储器有软盘和软盘驱动器,硬盘,光盘和光盘驱动器,磁带和磁带机等,常用的输入设备有键盘,鼠标,扫描仪,麦克风,数码相机,摄像机和光笔等,常用的输出设备有显示器,打印机,功放扬声器和绘图仪等.在安装新硬件时,常常要为其配置I/O口地址(I/O Port Address),端口地址是CPU访问,区别各个不同硬件设备的标志,任何设备占用的I/O口地址都不相同,而一个设备也可能占用几个连续或不连续的I/O口地址.比如声卡就可能占用0220-022FH这16个连续的I/O口地址.如果几个硬件分配了相同的I/O口地址,CPU就无法正确访问它们,这些硬件也就无法正常工作,这种故障叫做I/O口地址冲突.由于外部设备各自的特点,主机与外设间交换的信息载体形式(模拟,数字,电压,电流),数据传送的速率和方式(串行,并行)等都会有所不同,因此必须在它们之间建立多种数据转换和缓冲的界面,这就是各种规格的输入输出接口(Input/Output Interface Port),简称I/O接口.微机采用的通信接口标准有计算机专用的也有电器设备领域通用的,有某一类外设专用的也有不同外部设备通用的.专用接口如硬盘接口IDE,键盘鼠标接口PS/2和显示器接口(VGA口)等.通用I/O通信接口按其数据传送的形式不同可以分为串行接口和并行接口两大类.串行接口是用一条线路将二进制数据按顺序一位位地传送,每个时钟传送一位,至少8个时钟才能传送1字节二进制数据.它的特点是线路简单但速度较慢,适合于慢速远距离的数据传送.例如RS-232C串行接口就用于鼠标器,Modem和终端等.并行接口是用8条线路同时分别传送1字节二进制数据的8位,1个时钟就可以传送1字节二进制数据.它的特点是线路复杂(8条数据线)但速度较快,适合于快速近距离的数据传送.例如通用并行接口就用于打印机,扫描仪等外设.软盘,硬盘和光盘等也都采用专门的并行接口.在早期的PC机上,各个I/O接口都集中做在一块"I/O多功能卡"上,包括1个软盘口,1或2个硬盘口,2个通用串口,1个通用并口和1个游戏棒口,将此卡插入ISA槽便使系统增加了各个接口的功能.到了586机,就把接口的控制芯片集成到主板上,进一步地又把接口控制功能集成到南桥芯片中,把各个接口插座直接做到主板后沿,形成标准ATX主板.这样就简化了结构,提高了接口性能和可靠性,还降低了成本.6.3.2 硬件I/O接口的系统资源1.硬件设备的I/O端口地址CPU与外设之间的访问要通过硬件的I/O接口,相互交换的数据要在I/O接口电路的数据缓冲寄存器中暂存,CPU控制硬件工作方式和速度的命令也要存入I/O接口电路的控制寄存器,这些寄存器统称为I/O 端口.CPU正是通过访问硬件设备的各个I/O端口来控制该设备工作的,因此所有设备的I/O端口寄存器都必须统一编码,并且不能重复.系统会自动(或用户手工)为每个设备的各个端口分配相应的I/O口地址.下面是在Windows 98系统工具的"系统信息"窗口中摘录的某一台微机从0000-04D1H段的I/O口地址的硬件占用情况:x0000-xFFFF……(也可以见:控制面板,系统,设备管理,计算机属性) 要求熟悉几个基本硬件的I/O口地址:串口1(COM1)3F8-3FF,串口2(COM2)2F8-2FF,并口1(LPT1)即打印机378-37B,声卡的游戏棒,声音SB16,MIDI(MPU401)和声音WSS,显示卡,标准IDE硬盘控制器170-177和370-377,标准软盘控制器3F0-3F5.2.硬件设备的IRQ号一些硬件设备除了占用I/O端口地址外,还具有向CPU申请硬件中断的能力,因此还占有中断请求(IRQ)号的系统资源.PC系统的IRQ中断号共有16个(IRQ 0-15),可以分配给16个设备使用,每个设备单独占用一个IRQ号.当某个设备向CPU发出中断申请,CPU可以根据其IRQ号加以响应,运行相应的中断处理程序.下面是在Windows 98系统工具的"系统信息"窗口中摘录的某一台微机的16个IRQ中断申请号的分配情况:IRQ0-15(也可以见:控制面板,系统,设备管理,计算机属性)3.硬件设备的DMA通道号DMA(Direct Memory Access)是某些数据量大的硬件设备与主机快速交换数据的特殊工作方式,如软盘,硬盘,声卡等.在DMA控制器的控制下,设备与内存直接交换数据,并不占用CPU时间,CPU再与内存交换数据.因此DMA方式比CPU直接访问速度较慢的设备的方式要高效得多.PC系统的DMA通道共有8个(DMA0-7),DMA通道号不一定被一个设备独占,几个硬件设备可以共用一个DMA通道,只要它们不是同时使用它.下面是在Windows 98系统工具的"系统信息"窗口中摘录的某一台微机的8个DMA通道号的分配情况:DMA0-7(也可以见:控制面板,系统,设备管理,计算机属性)6.3.3 标准串行接口和并行接口1.串行接口PC机通常配置有两个RS-232C异步串行通信接口和一个并行接口.串口一的逻辑名为COM1/COM3,9针D型插座,通常用来接鼠标.串口二的逻辑名为COM2/COM4,25针D型插座,连接Modem,数码相机和磁卡机等外设.串行接口的9针和25针插座针孔配置见图6-10,各针孔的信号定义如表6-3.图6-10 串口插座针孔配置2.并行接口标准并行接口的逻辑名为LPT1,也叫打印机接口(Printer),是一个25针的D型插座,用来连接打印机和扫描仪等外设.并行接口插座针孔配置见图6-11.各针孔的信号定义如表6-4.图6-11 并口的引脚配置在BIOS Setup中,并行接口有Normal,EPP和ECP三种模式供选择.Normal接口是一种低速的并口模式,也叫SPP(Singl Parallel Port)即单向并口,它的数据传输率为40Kb/S,适合将结果输出到普通打印机上,所有并口外设都支持此种模式.EPP接口(Enhanced Parallel Port)即增强并行接口,在外部设备间进行双向通信,数据传输率在400Kb/S 以上.目前多数打印机和扫描仪都支持EPP模式.ECP接口(Extended Capabilities Port)即扩展并行接口,具有和EPP一样高的速率和双向通信能力,但在多任务环境下,它能使用直接存储器访问方式(DMA),所需缓冲区也不大.但ECP模式容易引起冲突.许多新型的并行设备,如激光打印机,扫描仪等要求EPP,ECP或EPP+ECP模式.因此在CMOS Setup中应根据设备的要求适当选择并口模式.6.3.4 新型串口USBUSB(Universal Serial Bus)是通用串行总线,是一种新型高速串行接口.USB仅用一个4针方形标准插座,采用菊花链的形式就可以把许多外设逐一连接起来,并且不会损失信号带宽.USB的推出使得接口性能大大提高,主机与外设的连接变得非常简单和有效,它正在逐步取代PC机上原有的串行,并行等各种接口.目前USB能支持的外设有扫描仪,数码相机,打印机,显示器,键盘,鼠标等.要使用USB设备,就要求主板和操作系统都支持USB接口.Pentium以上的主板一般都采用了支持USB 的芯片组和BIOS程序,主板上也都有USB插座.Windows 97,98和NT4.0等都支持USB接口.如果使用早期的Windows 95和NT 3.0等,就需要安装USB接口驱动程序.最后还需在安装了USB设备后安装相应的设备驱动程序.目前市场上有USB扩展卡,将其插到PCI插槽上,引导Windows 98后就可以方便地为系统增加两个USB.Pentium MMX主板上一般有一个10针的双USB接口,需要用USB转接电缆将两个USB插座引出. 与以往的接口相比,USB有许多优点:/doc/2718735481.html,B的12Mb/s的数据传输率比以前的串口快100倍,比并口快10倍,即使多个设备接在一个USB口上,也能获得满意的操作速度./doc/2718735481.html,B接口允许带电"热插拔"设备,无须关机.而且USB接口控制器可以立即感知拔去或插上的设备,直接驱动,无须重新启动系统.因此只有USB设备才算是真正意义的即插即用设备./doc/2718735481.html,B接口设备可采用"级联"方式连接,即每个接入设备也提供一个USB插座供下一个设备连接.一个USB控制器可以支持最多127个设备,每个设备的连接电缆可长达5米./doc/2718735481.html,B接口可以向外部提供+5V,0.5A电源,这使得一些小功率的外设可以省去自身的电源电路./doc/2718735481.html,B接口简单可靠,4个连线分别是:+5V电源,信号1(-),信号2(+)和接地GND.6.3.5 新型串口IEEE 1394IEEE 1349是一种新型高效的串行接口,它与USB有不少相似之处.它使用六芯电缆,包括两对双绞线信号线和两根电源线.它的最大传输电流可达1.5A,传输数据的直流电压可以在8到40V之间变换.1394与USB一样,也可以"热插拔",是真正的即插即用接口.它也向外设提供电源,也采用串行链接方式,可以连接多台设备.1394与USB的主要差别在于它无须Hub就可以连接63台设备.1394还规定了两种传输模式,一种是传输速率为12.5,25或50Mb/S 的底版模式(Backplane Mode),另一种是传输速率为100,200或400Mb/S的电缆模式(Cable Mode).在400Mb/S时只要用50%的带宽就可以支持高质量的数字化视频信息流.IEEE1394的传输速率远高于USB,它支持的产品范围也涵盖了USB,所以IEEE1394应该比USB更具前景.但是由于IEEE1394的技术要求和生产成本较高,目前价格昂贵,还很少被家用和商用PC采用.习题1.微机系统有哪几类总线,总线的三个组成部分是什么2.掌握ISA,VESA,PCI和AGP总线的规格和特点.3.掌握串口,并口的规格,特点和系统资源.4.掌握USB接口的规格和特点.。
精简ISA总线扩展应用实例ARM的嵌入式主板系列产品为了支持客户的各种应用扩展,所有的ARM9系列和X86系列的嵌入式主板均带有精简ISA扩展总线。
ISA总线是PC机最经典的扩展总线(在嵌入式领域,通常以PC104总线的形式出现),在工业控制领域有着广泛的应用,以及深厚的应用基础。
所谓精简ISA总线就是在保持通用ISA总线时序不变的前提下,仅保留常用的总线信号,以最大限度的减少总线总的信号数量,以适应模块的小型化。
ARM的精简ISA总线包括8位数据总线、5位地址总线(可扩展到13位)、片选控制线、读写控制线以及中断请求线。
ARM所提供的评估开发底板将这些信号线制定了一个接口标准,采用双排20芯IDC插针,用户可利用精简ISA总线进行系统功能的扩展。
在ARM的精简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的地址空间。
以下是ARM所提供的精简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系统为例,简单介绍基于ARM嵌入式主板的精简ISA的应用。
由于x86、EM9000、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 嵌入式主板使用的WINCE操作系统,存在地址映射问题,同时使用户更加方便对ISA的使用,所以对ISA 操作的过程被封装成一个操作函数后再提供给用户,在对ISA操作时不需要给出绝对地址,但是需要指明所使用的片选信号及基于当前片选信号的偏移地址。
下面的读操作也是相同的。
ISA总线的写操作:C语言ISA总线写操作函数:outportb ( 0x301, ub1 ); // 将ub1的数据写入0x301地址或寄存器EM9000 ISA总线写操作函数:#define CS1# 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总线读操作函数:UCHAR ub1 = inportb ( 0x301 ); // 将0x301地址或寄存器的数据读入ub1EM9000 ISA总线读操作函数:UCHAR ub1 = EM9000_READ ( CS1# , 0x1 ); // 将CS1片选信号使能的1偏移地址的数据读入ub1EM9x6x ISA总线读操作函数:ISA_ReadUchar ( CS1#, 0x1 , &ub1); // 将CS1片选信号使能的1偏移地址的数据读入ub1对应的总线时序关系为:如果应用程序要读写一个16-bit的数据,即一个字时,在x86系统中,可以使用:unsigned int ui1 = inport(0x301);// 读16位数据outport(0x301, ui1);// 写16位数据利用C函数一次性完成操作,在ISA总线上会自动生成两个8位数据的读写周期,分别访问低位字节和高位字节。
在AD、DA的访问中经常会碰到这样的情形。
对ARM9系统,应用只能通过两次调用总线读写函数分别处理16位数据的低位字节和高位字节,如用EM9000 ISA读写操作为例:UCHAR ub1 = EM9000_READ ( CS1# , 0x1 ); // 获得低位字节。
UCHAR ub2 = EM9000_READ ( CS1# , 0x2 ); // 获得高位字节。
ui1 =(ub2 << 8)| ub1;// 高低位字节合成16位数据如果是写操作,则使用同样的方式:EM9000_WRITE ( CS1# , 0x1 , (ub1&0xff) ); // 写低字节数据EM9000_WRITE ( CS1# , 0x2 , (ub1>>8) ); // 写高字节数据在使用精简ISA总线进行扩展时,为了使总线的信号传输更加可靠,应在总线上的所有信号线加上RC网络以达到最佳的信号传输,同时,在高速的数据总线上,可以使用HCT245作一次驱动。
如下图所示:扩展应用1、用精简ISA进行数据I/O扩展用户如果使用的I/O较多,ARM提供的嵌入式主板上的数据I/O又不够使用要求,则用户可以使用精简ISA总线来进行扩展。
仅使用3片简单的74逻辑器件,就可方便扩展出8路输入8路输出。
ARM的ETA716扩展模块就是按照这种方式来实现的。
接口译码电路用一片74HCT139做完成。
在X86系统下,应用程序执行读操作时:unsigned char ub1 = inportb ( 0x300 );// 把外部状态读取并存放到ub1中在EM9000系统下,应用程序执行读操作:UCHAR ub1 = EM9000_READ (CS1# , 0x0);74HCT245被译码信号RD300H#选通,外部的输入状态INPUT0 – INPUT7将呈现在数据总线SD0 –SD7上,CPU将在RD300H#的上升沿时刻把总线上的数据锁存到ub1。
类似的,当应用程序执行写操作时:X86系统下写:outportb ( 0x300 , 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进行AD转换的基本步骤为:X86系统下:1、写控制字节,启动AD转换:outportb(0x300, CtrlByte);2、延时15us读取转换数据:unsigned int ub1 = inport(0x300);// ub1为读入的16位数据或EM9000系统下:1、写控制字节,启动AD转换:EM9000_WRITE(CS1# , 0x0 , CtrlByte );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端口地址,所以,要使用到三条地址线,且这三条地址线最好是连续的地址线,以方便应用程序的开发与控制。
要注意的是,16C550的复位是高电平复位,而精简ISA总线上的复位信号是低信号复位有效,所以在使用时,要将ISA总线上的复位信号进行反向,再连接到16C550的复位上。
如果要控制MODEM,则需要将16C550输出的信号经过RS232电平信号转换芯片的转换,再接一个DB9的接头,则构成了一个标准的RS232通讯接口。
除了以上的应用以外,用户还可以利用ARM的精简ISA总线,方便地完成其它多种功能模块的扩展,如10M/100M以太网口、CAN总线接口、USB主控模块、24位通用数字IO等等,ARM也相应地提供了应用模块ETA719、ETA718、ETA701、ETA608、ETA724等供客户参考。