專利名稱:數(shù)據(jù)傳輸系統(tǒng)與可編程串行外圍設備接口控制器的制作方法
技術領域:
本發(fā)明關于一種數(shù)據(jù)傳輸系統(tǒng),特別關于一種可通過串行外圍設備接口(Serial Peripheral Interface,簡稱SPI)提供可編程的多端口數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸系統(tǒng)。
背景技術:
串行外圍設備接口(Serial Peripheral Interface,簡稱SPI)是一種4線同步序列數(shù)據(jù)傳送協(xié)議,其架構為從/主結構,是目前一種廣泛應用于元件與元件間的連接接口。然而,由于架構的限制,使得目前的串行外圍設備接口被局限于單一主裝置與從裝置數(shù)據(jù)傳輸(單端口數(shù)據(jù)傳輸)的應用,即單一的主出從入(MOSI)、主入從出(MISO)數(shù)據(jù)傳輸。對于日漸新穎的系統(tǒng)應用,尤其在需要同時計算及即時反應數(shù)據(jù)內(nèi)容的系統(tǒng)而言, 目前僅提供單端口數(shù)據(jù)傳輸?shù)拇型鈬O備接口的元件均無法滿足這方面的系統(tǒng)需求。因此,需要一種改良的串行外圍設備接口,其可利用現(xiàn)有的硬件架構提供多端口 (multi port)的數(shù)據(jù)傳輸,并且可更具有可編程的特性,用以彈性地切換于單端口與多端口的數(shù)據(jù)傳輸,使得在固定的硬件架構下,可滿足不同的系統(tǒng)需求。
發(fā)明內(nèi)容
本發(fā)明于多個實施例中提供的串行外圍設備接口,利用現(xiàn)有的硬件架構提供多端口數(shù)據(jù)傳輸,并且改良式的串行外圍設備接口可更進一步切換于單端口與多端口的數(shù)據(jù)傳輸模式。根據(jù)本發(fā)明的一實施例,一種數(shù)據(jù)傳輸系統(tǒng)包括串行外圍設備接口與可編程控制器。串行外圍設備接口耦接于第一裝置與至少一第二裝置之間,包括用以傳輸時脈信號于第一裝置與此至少一第二裝置之間的序列時脈端、用以傳輸芯片選擇信號于第一裝置與此至少一第二裝置之間,藉此啟動數(shù)據(jù)的傳輸?shù)男酒x擇端、用以傳輸數(shù)據(jù)自第一裝置至此至少一第二裝置的一第一傳輸總線端、以及用以傳輸數(shù)據(jù)自此至少一第二裝置至此第一裝置的一第二傳輸總線端??删幊炭刂破饔靡钥刂拼型鈬O備接口切換于單端口數(shù)據(jù)傳輸模式與多端口數(shù)據(jù)傳輸模式,其中當多于一個第二裝置耦接至串行外圍設備接口時,串行外圍設備接口切換至多端口數(shù)據(jù)傳輸模式,用以控制第一裝置與這些第二裝置之間進行多端口數(shù)據(jù)傳輸,此時第一裝置通過第一傳輸總線端同時傳輸數(shù)據(jù)至每一第二裝置,并且第一裝置通過第二傳輸總線端同時自每一第二裝置接收數(shù)據(jù)。根據(jù)本發(fā)明的另一實施例,一種數(shù)據(jù)傳輸系統(tǒng)包括一串行外圍設備接口與一可編程控制器。串行外圍設備接口耦接于一第一裝置,包括用以傳輸一時脈信號至至少一第二裝置的一序列時脈端、用以傳輸一芯片選擇信號,藉此啟動數(shù)據(jù)的傳輸?shù)男酒x擇端、用以傳送數(shù)據(jù)至至少一第二裝置的第一傳輸總線端、以及用以接收該至少一第二裝置傳送的數(shù)據(jù)的第二傳輸總線端??删幊炭刂破饔靡钥刂圃摯型鈬O備接口切換于單端口數(shù)據(jù)傳輸模式與多端口數(shù)據(jù)傳輸模式,其中當多于一個第二裝置耦接至串行外圍設備接口時,串行外圍設備接口切換至多端口數(shù)據(jù)傳輸模式,用以控制第一裝置與所述這些第二裝置之間進行多端口數(shù)據(jù)傳輸,此時第一裝置通過第一傳輸總線端同時傳輸數(shù)據(jù)至每一第二裝置,并且第一裝置通過第二傳輸總線端同時自每一第二裝置接收數(shù)據(jù)。根據(jù)本發(fā)明的另一實施例,提出一種可編程串行外圍設備接口控制器,用以控制一串行外圍設備接口的數(shù)據(jù)傳輸模式,包括一數(shù)據(jù)傳輸選擇器,用以根據(jù)端口數(shù)控制參數(shù)進行數(shù)據(jù)分配。其中端口數(shù)控制參數(shù)代表同時與一第一裝置進行數(shù)據(jù)傳輸?shù)闹辽僖坏诙b置的數(shù)目,該數(shù)據(jù)傳輸模式可切換于一單端口數(shù)據(jù)傳輸模式與一多端口數(shù)據(jù)傳輸模式,該第一裝置與至少一第二裝置通過該串行外圍設備接口傳送數(shù)據(jù)位,當多于一個第二裝置耦接至串行外圍設備接口時,串行外圍設備接口被切換至該多端口數(shù)據(jù)傳輸模式,用以控制第一裝置與這些第二裝置之間進行多端口數(shù)據(jù)傳輸,此時第一裝置通過第一傳輸總線端同時傳輸數(shù)據(jù)至每一第二裝置,并且第一裝置通過第二傳輸總線端同時自每一第二裝置接收數(shù)據(jù)。本發(fā)明實施例提供的串行外圍設備接口,其可利用現(xiàn)有的硬件架構提供多端口 (multi port)的數(shù)據(jù)傳輸,并且可更具有可編程的特性,用以彈性地切換于單端口與多端口的數(shù)據(jù)傳輸,使得在固定的硬件架構下,可滿足不同的系統(tǒng)需求。此外,本發(fā)明實施例所提出的數(shù)據(jù)傳輸系統(tǒng)架構,能夠達成利用串行外圍設備接口(SPI)同時進行多位數(shù)據(jù)的讀取或寫入的目的,藉此提高串行外圍設備接口(SPI)的應用價值。
圖1顯示根據(jù)本發(fā)明的一實施例所述的一數(shù)據(jù)傳輸系統(tǒng);圖2顯示根據(jù)本發(fā)明的一實施例所述的可編程控制器方塊圖;圖3顯示根據(jù)本發(fā)明的一實施例所述的于數(shù)據(jù)傳輸系統(tǒng)內(nèi)的數(shù)據(jù)傳輸流程圖;圖4A與圖4B顯示根據(jù)本發(fā)明的一實施例所述的數(shù)據(jù)傳輸系統(tǒng)內(nèi)的信號波形圖;圖5顯示根據(jù)本發(fā)明的另一實施例所述的一數(shù)據(jù)傳輸系統(tǒng)。附圖標號100、500 數(shù)據(jù)傳輸系統(tǒng);101、102-0、102-n、501-0、501-1、502-0、502-1、502-2、502-3、502-4、502-5、 502-6,502-7 數(shù)據(jù)傳輸裝置;103、503-0、503_1 串行外圍設備接口 ;104、200 可編程控制器;105、105-0、105-1、105-2、105-3、106、106-0、106-1、106-2、106-3 移位寄存器;201 數(shù)據(jù)傳輸選擇器;202 傳輸位計數(shù)器;203 邏輯比較器;204 封包比較器;205 端口數(shù)控制參數(shù);206 傳輸位參數(shù);207 傳輸封包參數(shù);DI
、DI [1]、DI [2]、DI [3]、DI [n]、D0
、D0[1]、D0[2]、D0[3]、D0[n]、SPI_ DI [n: 0]、SPI_DI 1 [3:0]、SPI_DI2 [3:0]、SPI_D0 [n: 0]、SPI_D01 [3:0]、SPI_D02 [3:0] 數(shù)據(jù)位;MOSI、MISO 傳輸總線端;M0SI[n:0]、MIS0[n:0] 傳輸總線;SCLK 序列時脈端;SS 芯片選擇端;SPI_SCLK 時脈信號;SPI_SS、SPI_SS1、SPI_SS2 芯片選擇信號。
具體實施例方式為了讓本發(fā)明的上述和其他目的、特征、和優(yōu)點能更明顯易懂,下文特舉多個實施例,并配合所附附圖,作詳細說明如下。圖1顯示根據(jù)本發(fā)明的一實施例所述的一數(shù)據(jù)傳輸系統(tǒng)100,包括多個數(shù)據(jù)傳輸裝置101與102-0 102-Π、以及耦接于數(shù)據(jù)傳輸裝置之間的一串行外圍設備接口 103。其中數(shù)據(jù)傳輸裝置可包括一主裝置(例如,101)以及至少一從裝置(例如,102-0 102-n,n 為正整數(shù))。串行外圍設備接口 103包括耦接于數(shù)據(jù)傳輸裝置之間的序列時脈端SCLK、芯片選擇端SS、以及傳輸總線端MOSI (主出從入)與MISO(主入從出)。主裝置101通過序列時脈端SCLK傳輸一時脈信號SPI_SCLK至從裝置102-0 102_n,用以提供時脈信號至從裝置,并且通過芯片選擇端SS傳輸一芯片選擇信號SPI_SS至從裝置102-0 102-n,用以通過芯片選擇信號啟動從裝置進行數(shù)據(jù)傳輸。根據(jù)本發(fā)明的一實施例,傳輸總線MOSI [n:0]用以提供自主裝置至從裝置的單一位或多位的數(shù)據(jù)傳輸,如圖所示的數(shù)據(jù)位SPI_D0[n:0],而傳輸總線MIS0[n:0]用以提供自從裝置至主裝置的單一位或多位的數(shù)據(jù)傳輸,如圖所示的數(shù)據(jù)位SPI_DI[n:0]。于本發(fā)明的實施例中,時脈信號SPI_SCLK與芯片選擇信號SPI_SS共用于多個從裝置之間,于是當多個從裝置被選取時,各從裝置可同時與主裝置進行雙向的數(shù)據(jù)傳輸,即,多個數(shù)據(jù)位可平行且雙向地傳送于主裝置與從裝置之間。根據(jù)本發(fā)明的一實施例,數(shù)據(jù)傳輸系統(tǒng)100可還包括一可編程控制器(可編程串行外圍設備接口控制器),用以控制數(shù)據(jù)傳輸系統(tǒng)100內(nèi)串行外圍設備接口 103的一數(shù)據(jù)傳輸模式,其中可編程控制器可被單獨配置于數(shù)據(jù)傳輸系統(tǒng)中,或者被彈性地整合于主裝置 101 (如圖1所示的可編程控制器104)、至少一從裝置或串行外圍設備接口 103內(nèi),因此本發(fā)明的硬件結構并不限于如第一圖所示的范疇。根據(jù)本發(fā)明的一實施例,可編程控制器可根據(jù)系統(tǒng)要求切換于一單端口(single port)傳輸模式與一多端口(multi port)數(shù)據(jù)傳輸模式,其中當多于一個從裝置耦接至串行外圍設備接口 103時,可編程控制器可因應系統(tǒng)需求切換至多端口數(shù)據(jù)傳輸模式,用以控制主裝置與從裝置之間進行多端口數(shù)據(jù)傳輸, 如上述,此時數(shù)據(jù)位可平行且雙向地傳送于主裝置與從裝置之間(以下將針對單端口數(shù)據(jù)傳輸模式與多端口數(shù)據(jù)傳輸模式做更詳細的介紹)。圖2顯示根據(jù)本發(fā)明的一實施例所述的可編程控制器方塊圖。如上述,可編程控制器可單獨配置于數(shù)據(jù)傳輸系統(tǒng),或者被彈性地整合于主裝置、至少一從裝置或串行外圍設備接口內(nèi),因此本發(fā)明的實施并不限于任何一種硬件結構。如圖2所示,可編程控制器 200可包括數(shù)據(jù)傳輸選擇器201、傳輸位計數(shù)器202、邏輯比較器203以及封包比較器204。數(shù)據(jù)傳輸選擇器201用以根據(jù)一端口數(shù)控制參數(shù)205進行數(shù)據(jù)分配。端口數(shù)控制參數(shù)205 可用以設定數(shù)據(jù)傳輸系統(tǒng)中,同時與主裝置進行數(shù)據(jù)傳輸?shù)膹难b置的數(shù)目。例如,當數(shù)據(jù)傳輸系統(tǒng)最多能夠提供4個從裝置同時與主裝置進行數(shù)據(jù)傳輸時,端口數(shù)控制參數(shù)205可設定為1 4,其中當端口數(shù)控制參數(shù)205設定為1時,代表數(shù)據(jù)傳輸系統(tǒng)目前為單端口數(shù)據(jù)傳輸模式,因此同一時間僅一個從裝置與主裝置進行數(shù)據(jù)傳輸,另一方面,當端口數(shù)控制參數(shù)205設定為4時,代表數(shù)據(jù)傳輸系統(tǒng)目前為多端口數(shù)據(jù)傳輸模式,因此同一時間可有4個從裝置同時與主裝置進行數(shù)據(jù)傳輸。圖2顯示出一 4端口數(shù)據(jù)傳輸模式范例,在此模式下,端口數(shù)控制參數(shù)205被設定為4,因此最多可支援4個從裝置與1主裝置同時進行數(shù)據(jù)傳輸,其中傳輸總線MOSI [3:0]、 MIS0[3:0]的各傳輸線如圖1所示分別耦接于主裝置與各從裝置之間,用以傳輸各位(如圖1所示的D0
D0[n]與DI
DI [η])至各自對應的從裝置。根據(jù)本發(fā)明的一實施例,主裝置可包括多層次輸入移位寄存器105以及多層次輸出移位寄存器106 (如圖1所示),分別用以寄存接收自各從裝置的數(shù)據(jù)位,以及欲傳送至各從裝置的數(shù)據(jù)位。更具體來說,如圖2所示的4端口數(shù)據(jù)傳輸模式范例,主裝置可包括多個輸入移位寄存器105-0 105-3以及輸出移位寄存器106-0 106-3,各輸入移位寄存器分別用以儲存自對應的從裝置(從裝置102-0 102-η的一者,其中在此范例中η = 3)接收的數(shù)據(jù)位,以及各輸出移位寄存器分別用以儲存欲傳送至對應的從裝置的數(shù)據(jù)位。在多端口數(shù)據(jù)傳輸模式的數(shù)據(jù)傳輸?shù)倪^程中,數(shù)據(jù)傳輸選擇器201可平行處理來自各從裝置的數(shù)據(jù)位,用以將所述這些數(shù)據(jù)位分配儲存至對應的輸入移位寄存器105-0 105-3內(nèi),以及平行處理來自各輸出移位寄存器106-0 106-3位,用以將所述這些數(shù)據(jù)位輸出至對應的從裝置。因此,輸入移位寄存器105-0 105-3可分別自對應的從裝置平行接收數(shù)據(jù)(即,同時自各對應的從裝置接收數(shù)據(jù)),并且輸出移位寄存器106-0 106-3可平行輸出數(shù)據(jù)至各從裝置(即,同時輸出數(shù)據(jù)至各對應的從裝置)。如此一來,主裝置可通過傳輸總線端MOSI同時傳輸數(shù)據(jù)至每一個從裝置,并且通過傳輸總線端MISO同時自每一個從裝置接收數(shù)據(jù)。傳輸位計數(shù)器202用以累計在一傳輸周期內(nèi)已被傳輸?shù)囊粩?shù)據(jù)位數(shù),以得到一計數(shù)結果。傳輸位計數(shù)器202的計數(shù)結果可進一步傳送至邏輯比較器203,邏輯比較器203用以將計數(shù)結果與一傳輸位參數(shù)206做比較,以取得一位比較結果,其中該傳輸位參數(shù)206可取決于各輸入移位寄存器以及/或各輸出移位寄存器的一深度,即,各輸入移位寄存器以及/或各輸出移位寄存器可儲存的位總數(shù),例如,移位寄存器的深度可設計為8位、16位、32 位等等。其中在串行外圍設備接口傳輸協(xié)議中,移位寄存器的深度可根據(jù)一封包所包含的位總數(shù)而設定,因此由邏輯比較器203所得到的位比較結果可顯示出目前被傳送的一封包是否已被傳送完成。舉例而言,當移位寄存器的深度設定為8位時,傳輸位參數(shù)206設定為 8,代表一封包包含8位,因此當該計數(shù)結果累計到8時,邏輯比較器203將計數(shù)結果與傳輸位參數(shù)206做比較,即可得知目前的封包已傳送完成。邏輯比較器203所得到的位比較結果可更進一步傳送至封包比較器204。封包比較器204用以將該比較結果與一傳輸封包參數(shù)207做比較,以取得一封包比較結果,其中傳輸封包參數(shù)207代表在一傳輸周期內(nèi)需被傳輸?shù)姆獍倲?shù)。舉例而言,當傳輸封包參數(shù)207 設定為1時,代表在一傳輸周期內(nèi)需傳輸一個封包,其中根據(jù)本發(fā)明的一實施例,該傳輸周期可以是芯片選擇信號SPI SS的一周期。因此,當比較結果顯示出已有一個封包傳送完成時,封包比較器204將該比較結果與傳輸封包參數(shù)207做比較,即可得知目前傳輸周期內(nèi)的數(shù)據(jù)傳輸已完成。值得注意的是,端口數(shù)控制參數(shù)205、傳輸位參數(shù)206以及傳輸封包參數(shù) 207等系統(tǒng)參數(shù)可被儲存于系統(tǒng)的內(nèi)建存儲器內(nèi),并且可依不同的系統(tǒng)需求與傳輸模式的變化改變其設定值(以下將進一步針對系統(tǒng)參數(shù)設定值做更詳細的介紹)。圖3顯示根據(jù)本發(fā)明的一實施例所述的于數(shù)據(jù)傳輸系統(tǒng)內(nèi)的數(shù)據(jù)傳輸流程圖。當傳輸開始時(步驟S301),可編程控制器根據(jù)系統(tǒng)需求判斷目前是否需要多端口數(shù)據(jù)傳輸 (步驟S302)。若否,可編程控制器設定對應的系統(tǒng)參數(shù)(例如,端口數(shù)控制參數(shù)205、傳輸位參數(shù)206以及傳輸封包參數(shù)207等)(步驟S303),并且接著開始進行單端口數(shù)據(jù)傳輸與接收(步驟S304)。另一方面,若是,可編程控制器設定對應的系統(tǒng)參數(shù)(步驟S305),并且接著開始進行多端口數(shù)據(jù)傳輸與接收(步驟S306)。接著,可編程控制器判斷數(shù)據(jù)傳輸是否結束(步驟S307),如上述,可編程控制器判斷本次傳輸中是否還有封包需要傳送,若已無封包需要被傳送,則代表本次傳輸已結束。若還有封包需要被傳送,代表傳輸尚未結束,可編程控制器可進一步根據(jù)系統(tǒng)需求設定對應的系統(tǒng)參數(shù)(步驟S305),并且繼續(xù)多端口數(shù)據(jù)傳輸與接收(步驟S306)。圖4A與圖4B顯示根據(jù)本發(fā)明的一實施例所述的數(shù)據(jù)傳輸系統(tǒng)內(nèi)的信號波形圖, 在此為一雙端口數(shù)據(jù)傳輸模式范例。根據(jù)本發(fā)明的一實施例,芯片選擇信號SPI_SS可被設計為以低態(tài)動作(active low)的控制信號,因此當芯片選擇信號SPI_SS由高位準轉為低位準時,主裝置與從裝置之間的數(shù)據(jù)傳輸已啟動,并且直至芯片選擇信號SPI_SS被拉回高位準的周期,可定義為一傳輸周期。因此,圖4A與圖4B顯示一傳輸周期內(nèi)的信號波形圖, 其中圖4A與圖4B的差異僅在于,圖4A可表示出數(shù)據(jù)位內(nèi)容的變化,而圖4B可表示出數(shù)據(jù)位的傳輸順序。如圖4A所示,傳輸總線MIS0
與MIS0[1]以及MOSUO]與MOSI [1]可同時進行位數(shù)據(jù)的傳送,因此同一時間對于主裝置而言,可同時接收與傳送2位的數(shù)據(jù)。圖4B更清楚地顯示出數(shù)據(jù)位的傳輸順序,其中各輸入數(shù)據(jù)位DI與輸出數(shù)據(jù)位DO分別以兩數(shù)字編碼, 如圖所示的DI nm與DO nm(n = 0 l,m = 0 f),其中第一碼數(shù)字η代表第η個傳輸總線的位數(shù)據(jù),第二碼m代表該傳輸總線上所傳送的是第m個位,因此DI Of代表第0個傳輸總線上所傳送的第16個位。如圖所示,數(shù)據(jù)位依序在傳輸總線上被傳送,并儲存至對應的移位寄存器(或自移位寄存器依序被傳送至對應的傳輸總線),因此于本發(fā)明的實施例中, 數(shù)據(jù)傳輸系統(tǒng)內(nèi)的處理器(圖未示)可直接自移位寄存器取出數(shù)據(jù)(或傳送數(shù)據(jù)至對應的移位寄存器),而不需要進行額外的位數(shù)據(jù)重組。如上述,可編程控制器用以控制系統(tǒng)的數(shù)據(jù)傳輸模式,其中根據(jù)本發(fā)明的一實施例,在單端口數(shù)據(jù)傳輸模式與多端口數(shù)據(jù)傳輸模式之下,系統(tǒng)參數(shù)皆可彈性地被設定,使得數(shù)據(jù)傳輸系統(tǒng)在固定的硬件架構下,也可達到不同應用的需求(例如,多位多封包傳輸或單位多封包傳輸?shù)?,以下將針對單端口數(shù)據(jù)傳輸模式與多端口數(shù)據(jù)傳輸模式的系統(tǒng)參數(shù)設定做更詳細的說明。假設如圖2所示,數(shù)據(jù)傳輸系統(tǒng)最多可支援4個從裝置與1主裝置同時進行數(shù)據(jù)傳輸,因此同一時間最多可有4位的數(shù)據(jù)同時被輸入與輸出,于是在多端口數(shù)據(jù)傳輸模式下,端口數(shù)控制參數(shù)205可被設定為2、3或4。當端口數(shù)控制參數(shù)205被設定為4時,主裝置可同時與耦接至串行外圍設備接口的4個從裝置進行雙向的數(shù)據(jù)傳輸。當端口數(shù)控制參數(shù)205被設定為2或3時,主裝置可同時與耦接至串行外圍設備接口的2或3個從裝置進行雙向的數(shù)據(jù)傳輸。根據(jù)本發(fā)明的一實施例,此時未耦接從裝置的傳輸總線端腳位MOSI與 MISO可由系統(tǒng)設定為通用型的輸入輸出(General Purpose InputOutput,簡稱GPI0)腳位使用,因此應不會造成腳位的浪費。而在單端口數(shù)據(jù)傳輸模式下,端口數(shù)控制參數(shù)205被設定1,主裝置與耦接至串行外圍設備接口的1個從裝置進行雙向的數(shù)據(jù)傳輸。此時為了增加多層次輸入與輸出移位寄存器的使用率,數(shù)據(jù)傳輸選擇器201可將由對應的從裝置輸入的數(shù)據(jù)位依序傳送至各輸入移位寄存器,并且將儲存于各輸出移位寄存器的數(shù)據(jù)位依序傳送至對應的從裝置。更具體的說,參考圖2,于單端口數(shù)據(jù)傳輸模式下,端口數(shù)控制參數(shù)205被設定1,此時傳輸封包參數(shù)207可設定為1 4,當傳輸封包參數(shù)207設定為4時,代表一傳輸周期內(nèi)有4個封包需被傳送。因此,在傳輸周期內(nèi),數(shù)據(jù)傳輸選擇器201可將由對應的從裝置輸入各封包的數(shù)據(jù)位依序傳送至輸入移位寄存器105-0、105-1、105-2與105-3內(nèi),以及將儲存于各輸出移位寄存器106-0、106-1、106-2與106-3內(nèi)的各封包數(shù)據(jù)位依序傳送至對應的從裝置。假設系統(tǒng)的移位寄存器深度為16位,因此在一傳送周期內(nèi),最多可有16X4 = 64位的數(shù)據(jù)被雙向傳輸。相同的概念也可應用于多端口數(shù)據(jù)傳輸模式下,端口數(shù)控制參數(shù)205的設定值小于能夠同時與主裝置進行數(shù)據(jù)傳輸?shù)膹难b置的一最大數(shù)量的情況下(例如在此范例中,端口數(shù)控制參數(shù)205被設定為2或3)。如此一來,即使系統(tǒng)并未被應用于最大端口數(shù)的傳輸模式,無論是傳輸總線端腳位MOSI與MISO或是輸入/輸出移位寄存器皆可被有效的應用,不會造成浪費。圖5顯示根據(jù)本發(fā)明的另一實施例所述的一數(shù)據(jù)傳輸系統(tǒng)500。數(shù)據(jù)傳輸系統(tǒng)500 包括多個數(shù)據(jù)傳輸裝置501-0 501-1與502-0 502-7以及耦接于數(shù)據(jù)傳輸裝置之間的串行外圍設備接口 503-0與503-1,其中數(shù)據(jù)傳輸裝置501-0與501-1為主裝置,502-0 502-7為從裝置。在此實施例中,時脈信號SPI_SCLK共用于數(shù)據(jù)傳輸裝置之間,主裝置 501-0通過芯片選擇信號SPI_SS1選擇第一組從裝置502-0 502-3,而主裝置501-1通過芯片選擇信號SPI_SS2選擇第二組從裝置502-4 502-7。主裝置501-0通過傳輸總線傳送數(shù)據(jù)位SPI_D01[3:0]至從裝置502-0 502-3,其中各數(shù)據(jù)位DOW]、D0[1]、D0[2]與 DO[3]依序被傳送至對應的從裝置502-0 502-3。主裝置501-0也通過傳輸總線自從裝置 502-0 502-3 接收數(shù)據(jù)位 SPI_DI 1 [3 0],其中各數(shù)據(jù)位 DI
、DI [1]、DI [2]與 DI [3] 依序自對應的從裝置502-0 502-3被傳送至主裝置501-0。同樣地,主裝置501-1通過傳輸總線傳送數(shù)據(jù)位SPI_D02[3:0]至從裝置502-4 502-7,其中各數(shù)據(jù)位DO
、D0[1]、 DO [2]與DO [3]依序被傳送至對應的從裝置502-4 502-7。主裝置501-1也通過傳輸總線自從裝置502-4 502-7接收數(shù)據(jù)位SPI_DI2 [3 0],其中各數(shù)據(jù)位DI
、DI [1]、DI [2] 與DI [3]依序自對應的從裝置502-4 502-7被傳送至主裝置501-1。應用于數(shù)據(jù)傳輸系統(tǒng)500的數(shù)據(jù)傳輸方式可參考圖1與相關的段落,于此不再贅述。由圖1、圖2、圖5中可看出,數(shù)據(jù)傳輸系統(tǒng)內(nèi)的各元件與數(shù)據(jù)傳輸裝置可彈性地被配置, 其中數(shù)據(jù)傳輸系統(tǒng)最多可支援的傳輸位數(shù)也可以依照不同的應用需求彈性地被設計,因此以上所述的實施例僅用以清楚闡述本發(fā)明的概念,并非用以限定本發(fā)明的范圍。此外,根據(jù)本發(fā)明所提出的數(shù)據(jù)傳輸系統(tǒng)架構,不僅可保留原始四線制的串行外圍設備接口(SPI)的數(shù)據(jù)傳輸功能,更可通過系統(tǒng)參數(shù)(例如端口數(shù)控制參數(shù)205、傳輸位參數(shù)206以及傳輸封包參數(shù)207等)的設定將輸入與輸出數(shù)據(jù)妥善分配至各多層次移位寄存內(nèi),以達成利用串行外圍設備接口(SPI)同時進行多位數(shù)據(jù)的讀取或寫入的目的,藉此提高串行外圍設備接口(SPI)的應用價值。 本發(fā)明雖以實施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何所屬領域的技術人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可做些許的更動與潤飾,因此本發(fā)明的保護范圍當以權利要求所界定范圍為準。
權利要求
1.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)傳輸系統(tǒng)包括一串行外圍設備接口,耦接于一第一裝置與至少一第二裝置之間,包括 一序列時脈端,用以傳輸一時脈信號于所述第一裝置與所述至少一第二裝置之間; 一芯片選擇端,用以傳輸一芯片選擇信號于所述第一裝置與所述至少一第二裝置之間,藉此啟動數(shù)據(jù)的傳輸;一第一傳輸總線端,用以傳輸數(shù)據(jù)自所述第一裝置至所述至少一第二裝置;以及一第二傳輸總線端,用以傳輸數(shù)據(jù)自所述至少一第二裝置至所述第一裝置;以及一可編程控制器,用以控制所述串行外圍設備接口切換于一單端口數(shù)據(jù)傳輸模式與一多端口數(shù)據(jù)傳輸模式;其中當多于一個所述第二裝置耦接至所述串行外圍設備接口時,所述串行外圍設備接口切換至所述多端口數(shù)據(jù)傳輸模式,用以控制所述第一裝置與所述第二裝置之間進行多端口數(shù)據(jù)傳輸,此時所述第一裝置通過所述第一傳輸總線端同時傳輸數(shù)據(jù)至每一所述第二裝置,并且所述第一裝置通過所述第二傳輸總線端同時自每一所述第二裝置接收數(shù)據(jù)。
2.如權利要求1所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述可編程控制器被整合于所述第一裝置、至少一所述第二裝置或所述串行外圍設備接口內(nèi)。
3.如權利要求2所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)傳輸系統(tǒng)還包括多個輸入移位寄存器以及多個輸出移位寄存器,位于所述第一裝置中,當所述串行外圍設備接口切換至所述多端口數(shù)據(jù)傳輸模式時,所述輸入移位寄存器分別自所述第二裝置平行接收數(shù)據(jù),以及所述輸出移位寄存器分別平行輸出數(shù)據(jù)至所述第二裝置。
4.如權利要求3所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述可編程控制器包括一數(shù)據(jù)傳輸選擇器,用以根據(jù)一端口數(shù)控制參數(shù)進行數(shù)據(jù)分配,其中所述端口數(shù)控制參數(shù)代表同時與所述第一裝置進行數(shù)據(jù)傳輸?shù)乃鲋辽僖坏诙b置的數(shù)目。
5.如權利要求4所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述可編程控制器還包括一傳輸位計數(shù)器,用以累計在一傳輸周期內(nèi)已被傳輸?shù)囊粩?shù)據(jù)位數(shù),以得到一計數(shù)結果;一邏輯比較器,用以將所述計數(shù)結果與一傳輸位參數(shù)做比較,以取得一位比較結果,其中所述傳輸位參數(shù)取決于各輸入移位寄存器以及/或各輸出移位寄存器的一深度;以及一封包比較器,用以將所述位比較結果與一傳輸封包參數(shù)做比較,以取得一封包比較結果,其中所述傳輸封包參數(shù)代表在所述傳輸周期內(nèi)需被傳輸?shù)姆獍倲?shù),并且各封包所包含的位總數(shù)根據(jù)所述傳輸位參數(shù)決定。
6.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)傳輸系統(tǒng)包括 一串行外圍設備接口,耦接于一第一裝置,包括一序列時脈端,用以傳輸一時脈信號至至少一第二裝置; 一芯片選擇端,用以傳輸一芯片選擇信號,藉此啟動數(shù)據(jù)的傳輸; 一第一傳輸總線端,用以傳送數(shù)據(jù)至所述至少一第二裝置;以及一第二傳輸總線端,用以接收所述至少一第二裝置傳送的數(shù)據(jù);以及一可編程控制器,用以控制所述串行外圍設備接口切換于一單端口數(shù)據(jù)傳輸模式與一多端口數(shù)據(jù)傳輸模式;其中當多于一個所述第二裝置耦接至所述串行外圍設備接口時,所述串行外圍設備接口切換至所述多端口數(shù)據(jù)傳輸模式,用以控制所述第一裝置與所述第二裝置之間進行多端口數(shù)據(jù)傳輸,此時所述第一裝置通過所述第一傳輸總線端同時傳輸數(shù)據(jù)至每一所述第二裝置,并且所述第一裝置通過所述第二傳輸總線端同時自每一所述第二裝置接收數(shù)據(jù)。
7.一種可編程串行外圍設備接口控制器,用以控制一串行外圍設備接口的一數(shù)據(jù)傳輸模式,其特征在于,所述可編程串行外圍設備接口控制器包括一數(shù)據(jù)傳輸選擇器,用以根據(jù)一端口數(shù)控制參數(shù)進行數(shù)據(jù)分配;其中所述端口數(shù)控制參數(shù)代表同時與一第一裝置進行數(shù)據(jù)傳輸?shù)闹辽僖坏诙b置的數(shù)目,所述數(shù)據(jù)傳輸模式切換于一單端口數(shù)據(jù)傳輸模式與一多端口數(shù)據(jù)傳輸模式,所述第一裝置與所述至少一第二裝置通過所述串行外圍設備接口傳送數(shù)據(jù)位,當多于一個所述第二裝置耦接至所述串行外圍設備接口時,所述串行外圍設備接口被切換至所述多端口數(shù)據(jù)傳輸模式,用以控制所述第一裝置與所述第二裝置之間進行多端口數(shù)據(jù)傳輸,此時所述第一裝置通過一第一傳輸總線端同時傳輸數(shù)據(jù)至每一所述第二裝置,并且所述第一裝置通過一第二傳輸總線端同時自每一所述第二裝置接收數(shù)據(jù)。
8.如權利要求7所述的可編程串行外圍設備接口控制器,其特征在于,于所述多端口數(shù)據(jù)傳輸模式時,所述數(shù)據(jù)傳輸選擇器控制所述第一裝置的多個輸入移位寄存器以分別自每一所述第二裝置平行接收數(shù)據(jù),以及控制所述第一裝置的多個輸出移位寄存器以分別平行輸出數(shù)據(jù)至每一所述第二裝置。
9.如權利要求8所述的可編程串行外圍設備接口控制器,其特征在于,所述可編程串行外圍設備接口控制器還包括一傳輸位計數(shù)器,用以累計在一傳輸周期內(nèi)已被傳輸?shù)囊粩?shù)據(jù)位數(shù),以得到一計數(shù)結果;以及一邏輯比較器,用以將所述計數(shù)結果與一傳輸位參數(shù)做比較,以取得一位比較結果,其中所述傳輸位參數(shù)取決于各輸入移位寄存器以及/或各輸出移位寄存器的一深度。
10.如權利要求8所述的可編程串行外圍設備接口控制器,其特征在于,當所述端口數(shù)控制參數(shù)的一設定值等于能夠同時與所述第一裝置進行數(shù)據(jù)傳輸?shù)乃鲋辽僖坏诙b置的一最大數(shù)量時,所述數(shù)據(jù)傳輸選擇器將由所述第二裝置平行輸入的所述數(shù)據(jù)位分別傳送至對應的每一所述輸入移位寄存器,并且分別將儲存于所述輸出移位寄存器的所述數(shù)據(jù)位平行傳送至對應的一第二裝置。
11.如權利要求8所述的可編程串行外圍設備接口控制器,其特征在于,當所述端口數(shù)控制參數(shù)的一設定值小于能夠同時與所述第一裝置進行數(shù)據(jù)傳輸?shù)乃鲋辽僖坏诙b置的一最大數(shù)量時,所述數(shù)據(jù)傳輸選擇器將由對應的所述第二裝置輸入的所述數(shù)據(jù)位依序傳送至所述輸入移位寄存器,并且將儲存于所述輸出移位寄存器的所述數(shù)據(jù)位依序傳送至對應的所述第二裝置。
全文摘要
本發(fā)明實施例提供一種數(shù)據(jù)傳輸系統(tǒng)與可編程串行外圍設備接口控制器,所述數(shù)據(jù)傳輸系統(tǒng)包括一串行外圍設備接口與一可編程控制器。串行外圍設備接口耦接于一第一裝置與至少一第二裝置之間。可編程控制器用以控制串行外圍設備接口切換于一單端口數(shù)據(jù)傳輸模式與一多端口數(shù)據(jù)傳輸模式,其中當多于一個第二裝置耦接至串行外圍設備接口時,串行外圍設備接口切換至多端口數(shù)據(jù)傳輸模式,用以控制第一裝置與所述第二裝置之間進行多端口數(shù)據(jù)傳輸,此時第一裝置通過串行外圍設備接口的一第一傳輸總線端同時傳輸數(shù)據(jù)至每一個第二裝置,并且第一裝置通過串行外圍設備接口的一第二傳輸總線端同時自每一個第二裝置接收數(shù)據(jù)。
文檔編號G06F13/38GK102193888SQ20101013231
公開日2011年9月21日 申請日期2010年3月12日 優(yōu)先權日2010年3月12日
發(fā)明者陳志銘 申請人:新唐科技股份有限公司