相容于PCI介面的非同步扩充系统的PCI转接卡转让专利

申请号 : CN201010534933.0

文献号 : CN101957642B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林明政

申请人 : 昆山五昌新精密电子工业有限公司

摘要 :

本发明公开了一种相容于PCI介面的非同步扩充系统,其中非同步扩充系统包含有一PCI转接卡及复数非同步扩充模组,该PCI转接卡包含有一已设定为多功能装置的PCI控制器、一非同步介面控制器及一非同步介面;又复数同步扩充模组分别包含有一第一及第二非同步介面,以相互串接后再以第一非同步介面电连接至该PCI转接卡的非同步介面,令该PCI控制器对各非同步扩充模组进行编号设定,再透过非同步介面控制器取得各非同步扩充模组的资源设定,依据各非同步扩充模组的资源设定分配对应的位址资源;如此当作业系统进行扫描程序时,即可将对应PCI组态空间分配予对应非同步扩充模组,令PCI控制器顺利执行讯号转换程序。

权利要求 :

1.一种非同步扩充系统用的PCI转接卡,其特征在于:该非同步扩充系统包含有复数非同步扩充模组,各非同步扩充模组包含有一第一及第二非同步介面,以相互串接;而该PCI转接卡包含有一PCI控制器、一非同步介面控制器、一已设定为多功能装置的PCI介面及一非同步介面;其中该PCI控制器电连接至该非同步介面控制器及该PCI介面,并内建有一扩充编号程序、一资源分配程序及一讯号转换程序;又该非同步介面电连接至该非同步介面控制器,而PCI介面供插接至电脑主机板上的PCI介面;

该PCI控制器先执行扩充编号程序,以分别对串接的各非同步扩充模组给予编号,再透过非同步介面控制器取得各非同步扩充模组的资源设定,依各非同步扩充模组的资源设定分配对应的位址资源,令PCI控制器顺利执行讯号转换程序。

2.如权利要求1所述的PCI转接卡,其特征在于该PCI控制器设定为多功能装置包含有八个PCI组态空间。

3.如权利要求1或2所述的PCI转接卡,其特征在于该PCI控制器执行该扩充编号程序包含有:输出一起始位元;

连续输出非同步扩充模组编号的三位元;

重复前二步骤直到设定所有非同步扩充模组均完成为止。

4.如权利要求1或2所述的PCI转接卡,其特征在于该PCI控制器执行资源分配程序包含以下步骤:输出一回复资源设定请求至各非同步扩充模组;

依各非同步扩充模组编号,判断各非同步扩充模组回复其设定资料;及依据各非同步扩充模组的设定资料,分配各非同步扩充模组的位址资源。

5.如权利要求3所述的PCI转接卡,其特征在于该PCI控制器执行资源分配程序包含以下步骤:输出一回复资源设定请求至各非同步扩充模组;

依各非同步扩充模组编号,判断各非同步扩充模组回复其设定资料;及依据各非同步扩充模组的设定资料,分配各非同步扩充模组的位址资源。

说明书 :

相容于PCI介面的非同步扩充系统的PCI转接卡

技术领域

[0001] 本发明关于一种PCI扩充介面,尤指一种相容于PCI介面的非同步扩充系统的PCI转接卡。

背景技术

[0002] 随着电脑科技发展日新月异,电脑周边与介面技术亦快速跟着演进,自早期的XT/AT电脑用的ISA介面、ISA介面发展至现今具有随插即用及高频宽的PCI介面。
[0003] 一般来说,电脑主机板的PCI本地汇流排具有高可扩充性,最高支援256个汇流排,各个汇流排又可连接多个PCI装置;再者,又各个PCI装置更可支援8个PCI功能(Functions),简言之,PCI装置可透过设定被电脑视为8个有效的PCI装置;其中设定方式为,PCI装置提供二种类型的设定功能,其一为单功能PCI装置(Signal Function Device);另一种为多功能PCI装置(Muti-Function Device)。是以,若电脑主机板上提供够多的PCI插槽,则可支援相当多的PCI装置。
[0004] 然而,对于部份特殊应用电脑,碍于原始规划之故而仅能提供单一PCI插槽,但在应用发展后期必须连接更多PCI装置,则必须汰换整组电脑,或者请有关业者开发多合一PCI装置,唯后者成本又较更换整组电脑更高,而且开发时程又长,因此目前确实存在电脑主机板的PCI插槽不足,却必须连接更多PCI装置,而令现有电脑主机面临被汰换的窘境。

