利用通用输入输出实现多个输入输出卡通信的系统及方法.pdf

上传人:111****11 文档编号:971000 上传时间:2018-03-22 格式:PDF 页数:16 大小:752.13KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810008524.X

申请日:

2008.01.23

公开号:

CN101493800A

公开日:

2009.07.29

当前法律状态:

终止

有效性:

无权

法律详情:

未缴年费专利权终止IPC(主分类):G06F 13/38申请日:20080123授权公告日:20120208终止日期:20140123|||授权|||专利申请权的转移IPC(主分类):G06F 13/38变更事项:申请人变更前权利人:环隆电气股份有限公司变更后权利人:环旭电子股份有限公司变更事项:地址变更前权利人:000000 中国台湾南投县变更后权利人:201203 上海市张江高科技园区集成电路产业区张东路1558号登记生效日:20100804|||实质审查的生效|||公开

IPC分类号:

G06F13/38

主分类号:

G06F13/38

申请人:

环隆电气股份有限公司

发明人:

刘光明

地址:

中国台湾南投县

优先权:

专利代理机构:

隆天国际知识产权代理有限公司

代理人:

陈 晨

PDF下载: PDF下载
内容摘要

本发明为一种利用通用输入输出实现多个输入输出卡通信的系统及方法,用以解决公知技术所使用的特定I2C及UART的通信管道所造成连线数量较多、处理芯片的总线的资源要求较高及成本增加的问题,本发明是采用至少一通用输入输出端口取代I2C的一条故障线路或UART的一条故障线路的通信管道,利用一条或多条额外的通用输入输出端口作为备份通用输入输出端口以实现整体总线的扩展,以达到备份度大、成本低、切换灵活、连线数目少及高可靠性互连的优点。

权利要求书

1.  一种利用通用输入输出实现多个输入输出卡之间通信的方法,其特征在于,包括下列步骤:
初始化一第一输入输出卡的一第一通用输入输出端口及一第二输入输出卡的第二通用输入输出端口;
检测该第一通用输入输出端口及该第二通用输入输出端口是否发生故障;
若检测步骤的结果为是,则启用该第一输入输出卡的一第一备份通用输入输出端口及该第二输入输出卡的一第二备份通用输入输出端口,以分别取代发生故障的该第一通用输入输出端口的通用输入输出端口及该第二通用输入输出端口的通用输入输出端口;及
通过该第一备份通用输入输出端口及该第二备份通用输出端口进行该第一输入输出卡及该第二输入输出卡之间的通信。

2.
  如权利要求1所述的利用通用输入输出实现多个输入输出卡之间通信的方法,其特征在于,该检测步骤是根据该第二通用输入输出端口的回送信号。

3.
  如权利要求1所述的利用通用输入输出实现多个输入输出卡之间通信的方法,其特征在于,该检测该第一通用输入输出端口及该第二通用输入输出端口的步骤,若检测结果为是,则判断是否为串行数据线发生故障,反之,若检测结果为否,则该第一输入输出卡的一第一微处理器单元会传送一重置信号将该第二输入输出卡的一第二微处理器单元进行重置动作。

4.
  如权利要求3所述的利用通用输入输出实现多个输入输出卡之间通信的方法,其特征在于,该第一输入输出卡的一第一微处理器单元会传送一重置信号的步骤,还包括通过该第一输入输出卡的通用输入输出端口及该第二输入输出卡的通用输入输出端口进行该第一输入输出卡及该第二输入输出卡之间的通信动作。

5.
  如权利要求3所述的利用通用输入输出实现多个输入输出卡之间通信的方法,其特征在于,该判断是否为串行数据线发生故障的步骤,若判断结果为是,则启用该第一输入输出卡的一第一备份通用输入输出端口及该第二输入输出卡的一第二备份通用输入输出端口,以分别取代发生故障的该第一通用输入输出端口的通用输入输出端口及该第二通用输入输出端口的通用输入输出端口,反之,若判断结果为否,则判断是否为串行时钟脉冲线发生故障。

