系统管理总线从属装置的从属地址扫描装置及其方法

文档序号:6555663阅读:223来源:国知局

专利名称::系统管理总线从属装置的从属地址扫描装置及其方法
技术领域
:本发明有关于从属地址的扫描装置,特别是指一种系统管理总线从属装置的从属地址扫描装置及其方法。
背景技术
:为了与连接到系统管理总线(SystemManagementBus;SMBus)的各种从属装置(slavedevices)沟通,从属装置的从属地址(slaveaddress)必须被预先指定,以作为信号/数据传输的识别。在系统开机时,系统管理总线控制器(SMBuscontroller)会对从属装置进行扫描,以确认其从属地址。然而,现今系统管理总线控制器大多已整合至南桥(SouthBridge)中,有关系统装置总线的从属地址扫描程序与后续从属装置的控制,己非使用者可以介入调整者。再者,从属地址的指定,是透过线路布局提供从属装置上特定脚位的电压电平,这些特定脚位是关联到该从属装置的从属地址寄存器,倘若需要更动从属地址,必须大费周章的重新线路布局。因此,从属地址冲突所造成的问题显得格外的棘手。与系统管理总线相关的一种常见的系统错误,是系统管理总线控制器的扫描程序所造成的。系统管理总线上的从属装置,会因为扫描程序中发送的系统管理总线封包(packet)不符合各从属装置所适用的系统管理总线协议(SMBusprotocols),而造成故障。从属装置的故障会使系统管理总线控制器得到错误的扫描结果,以致于无法根据此扫描结果正常控制所有从属装置。请参阅图1A所示的现有系统管理总线封包的基本架构,以及图IB现有系统管理总线中主装置与从属装置的连接架构。系统管理总线共提供9种具有不同的总线封包协议供各个从属装置使用,包括快速指令(quickcommand)、传送字节(sendbyte)、接收字节(receivebyte)、写入字节/字组(writebyte/word)、读取字节/字组(readbyte/word)、处理呼叫(processcall)、封锁读写(blockwrite/read)、圭寸锁读写处理呼卩H(blockwrite-blockreadprocesscall)、系统管理总线主机通知协议(SMBushostnotifyprotocol)等。在每一个被传输的封包中均具有地址段(signalsection)11与数据段(datasection)12,其中所有九种封包前半部的地址段都具有相同的架构,后半段的数据段则彼此不同。于图IB中,系统管理总线控制器20会随着系统管理总线21的时序总线(Clockbus)CLK的时序脉冲(clockpulse),在其数据总线(databus)DAT中依序发送总线封包的各个位,至系统管理总线21所连接的从属装置221~226。图1A中系统管理总线封包10的地址段11包括有起始位(STARTbit)S、从属地址字节(slaveaddressbyte)SA、读取/写入位R/W与地址响应位(addressacknowledgementbit)As,数据段12则包括数据字节(Databyte)D、数据响应位(dataacknowledgementbit)Ad、停止状态位(stopconditionbit)等?某些封包更多了封包错误码(packeterrorcode;PEC),也可能具有多个数据字节D或多个数据响应位Ad。其中仅地址响应位As与数据响应位Ad由从属装置发送,分别针对从属地址字节SA与数据字节D进行响应。若系统装置总线控制器20发送至系统管理总线11的系统管理总线封包10中,地址段11的从属地址字节SA是指定给从属装置224的,那么,从属装置224将于时序总线CLK的时序脉冲介于一地址响应时序期间(addressacknowledgementclockperiod)内发出地址响应(addressacknowledgement)。不过,若系统管理总线封包10后半段的数据段10不符合从属装置224所适用的系统管理总线协议,则将造成从属装置224故障;即使下一次系统管理总线控制器20发送正确协议的系统管理总线封包10,从属装置224仍将无法解开故障状态进行响应,也无法根据指令正常运作。因此,根据扫描结果对从属装置224进行控制的系统管理总线控制器20,也会在执行指令时遭遇不明原因的故障。此时即使重开机解除从属装置224的故障状态,开机时必须的扫描程序仍会造成从属装置224再次故障。在DOS系统下执行的扫描程序中,系统管理总线指令「清除(KILL)」虽可清除先前发出的错误协议封包,却无法排除从属装置的故障问题。于是,系统管理总线控制器以相同协议进行的二次扫描程序将会出现不同的扫描结果,造成从属装置控制上的难题。另一个扫描程序中可能出现的问题,是关于未知的从属装置。部分连接到系统管理总线上的芯片或控制器,内部会具有一个以上的从属装置;而在系统设计阶段被忽略的从属装置,也可能成为未知的系统故障来源。这些未知的从属装置由于缺乏信息,经常无法透过扫描程序确实扫描出来。
发明内容针对上述问题,本发明提出一种从属地址的扫描装置及方法,利用信号仿真方式、根据系统管理总线封包协议的地址段,产生扫描封包并发送至系统管理总线,以便根据从属装置的地址响应,确认从属地址的分配情形,如此可确实扫描出所有位于系统管理总线上的从属装置,并避免扫描程序造成的从属装置死机问题。根据本发明较佳实施例所揭露的从属地址扫描装置包含连接端口、转接盒与扫描控制器。其中转接盒具有若干连接端子,以兼容并电性连接系统管理总线与连接端口;扫描处理单元电路连接并控制连接端口,其具有时序针脚与数据针脚,用以产生及传送扫描封包至系统管理总线,并接收来自该等从属装置的若干地址响应。根据本发明较佳实施例所揭露的从属地址扫描方法包含以下步骤(l)根据扫描地址产生并传送扫描封包至系统管理总线;(2)确认是否在地址响应时序期间内收到地址响应;及(3)记录于一从属地址表。根据本发明较佳实施例所揭露的另一从属地址扫描方法,乃用以扫描连接于主板系统管理总线上若干从属装置的若干从属地址,具有时序针脚与数据针脚的南桥电路连接系统管理总线,并扫描地址产生/传送扫描封包至系统管理总线,最后确认是否在地址响应时序期间内收到地址响应。根据本发明的较佳实施例,上述扫描装置与扫描方法所述的扫描封包,兼容于系统管理总线封包协议的地址段。有关本发明的详细内容及技术,兹就配合如下图1A为符合现有系统管理总线协议的封包架构示意1B为现有系统管理总线的连接架构图2A为本发明一较佳实施例的从属地址扫描装置示意2B为本发明另一较佳实施例的从属地址扫描装置示意图图3A图为本发明一较佳实施例的扫描封包信号仿真示意图图3B为本发明一较佳实施例的从属地址扫描方法的主要流程图4为本发明再一较佳实施例的从属地址扫描装置示意图图5为本发明又一较佳实施例的从属地址扫描装置示意图具体实施方式请参阅图2A,本较佳实施例将本发明扫描装置3应用于一双处理器系统上。主板30上具有处理器31、32,分别具有专属的数个系统内存311、321;处理器31电路连接(incircuitconnection)南桥33。南桥33除连接超级输出输入控制器(superi叩ut/outputcontroller)36及连接端口(connectionport)37之外,其内部具有一系统管理总线控制器(SMBuscontroller)330,透过系统管理总线(SMBus)34,连接到从属装置341、342、343、344、345、346。本实施例所揭露从属地址的扫描装置3包括超级输出输入控制器(super1/0controller)36、连接端口(connectionport)37与转接盒(adaptorbox)38。主板30上设有针脚接头(pinheader)35电性连接系统管理总线34,并透过第一信号线381电性连接转接盒38上多个连接端子380的其中两个。转接盒38的所有连接端子380,主要兼容于连接端口37,系统管理总线34仅透过第一信号线381连接至其中两个;连接端口37与转接盒38之间则以第二信号线382电性连接。超级输入输出控制器36乃作为一扫描处理单元,除电路连接连接端口37并可加以控制,超级输入输出控制器36具有一时序针脚与一数据针脚(图未示),用以产生及传送扫描封包(scanpacket)至系统管理总线34,并接收来自从属装置341、342、343、344、345、346的地址响应(addressacknowledgements如此一来,即能提供超级输入输出控制器36与系统管理总线34上各个从属装置341、342、343、344、345、346的通讯路径。一般来说,超级输入输出控制器36至少整合有软盘控制器、键盘/鼠标控制器、打印机控制器与串行端口控制器等,通常可控制并行端口(parallelport)与串行端口(serialport)的通讯。请续参阅图3A与图3B,并参考图1A与图1B,超级输入输出控制器36并非直接发送系统管理总线封包(SMBuspacket)作为扫描封包300,而是仿真其封包信号脉冲波形。图3A中超级输入输出控制器36所发出的时序信号波形,是仿真自图1B中系统管理总线21的时序总线CLK;既然如现有技术中所提,数据段12的格式错误是造成从属装置死机的其中一个原因,本发明的扫描封包300仅仿真系统管理总线封包10的地址段11。图3A中,在起始位S之后,超级输入输出控制器36的时序针脚将依序发出时序脉冲l、2...7、8、9,时序脉冲17期间,超级输入输出控制器36的数据针脚即发出对应于系统管理总线封包的数据信号,对应扫描封包300的从属地址字节SA;时序脉冲8对应扫描封包300的读取/写入位R/W。第九个时序脉冲9,即对应扫描封包300的地址响应位As,亦即兼容于系统管理总线封包协议的「地址响应时序期间」AACP;如任意从属装置在此地址响应时序期间AACP发出地址响应M(address-acknowledgement),即代表从属地址字节SA对应的从属地址已有一从属装置占用,反之NM(non-address-acknowledgement)则否。为避免冲突,地址响应AA多半透过系统管理总线的数据总线传送,并由扫描处理单元的数据针脚接收。超级输入输出控制器36分别透过时序针脚与数据针脚传送的时序脉冲与数据信号,皆透过信号仿真而兼容于系统管理总线的封包协议。请参阅图3B,其揭露根据本发明一实施例的其中一种从属地址扫描方法。最初的扫描地址X可选择由最大从属地址Xmax或最小从属地址Xmin开始,对所有的从属地址进行扫描。根据系统管理总线封包的协议规范,其从属地址字节SA包括7个位,就目前从属装置的二进制寄存器而言,共有27即128个可能的从属地址;扫描程序应尽可能的以此128个可能的从属地址作为扫描地址,才能涵盖所有的可能性。在步骤S10中,是设定扫描地址X等于最小从属地址Xmin,亦即由最小的从属地址开始递增扫描。超级输入输出控制器36可将最小从属地址Xmin进行二进制转换,加上起始位S与读取(写入)位Rd(Wr),即能根据此从属位置X产生并发送一扫描封包300,经图2A的通讯路径传输至系统管理总线34(步骤S20)。此扫描封包300的信号波形对应于系统管理总线封包的地址段11。如前所述,扫描封包300透过信号仿真方式产生,因此步骤S20可进一步包括以下步骤(a)透过对系统管理总线封包协议的信号仿真,以根据扫描地址产生时序脉冲与数据信号;(b)分别传送时序脉冲与数据信号至系统管理总线的时序总线与数据总线。接着,步骤S30于图3A的时序脉冲9、即地址响应时序期间MCP内,确认是否收到地址响应AA;若无地址响应NM,则地址响应时序期间MCP内超级输入输出控制器36的数据针脚将不会收到任何数据信号。不论是否收到地址响应M,可选择全部记录至一从属地址表(slaveaddresstable)(步骤S40);此从属地址表可为简单的从属地址-从属装置矩阵,或包含从属装置与从属地址的进一步描述,视使用者需求而定、格式不限。其次,则是重设扫描地址X=X+2(步骤50)、确认扫描地址X是否大于等于Xmax(步骤60),并回到步骤S20继续扫描,以期能确实扫描完128个所有可能的从属地址。综而言之,本发明较佳实施例所揭露的从属地址扫描方法,主要包括扫描地址的产生与传送、地址响应的接收,与从属地址表的记录。实际上,以本发明的扫描装置进行从属地址扫描程序时,将需要重新针对上述扫描程序编写程序,不过执行的扫描处理单元并不限于上述的超级输入输出控制器36,只要具有两根信号针脚可供输入输出系统总线信号的控制器,例如具有GPIO(generalpurposeinput/output)针脚的输入输出控制器,搭配合适的连接端口37及转接盒38,即可实现本发明。对于配备GPI(generalpurposei叩ut)针脚与GPO(generalpurposeoutput)针脚的输入输出控制器,只要具有一对GP0针脚发送扫描封包,另一对GPI侦测或接收地址响应M,亦能达到同样的结果;惟此时将有两根时序针脚(GPI/GPO针脚各一根)、与两根数据针脚(GPI/GPO针脚各一根)。上述实施例中,由于作为扫描处理单元的超级输入输出控制器36可同时控制并行端口与串行端口,因此连接端口37可为并行端口或串行端口。除了超级输入输出控制器36外,南桥33亦可做为扫描处理单元,如图2B所示。利用南桥33上两根GPIO针脚331作为时序与数据针脚,电路连接至系统管理总线34,并为南桥33编写合适的程序执行前述的扫描程序,仍能得到一个完整的从属地址扫描结果。请参阅图4,离板(off-board)方案与通用串行总线(universalserialbus;USB)规格,亦为本发明的实现方式之一。此时,连接端口37需与通用串行总线兼容,以配合做为扫描处理单元的通用串行总线控制器39。而离板平台40则是具有一离板超级入输出控制器41做为扫描处理单元,并透过离板连接端口42(可为串行端口或并行端口)、第三信号线383、转接盒38、第一信号线381、针脚接头35发送扫描封包至系统管理总线34,并接收地址响应M。上述通用串行总线控制器39与离板超级入输出控制器41皆须为其编写特定的程序,以执行从属地址的扫描程序。因此不论连接端口与扫描处理单元位于或非位于主板上,皆能实现本发明。请参阅图5,另一个离板方案是由另一套计算机系统50对主板30进行扫描。计算机系统50为一单处理器系统,处理器51具有系统内存511与512,处理器51连接南桥53后,透过桥接芯片56连接至扩充总线57。连接南桥53、并做为扫描处理单元的超级输入输出控制器54,则透过连接端口55、第三信号线383、转接盒38、第一信号线381、针脚接头35发送扫描封包至系统管理总线34,并接收地址响应AA。如先前实施例所述,计算机系统50亦可以通用串行总线控制器(图未示)或南桥53做为扫描处理单元;以南桥53为例,可透过针脚接头58直接或间接连接到针脚接头35,以形成扫描程序所需的通讯路径。亦即,如以南桥做为扫描处理单元,不论为在板或离板解决方案,南桥皆须具有至少一时序针脚与至少一数据针脚以电路连接系统管理总线。几乎所有扫描过程皆无二致,南桥根据图3B的扫描程序,透过对系统管理总线的封包协议的信号仿真,以根据扫描地址产生时序脉冲与数据信号,经由其时序针脚与数据针脚分别传送至系统管理总线的时序总线与数据总线,并确认是否在地址响应时序期间内收到地址响应。本发明所谓电路连接意指包含电路的连接手段,涵盖印刷电路板、软性电路板技术,亦可能包括必要的信号线或连接器连接方式,但不限于在板或离板技术。虽然本发明以前述的较佳实施例揭露如上,然其并非用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。权利要求1.一种从属地址扫描装置,用以扫描一主板上连接于一系统管理总线(SMBus)上若干从属装置的若干从属地址,其特征在于,包含有一转接盒,具有若干连接端子电性连接该系统管理总线;一连接端口,电性连接于该转接盒的该等连接端子;及一扫描处理单元,具有至少一时序针脚与至少一数据针脚,电路连接并控制该连接端口,并用以产生至少一扫描封包(scanpacket),透过该连接端口、该转接盒传送至该系统管理总线,并依序透过该转接盒、该连接端口接收来自该等从属装置的若干地址响应(addressacknowledgement);其中,该扫描封包兼容于该系统管理总线的一封包协议(packetprotocol)的一地址段(addresssection)。2.根据权利要求1所述的从属地址扫描装置,其特征在于,该扫描处理单元包含至少一时序针脚与至少一数据针脚,且该时序针脚供传送若干时序脉冲至该系统管理总线的一时序总线,该等时序脉冲透过信号仿真而兼容于该系统管理总线的封包协议。3.根据权利要求2所述的从属地址扫描装置,其特征在于,数据针脚供传送若干数据信号至该系统管理总线的一数据总线,该等数据信号透过信号仿真而兼容于该系统管理总线的封包协议。4.根据权利要求1所述的从属地址扫描装置,其特征在于,该扫描封包包含一起始位、一从属地址字节、一读取/写入位与一地址响应位。5.根据权利要求4所述的从属地址扫描装置,其特征在于,该扫描处理单元于该系统管理总线的封包协议的一地址响应时序期间接收该地址响应,且该地址响应时序期间对应于该时序针脚所传送的第九个时序脉冲,该第九个时序脉冲自该扫描处理单元传送该起始位后起算。6.根据权利要求1所述的从属地址扫描装置,其特征在于,该主板包含一针脚接头,该针脚接头电性连接该系统管理总线与该转接盒。7.根据权利要求1所述的从属地址扫描装置,其特征在于,该扫描处理单元为超级输入输出控制器或通用串行总线控制器。8.根据权利要求1所述的从属地址扫描装置,其特征在于,该连接端口为并行端口或串行端口,或与通用串行总线兼容。9.根据权利要求1所述的从属地址扫描装置,其特征在于,该连接端口与该扫描处理单元位于或非位于该主板上。10.—种从属地址扫描方法,用以扫描连接于一系统管理总线上若干从属装置的若干从属地址,其特征在于,包含以下步骤根据至少一扫描地址(scanaddress)产生并传送至少一扫描封包至该系统管理总线,该扫描封包兼容于该系统管理总线的一封包协议的一地址段;确认是否在一地址响应时序期间(addressacknowledgementclockperiod)内收到一地址响应;及记录于一从属地址表。11.根据权利要求10所述的从属地址扫描方法,其特征在于,该根据该扫描地址产生并传送该扫描封包至该系统管理总线的步骤,更包括以下步骤透过对该系统管理总线的封包协议的信号仿真,以根据该扫描地址产生若干时序脉冲与若干数据信号。12.根据权利要求11所述的从属地址扫描方法,其特征在于,该根据该扫描地址产生并传送该扫描封包至该系统管理总线的步骤,更包括以下步骤-分别传送该等时序脉冲与该等数据信号至该系统管理总线的一时序总线与一数据总线。13.根据权利要求10所述的从属地址扫描方法,其特征在于,该扫描封包包含一起始位、一从属地址字节、一读取/写入位与一地址响应位。14.根据权利要求13所述的从属地址扫描方法,其特征在于,该地址响应时序期间对应于该时序针脚所传送的第九个时序脉冲,该第九个时序脉冲自该扫描处理单元传送该起始位后起算。15.—种从属地址扫描方法,用以扫描连接于一主板的一系统管理总线上若干从属装置的若干从属地址,-一南桥具有至少一时序针脚与至少一数据针脚电路连接该系统管理总线,该南桥根据至少一扫描地址产生并传送至少一扫描封包至该系统管理总线,并确认是否在一地址响应时序期间内收到一地址响应,该扫描封包兼容于该系统管理总线的一封包协议的一地址段。16.根据权利要求15所述的从属地址扫描方法,其特征在于,该扫描封包包含一起始位、一从属地址字节、一读取/写入位与一地址响应位。17.根据权利要求16所述的从属地址扫描方法,其特征在于,该地址响应时序期间对应于该时序针脚所传送的第九个时序脉冲,该第九个时序脉冲自该扫描处理单元传送该起始位后起算。18.根据权利要求15所述的从属地址扫描方法,其特征在于,该南桥透过对该系统管理总线的封包协议的信号仿真,以根据该扫描地址产生若干时序脉冲与若干数据信号,经由该时序针脚与该数据针脚分别传送至该系统管理总线的一时序总线与一数据总线。全文摘要本发明公开了一种从属地址的扫描装置及方法,用以扫描位于系统管理总线的从属装置,一扫描处理单元利用信号仿真方式,并根据系统管理总线封包协议的地址段,产生扫描封包并发送至系统管理总线,以便借由从属装置的地址响应,确认从属地址的分配情形,进而确实扫描出所有位于系统管理总线上的从属装置,并避免扫描程序造成的从属装置死机问题。文档编号G06F13/38GK101118527SQ200610029609公开日2008年2月6日申请日期2006年8月1日优先权日2006年8月1日发明者陈均旭,陈民峰申请人:泰安电脑科技(上海)有限公司;泰安电脑科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1