发明内容

[0005] 有鉴于上述现有技术缺陷,本发明主要目的是提供一种相容于PCI介面的非同步扩充系统,只需电脑主机板其中一PIC插槽,即可扩充数个相容于PCI装置的非同步扩充模组,如此一来电脑硬体及其作业系统均可不必更换或更新。
[0006] 欲达上述目的所使用的主要技术手段是令该相容于PCI介面的非同步扩充系统的PCI转接卡,其中该非同步扩充系统包含有复数非同步扩充模组,各非同步扩充模组包含有一第一及第二非同步介面,以相互串接;而该PCI转接卡包含有一已设定为多功能装置的PCI控制器、一非同步介面控制器、一PCI介面及一非同步介面;其中该PCI控制器电连接至该非同步介面控制器及该PCI介面,并内建有一扩充编号程序及一讯号转换程序;又该非同步介面电连接至该非同步介面控制器,而PCI介面供插接至电脑主机板上的PCI介面。
[0007] 由上述可知,本发明主要设计一种PCI转接卡,将串接非同步扩充模组的第一非同步介面电连接至该PCI转接卡的非同步介面,使该PCI控制器对串接的各非同步扩充模组进行扩充编号程序,再透过非同步介面控制器取得各非同步扩充模组的资源设定,依各非同步扩充模组的资源设定分配对应的位址资源;是以,将PCI转接卡供插设至电脑主机板上的一PCI插槽,将其设定为多功能装置,即可对串接的各非同步扩充模组进行编号及位址资源设定完成,令电脑主机开机后作业系统开始扫描时,能够将对应PCI组态空间分配予对应非同步扩充模组,让电脑作业系统可视该些非同步扩充模组为有效的PCI装置,实现仅利用电脑主机板单一PCI插槽,可扩增更多的PCI装置的目的。

附图说明

[0008] 图1是本发明非同步扩充系统的系统架构图。
[0009] 图2是本发明非同步扩充系统的非同步扩充模组功能方块图。
[0010] 图3是本发明PCI控制器及复数非同步扩充模组的串并控制器讯号连接示意图。
[0011] 图4是本发明PCI转换卡与非同步扩充模组进行编码设定的时序图。
[0012] 图5是本发明扩充编号程序流程图。
[0013] 图6是本发明资源分配程序流程图。
[0014] 图7是本发明PCI转接卡功能组态空间位置及非同步扩充模组空间组态位置对照表。
[0015] 图8是本发明实际组装后结构示意图。
[0016] 图9是本发明复数非同步扩充模组组装的示意图。

具体实施方式