6.
  如权利要求5所述的利用通用输入输出实现多个输入输出卡之间通信的方法,其特征在于,该判断是否为串行时钟脉冲线发生故障的步骤,若判断结果为是,则启用该第一输入输出卡的一第一备份通用输入输出端口及该第二输入输出卡的一第二备份通用输入输出端口,以分别取代发生故障的该第一通用输入输出端口的通用输入输出端口及该第二通用输入输出端口的通用输入输出端口,反之,若判断的结果为否,则该第一输入输出卡的一第一微处理器单元会传送一重置信号将该第二输入输出卡的一第二微处理器单元进行重置动作。

7.
  一种利用通用输入输出实现多个输入输出卡之间通信的系统,其特征在于,包括:
一第一输入输出卡,该第一输入输出卡具有至少一第一通用输入输出端口,且所述第一通用输入输出端口包含至少一第一备份通用输入输出端口;及
一第二输入输出卡,电性连结于该第一输入输出卡,该第二输入输出卡具有至少一第二通用输入输出端口,且所述第一通用输入输出端口包含至少一第二备份通用输入输出端口;
其中,当该第一通用输入输出端口发生故障时,所述第一备份通用输入输出端口即会自动取代发生故障的该第一通用输入输出端口,且通过所述第一备份通用输入输出端口与所述第二备份通用输入输出端口进行通信。

8.
  如权利要求7所述的利用通用输入输出实现多个输入输出卡之间通信的系统,其特征在于,该第一备份通用输入输出端口是作为一串行数据线或一串行时钟脉冲线。

9.
  如权利要求7所述的利用通用输入输出实现多个输入输出卡之间通信的系统,其特征在于,该第二备份通用输入输出端口是作为一串行数据线或一串行时钟脉冲线。

10.
  如权利要求7所述的利用通用输入输出实现多个输入输出卡之间通信的系统,其特征在于,还包括一中板,连接于该第一输入输出卡及该第二输入输出卡,用以提供该第一输入输出卡及该第二输入输出卡之间信号的传送。

说明书

