PCI通用接口芯片CH361应用接口电路
表2 工作模式设定表
数 据 线 | 数 据 线 的 设 定 说 明 | 设定值=0 | 设定值=1 |
D0 | 设定系统复位后A15地址线的默认值 | 复位后为0 | 复位后为1 |
D1 | 选择PCI设备标识(ID) | 外部提供ID | CH361默认1D |
D4 | 选择复用引脚63的功能 | IOP_HIT | MEM_WR |
D5 | 设定I/O端口存取速度、扩展ROM容量 | 60ns、8kB | 240ns、32kB |
D7和D6 | 提供给产品制造商使用,数据线的状态从PCI设备配置空41H中读取 |
表3 引脚复用设定表
数据线D4-D3-D2的设定值 | 选择复用引脚59 | 引脚功能说明 |
D4-D3-D2=000或者100 | INT_REQ | 本地中断请求输入 |
D4-D3-D2=001 | IOP_WAIT | 本地设备数据等请求 |
D4-D3-D2=010 | EXT_WR | 本地数据输入缓存写使能 |
D4-D3=011或者110或者111 | SYS_EX | 独立控制输出,复位后为0 |
D4-D3-D2=101 | 独立控制输出,复位后为1 |
4 CH361的典型应用
4.1 与PCI总线的连接电路
图2所示是CH361与PCI总线进行连接的接口电路,图中,电容C1~C4用于电源退耦,而C2~C4应分别并联在CH361的三对电源引脚上.图中,PCI总线的电源线引脚可以自由选择,但数量不得少于4对.CH361属于高频数字电路,因此,设计PCB板需要参考PCI总线规范.
4.2 与存储器的连接电路
图3是CH361与SRAM62256存储器的接口电路.图中,CH361通过MEM_RD和MEM_WR与存储器U2(型号是SRAM62256)连接.因为CH361只在PCI设备配置空间中提供扩展ROM基址寄存器,而计算机BIOS通常不会为SRAM设置扩展ROM基址,所以在读写存储器U2前,需要设置扩展ROM基址寄存器,以将存储器U2映射到存储器空间.也就是说,向CH361的扩展ROM基址置入地址值0E0000001(该地址不能与其它设备的存储器地址相冲突,最低位置1是为了启用扩展ROM)后,U2即被映射到0E0000000H至0E0007FFFH 的地址空间,这样,当计算机读写0E0001234H 地址的存储器时,实际上就是读写存储器U2的1234H地址的内容.
如果将普通的SRAM换成双端口SRAM,则CH361可以通过双端口存储器与外部的单片机或者DSP交换数据.CH361使用8位数据总线,所以,向SRAM写入数据只能以字节为单位进行,但从SRAM读出数据则能够以字节、字、双字为单位进行.CH361通过存储器与外部电路交换数据的实测速度可以达到每秒1.5M字节.
4.3 连接扩展ROM
图4是CH361与扩展ROM的接口电路.CH361可通过MEM_RD与ROM芯片U3(型号是27C512)进行连接.它支持EPROM和闪存Flash-Memory,容量可以是32kB或者64kB.如果将SYS_EX用于A16地址线,则最大容量可达128kB.一般情况下烠H361可以直接支持32kB容量的扩展ROM(即27C256芯片的容量),也可以在扩展ROM的程序中通过控制A15地址线支持64kB容量的ROM芯片.下拉电阻R1用于CH361的工作模式设定,因为图中的数据线D0连接了下拉电阻,所以,系统复位后,地址线A15为低电平以选择U3的低32kB(地址为0000H-7FFFH),而在需要读取U3的高32kB时(地址为8000H-0FFFFH),可以通过写芯片控制寄存器的位0来重新设定A15地址线,SYS EX连接A16地址线时与A15的用法类似.另外,由于PCI扩展ROM中的内容通常被BIOS复制到RAM内存中,所以需要设置CH361的扩展ROM基址以重新将U3映射到存储器空间.CH361的A15引脚不仅能用作地址线,还可以自由控制,例如在需要同时连接SRAM和ROM时,可通过A15切换两者的片选.PC机中的扩展ROM相当于一个电子盘,如果在其中写入引导程序和应用程序,那么,即使计算机没有硬盘和操作系统,扩展ROM中的引导程序和应用程序也能够控制计算机以实现某些特定的功能.如,无硬盘PC机用于工业控制或控制作业流程等.
4.4 I/O端口应用
图5是CH361 的应用接口电路.利用读选通/使能IOP RD和写选通/使能IOP WR可 控制74LS139的译码使能,然后由74LS139对地址进行译码即可输出2路读控制和2路写控制,再经74LS245输入缓冲和74LS374锁存输出, 即可获得2组每组8位缓冲输入和2组每组8位锁存输出.如将CH361的I/O基址设定为5A00H,则读取5A00H端口就是读取第一组缓冲输入,写入5A01H端口就是写入第二组锁存输出.如果CH361没有连接扩展ROM或者存储器,则空闲的地址线A14~A8以及A15便可直接作为输出控制线.A15~A0地址设定寄存器在系统复位后为低电平,并且只能以字为单位进行读写.如要设定A13为高电平烝9为低电平熎渌位保持不变,则首先必须读取该寄存器,然后将读出数据中的位13置1、位9置0 ,最后再写回该寄存器.图5是一个简单示例,CH361的输入输出信号与TTL/CMOS 兼容,因而可以连接ADC/DAC/MCU等芯片,由于其输出引脚的驱动电流大于10mA,因而可以在串接限流电阻后驱动LED.此外,CH361还提供了8根地址线A7~A0以可用于I/O地址译码,但由于偏移地址0FFH至0F0H范围为专用功能寄存器的地址,所以I/O地址译码只对偏移地址0EFH至00H范围有效,且长度不应超过240字节.一般情况下,如果使用的I/O端口长度不超过128字节,则可使用A7作为外部电路的片选线.而当偏移地址为7FH至00H范围时,A7就可以输出低电平有效的片选信号,如果偏移地址超过80H,A7将输出高电平,此时,I/O端口的片选信号无效.
评论