[0017] 首先请参阅图1及图2所示,是采用本发明PCI转接卡的非同步扩充系统一较佳实施例的系统架构图,其包含有:
[0018] 一PCI转接卡10,包含有一已设定为多功能装置的PCI控制器11、一非同步介面控制器12、一PCI介面13及一非同步介面14;其中该PCI控制器11电连接至该非同步介面控制器12及该PCI介面13,并内建有一扩充编号程序一资源分配程序及一讯号转换程序;又该非同步介面14电连接至该非同步介面控制器12,而PCI介面13供插接至电脑主机板
31上的PCI插槽311,如图8所示;在本实施例中,该PCI控制器11设定为多功能装置;及[0019] 复数非同步扩充模组20,对应八个PCI组态空间(FO~F7),且各非同步扩充模组
20包含有一第一及第二非同步介面22、23,以相互串接,如图9所示,再将串接非同步扩充模组20的第一非同步介面22电连接至该PCI转接卡10的非同步介面14,令该PCI控制器
11先执行扩充编号程序,以分别对串接的各非同步扩充模组20给予编号,再透过非同步介面控制器12取得各非同步扩充模组20的资源设定,依各非同步扩充模组20的资源设定分配对应的位址资源,令PCI控制器11顺利执行讯号转换程序。
[0020] 又,上述非同步介面14及各第一及第二非同步介面22、23分别包含有复数位址端口、资料端口、读取端口、写入端口、非同步扩充模组选择端口、讯号确认端口、重置端口、中断讯号端口及组态通道端口。
[0021] 至于上述各非同步扩充模组20则包含有:
[0022] 复数串列端口25,供具有串列端口外部装置插接;
[0023] 至少一并列端口26,供具有并列端口外部装置插接;及
[0024] 一串并列控制器21,电连接第一及第二非同步介面22、23、串列端口25及并列端口26,其中该串并列控制器21依据串列端口25及并列端口26数量,预设其资源设定,并在收到第一非同步介面22传来PCI转接卡10请求提供资源设定时,透过第一非同步介面22将其预设的设定资料传送至PCI转接卡10;又该串并列控制器21用以转换串列端口25及并列端口26与第一非同步介面22之间的讯号。
[0025] 请配合参阅图3至图5所示,上述PCI控制器执行扩充编号程序包含以下步骤:
[0026] 输出一起始位元(STRAT BIT)予第一非同步扩充模组S40;
[0027] 连续输出对第一非同步扩充模组所设定编号的三位元(DATA BITO)S41;
[0028] 输出一起始位元(STRAT BIT)予下个非同步扩充模组S42;
[0029] 连续输出对下个非同步扩充模组所设定编号的三位元S43;及
[0030] 重复前二步骤直到设定所有非同步扩充模组均完成为止S44。
[0031] 如图3所示,由于复数非同步扩充模组20以第一及第二非同步介面22、23相互串接,再以第一非同步扩充模组20的第一非同步介面22与PCI转接卡10的非同步介面14连接,此时该PCI转接卡10的非同步介面14的组态通讯端口仅连接至该第一非同步扩充模组20的组态通讯端口,因此如图4所示,PCI转接卡10发出第一起始位元,即触发第一非同步扩充模组20的串并列控制器21的编号设定功能,此时即开始计数并接收PCI转接卡10后续传来三位元的编号,并加以储存;在此同时,由于PCI转接卡10必须完成所有非同步扩充模组20编号的设定,故第一非同步扩充模组20透过第二非同步介面23的组态通讯端口输出触发讯号至该第二非同步扩充模组20的第一非同步介面22的组态通讯端口,令第二非同步扩充模组20的串并列控制器21的编号设定功能,此时即开始计数并接收PCI转接卡10后续传来三位元的编号,并加以储存;同理,该第二非同步扩充模组20触发第三非同步扩充模组20进行编码设定,如此直到所有非同步扩充模组均完成编码设定;如此一来,PCI转接卡10即可获知非同步扩充模组20数量,以及各非同步扩充模组20回传的资讯。
[0032] 请配合参阅图6所示,为该PCI控制器21执行资源分配程序包含以下步骤:
[0033] 输出一回复资源设定请求至各非同步扩充模组S50;
[0034] 依各非同步扩充模组编号,判断各非同步扩充模组回复其设定资料S51;及[0035] 依据各非同步扩充模组的设定资料,分配各非同步扩充模组的位址资源S52。
[0036] 当电脑开机执行作业系统时,会对PCI控制器进行扫描,此时作业系统会先确认该PCI控制器是否完成「扩充编号程序」及「资源分配程序」,若判断未完成则执行PCI Retry机制,等待PCI控制器完成为止,待确完成后,电脑作业系统会将对应PCI组态空间分配予对应非同步扩充模组。以下举一实际例子说明组态空间分配的方式,首先令各非同步扩充模组的串并列控制器为一支援有四个串列端口(如RS232)及一并列端口,因此可随着不同的应用调整为单串列端口(1S)、二串列端口(2S)、四串列端口(4S)、一串列及并列端口(1S1P)、二串列单并列端口(2S1P)、四串列单并列端口(4S1P)、单并列端口(1P)、四串列兼本地汇流排(4S+Local Bus)等8种基本工作模式。
[0037] 当第一非同步扩充模组的串并列控制器包含有四个PCI Bar(PCI Bar0、PCI Bar1、PCI Bar2、PCI Bar3),其中PCI Bar0对应到串列端口位址(RS232 Serial Port Base Address),最多共占用32个位址空间,位置空间大小根据所设定的串列端口数量决定占用空间,以单串列端口(1S)来说,其所占位址空间为PCI Bar0+0x00至PCI Bar0+0x07;以二串列端口(2S)来说则占PCI Bar0+0x00至PCI Bar0+0x0f,而三串列端口或4串列端口(3S、4S)占PCI Bar0+0x00至PCI Bar0+0x1f,如果设定成无串列模式时,即不开启此Bar,亦即PCI转卡获知此设定时,即不会令作业系统对此Bar分配资源。
[0038] 至于该PCI Bar1则是对应并列端口基本位址(Parallel Port Base Address),其位址空间占PCI Bar1+0x00至PCI Bar1+0x07,若对应本地汇流排基本位址(Local Bus Base Address)则其位址空间占了PCI Bar1+0x00至PCI Bar1+0xff。若设定为只有Serial Port的情况下(例如1S、2S、4S),不开启此Bar,不对此Bar分配资源。
[0039] 而PCI Bar2则是对应并列端口延伸基本位址(Parallel Port Extension Base Address),其位址空间占了PCI Bar2+0x00至PCI Bar2+0x08。如果模式没有设定在有并列端口的清况下,意即是设定如1S、2S、4S、4S+Local Bus等情况下,即不开启此Bar,不对此Bar分配资源。
[0040] 至于PCI Bar3则是对应其功能/状态基本位址(Other Function/Status Base Address),其位址空间占了PCI Bar3+0x00至PCI Bar3+0x0f),此位址空间永远有效并占用固定的空间大小。
[0041] 因此,当串并列控制器的各PCI Bar依据其串列端口或并列端口数量设定好模式,在PCI转接卡询问时,即可将此资源设定回报予PCI转接卡。
[0042] 以下进一步说明该PCI转接卡的第一功能组态空间对应第一非同步扩充模组设定其位址空间的方式,请参阅图7所示,为第一功能组态空间位址对应第一非同步扩充组态位址的对照表。当电脑作业系统分配给设定为多功能装置的PCI转接卡第一功能组态空间(Multi-Function 0)资源为:
[0043] Bar0:0xc000,8 address location;
[0044] Bar1:0xc400,8/256 address location;
[0045] Bar2:0xc800,8 address location;及
[0046] Bar3:0xd000,16address location。
[0047] 令PCI转接卡又自第一非同步扩充模组取得的资源设定为需要使用PCI Bar0~PCI Bar3,且Bar0占8个位址空间、Bar1占8/256个位址空间、Bar2占8个位址空间、Bar3占16个位址空间;因此,即将第一功能组态空间的Bar0~3对应到第一非同步扩充模组的Block0~3。
[0048] 以下谨进一步以第一非同步扩充模组说明作业系统如何透过PCI转接卡对第一非同步扩充模组进行不同位址的资料存取,意即该PCI转接卡即执行讯号转换程序。
[0049] 以非同步扩充模组的串并列控制器调整为串列及并列端口(1S1P)应用,该串列端口定址空间共占8个位址空间、并列端口基本位址的定址空间占8位址空间、并列端口延伸基本位址的定址空间占8位址空间,其它则占16位址空间,并假设第一非同步扩充模组定址空间为0x00至0x07。如此一来,当作业系统对0xc000~0xc0007存取时,非同步介面位址端口会送出0x00~0x07的位址去存取Address Block 0的资料;又当作业系统透过PCI转接卡对0xc400至0xc407存取时,非同步介面的位址端口会送出0x08至0x0F的位址去存取第一非同步扩充模组的Block 1的资料;再者,若作业系统对0xc800至0xc807存取时,非同步介面的位址端口会送出0x10至0x17的位址,去存取第一非同步扩充模组的Address Block 2的资料,当系统对0xd000~0xd00F存取时,非同步介面的位址端口会送出0x18~0x27的位址,去存取第一非同步扩充模组的Address Block 3的资料。
[0050] 由上述可知,本发明主要设计一种非同步扩充模组,其脚位较PCI装置为少,且采用非同步传输方式,且可直接串接连接而不必加设缓冲器,如图8所示,再配合PCI转接卡10供插设至电脑30主机板31上的一PCI插槽311,将其设定为多功能装置,并对串接的各非同步扩充模组完成扩充编号程序及资源分配程序后,而在电脑30开机后作业系统扫描时,电脑能将对应PCI组态空间分配予各非同步扩充模组,让电脑30作业系统可视该些非同步扩充模组为有效的PCI装置,实现仅利用电脑主机板单一PCI插槽,可扩增更多的PCI装置。