利用通用输入输出实现多个输入输出卡通信的系统及方法
技术领域
本发明涉及一种多个输入输出卡之间通信的系统及方法,特别涉及一种利用通用输入输出实现多个输入输出卡之间通信的系统及方法。
背景技术
在计算机系统中利用两张输入输出卡进行双向通信时,为了确保两张输入输出卡能够进行双向通信的高可靠性,通常使用两条通信管道,如I2C或者UART端口,来实现通信管道的高可靠性。然而,这样是比较浪费输入输出卡既有的总线资源,此外,在此种总线资源有限的情况下很难实现通信管道的高可靠性。
请参考图1A及图1B所示,图1A为公知技术的两张输入输出卡通信的系统架构图,图1B为公知技术的两张输入输出卡通信方法流程图。在图1A中,公知技术的系统架构包括一第一输入输出卡10、一第二输入输出卡12及一中板14。该第一输入输出卡10及该第二输入输出卡12之间通过该中板14进行信号的传输,该第一输入输出卡10及该第二输入输出卡12各具有一第一微处理器单元100及一第二微处理器单元120,该第一微处理器单元100及该第二微处理器单元120在设计时,都会根据需要设计出许多的功能脚位,但无论如何都会设计有通信管道脚位,用以和外部芯片通信。因此,为了实现通信管道的高可靠性,都会设计两条通信管道,所以该第一微处理器单元100具有一第一通信管道1000及一第二通信管道1002,以及该第二微处理器单元120具有一第三通信管道1200及一第四通信管道1202。
上述的第一通信管道1000及第四通信管道1202可为内部集成电路(I2C,以下皆以此简称)通信接口,而第二通信管道1002及第三通信管道1200可为通用非同步接收/传送器(UART,以下皆以此简称)通信接口。当然,在实际设计时,可相反的设计,也即第一通信管道1000及第四通信管道1200可为UART通信接口,而第二通信管道1002及第三通信管道1202可为I2C通信接口。
请同时参考图1A及图1B,图1B为公知技术的两张输入输出卡通信方法流程图,首先,进行第一输入输出卡10及第二输入输出卡12的初始化互连动作,见步骤S100,接着检测第一通信管道1000及第四通信管道1202是否发生故障,见步骤S102,若检测的结果为是,则启用第二通信管道1002及第三通信管道1200进行第一输入输出卡10及第二输入输出卡12之间的通信动作,见步骤S104,反之,若检测的结果为否时,则通过第一通信管道1000及第四通信管道1202进行第一输入输出卡10及第二输入输出卡12之间的通信动作,见步骤S106。
如上所述,在两张输入输出卡之间通过第一通信管道1000及第四通信管道1202(I2C)和第二通信管道1002及第三通信管道1200(UART)的协议实现互连的情况中,当第一通信管道1000及第四通信管道1202中的任何一条信号线发生损坏而导致第一通信管道1000及第四通信管道1202的总线全部失效,则此时只能应用第二通信管道1002及第四通信管道1202来替代第一通信管道1000及第四通信管道1202模块。第一通信管道1000、第四通信管道1202和第二通信管道1002、第三通信管道1200这两条路径是为了可靠和稳定而设计的,然而这样连线数量较多,对于处理器芯片而言,在实际的应用中并没有太多资源可以利用,也就是对于处理器芯片而言,对于处理器芯片的总线资源要求变高,因此成本也会相对应的增加。
发明内容
为了克服公知技术中使用连线数量较多以及总线的资源要求较高的问题,本发明提出一种利用通用输入输出实现多个输入输出卡通信的系统及方法。
本发明提出一种利用通用输入输出实现多个输入输出卡之间通信的系统,包括一第一输入输出卡,该第一输入输出卡具有至少一第一通用输入输出端口,且所述第一通用输入输出端口包含至少一第一备份通用输入输出端口;及一第二输入输出卡,经由一中板电性连结于该第一输入输出卡,该第二输入输出卡具有至少一第二通用输入输出端口,且所述第二通用输入输出端口包含至少一第二备份通用输入输出端口;其中,当该第一通用输入输出端口发生故障时,所述第一备份通用输入输出端口即会自动取代发生故障的该第一通用输入输出端口,且通过所述第一备份通用输入输出端口与所述第二备份通用输入输出端口进行通信。
本发明也提出一种利用通用输入输出实现多个输入输出卡之间通信的方法,包括下列步骤:初始化一第一输入输出卡的一第一通用输入输出端口及一第二输入输出卡的第二通用输入输出端口;检测该第一通用输入输出端口及该第二通用输入输出端口是否发生故障;若检测步骤的结果为是,则启用该第一输入输出卡的一第一备份通用输入输出端口及该第二输入输出卡的一第二备份通用输入输出端口,以分别取代发生故障的该第一通用输入输出端口的通用输入输出端口及该第二通用输入输出端口的通用输入输出端口;及通过该第一备份通用输入输出端口及该第二备份通用输出端口进行该第一输入输出卡及该第二输入输出卡之间的通信。
因为公知技术的I2C或者UART端口有数量的限制无法进行额外的扩充,然而通用输入输出端口具有扩展性,也即通用输入输出端口允许自主调整,所以本发明是采用通用输入输出端口来进行至少一张输入输出卡之间的通信,从通用输入输出端口中使用一或多个输入输出端口作为备份通用输入输出端口以模拟现有的通信协议或者自行定义的协议,来取代公知的I2C或者UART端口作为通信管道。如此的设计使得本发明可达到备份度大、成本低、切换灵活、连线数目少及高可靠性互连的优点。
有关本发明的特征与实际操作,配合附图作优选实施例详细说明如下。
附图说明
图1A为公知技术的两张输入输出卡之间通信的系统架构图;
图1B为公知技术的两张输入输出卡之间通信方法流程图;
图2A为本发明的利用通用输入输出实现多个输入输出卡之间通信的系统架构图;及
图2B为本发明的利用通用输入输出实现多个输入输出卡之间通信的方法流程图。
其中,附图标记说明如下:
10第一输入输出卡
100第一微处理器单元
1000第一通信管道
1002第二通信管道
120第二微处理器单元
12第二输入输出卡
1200第三通信管道
1202第四通信管道
14中板
20第一输入输出卡
200第一微处理器单元
2000第一通用输入输出端口
2002、2402通用输入输出端口
2004第一备份通用输入输出端口
22中板
24第二输入输出卡
240第二微处理器单元
2400第二通用输入输出端口
2404第二备份通用输入输出端口
具体实施方式
请参考图2A,为本发明的利用通用输入输出实现多个输入输出卡之间通信的系统架构图,以下在本发明是以两张输入输出卡作为实施说明,然而本发明并不限于此,本发明的系统及方法都可应用于多张输入输出卡上。
本发明的系统包括一第一输入输出卡20、一中板22以及一第二输入输出卡24。第一输入输出卡20及第二输入输出卡24各具有一第一微处理器单元200及一第二微处理器单元240,第一微处理器单元200及第二微处理器单元240在设计时,都会根据需要设计出许多的功能脚位,但无论如何都会设计有通信管道脚位,用以和外部芯片通信连接。
第一输入输出卡20的第一微处理器单元200具有至少一第一通用输入输出端口2000,且所述第一通用输入输出端口2000包含至少一第一备份通用输入输出端口2004以及至少一通用输入输出端口2002,所述通用输入输出端口2002上所使用的通信协议可为I2C或者UART,本发明的系统在此所使用的通信协议是以I2C为例,当然这并不限定本发明,只要可以应用的通信协议都可被本发明的系统所采用。
中板22是提供给第一输入输出卡20及该第二输入输出卡24之间电性连接及其信号的传送,当然中板22不仅是提供上述电性连接及其信号的传送的功能,中板22也可包括其它的电子元件或其它的芯片。
第二输入输出卡24是经由中板22电性连结于第一输入输出卡20,第二输入输出卡24的第二微处理器单元240具有至少一第二通用输入输出端口2400,且所述第二通用输入输出端口2400包含至少一第二备份通用输入输出端口2404以及至少一通用输入输出端口2402,所述通用输入输出端口2402上所使用的通信协议可相应于第一通用输入输出端口2000所使用的通信协议,如I2C或者UART,本发明的系统在此所使用的通信协议是以I2C为例,而I2C的规格中定义出有串行数据线(SDA)及串行时钟脉冲线(SCA)两个线路,当然这并不限定本发明,只要可以应用的通信协议都可被本发明的系统所采用。
在实际操作时,当第一输入输出卡20的第一微处理器单元200中的通用输入输出端口2002发生故障时,本发明的系统是以I2C为例,例如其中I2C的串行数据线发生故障,导致I2C的串行数据线信号不能正确传送到第二输入输出卡24时,则第一微处理器单元200就会检测到这种情况,会自动地应用第一备份通用输入输出端口2004及第二备份通用输入输出端口2404来实现串行数据线的功能,以进行第一输入输出卡20与第二输入输出卡24之间的通信动作。
相反地,若是其中I2C的串行时钟脉冲线(SLA)发生故障时,导致I2C的串行时钟脉冲线信号不能正确传送到第二输入输出卡24时,则第一微处理器单元200就会检测到这种情况时,会自动地应用第一备份通用输入输出端口2004及第二备份通用输入输出端口2404来实现串行时钟脉冲线的功能,以进行第一输入输出卡20与第二输入输出卡24之间的通信动作。
请同时参考图2A及图2B,图2B为本发明的利用通用输入输出实现多个输入输出卡之间通信的方法流程图。首先,进行第一输入输出卡20的第一通用输入输出端口2000及第二输入输出卡24的第二通用输入输出端口2400的初始化动作,见步骤S200,其中初始化动作是依据第一微处理器单元200以及第二微处理器单元240设计时,对于每一个脚位所定义的功能作初始化的动作。接着,第一微处理器单元200及第二微处理器单元240将各别地检测第一通用输入输出端口2000及第二通用输入输出端口2400是否发生故障的情况,见步骤S202,在此本发明的系统是以I2C为例,本发明的检测是根据第二微处理器单元240的第二通用输入输出端口的回送信号的情况来判断。
若步骤S202的检测结果为是时,则进一步判断是否为串行数据线发生故障,见步骤S204,反之,若步骤S202检测的结果为否时,则第一微处理器单元200会传送一重置信号将第二微处理器单元240进行重置动作,见步骤S206,以及通过第一输入输出卡20的通用输入输出端口2002及第二输入输出卡24的通用输入输出端口2402进行第一输入输出卡20及第二输入输出卡24之间的通信动作,见步骤S208。
在此实施例中,是以第一微处理器单元200为主要的端点,而以第二微处理器单元240为次要的端点,所以步骤S204中,是以第一微处理器单元200作为信号发送端,当第一微处理器单元200将信号发送后,若无法接收到第二微处理器单元240所回送的响应信号时,也即判断串行数据线已发生故障时,其故障的原因可能是信号线损坏、第二微处理器单元240的通用输入输出端口2402的串行数据线的断线或第二微处理器单元240的电源过低而无法发出响应信号,如此启用第一输入输出卡20的第一备份通用输入输出端口2004及第二输入输出卡24的第二备份通用输入输出端口2404,以分别取代发生故障的第一通用输入输出端口2000的通用输入输出端口2002的串行数据线及第二通用输入输出端口2400的通用输入输出端口2402的串行数据线,见步骤S210,此时的第一备份通用输入输出端口2004及第二备份通用输入输出端口2404都作为串行数据线使用。
然后通过第一备份通用输入输出端口2004及第二备份通用输出端口2404进行第一输入输出卡20及第二输入输出卡24之间的通信,见步骤S212。反之,若在步骤S204中的判断结果为否时,再进一步判断是否为串行时钟脉冲线发生故障,见步骤S214,在步骤S214中,若判断的结果为串行时钟脉冲线发生故障时,则启用第一输入输出卡20的第一备份通用输入输出端口2004及第二输入输出卡24的第二备份通用输入输出端口2404,以分别取代发生故障的第一通用输入输出端口2000的通用输入输出端口2002的串行时钟脉冲线及第二通用输入输出端口2400的通用输入输出端口2402的串行时钟脉冲线,见步骤S210,此时的第一备份通用输入输出端口2004及第二备份通用输入输出端口2404都作为串行时钟脉冲线使用。然后通过第一备份通用输入输出端口2004及第二备份通用输出端口2404进行第一输入输出卡20及第二输入输出卡24之间的通信,见步骤S212。
若步骤S214的判断结果为否时,则第一微处理器单元200会传送一重置信号将第二微处理器单元240进行重置动作,见步骤S206,以及通过第一输入输出卡20的通用输入输出端口2002及第二输入输出卡24的通用输入输出端口2402进行第一输入输出卡20及第二输入输出卡24之间的通信动作,见步骤S208。
如上述所言,在两张输入输出卡之间通过通用输入输出端口取代I2C协议实现互连的情况中,当I2C中的串行数据线发生故障导致I2C的串行数据线不能正确到达另一个输入输出卡时。作为命令端模拟I2C的第一微处理器单元200就会检测到这种情况,当发生这种情况时,第一微处理器单元200就会自动地应用第一备份通用输入输出端口2004取代串行数据线,然后通知作为接收端模拟I2C的第二微处理器单元240,将第二备份通用输入输出端口2404启用作为串行数据线,接着命令端就会通过第一备份通用输入输出端口2004传送信号到第二备份通用输入输出端口2404,以实现串行数据线的功能。
以此类推,当串行时钟脉冲线发生故障导致I2C的串行时钟脉冲线不能正确到达另一个输入输出卡时。作为命令端模拟I2C的第一微处理器单元就会检测到这种情况,当发生这种情况时,第一微处理器就会自动地应用第一备份通用输入输出端口2004取代串行时钟脉冲线,然后通知作为接收端模拟I2C的第二微处理器单元,将第二备份通用输入输出端口2404启用作为串行时钟脉冲线,然后命令端就会通过第一备份通用输入输出端口2004传送信号到第二备份通用输入输出端口2404,以实现串行时钟脉冲线的功能。如此,本发明可以借以实现备份的功能。
本发明仅需要应用简单的通用输入输出端口来实现多个输入输出卡之间的互连,根据实际使用的线路上所运行的协议的不同和备份度来决定备份通用输入输出端口的数量。如单条通用输入输出端口运行协议时,可以应用另外一条备份通用输入输出端口来实现备份功能,或者用另外的n条备份通用输入输出端口来实现大备份度的备份功能,上述的n可为整数值,例如可由数目1开始至所想要设定的数目值。在双条或多条互连中可以采用单条或多条备份通用输入输出端口,当一条通用输入输出端口发生故障时,备份通用输入输出端口线路就会自动取代故障的通用输入输出端口执行运作。
本发明采用多个独立的通用输入输出端口有两个优点,第一个优点,就是当要达到和公知技术I2C或UART同样实现的目的时,本发明所使用的信号线与公知技术所使用的I2C或UART相比较少,即可容许连线的信号线较少。第二个优点是通用输入输出端口可以作为热备份,以实现多个输入输出卡之间通信的高可靠性。当使用的线路中有一条或多条发生故障时,此时,备份线路就会自动取代故障线路的工作。
本发明与公知技术的不同在于舍弃公知技术所使用的特定I2C及UART的通信管道,而是采用通用输入输出端口来实现多个输入输出卡之间互连运作,在通用输入输出端口上模拟现有的协议(如I2C或UART)或者自行定义的协议,应用一条或多条额外的通用输入输出端口作为备份通用输入输出端口以实现整体总线的备份,从而实现连接线路少且备份度大、减少成本和高可靠性的多个输入输出卡之间的互连,如此的设计使得本发明可达到备份度大、成本低、切换灵活、连线数目少及高可靠性互连的优点。
虽然本发明以前述的优选实施例揭示如上,然而其并非用以限定本发明。在不脱离本发明的精神和范围内,所作的更动与修改,均属本发明的专利保护范围。关于本发明所界定的保护范围请参考所附的权利要求书的范围。

利用通用输入输出实现多个输入输出卡通信的系统及方法.pdf_第1页
第1页 / 共16页
利用通用输入输出实现多个输入输出卡通信的系统及方法.pdf_第2页
第2页 / 共16页
利用通用输入输出实现多个输入输出卡通信的系统及方法.pdf_第3页
第3页 / 共16页
点击查看更多>>
资源描述

《利用通用输入输出实现多个输入输出卡通信的系统及方法.pdf》由会员分享,可在线阅读,更多相关《利用通用输入输出实现多个输入输出卡通信的系统及方法.pdf(16页珍藏版)》请在专利查询网上搜索。

本发明为一种利用通用输入输出实现多个输入输出卡通信的系统及方法,用以解决公知技术所使用的特定I2C及UART的通信管道所造成连线数量较多、处理芯片的总线的资源要求较高及成本增加的问题,本发明是采用至少一通用输入输出端口取代I2C的一条故障线路或UART的一条故障线路的通信管道,利用一条或多条额外的通用输入输出端口作为备份通用输入输出端口以实现整体总线的扩展,以达到备份度大、成本低、切换灵活、连线数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1