通用串行輸入輸出的數(shù)據(jù)傳輸方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明關(guān)于一種通用串行輸入輸出的數(shù)據(jù)傳輸方法,特別是涉及一種以通用串行輸入輸出總線連接的擴(kuò)展器和目標(biāo)裝置之間的數(shù)據(jù)傳輸方法。
【背景技術(shù)】
[0002]隨著科技的發(fā)展,電子裝置之間的數(shù)據(jù)傳輸速度與數(shù)據(jù)量的需求也隨之成長。為了因應(yīng)大量的數(shù)據(jù)快速地在電子裝置之間傳輸,目前技術(shù)上多會采用通用串行輸入輸出(Serial General Purpose Input Output, SGP1)總線或內(nèi)部整合電路(Inter-1ntegrated Circuit,I2C)、通用異步收發(fā)傳輸器(Universal AsynchronousReceiver Transmitter,UART)等進(jìn)行擴(kuò)展器(Expander)或啟動裝置(Initiator)與目標(biāo)裝置(Target)之間的數(shù)據(jù)傳輸。
[0003]然而,當(dāng)以通用串行輸入輸出總線進(jìn)行擴(kuò)展器與目標(biāo)設(shè)備之間的數(shù)據(jù)傳輸時,現(xiàn)有的通用串行輸入輸出總線架構(gòu)中,通常會預(yù)先分配與定義一定數(shù)量的時槽(timeslot)給目標(biāo)設(shè)備,目標(biāo)設(shè)備再根據(jù)定義好的時槽,將對應(yīng)的數(shù)據(jù)內(nèi)容從定義的時槽傳送到擴(kuò)展器。如此一來,預(yù)先分配和定義好的時槽數(shù)量就限制了目標(biāo)設(shè)備傳輸?shù)綌U(kuò)展器的數(shù)據(jù)數(shù)量。例如事先定義60個時槽讓目標(biāo)設(shè)備傳送數(shù)據(jù)到擴(kuò)展器,目標(biāo)設(shè)備就只能傳送60個不同的數(shù)據(jù)內(nèi)容到擴(kuò)展器,而無法再增加更多的數(shù)據(jù)量。
【發(fā)明內(nèi)容】
[0004]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明在于提供一種通用串行輸入輸出的數(shù)據(jù)傳輸方法,藉以解決先前技術(shù)中目標(biāo)設(shè)備傳輸數(shù)據(jù)量受到限制的問題。
[0005]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明所揭露的通用串行輸入輸出的數(shù)據(jù)傳輸方法,適用于以通用串行輸入輸出總線連接的擴(kuò)展器和目標(biāo)裝置。通用串行輸入輸出總線至少具有數(shù)據(jù)輸出線及數(shù)據(jù)讀取線。擴(kuò)展器經(jīng)由數(shù)據(jù)輸出線輸出分頁指示信號至目標(biāo)裝置,分頁指示信號指示分頁地址。目標(biāo)裝置依據(jù)分頁指示信號,查找分頁地址指示的分頁數(shù)據(jù)。目標(biāo)裝置經(jīng)由數(shù)據(jù)讀取線將分頁地址和分頁數(shù)據(jù)輸出至擴(kuò)展器。擴(kuò)展器讀取經(jīng)由數(shù)據(jù)讀取線傳送的內(nèi)容。當(dāng)擴(kuò)展器判斷數(shù)據(jù)讀取線傳送的內(nèi)容具有分頁地址時,擴(kuò)展器接收分頁數(shù)據(jù)。
[0006]根據(jù)上述本發(fā)明所揭露的通用串行輸入輸出的數(shù)據(jù)傳輸方法,藉由擴(kuò)展器主動輸出分頁指示信號給目標(biāo)裝置,目標(biāo)裝置再依據(jù)分頁指示信號指示的分頁地址,將分頁地址下的分頁數(shù)據(jù)傳輸給擴(kuò)暫器,據(jù)以增加目標(biāo)裝置藉由通用串行輸入輸出總線傳輸給擴(kuò)展器的數(shù)據(jù)量。當(dāng)部分?jǐn)U展器或目標(biāo)裝置不支持如I2C或UART的傳輸接口時,擴(kuò)展器和目標(biāo)裝置之間仍可利用通用串行輸入輸出總線來實(shí)現(xiàn)的通訊。
[0007]以上有關(guān)于本發(fā)明揭露的內(nèi)容說明及以下的之實(shí)施方式的說明用以示范與解釋本發(fā)明的精神與原理,并且提供本發(fā)明的專利權(quán)利要求主張的范圍更進(jìn)一步之解釋。
【附圖說明】
[0008]圖1為根據(jù)本發(fā)明一實(shí)施例所繪示的通用串行輸入輸出總線電性連接擴(kuò)展器和目標(biāo)裝置的示意圖。
[0009]圖2為根據(jù)本發(fā)明一實(shí)施例所繪示的通用串行輸入輸出總線時槽分配的示意圖。
[0010]圖3為根據(jù)本發(fā)明一實(shí)施例所繪示的通用串行輸入輸出的數(shù)據(jù)傳輸方法的步驟流程圖。
[0011]圖4為根據(jù)本發(fā)明另一實(shí)施例所繪示的通用串行輸入輸出的數(shù)據(jù)傳輸方法的步驟流程圖。
[0012]組件標(biāo)號說明
[0013]10通用串行輸入輸出總線
[0014]20擴(kuò)展器
[0015]30目標(biāo)裝置
[0016]SClock 頻率信號線
[0017]SLoad 負(fù)載信號線
[0018]SDataOut數(shù)據(jù)輸出線
[0019]SDataln數(shù)據(jù)讀取線
【具體實(shí)施方式】
[0020]以下通過特定的具體實(shí)例說明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實(shí)施例及實(shí)施例中的特征可以相互組合。
[0021]需要說明的是,以下實(shí)施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0022]請參照圖1,圖1為根據(jù)本發(fā)明一實(shí)施例所繪示的通用串行輸入輸出總線電性連接擴(kuò)展器和目標(biāo)裝置的示意圖,圖2為根據(jù)本發(fā)明一實(shí)施例所繪示的通用串行輸入輸出總線時槽分配的示意圖,圖3為根據(jù)本發(fā)明一實(shí)施例所繪示的通用串行輸入輸出的數(shù)據(jù)傳輸方法的步驟流程圖。如圖所示,本發(fā)明通用串行輸入輸出的數(shù)據(jù)傳輸方法,適用于以通用串行輸入輸出(Serial General Purpose Input Output, SGP1)總線10連接的擴(kuò)展器(expander) 20和目標(biāo)裝置(target) 30。擴(kuò)展器20例如序列式小型計算機(jī)系統(tǒng)接口擴(kuò)展器、微處理器(microcontroller)、嵌入式處理器(embedded controller)、基板管理控制器(baseboard management controller,BMC)或其他合適的裝置。目標(biāo)裝置30例如背板模塊(backplane module)、磁盤陣列裝置包括硬盤、備用電池、控制單元及風(fēng)扇、簡單磁盤捆綁(Just Bundle Of Disks,JB0D,亦稱磁盤簇或簡單驅(qū)動捆綁)大型硬盤陣列組、獨(dú)立硬盤冗余陣列(RAID, Redundant Array of Independent Disks,RAID)大型硬盤陣列組、可編程邏輯器件(Programmable Logic Device,PLD)、復(fù)雜式可編程邏輯器件(Complex PLD,CPLD)、現(xiàn)場可編程門陣列(Field-programmable gate array,F(xiàn)PGA)或其他合適的裝置。
[0023]通用串行輸入輸出總線10具有數(shù)據(jù)輸出線SDataOut、數(shù)據(jù)讀取線SDataln、頻率信號線SClock及負(fù)載信號線SLoad。擴(kuò)展器20和目標(biāo)裝置30分別具有對應(yīng)的頻率腳位、負(fù)載腳位、數(shù)據(jù)輸入腳位及數(shù)據(jù)輸出腳位,擴(kuò)展器20和目標(biāo)裝置30對應(yīng)的腳位分別藉由通用串行輸入輸出總線10的數(shù)據(jù)輸出線SDataOut、數(shù)據(jù)讀取線SDataln、頻率信號線SClock及負(fù)載信號線SLoad電性連接。擴(kuò)展器20定義為通用串行輸入輸出總線10的起始者(SGP10initiator),而目標(biāo)裝置30定義為通用串行輸入輸出總線10的目標(biāo)者(SGP1 Target)。于所屬技術(shù)領(lǐng)域具有通常知識者應(yīng)可理解通用串行輸入輸出總線10、擴(kuò)展器20和目標(biāo)裝置30之間的連接方式,于此不再加以贅述。
[0024]通用串行輸入輸出總線10的頻率信號線SClock用以提供擴(kuò)展器20傳送頻率信號至目標(biāo)裝置30,而負(fù)載信號線SLoad提供擴(kuò)展器20傳送負(fù)載信號至目標(biāo)裝置30,數(shù)據(jù)輸出線SDataOut提供擴(kuò)展器20發(fā)送信號至目標(biāo)裝置30,數(shù)據(jù)讀取線SDataln提供目標(biāo)裝置30發(fā)送信號至擴(kuò)展器20。頻率信號用以定義通用串行輸入輸出總線10的傳輸頻率。負(fù)載信號是定義數(shù)據(jù)輸出線SDataOut或數(shù)據(jù)讀取線SDataln傳輸數(shù)據(jù)的框架,例如一個傳輸框架是負(fù)載信號在頻率波形的上升邊緣后觸發(fā)8個時鐘周期至頻率波形的下降邊緣。
[0025]當(dāng)擴(kuò)展器20和目標(biāo)裝置30透過通用串行輸入輸出總線10進(jìn)行數(shù)據(jù)傳輸時,于步驟S401中,擴(kuò)展器20經(jīng)由數(shù)據(jù)輸出線SDataOut輸出分頁指示信號至目標(biāo)裝置30,藉由分頁指示信號指示一個分頁地址。于步驟S403中,目標(biāo)裝置30依據(jù)分頁指示信號,查找分頁地址指示的分頁數(shù)據(jù)。于步驟S405中,目標(biāo)裝置30經(jīng)由數(shù)據(jù)讀取線SDataln將分頁地址和分頁數(shù)據(jù)輸出至擴(kuò)展器20。于步驟S407中,擴(kuò)展器20讀取經(jīng)由數(shù)據(jù)讀取線SDataln傳送的內(nèi)容。于步驟S409中,當(dāng)擴(kuò)展器20判斷數(shù)據(jù)讀取線SDataln傳送的內(nèi)容具有分頁地址時,擴(kuò)展器20接收分頁數(shù)據(jù)。
[0026]更詳細(xì)來說,通用串行輸入輸出總線10會先分配數(shù)據(jù)輸出線SDataOut和數(shù)據(jù)讀取線SDataln的多個時槽。例如分配數(shù)據(jù)輸出線SDataOut中的8個時槽來傳輸分頁指示信號,而分配數(shù)據(jù)讀取線SDataln中的8個時槽來傳輸分頁地址,另8個時槽來傳輸分頁地址下的分頁數(shù)據(jù)。在實(shí)際的例子中,以擴(kuò)展器20為微處理器,目標(biāo)裝置為CPLD來說,當(dāng)微處理器和CPLD之間要進(jìn)行數(shù)據(jù)傳輸時,微處理器會先透過數(shù)據(jù)輸出線SDataOut的8個時槽傳輸分頁指示信號給CPLD,以指示CPLD提供微處理器所需要的數(shù)據(jù)內(nèi)容。當(dāng)CPLD接收到分頁指示信號時,CPLD依據(jù)分頁指示信號指示的分頁地址,切換到分頁地址下的分頁,并將分頁地址和分