TW202326457A - 菊鏈spi積體電路及其操作方法 - Google Patents
菊鏈spi積體電路及其操作方法 Download PDFInfo
- Publication number
- TW202326457A TW202326457A TW111125174A TW111125174A TW202326457A TW 202326457 A TW202326457 A TW 202326457A TW 111125174 A TW111125174 A TW 111125174A TW 111125174 A TW111125174 A TW 111125174A TW 202326457 A TW202326457 A TW 202326457A
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- interface
- multiplexer
- daisy
- serial peripheral
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000002093 peripheral effect Effects 0.000 claims abstract description 140
- 244000294411 Mirabilis expansa Species 0.000 claims abstract description 38
- 235000015429 Mirabilis expansa Nutrition 0.000 claims abstract description 38
- 235000013536 miso Nutrition 0.000 claims abstract description 38
- 239000004065 semiconductor Substances 0.000 claims description 9
- 230000008878 coupling Effects 0.000 claims 11
- 238000010168 coupling process Methods 0.000 claims 11
- 238000005859 coupling reaction Methods 0.000 claims 11
- 230000008685 targeting Effects 0.000 claims 1
- 101100309631 Arabidopsis thaliana SCL22 gene Proteins 0.000 description 11
- 101100309630 Arabidopsis thaliana SCL21 gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 235000007516 Chrysanthemum Nutrition 0.000 description 1
- 244000189548 Chrysanthemum x morifolium Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4247—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
- G06F13/4256—Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0012—High speed serial bus, e.g. IEEE P1394
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
- Semiconductor Integrated Circuits (AREA)
- Small-Scale Networks (AREA)
Abstract
本發明提供一種菊鏈序列周邊介面(SPI)積體電路及其操作方法。菊鏈SPI積體電路包括第一MISO介面電路、第二MISO介面電路、第一資料致能介面電路與第二資料致能介面電路。當菊鏈SPI積體電路是主積體電路為了讀取目標資料而選擇的目標僕電路時,第一資料致能介面電路輸出資料致能訊號給主積體電路,以及基於資料致能訊號的時序第一MISO介面電路回傳目標資料給主積體電路。當菊鏈SPI積體電路不是目標僕電路時,第二資料致能介面電路所接收的訊號被傳輸至第一資料致能介面電路,以及第二MISO介面電路所接收的資料被傳輸至第一MISO介面電路。
Description
本發明是有關於一種積體電路(Integrated Circuit,IC),且特別是有關於一種菊鏈(daisy-chain)序列周邊介面(Serial Peripheral Interface,SPI)積體電路及其操作方法。
一些產品應用可能需要多個積體電路(Integrated Circuit,IC)協同運作。舉例來說,在大尺寸觸控顯示IC(Large Touch Display IC,LTDI)應用中,多個(例如30個)驅動積體電路協同運作以驅動同一個大尺寸觸控顯示面板。序列周邊介面(Serial Peripheral Interface,SPI)架構可以提供多點驅動(multi-drop driving)架構。在多點驅動架構中,主積體電路(master IC)可以通過同一個導線(通道)連接/驅動多個僕積體電路(slave ICs)。隨著導線的扇出(fan-out)越大,所述導線的訊號轉態時間越長,致使訊號傳輸效率越差。此外,主積體電路在現有的SPI協定中一次只能選擇一個僕積體電路。現有的SPI協定並沒有廣播(broadcast)功能。主積體電路如何高效控制很多僕積體電路,是本技術領域諸多技術課題之一。
本發明提供一種菊鏈(daisy-chain)序列周邊介面(Serial Peripheral Interface,SPI)積體電路及其操作方法,其使在菊鏈SPI架構中的主積體電路可以高效控制多個僕積體電路。
在本發明的一實施例中,上述的菊鏈SPI積體電路包括第一MISO(Master Input, Slave Output,譯為主機輸入僕機輸出):主機輸出從機輸入)介面電路、第二MISO介面電路、第一資料致能(data enable,DE)介面電路、第二資料致能介面電路、路由電路以及核心電路。路由電路耦接至第一MISO介面電路的輸入端、第二MISO介面電路的輸出端、第一資料致能介面電路的輸入端以及第二資料致能介面電路的輸出端。核心電路耦接至路由電路。當菊鏈SPI積體電路是菊鏈SPI架構的僕積體電路(slave IC)且菊鏈SPI積體電路是菊鏈SPI架構的主積體電路(master IC)為了讀取目標資料而選擇的目標僕電路時,核心電路通過路由電路與第一資料致能介面電路輸出資料致能訊號給主積體電路,以及核心電路基於資料致能訊號的時序通過路由電路與第一MISO介面電路回傳目標資料給主積體電路。當菊鏈SPI積體電路是菊鏈SPI架構的僕積體電路且菊鏈SPI積體電路不是目標僕電路時,路由電路將第二資料致能介面電路所接收的訊號傳輸至第一資料致能介面電路,以及路由電路將第二MISO介面電路所接收的資料傳輸至第一MISO介面電路。
在本發明的一實施例中,上述的操作方法包括:由至少一個晶片識別接腳定義菊鏈SPI積體電路的專屬識別碼;當專屬識別碼表示菊鏈SPI積體電路是菊鏈SPI架構的僕積體電路時,由菊鏈SPI積體電路的核心電路判定菊鏈SPI積體電路是否為菊鏈SPI架構的主積體電路所選擇的目標僕電路;當菊鏈SPI積體電路是菊鏈SPI架構的僕積體電路且菊鏈SPI積體電路是主積體電路為了讀取目標資料而選擇的目標僕電路時,由核心電路通過菊鏈SPI積體電路的路由電路與菊鏈SPI積體電路的第一資料致能介面電路輸出一資料致能訊號給主積體電路,以及由核心電路基於資料致能訊號的時序通過路由電路與菊鏈SPI積體電路的第一MISO介面電路回傳目標資料給主積體電路;以及當菊鏈SPI積體電路是菊鏈SPI架構的僕積體電路且菊鏈SPI積體電路不是目標僕電路時,由路由電路將菊鏈SPI積體電路的第二資料致能介面電路所接收的訊號傳輸至第一資料致能介面電路,以及由路由電路將菊鏈SPI積體電路的第二MISO介面電路所接收的資料傳輸至第一MISO介面電路。
基於上述,本發明諸實施例所述菊鏈SPI積體電路適用於菊鏈SPI架構。在菊鏈SPI架構中,亦即在多晶片級聯架構(multi-chip cascaded architecture)中,多個僕積體電路相互串接而形成一個菊鏈,而主積體電路連接於菊鏈中的第一個僕積體電路。所述菊鏈SPI積體電路可以通過菊鏈架構改善多晶片系統中的多點驅動問題(multi-drop driving issue)。通過自定義SPI協議而添加資料致能(DE)訊號,主積體電路可以知道任何一個僕積體電路所回傳資料的時序。因此在菊鏈SPI架構中,主積體電路可以高效控制多個僕積體電路。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本案說明書全文(包括申請專利範圍)中所使用的「耦接(或連接)」一詞可指任何直接或間接的連接手段。舉例而言,若文中描述第一裝置耦接(或連接)於第二裝置,則應該被解釋成該第一裝置可以直接連接於該第二裝置,或者該第一裝置可以透過其他裝置或某種連接手段而間接地連接至該第二裝置。本案說明書全文(包括申請專利範圍)中提及的「第一」、「第二」等用語是用以命名元件(element)的名稱,或區別不同實施例或範圍,而並非用來限制元件數量的上限或下限,亦非用來限制元件的次序。另外,凡可能之處,在圖式及實施方式中使用相同標號的元件/構件/步驟代表相同或類似部分。不同實施例中使用相同標號或使用相同用語的元件/構件/步驟可以相互參照相關說明。
現有的標準序列周邊介面(Serial Peripheral Interface,SPI)協定無法滿足多顆積體電路串接的應用。現有的標準SPI協定限定,在SPI主積體電路(master IC)發出讀取命令後,主積體電路要在固定數量的時脈週期(clock cycle)中,亦即在固定等待時間內,接收到SPI僕積體電路(slave IC)所回傳的資料。在多顆積體電路相互串接的結構中,一旦積體電路的串接數量眾多,離主積體電路比較遠的那顆僕積體電路可能來不及在現有的標準SPI協定所規定的等待時間內送回資料給主積體電路,造成違反標準SPI協定(standard SPI protocol violation)。本發明的下述實施例將說明解決方案。下述實施例提出的自定義SPI協定添加了資料致能(DE)訊號。基於資料致能訊號,主積體電路可以知道在菊鏈SPI架構中的任何一個僕積體電路所回傳資料的時序。主積體電路在發出讀取命令後不需閒置(idle)去等待回傳資料的到來(此時主積體電路可以去進行其他事物),直到資料致能訊號提示了回傳資料(有效資料)的到來。
圖1是依照本發明的一實施例的一種菊鏈(daisy-chain)SPI架構100的電路方塊(circuit block)示意圖。菊鏈SPI架構100包括相互串接的多個積體電路(Integrated Circuit,IC),例如主積體電路M1以及僕積體電路S1、S2、S3、…、Sn。僕積體電路S1~Sn的數量n可以依照實際設計來決定。在菊鏈SPI架構100中,僕積體電路S1~Sn相互串接而形成一個菊鏈,而主積體電路M1連接於菊鏈中的第一個僕積體電路S1。主積體電路M1以及僕積體電路S1~Sn分別被給予/定義不同的專屬識別碼。舉例來說,主積體電路M1的專屬識別碼是ID_M,僕積體電路S1的專屬識別碼是ID_S1,僕積體電路S2的專屬識別碼是ID_S2,僕積體電路S3的專屬識別碼是ID_S3,而僕積體電路Sn的專屬識別碼是ID_Sn。
主積體電路M1可以發送符合SPI規範的命令(或資料)mosi、晶片選擇訊號cs與時脈訊號scl給菊鏈,而菊鏈中的任何一個僕積體電路可以將來自於前級積體電路的命令(或資料)mosi、晶片選擇訊號cs與時脈訊號scl傳遞給後級積體電路。每一個僕積體電路S1~Sn可以解碼晶片選擇訊號cs以判定本身是否為主積體電路M1所選擇的目標僕電路。舉例來說,當僕積體電路S3解碼晶片選擇訊號cs的解碼結果吻合專屬識別碼ID_S3時,僕積體電路S3可以判定本身為主積體電路M1所選擇的目標僕電路,因此僕積體電路S3可以執行(處理)主積體電路M1的命令(或資料)mosi。
此外,主積體電路M1以及僕積體電路S1~Sn還被給予/定義一個(或多個)相同的廣播識別碼ID_CM。每一個僕積體電路S1~Sn可以依據晶片選擇訊號cs與廣播識別碼ID_CM的關係去判定本身是否為主積體電路M1的廣播目標。舉例來說,當對晶片選擇訊號cs的解碼結果不吻合僕積體電路S3的專屬識別碼ID_S3但是吻合僕積體電路S1~Sn所共用的廣播識別碼ID_CM時,僕積體電路S3可以判定本身為主積體電路M1所選擇的目標僕電路(廣播目標),因此僕積體電路S3可以執行(處理)主積體電路M1的命令(或資料)mosi。反之,當對晶片選擇訊號cs的解碼結果不吻合專屬識別碼ID_S3亦不吻合廣播識別碼ID_CM時,僕積體電路S3可以判定本身不是主積體電路M1所選擇的目標僕電路,因此僕積體電路S3可以忽略(不處理)主積體電路M1的命令(或資料)mosi。
而菊鏈中的任何一個僕積體電路可以將來自於後級積體電路的資料miso與資料致能訊號DE1傳遞給前級積體電路。因此,基於命令(或資料)mosi的執行(處理)結果,每一個僕積體電路S1~Sn可以將資料miso與資料致能訊號DE1回傳給主積體電路M1。資料致能訊號DE1可以指示資料miso的有效時序。基於菊鏈架構,主積體電路M1存取不同位置的僕積體電路所花費的時間(從發出命令至接收到回傳資料的間隔時間)各不相同。基於資料致能訊號DE1,在主積體電路M1發出命令後不需閒置(idle)去等待回傳資料的到來。在發出命令後主積體電路M1可以去進行其他事物,直到資料致能訊號DE1提示了回傳資料(有效資料)的到來。
綜上所述,在菊鏈SPI架構100中,亦即在多晶片級聯架構(multi-chip cascaded architecture)中,多個僕積體電路S1~Sn相互串接而形成一個菊鏈,而主積體電路M1連接於菊鏈中的第一個僕積體電路S1。菊鏈SPI架構100可以改善多晶片系統中的多點驅動問題(multi-drop driving issue)。通過自定義SPI協議而添加資料致能訊號DE1,主積體電路M1可以知道任何一個僕積體電路S1~Sn所回傳資料的時序。因此在菊鏈SPI架構100中,主積體電路M1可以高效控制多個僕積體電路S1~Sn。
圖2A與圖2B是依照本發明的一實施例的一種菊鏈SPI積體電路200的電路方塊示意圖。圖2A繪示了菊鏈SPI積體電路200的一種應用情境範例。圖2A所示菊鏈SPI積體電路200可以參照圖1所示僕積體電路S1~Sn的任何一個的相關說明加以類推。圖2B繪示了菊鏈SPI積體電路200的另一種應用情境範例。圖2B所示菊鏈SPI積體電路200可以參照圖1所示主積體電路M1的相關說明加以類推。
圖2A所示菊鏈SPI積體電路200可以作為圖1所示僕積體電路S1~Sn的任何一個的諸多實施例之一。菊鏈SPI積體電路200耦接於前級積體電路21與後級積體電路22之間。假設圖2A所示菊鏈SPI積體電路200是圖1所示僕積體電路S1,則圖2A所示前級積體電路21與後級積體電路22可以是圖1所示主積體電路M1與僕積體電路S2,而圖2A所示專屬識別碼ID_200可以是圖1所示專屬識別碼ID_S1。假設圖2A所示菊鏈SPI積體電路200是圖1所示僕積體電路S2,則圖2A所示前級積體電路21與後級積體電路22可以是圖1所示僕積體電路S1與僕積體電路S3,而圖2A所示專屬識別碼ID_200可以是圖1所示專屬識別碼ID_S2。
圖2B所示菊鏈SPI積體電路200可以作為圖1所示主積體電路M1的諸多實施例之一。菊鏈SPI積體電路200耦接至後級積體電路22。假設圖2B所示菊鏈SPI積體電路200是圖1所示主積體電路M1,則圖2B所示後級積體電路22可以是圖1所示僕積體電路S1,而圖2B所示專屬識別碼ID_200可以是圖1所示專屬識別碼ID_M。
圖2A與圖2B所示菊鏈SPI積體電路200包括資料致能(data enable,DE)介面電路DE21、DE介面電路DE22、MOSI(Master Output, Slave Input,譯為主機輸出僕機輸入)介面電路MOSI21、MOSI介面電路MOSI22、MISO(Master Input, Slave Output,譯為主機輸入僕機輸出)介面電路MISO21、MISO介面電路MISO22、晶片選擇介面電路CS21、晶片選擇介面電路CS22、時脈介面電路SCL21、時脈介面電路SCL22、路由電路210以及核心電路220。這些介面電路的每一個可以包括接腳(或焊墊,或連接墊)。基於實際設計,在一些實施例中,這些介面電路的每一個可以包括緩衝器電路、增益電路、靜電放電(Electrostatic discharge,ESD)保護電路以及(或是)其他電路。路由電路210耦接至MISO介面電路MISO21的輸入端、MISO介面電路MISO22的輸出端、DE介面電路DE21的輸入端以及DE介面電路DE22的輸出端。核心電路220耦接至路由電路210。
圖3是依照本發明的一實施例的一種菊鏈SPI積體電路的操作方法的流程示意圖。請參照圖2A(或圖2B)以及圖3。在步驟S310中,至少一個晶片識別接腳ID21可以定義菊鏈SPI積體電路200的專屬識別碼ID_200。步驟S320可以判斷菊鏈SPI積體電路200是主積體電路或是僕積體電路。在一些實際設計範例中,核心電路220可以檢查晶片識別接腳ID21的專屬識別碼ID_200,以判斷菊鏈SPI積體電路200是主積體電路或是僕積體電路。舉例來說,識別碼「0000 0000」可以被定義為「主積體電路的專屬識別碼」,識別碼「1111 1111」可以被定義為「廣播識別碼」(多個僕積體電路所共用的識別碼),而其他識別碼「0000 0001」至「1111 1110」可以被定義為「不同僕積體電路的專屬識別碼」。因此,核心電路220可以檢查晶片識別接腳ID21的專屬識別碼ID_200是識別碼「0000 0000」還是其他識別碼「0000 0001」至「1111 1110」,以判斷菊鏈SPI積體電路200的角色是菊鏈SPI架構100中的主積體電路或是僕積體電路。
當專屬識別碼ID_200表示菊鏈SPI積體電路200是菊鏈SPI架構100中的僕積體電路時(步驟S320的判斷結果為「僕積體電路」),菊鏈SPI積體電路200的核心電路220可以進行步驟S330,以判定菊鏈SPI積體電路200是否為菊鏈SPI架構100中的主積體電路M1所選擇的目標僕電路。圖3所示步驟S330、S340與S350可以參照圖2A所示應用情境。
請參照圖2A與圖3。當菊鏈SPI積體電路200是菊鏈SPI架構100中的主積體電路M1為了讀取目標資料而選擇的一個目標僕電路時(步驟S330的判斷結果為「是」),核心電路220可以進行步驟S340,以通過路由電路210與DE介面電路DE21輸出資料致能訊號Sde21作為圖1所示資料致能訊號DE1給主積體電路M1。基於資料致能訊號Sde21的時序,核心電路220可以通過路由電路210與MISO介面電路MISO21回傳目標資料Smiso21給主積體電路M1(步驟S340)。當菊鏈SPI積體電路200不是所述目標僕電路時(步驟S330的判斷結果為「否」),核心電路220可以進行步驟S350,以控制路由電路210將DE介面電路DE22(第二DE介面電路)所接收的訊號Sde22傳輸至DE介面電路DE21(第一DE介面電路)。在步驟S350中,路由電路210還可以將MISO介面電路MISO22(第二MISO介面電路)所接收的資料Smiso22傳輸至MISO介面電路MISO21(第一MISO介面電路)。
請參照圖2A。路由電路210還耦接至時脈介面電路SCL21的輸出端以及時脈介面電路SCL22的輸入端。當菊鏈SPI積體電路200是菊鏈SPI架構100中僕積體電路S1~Sn的其中一個時,路由電路210可以將時脈介面電路SCL21所接收的時脈訊號Ssc22傳輸至時脈介面電路SCL22與核心電路220。路由電路210還耦接至晶片選擇介面電路CS21的輸出端以及晶片選擇介面電路CS22的輸入端。當菊鏈SPI積體電路200是菊鏈SPI架構100中僕積體電路S1~Sn的其中一個時,路由電路210可以將晶片選擇介面電路CS21所接收的晶片選擇訊號Scs22傳輸至晶片選擇介面電路CS22與核心電路220。路由電路210還耦接至MOSI介面電路MOSI21的輸出端以及MOSI介面電路MOSI22的輸入端。當菊鏈SPI積體電路200是菊鏈SPI架構100中僕積體電路S1~Sn的其中一個時,路由電路210可以將MOSI介面電路MOSI21所接收的主電路資料Smosi22傳輸至MOSI介面電路MOSI22與核心電路220。
菊鏈SPI架構100中的主積體電路M1可以發出晶片選擇訊號cs(晶片選擇訊號Scs22)以指定菊鏈SPI積體電路200為目標僕電路,以及發出命令mosi(主電路資料Smosi22)給目標僕電路以讀取目標資料。核心電路220可以解碼晶片選擇訊號Scs22,以判定菊鏈SPI積體電路200是否為主積體電路M1所選擇的目標僕電路。當核心電路220解碼晶片選擇訊號Scs22的解碼結果吻合菊鏈SPI積體電路200的專屬識別碼ID_200時,核心電路220可以判定菊鏈SPI積體電路200為主積體電路M1所選擇的目標僕電路。當所述解碼結果不吻合菊鏈SPI積體電路200的專屬識別碼ID_200但是吻合僕積體電路S1~Sn所共用的廣播識別碼ID_CM時,核心電路220可以判定菊鏈SPI積體電路200為主積體電路M1所選擇的目標僕電路。
在核心電路220可以判定菊鏈SPI積體電路200為主積體電路M1所選擇的目標僕電路的情況下,核心電路220可以執行(處理)主積體電路M1所發出的主電路資料Smosi22(例如命令或資料)。假設主電路資料Smosi22包含資料讀取命令。基於主積體電路M1所發出的資料讀取命令,核心電路220可以通過路由電路210、MISO介面電路MISO21與DE介面電路DE21將目標資料Smiso21與資料致能訊號Sde21回傳給主積體電路M1。資料致能訊號Sde21可以指示目標資料Smiso21的有效時序。
當所述解碼結果不吻合菊鏈SPI積體電路200的專屬識別碼ID_200亦不吻合廣播識別碼ID_CM時,核心電路220可以判定菊鏈SPI積體電路200不是主積體電路M1所選擇的目標僕電路。因此,核心電路220可以忽略(不處理)主積體電路M1所發出的主電路資料Smosi22(例如命令或資料)。在此情況下,路由電路210可以基於核心電路220的控制,將MISO介面電路MISO22所接收的資料Smiso22傳輸至MISO介面電路MISO21,以及將DE介面電路DE22所接收的訊號Sde22傳輸至DE介面電路DE21。
請參照圖2B與圖3。當專屬識別碼ID_200表示菊鏈SPI積體電路200是菊鏈SPI架構100中的主積體電路M1時(步驟S320的判斷結果為「主積體電路」),菊鏈SPI積體電路200的核心電路220可以進行步驟S360與S370。圖3所示步驟S360與S370可以參照圖2B所示應用情境。在圖2B所示情境中,亦即當菊鏈SPI積體電路200是菊鏈SPI架構100中的主積體電路M1時,核心電路220可以通過路由電路210與時脈介面電路SCL22輸出時脈訊號Ssc21給菊鏈SPI架構100中的僕積體電路S1~Sn。
在步驟S360中,核心電路220可以通過路由電路210與晶片選擇介面電路CS22輸出晶片選擇訊號Scs21(晶片選擇訊號cs)給菊鏈SPI架構100中的僕積體電路S1~Sn,以指定/選擇目標僕電路。此外,核心電路220可以通過路由電路210與MOSI介面電路MOSI22輸出主電路資料Smosi21(命令mosi)給目標僕電路以讀取目標資料。響應於核心電路220的命令(主電路資料Smosi21),目標僕電路會回傳訊號Sde22(資料致能訊號)與資料Smiso22(目標資料)給菊鏈SPI積體電路200。
在步驟S370中,核心電路220可以通過路由電路210、DE介面電路DE22與MISO介面電路MISO22接收目標僕電路所發出的訊號Sde22(資料致能訊號)與資料Smiso22(目標資料)。所述目標僕電路是對應於晶片選擇訊號Scs21。通過自定義SPI協議而添加訊號Sde22(資料致能訊號),核心電路220可以知道任何一個僕積體電路S1~Sn所回傳資料的時序。基於訊號Sde22(資料致能訊號),在核心電路220發出命令後不需閒置(idle)去等待資料Smiso22(目標資料)。在發出命令後核心電路220可以去進行其他事物,直到訊號Sde22(資料致能訊號)提示了有效資料Smiso22(目標資料)的到來。因此,核心電路220可以高效控制多個僕積體電路S1~Sn。
圖4是依照本發明的另一實施例所繪示,菊鏈SPI積體電路400的電路方塊示意圖。圖4所示菊鏈SPI積體電路400包括DE介面電路DE21、DE介面電路DE22、MOSI介面電路MOSI21、MOSI介面電路MOSI22、MOSI介面電路MOSI23、MOSI介面電路MOSI24、MISO介面電路MISO21、MISO介面電路MISO22、MISO介面電路MISO23、MISO介面電路MISO24、晶片選擇介面電路CS21、晶片選擇介面電路CS22、時脈介面電路SCL21、時脈介面電路SCL22、路由電路210以及核心電路220。圖4所示菊鏈SPI積體電路400、DE介面電路DE21、DE介面電路DE22、MOSI介面電路MOSI21、MOSI介面電路MOSI22、MISO介面電路MISO21、MISO介面電路MISO22、晶片選擇介面電路CS21、晶片選擇介面電路CS22、時脈介面電路SCL21、時脈介面電路SCL22、路由電路210以及核心電路220可以參照圖2A與圖2B所示菊鏈SPI積體電路200、DE介面電路DE21、DE介面電路DE22、MOSI介面電路MOSI21、MOSI介面電路MOSI22、MISO介面電路MISO21、MISO介面電路MISO22、晶片選擇介面電路CS21、晶片選擇介面電路CS22、時脈介面電路SCL21、時脈介面電路SCL22、路由電路210以及核心電路220的相關說明加以類推,故不再贅述。基於實際設計,在一些實施例中,圖2A與圖2B所示路由電路210以及核心電路220的實施細節可以參照圖4所示路由電路210以及核心電路220的相關說明加以類推。
在圖4所示實施例中,核心電路220包括主模式核心電路221以及僕模式核心電路222。主模式核心電路221與僕模式核心電路222耦接至路由電路210。基於晶片識別接腳ID21的專屬識別碼,在菊鏈SPI積體電路400作為主積體電路M1的情況下,主模式核心電路221可以被致能(enable)而僕模式核心電路222可以被禁能(disable)。在菊鏈SPI積體電路400作為僕積體電路S1~Sn的其中一個的情況下,主模式核心電路221可以被禁能而僕模式核心電路222可以被致能。
在圖4所示實施例中,路由電路210包括閂鎖電路L1、多工器Mux1、閂鎖電路L3以及多工器Mux3。閂鎖電路L1的輸入端耦接至DE介面電路DE22的輸出端。多工器Mux1的第一輸入端耦接至核心電路220的僕模式核心電路222。多工器Mux1的第二輸入端耦接至閂鎖電路L1的輸出端。多工器Mux1的輸出端耦接至DE介面電路DE21的輸入端。在菊鏈SPI積體電路400作為僕積體電路S1~Sn的其中一個的情況下,當菊鏈SPI積體電路400為主積體電路M1所選的目標僕電路時,多工器Mux1的輸出端選擇性地耦接至多工器Mux1的第一輸入端,亦即僕模式核心電路222選擇性地耦接至DE介面電路DE21的輸入端。當菊鏈SPI積體電路400不是所述目標僕電路時,多工器Mux1的輸出端選擇性地耦接至多工器Mux1的第二輸入端,亦即閂鎖電路L1的輸出端選擇性地耦接至DE介面電路DE21的輸入端。
閂鎖電路L3的輸入端耦接至MISO介面電路MISO22的輸出端。多工器Mux3的第一輸入端耦接至核心電路220的僕模式核心電路222。多工器Mux3的第二輸入端耦接至閂鎖電路L3的輸出端。多工器Mux3的輸出端耦接至MISO介面電路MISO21的輸入端。在菊鏈SPI積體電路400作為僕積體電路S1~Sn的其中一個的情況下,當菊鏈SPI積體電路400為主積體電路M1所選的目標僕電路時,多工器Mux3的輸出端選擇性地耦接至多工器Mux3的第一輸入端,亦即僕模式核心電路222選擇性地耦接至MISO介面電路MISO21的輸入端。當菊鏈SPI積體電路400不是所述目標僕電路時,多工器Mux3的輸出端選擇性地耦接至多工器Mux3的第二輸入端,亦即閂鎖電路L3的輸出端選擇性地耦接至MISO介面電路MISO21的輸入端。
在圖4所示實施例中,路由電路210還包括閂鎖電路L5以及多工器Mux5。閂鎖電路L5的輸入端耦接至MISO介面電路MISO23的輸出端。多工器Mux5的第一輸入端耦接至核心電路220的主模式核心電路221。多工器Mux5的第二輸入端耦接至閂鎖電路L5的輸出端。多工器Mux5的輸出端耦接至MISO介面電路MISO24的輸入端。當菊鏈SPI積體電路400為主積體電路M1時,多工器Mux5的輸出端選擇性地耦接至多工器Mux5的第一輸入端,亦即主模式核心電路221選擇性地耦接至MISO介面電路MISO24的輸入端。當菊鏈SPI積體電路400不是主積體電路M1時,多工器Mux5的輸出端選擇性地耦接至多工器Mux5的第二輸入端,亦即閂鎖電路L5的輸出端選擇性地耦接至MISO介面電路MISO24的輸入端。
在圖4所示實施例中,路由電路210還包括閂鎖電路L4以及多工器Mux4。閂鎖電路L4的輸入端耦接至MOSI介面電路MOSI21的輸出端。多工器Mux4的第一輸入端耦接至核心電路220的主模式核心電路221。多工器Mux4的第二輸入端耦接至閂鎖電路L4的輸出端。多工器Mux4的輸出端耦接至MOSI介面電路MOSI22的輸入端。當菊鏈SPI積體電路400是菊鏈SPI架構100中的主積體電路M1時,多工器Mux4的輸出端選擇性地耦接至多工器Mux4的第一輸入端,亦即主模式核心電路221選擇性地耦接至MOSI介面電路MOSI22的輸入端。當菊鏈SPI積體電路400不是主積體電路M1時,多工器Mux4的輸出端選擇性地耦接至多工器Mux4的第二輸入端,亦即閂鎖電路L4的輸出端選擇性地耦接至MOSI介面電路MOSI22的輸入端。
在圖4所示實施例中,路由電路210還包括閂鎖電路L2以及多工器Mux2。閂鎖電路L2的輸入端耦接至MOSI介面電路MOSI24的輸出端。多工器Mux2的第一輸入端耦接至核心電路220的僕模式核心電路222。多工器Mux2的第二輸入端耦接至閂鎖電路L2的輸出端。多工器Mux2的輸出端耦接至MOSI介面電路MOSI23的輸入端。在菊鏈SPI積體電路400作為僕積體電路S1~Sn的其中一個的情況下,當菊鏈SPI積體電路400為主積體電路M1所選的目標僕電路時,多工器Mux2的輸出端選擇性地耦接至多工器Mux2的第一輸入端,亦即僕模式核心電路222選擇性地耦接至MOSI介面電路MOSI23的輸入端。當菊鏈SPI積體電路400不是所述目標僕電路時,多工器Mux2的輸出端選擇性地耦接至多工器Mux2的第二輸入端,亦即閂鎖電路L2的輸出端選擇性地耦接至MOSI介面電路MOSI23的輸入端。
在圖4所示實施例中,路由電路210還包括閂鎖電路L6以及多工器Mux6。閂鎖電路L6的輸入端耦接至晶片選擇介面電路CS21的輸出端。多工器Mux6的第一輸入端耦接至核心電路220的主模式核心電路221。多工器Mux6的第二輸入端耦接至閂鎖電路L6的輸出端。多工器Mux6的輸出端耦接至晶片選擇介面電路CS22的輸入端。當菊鏈SPI積體電路400為主積體電路M1時,多工器Mux6的輸出端選擇性地耦接至多工器Mux6的第一輸入端,亦即主模式核心電路221選擇性地耦接至晶片選擇介面電路CS22的輸入端。當菊鏈SPI積體電路400不是主積體電路M1時,多工器Mux6的輸出端選擇性地耦接至多工器Mux6的第二輸入端,亦即閂鎖電路L6的輸出端選擇性地耦接至晶片選擇介面電路CS22的輸入端。
在圖4所示實施例中,路由電路210還包括多工器Mux7。多工器Mux7的第一輸入端耦接至核心電路220的主模式核心電路221。多工器Mux7的第二輸入端耦接至時脈介面電路SCL21的輸出端。多工器Mux7的輸出端耦接至時脈介面電路SCL22的輸入端。當菊鏈SPI積體電路400為主積體電路M1時,多工器Mux7的輸出端選擇性地耦接至多工器Mux7的輸入端,亦即主模式核心電路221選擇性地耦接至時脈介面電路SCL22的輸入端。當菊鏈SPI積體電路400不是主積體電路M1時,多工器Mux7的輸出端選擇性地耦接至多工器Mux7的第二輸入端,亦即時脈介面電路SCL21的輸出端選擇性地耦接至時脈介面電路SCL22的輸入端。
當菊鏈SPI積體電路400是菊鏈SPI架構100的主積體電路M1時,主模式核心電路221可以通過路由電路210的多工器Mux6與晶片選擇介面電路CS22輸出晶片選擇訊號Scs21給菊鏈SPI架構100的僕積體電路S1~Sn,以及主模式核心電路221可以通過路由電路210與MISO介面電路MISO22讀取晶片選擇訊號Scs21所對應的目標僕電路的目標資料。當菊鏈SPI積體電路400是菊鏈SPI架構100的僕積體電路S1~Sn的其中一個且菊鏈SPI積體電路400為主積體電路M1所選的目標僕電路時,僕模式核心電路222可以通過路由電路210的多工器Mux1與DE介面電路DE21輸出資料致能訊號Sde21給菊鏈SPI架構100的主積體電路M1,以及僕模式核心電路222可以基於資料致能訊號Sde21的時序通過路由電路與該第一MISO介面電路回傳目標資料Smiso21給主積體電路M1。
本實施例所述菊鏈SPI積體電路400適用於圖1所示菊鏈SPI架構100。在菊鏈SPI架構100中,亦即在多晶片級聯架構中,多個僕積體電路S1~Sn相互串接而形成一個菊鏈,而主積體電路M1連接於菊鏈中的第一個僕積體電路S1。基於實際設計,菊鏈SPI積體電路400可以作為主積體電路M1或是僕積體電路S1~Sn其中一個。菊鏈SPI積體電路400可以通過菊鏈架構改善多晶片系統中的多點驅動問題(multi-drop driving issue)。此外,僕積體電路S1~Sn可以被額外給予/定義一個(或多個)相同的廣播識別碼ID_CM。主積體電路M1可以使用廣播識別碼ID_CM將共同資料廣播給僕積體電路S1~Sn。通過廣播操作,主積體電路M1到僕積體電路S1~Sn的傳輸性能可以被有效提高。再者,僕積體電路S1~Sn可以傳送資料致能訊號給主積體電路M1。通過自定義SPI協議添加資料致能訊號路徑,菊鏈SPI積體電路400可以有效解決不同僕積體電路回傳資料時間不同的問題。
依照不同的設計需求,上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222的實現方式可以是硬體(hardware)、韌體(firmware)、軟體(software,即程式)或是前述三者中的多者的組合形式。以硬體形式而言,上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222可以實現於積體電路(integrated circuit)上的邏輯電路。上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222的相關功能可以利用硬體描述語言(hardware description languages,例如Verilog HDL或VHDL)或其他合適的編程語言來實現為硬體。舉例來說,上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222的相關功能可以被實現於一或多個控制器、微控制器、微處理器、特殊應用積體電路(Application-specific integrated circuit, ASIC)、數位訊號處理器(digital signal processor, DSP)、場可程式邏輯閘陣列(Field Programmable Gate Array, FPGA)及/或其他處理單元中的各種邏輯區塊、模組和電路。
以軟體形式及/或韌體形式而言,上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222的相關功能可以被實現為編程碼(programming codes)。例如,利用一般的編程語言(programming languages,例如C、C++或組合語言)或其他合適的編程語言來實現上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222。所述編程碼可以被記錄/存放在「非臨時的電腦可讀取媒體(non-transitory computer readable medium)」中。在一些實施例中,所述非臨時的電腦可讀取媒體例如包括唯讀記憶體(Read Only Memory,ROM)、半導體記憶體、可程式設計的邏輯電路以及(或是)儲存裝置。所述儲存裝置包括硬碟(hard disk drive,HDD)、固態硬碟(Solid-state drive,SSD)或是其他儲存裝置。中央處理器(Central Processing Unit,CPU)、控制器、微控制器或微處理器可以從所述非臨時的電腦可讀取媒體中讀取並執行所述編程碼,從而實現上述核心電路220、主模式核心電路221以及(或是)僕模式核心電路222的相關功能。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
21:前級積體電路
22:後級積體電路
100:菊鏈序列周邊介面(SPI)架構
200:菊鏈SPI積體電路
210:路由電路
220:核心電路
221:主模式核心電路
222:僕模式核心電路
cs:晶片選擇訊號
CS21、CS22:晶片選擇介面電路
DE1:資料致能訊號
DE21、DE22:資料致能(DE)介面電路
ID21:晶片識別接腳
ID_CM:廣播識別碼
ID_200、ID_M、ID_S1、ID_S2、ID_S3、ID_Sn:專屬識別碼
L1、L2、L3、L4、L5、L6:閂鎖電路
M1:主積體電路
miso:資料
MISO21、MISO22、MISO23、MISO24:MISO介面電路
mosi:命令(或資料)
MOSI21、MOSI22、MOSI23、MOSI24:MOSI介面電路
Mux1、Mux2、Mux3、Mux4、Mux5、Mux6、Mux7:多工器
S1、S2、S3、Sn:僕積體電路
S310~S370:步驟
scl、Ssc21、Ssc22:時脈訊號
SCL21、SCL22:時脈介面電路
Scs21、Scs22:晶片選擇訊號
Sde21:資料致能訊號
Sde22:訊號
Smiso21:目標資料
Smiso22:資料
Smosi21、Smosi22:主電路資料
圖1是依照本發明的一實施例的一種菊鏈序列周邊介面(SPI)架構的電路方塊(circuit block)示意圖。
圖2A與圖2B是依照本發明的一實施例的一種菊鏈SPI積體電路的電路方塊示意圖。
圖3是依照本發明的一實施例的一種菊鏈SPI積體電路的操作方法的流程示意圖。
圖4是依照本發明的另一實施例所繪示,菊鏈SPI積體電路的電路方塊示意圖。
100:菊鏈序列周邊介面(SPI)架構
cs:晶片選擇訊號
DE1:資料致能訊號
ID_CM:廣播識別碼
ID_M、ID_S1、ID_S2、ID_S3、ID_Sn:專屬識別碼
M1:主積體電路
miso:資料
mosi:命令(或資料)
S1、S2、S3、Sn:僕積體電路
scl:時脈訊號
Claims (24)
- 一種菊鏈序列周邊介面積體電路,包括: 一第一MISO介面電路; 一第二MISO介面電路; 一第一資料致能介面電路; 一第二資料致能介面電路; 一路由電路,耦接至該第一MISO介面電路的一輸入端、該第二MISO介面電路的一輸出端、該第一資料致能介面電路的一輸入端以及該第二資料致能介面電路的一輸出端;以及 一核心電路,耦接至該路由電路,其中, 當該菊鏈序列周邊介面積體電路是一菊鏈序列周邊介面架構的一僕積體電路且該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的一主積體電路為了讀取一目標資料而選擇的一目標僕電路時,該核心電路通過該路由電路與該第一資料致能介面電路輸出一資料致能訊號給該主積體電路,以及該核心電路基於該資料致能訊號的時序通過該路由電路與該第一MISO介面電路回傳該目標資料給該主積體電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路且該菊鏈序列周邊介面積體電路不是該目標僕電路時,該路由電路將該第二資料致能介面電路所接收的一訊號傳輸至該第一資料致能介面電路,以及該路由電路將該第二MISO介面電路所接收的一資料傳輸至該第一MISO介面電路。
- 如請求項1所述的菊鏈序列周邊介面積體電路,其中該路由電路包括: 一第一閂鎖電路,具有一輸入端耦接至該第二資料致能介面電路的該輸出端; 一第一多工器,具有一第一輸入端耦接至該核心電路,其中該第一多工器的一第二輸入端耦接至該第一閂鎖電路的一輸出端,該第一多工器的一輸出端耦接至該第一資料致能介面電路的該輸入端,當該菊鏈序列周邊介面積體電路為該目標僕電路時該第一多工器的該輸出端選擇性地耦接至該第一多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該目標僕電路時該第一多工器的該輸出端選擇性地耦接至該第一多工器的該第二輸入端; 一第二閂鎖電路,具有一輸入端耦接至該第二MISO介面電路的該輸出端;以及 一第二多工器,具有一第一輸入端耦接至該核心電路,其中該第二多工器的一第二輸入端耦接至該第二閂鎖電路的一輸出端,該第二多工器的一輸出端耦接至該第一MISO介面電路的該輸入端,當該菊鏈序列周邊介面積體電路為該目標僕電路時該第二多工器的該輸出端選擇性地耦接至該第二多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該目標僕電路時該第二多工器的該輸出端選擇性地耦接至該第二多工器的該第二輸入端。
- 如請求項2所述的菊鏈序列周邊介面積體電路,其中該菊鏈序列周邊介面積體電路更包括一第三MISO介面電路以及一第四MISO介面電路,以及該路由電路更包括: 一第三閂鎖電路,具有一輸入端耦接至該第三MISO介面電路的一輸出端;以及 一第三多工器,具有一第一輸入端耦接至該核心電路,其中該第三多工器的一第二輸入端耦接至該第三閂鎖電路的一輸出端,該第三多工器的一輸出端耦接至該第四MISO介面電路的一輸入端,當該菊鏈序列周邊介面積體電路為該主積體電路時該第三多工器的該輸出端選擇性地耦接至該第三多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該主積體電路時該第三多工器的該輸出端選擇性地耦接至該第三多工器的該第二輸入端。
- 如請求項1所述的菊鏈序列周邊介面積體電路,更包括: 一第一MOSI介面電路:以及 一第二MOSI介面電路,其中該路由電路還耦接至該第一MOSI介面電路的一輸出端以及該第二MOSI介面電路的一輸入端, 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路時,該路由電路將該第一MOSI介面電路所接收的一主電路資料傳輸至該第二MOSI介面電路與該核心電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,該核心電路通過該路由電路與該第二MOSI介面電路輸出該主電路資料給該菊鏈序列周邊介面架構的多個僕積體電路。
- 如請求項4所述的菊鏈序列周邊介面積體電路,其中該路由電路包括: 一第一閂鎖電路,具有一輸入端耦接至該第一MOSI介面電路的該輸出端;以及 一第一多工器,具有一第一輸入端耦接至該核心電路,其中該第一多工器的一第二輸入端耦接至該第一閂鎖電路的一輸出端,該第一多工器的一輸出端耦接至該第二MOSI介面電路的該輸入端,當該菊鏈序列周邊介面積體電路為該主積體電路時該第一多工器的該輸出端選擇性地耦接至該第一多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該主積體電路時該第一多工器的該輸出端選擇性地耦接至該第一多工器的該第二輸入端。
- 如請求項5所述的菊鏈序列周邊介面積體電路,其中該菊鏈序列周邊介面積體電路更包括一第三MOSI介面電路以及一第四MOSI介面電路,以及該路由電路更包括: 一第二閂鎖電路,具有一輸入端耦接至該第四MOSI介面電路的一輸出端;以及 一第二多工器,具有一第一輸入端耦接至該核心電路,其中該第二多工器的一第二輸入端耦接至該第二閂鎖電路的一輸出端,該第二多工器的一輸出端耦接至該第三MOSI介面電路的一輸入端,當該菊鏈序列周邊介面積體電路為該目標僕電路時該第二多工器的該輸出端選擇性地耦接至該第二多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該目標僕電路時該第二多工器的該輸出端選擇性地耦接至該第二多工器的該第二輸入端。
- 如請求項1所述的菊鏈序列周邊介面積體電路,更包括: 一第一晶片選擇介面電路:以及 一第二晶片選擇介面電路,其中該路由電路還耦接至該第一晶片選擇介面電路的一輸出端以及該第二晶片選擇介面電路的一輸入端, 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路時,該路由電路將該第一晶片選擇介面電路所接收的一晶片選擇訊號傳輸至該第二晶片選擇介面電路與該核心電路,以及該核心電路解碼該晶片選擇訊號以判定該菊鏈序列周邊介面積體電路是否為該主積體電路所選擇的該目標僕電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,該核心電路通過該路由電路與該第二晶片選擇介面電路輸出該晶片選擇訊號給該菊鏈序列周邊介面架構的多個僕積體電路,以及該核心電路通過該路由電路與該第二MISO介面電路讀取該晶片選擇訊號所對應的該目標僕電路的該目標資料。
- 如請求項7所述的菊鏈序列周邊介面積體電路,其中, 當該核心電路解碼該晶片選擇訊號的一解碼結果吻合該菊鏈序列周邊介面積體電路的一專屬識別碼時,該核心電路判定該菊鏈序列周邊介面積體電路為該主積體電路所選擇的該目標僕電路; 當該解碼結果不吻合該菊鏈序列周邊介面積體電路的該專屬識別碼但是吻合該菊鏈序列周邊介面架構的所述多個僕積體電路所共用的一廣播識別碼時,該核心電路判定該菊鏈序列周邊介面積體電路為該主積體電路所選擇的該目標僕電路;以及 當該解碼結果不吻合該菊鏈序列周邊介面積體電路的該專屬識別碼亦不吻合該廣播識別碼時,該核心電路判定該菊鏈序列周邊介面積體電路不是該主積體電路所選擇的該目標僕電路。
- 如請求項7所述的菊鏈序列周邊介面積體電路,其中該路由電路包括: 一閂鎖電路,具有一輸入端耦接至該第一晶片選擇介面電路的該輸出端;以及 一多工器,具有一第一輸入端耦接至該核心電路,其中該多工器的一第二輸入端耦接至該閂鎖電路的一輸出端,該多工器的一輸出端耦接至該第二晶片選擇介面電路的該輸入端,當該菊鏈序列周邊介面積體電路為該主積體電路時該多工器的該輸出端選擇性地耦接至該多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該主積體電路時該多工器的該輸出端選擇性地耦接至該多工器的該第二輸入端。
- 如請求項7所述的菊鏈序列周邊介面積體電路,其中該核心電路包括: 一主模式核心電路,耦接至該路由電路,其中當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,該主模式核心電路通過該路由電路與該第二晶片選擇介面電路輸出該晶片選擇訊號給該菊鏈序列周邊介面架構的所述多個僕積體電路,以及該主模式核心電路通過該路由電路與該第二MISO介面電路讀取該晶片選擇訊號所對應的該目標僕電路的該目標資料;以及 一僕模式核心電路,耦接至該路由電路,其中當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路且該菊鏈序列周邊介面積體電路為該目標僕電路時,該僕模式核心電路通過該路由電路與該第一資料致能介面電路輸出該資料致能訊號給該菊鏈序列周邊介面架構的該主積體電路,以及該僕模式核心電路基於該資料致能訊號的時序通過該路由電路與該第一MISO介面電路回傳該目標資料給該主積體電路。
- 如請求項1所述的菊鏈序列周邊介面積體電路,更包括: 一第一時脈介面電路:以及 一第二時脈介面電路,其中該路由電路還耦接至該第一時脈介面電路的一輸出端以及該第二時脈介面電路的一輸入端, 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路時,該路由電路將該第一時脈介面電路所接收的一時脈訊號傳輸至該第二時脈介面電路與該核心電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,該核心電路通過該路由電路與該第二時脈介面電路輸出該時脈訊號給該菊鏈序列周邊介面架構的多個僕積體電路。
- 如請求項11所述的菊鏈序列周邊介面積體電路,其中該路由電路包括: 一多工器,具有一第一輸入端耦接至該核心電路,其中該多工器的一第二輸入端耦接至該第一時脈介面電路的該輸出端,該多工器的一輸出端耦接至該第二時脈介面電路的該輸入端,當該菊鏈序列周邊介面積體電路為該主積體電路時該多工器的該輸出端選擇性地耦接至該多工器的該第一輸入端,以及當該菊鏈序列周邊介面積體電路不是該主積體電路時該多工器的該輸出端選擇性地耦接至該多工器的該第二輸入端。
- 一種菊鏈序列周邊介面積體電路的操作方法,包括: 由該菊鏈序列周邊介面積體電路的至少一個晶片識別接腳定義該菊鏈序列周邊介面積體電路的一專屬識別碼; 當該專屬識別碼表示該菊鏈序列周邊介面積體電路是一菊鏈序列周邊介面架構的一僕積體電路時,由該菊鏈序列周邊介面積體電路的一核心電路判定該菊鏈序列周邊介面積體電路是否為該菊鏈序列周邊介面架構的一主積體電路所選擇的一目標僕電路; 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路且該菊鏈序列周邊介面積體電路是該主積體電路為了讀取一目標資料而選擇的該目標僕電路時,由該核心電路通過該菊鏈序列周邊介面積體電路的一路由電路與該菊鏈序列周邊介面積體電路的一第一資料致能介面電路輸出一資料致能訊號給該主積體電路,以及由該核心電路基於該資料致能訊號的時序通過該路由電路與該菊鏈序列周邊介面積體電路的一第一MISO介面電路回傳該目標資料給該主積體電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路且該菊鏈序列周邊介面積體電路不是該目標僕電路時,由該路由電路將該菊鏈序列周邊介面積體電路的一第二資料致能介面電路所接收的一訊號傳輸至該第一資料致能介面電路,以及由該路由電路將該菊鏈序列周邊介面積體電路的一第二MISO介面電路所接收的一資料傳輸至該第一MISO介面電路。
- 如請求項13所述的操作方法,其中該路由電路包括一第一閂鎖電路、一第二閂鎖電路、一第一多工器以及一第二多工器,該第一閂鎖電路的一輸入端耦接至該第二資料致能介面電路,該第一多工器的一第一輸入端耦接至該核心電路,該第一多工器的一第二輸入端耦接至該第一閂鎖電路的一輸出端,該第一多工器的一輸出端耦接至該第一資料致能介面電路,該第二閂鎖電路的一輸入端耦接至該第二MISO介面電路,該第二多工器的一第一輸入端耦接至該核心電路,該第二多工器的一第二輸入端耦接至該第二閂鎖電路的一輸出端,該第二多工器的一輸出端耦接至該第一MISO介面電路,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路為該目標僕電路時,選擇性地將該第一多工器的該輸出端耦接至該第一多工器的該第一輸入端,以及選擇性地將該第二多工器的該輸出端耦接至該第二多工器的該第一輸入端;以及 當該菊鏈序列周邊介面積體電路不是該目標僕電路時,選擇性地將該第一多工器的該輸出端耦接至該第一多工器的該第二輸入端,以及選擇性地將該第二多工器的該輸出端耦接至該第二多工器的該第二輸入端。
- 如請求項14所述的操作方法,其中該菊鏈序列周邊介面積體電路更包括一第三MISO介面電路以及一第四MISO介面電路,該路由電路更包括一第三閂鎖電路以及一第三多工器,該第三閂鎖電路的一輸入端耦接至該第三MISO介面電路的一輸出端,該第三多工器的一第一輸入端耦接至該核心電路,該第三多工器的一第二輸入端耦接至該第三閂鎖電路的一輸出端,該第三多工器的一輸出端耦接至該第四MISO介面電路的一輸入端,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路為該主積體電路時,選擇性地將該第三多工器的該輸出端耦接至該第三多工器的該第一輸入端;以及 當該菊鏈序列周邊介面積體電路不是該主積體電路時,選擇性地將該第三多工器的該輸出端耦接至該第三多工器的該第二輸入端。
- 如請求項13所述的操作方法,其中該菊鏈序列周邊介面積體電路更包括一第一MOSI介面電路以及一第二MOSI介面電路,該路由電路還耦接至該第一MOSI介面電路的一輸出端以及該第二MOSI介面電路的一輸入端,所述操作方法更包括: 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路時,由該路由電路將該第一MOSI介面電路所接收的一主電路資料傳輸至該第二MOSI介面電路與該核心電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,由該核心電路通過該路由電路與該第二MOSI介面電路輸出該主電路資料給該菊鏈序列周邊介面架構的多個僕積體電路。
- 如請求項16所述的操作方法,其中該路由電路包括一第一閂鎖電路以及一第一多工器,該第一閂鎖電路的一輸入端耦接至該第一MOSI介面電路的該輸出端,該第一多工器的一第一輸入端耦接至該核心電路,該第一多工器的一第二輸入端耦接至該第一閂鎖電路的一輸出端,該第一多工器的一輸出端耦接至該第二MOSI介面電路的該輸入端,所述操作方法更包括: 當該菊鏈序列周邊介面積體電路為該主積體電路時,選擇性地將該第一多工器的該輸出端耦接至該第一多工器的該第一輸入端;以及 當該菊鏈序列周邊介面積體電路不是該主積體電路時,選擇性地將該第一多工器的該輸出端耦接至該第一多工器的該第二輸入端。
- 如請求項17所述的操作方法,其中該菊鏈序列周邊介面積體電路更包括一第三MOSI介面電路以及一第四MOSI介面電路,該路由電路更包括一第二閂鎖電路以及一第二多工器,該第二閂鎖電路的一輸入端耦接至該第四MOSI介面電路的一輸出端,該第二多工器的一第一輸入端耦接至該核心電路,該第二多工器的一第二輸入端耦接至該第二閂鎖電路的一輸出端,該第二多工器的一輸出端耦接至該第三MOSI介面電路的一輸入端,所述操作方法更包括: 當該菊鏈序列周邊介面積體電路為該目標僕電路時,選擇性地將該第二多工器的該輸出端耦接至該第二多工器的該第一輸入端;以及 當該菊鏈序列周邊介面積體電路不是該目標僕電路時,選擇性地將該第二多工器的該輸出端耦接至該第二多工器的該第二輸入端。
- 如請求項13所述的操作方法,其中該菊鏈序列周邊介面積體電路更包括一第一晶片選擇介面電路以及一第二晶片選擇介面電路,該路由電路還耦接至該第一晶片選擇介面電路的一輸出端以及該第二晶片選擇介面電路的一輸入端,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路時,由該路由電路將該第一晶片選擇介面電路所接收的一晶片選擇訊號傳輸至該第二晶片選擇介面電路與該核心電路,以及由該核心電路解碼該晶片選擇訊號以判定該菊鏈序列周邊介面積體電路是否為該主積體電路所選擇的該目標僕電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,由該核心電路通過該路由電路與該第二晶片選擇介面電路輸出該晶片選擇訊號給該菊鏈序列周邊介面架構的多個僕積體電路,以及由該核心電路通過該路由電路與該第二MISO介面電路讀取該晶片選擇訊號所對應的該目標僕電路的該目標資料。
- 如請求項19所述的操作方法,更包括: 當該核心電路解碼該晶片選擇訊號的一解碼結果吻合該菊鏈序列周邊介面積體電路的一專屬識別碼時,判定該菊鏈序列周邊介面積體電路為該主積體電路所選擇的該目標僕電路; 當該解碼結果不吻合該菊鏈序列周邊介面積體電路的該專屬識別碼但是吻合該菊鏈序列周邊介面架構的所述多個僕積體電路所共用的一廣播識別碼時,判定該菊鏈序列周邊介面積體電路為該主積體電路所選擇的該目標僕電路;以及 當該解碼結果不吻合該菊鏈序列周邊介面積體電路的該專屬識別碼亦不吻合該廣播識別碼時,判定該菊鏈序列周邊介面積體電路不是該主積體電路所選擇的該目標僕電路。
- 如請求項19所述的操作方法,其中該路由電路包括一閂鎖電路以及一多工器,該閂鎖電路的一輸入端耦接至該第一晶片選擇介面電路的該輸出端,該多工器的一第一輸入端耦接至該核心電路,該多工器的一第二輸入端耦接至該閂鎖電路的一輸出端,該多工器的一輸出端耦接至該第二晶片選擇介面電路的該輸入端,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路為該主積體電路時,選擇性地將該多工器的該輸出端耦接至該多工器的該第一輸入端;以及 當該菊鏈序列周邊介面積體電路不是該主積體電路時,選擇性地將該多工器的該輸出端耦接至該多工器的該第二輸入端。
- 如請求項19所述的操作方法,其中該核心電路包括一主模式核心電路以及一僕模式核心電路,該主模式核心電路與該僕模式核心電路耦接至該路由電路,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,由該主模式核心電路通過該路由電路與該第二晶片選擇介面電路輸出該晶片選擇訊號給該菊鏈序列周邊介面架構的所述多個僕積體電路,以及由該主模式核心電路通過該路由電路與該第二MISO介面電路讀取該晶片選擇訊號所對應的該目標僕電路的該目標資料;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路且該菊鏈序列周邊介面積體電路為該目標僕電路時,由該僕模式核心電路通過該路由電路與該第一資料致能介面電路輸出該資料致能訊號給該菊鏈序列周邊介面架構的該主積體電路,以及由該僕模式核心電路基於該資料致能訊號的時序通過該路由電路與該第一MISO介面電路回傳該目標資料給該主積體電路。
- 如請求項13所述的操作方法,其中該菊鏈序列周邊介面積體電路更包括一第一時脈介面電路以及一第二時脈介面電路,該路由電路還耦接至該第一時脈介面電路的一輸出端以及該第二時脈介面電路的一輸入端,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該僕積體電路時,由該路由電路將該第一時脈介面電路所接收的一時脈訊號傳輸至該第二時脈介面電路與該核心電路;以及 當該菊鏈序列周邊介面積體電路是該菊鏈序列周邊介面架構的該主積體電路時,由該核心電路通過該路由電路與該第二時脈介面電路輸出該時脈訊號給該菊鏈序列周邊介面架構的多個僕積體電路。
- 如請求項23所述的操作方法,其中該路由電路包括一多工器,該多工器的一第一輸入端耦接至該核心電路,該多工器的一第二輸入端耦接至該第一時脈介面電路的該輸出端,該多工器的一輸出端耦接至該第二時脈介面電路的該輸入端,以及所述操作方法更包括: 當該菊鏈序列周邊介面積體電路為該主積體電路時,選擇性地將該多工器的該輸出端耦接至該多工器的該第一輸入端;以及 當該菊鏈序列周邊介面積體電路不是該主積體電路時,選擇性地將該多工器的該輸出端耦接至該多工器的該第二輸入端。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/553,689 US11847083B2 (en) | 2021-12-16 | 2021-12-16 | Daisy-chain SPI integrated circuit and operation method thereof |
US17/553,689 | 2021-12-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202326457A true TW202326457A (zh) | 2023-07-01 |
TWI822166B TWI822166B (zh) | 2023-11-11 |
Family
ID=82595120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111125174A TWI822166B (zh) | 2021-12-16 | 2022-07-05 | 菊鏈spi積體電路及其操作方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11847083B2 (zh) |
EP (1) | EP4198756B1 (zh) |
JP (1) | JP7391154B2 (zh) |
KR (1) | KR20230091765A (zh) |
CN (1) | CN116266168A (zh) |
TW (1) | TWI822166B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI812194B (zh) * | 2022-04-27 | 2023-08-11 | 凌通科技股份有限公司 | 序列周邊介面相容性擴展切換方法與使用其之嵌入式系統 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI423033B (zh) * | 2009-12-22 | 2014-01-11 | Ind Tech Res Inst | 可串接之序列匯流排卡裝置及其管理方法及串接方法 |
US9274997B2 (en) * | 2012-05-02 | 2016-03-01 | Smsc Holdings S.A.R.L. | Point-to-point serial peripheral interface for data communication between devices configured in a daisy-chain |
US8943250B2 (en) * | 2012-08-20 | 2015-01-27 | General Electric | Systems and methods for concatenating multiple devices |
TWI701578B (zh) | 2018-06-29 | 2020-08-11 | 瑞鼎科技股份有限公司 | 顯示裝置及其晶片間匯流排 |
US11295828B2 (en) | 2019-03-08 | 2022-04-05 | Analog Devices International Unlimited Company | Multi-chip programming for phased array |
US11494324B2 (en) * | 2019-08-29 | 2022-11-08 | Microchip Technology Incorporated | Daisy chain streaming mode |
US11308021B2 (en) * | 2020-01-12 | 2022-04-19 | Mixcomm, Inc. | Methods and apparatus for using an addressable serial peripheral interface |
-
2021
- 2021-12-16 US US17/553,689 patent/US11847083B2/en active Active
-
2022
- 2022-07-05 TW TW111125174A patent/TWI822166B/zh active
- 2022-07-13 EP EP22184789.0A patent/EP4198756B1/en active Active
- 2022-07-29 CN CN202210903265.7A patent/CN116266168A/zh active Pending
- 2022-08-08 KR KR1020220098823A patent/KR20230091765A/ko unknown
- 2022-08-18 JP JP2022130467A patent/JP7391154B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI822166B (zh) | 2023-11-11 |
EP4198756A1 (en) | 2023-06-21 |
EP4198756B1 (en) | 2024-05-08 |
CN116266168A (zh) | 2023-06-20 |
KR20230091765A (ko) | 2023-06-23 |
US20230195672A1 (en) | 2023-06-22 |
JP7391154B2 (ja) | 2023-12-04 |
JP2023089918A (ja) | 2023-06-28 |
US11847083B2 (en) | 2023-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9639409B2 (en) | Device and method for communicating between cores | |
US7162546B2 (en) | Reordering unrelated transactions from an ordered interface | |
JP2002530744A (ja) | 多重レベル接続識別を備えた通信のシステムおよび方法 | |
US7035958B2 (en) | Re-ordering a first request within a FIFO request queue to a different queue position when the first request receives a retry response from the target | |
JPH077374B2 (ja) | インタフェース回路 | |
TWI822166B (zh) | 菊鏈spi積體電路及其操作方法 | |
US11487685B2 (en) | Inter-die interrupt communication in a seamlessly integrated microcontroller chip | |
US7096290B2 (en) | On-chip high speed data interface | |
CN107851076B (zh) | 用于控制存储器访问的装置、系统及方法 | |
TW201316176A (zh) | 記憶體控制元件 | |
TWI336439B (en) | System and method to reduce memory latency in microprocessor systems connected with a bus | |
US11321258B2 (en) | Integrated circuit, bus system and scheduling method | |
US20090320034A1 (en) | Data processing apparatus | |
WO2012124431A1 (ja) | 半導体装置 | |
US7840726B2 (en) | System and method for identifying and transferring serial data to a programmable logic device | |
US10210114B2 (en) | Interrupt-driven I/O arbiter for a microcomputer system | |
US11544129B2 (en) | Cross-component health monitoring and improved repair for self-healing platforms | |
JP2001188751A (ja) | データ転送装置 | |
US10185684B2 (en) | System interconnect and operating method of system interconnect | |
JP2001312327A (ja) | 区分化同期インタフェース用調整可能クロックを備えたデータ処理システム | |
US6665748B1 (en) | Specialized PCMCIA host adapter for use with low cost microprocessors | |
JPH052555A (ja) | ワークステーシヨンインターフエース装置用の内部バス | |
TW202326460A (zh) | 大尺寸觸控顯示積體電路及其操作方法 | |
CN102866973A (zh) | 工业标准构造接口总线的桥接系统、装置与其方法 | |
JP2004104216A (ja) | 高速シリアルバスコントローラ |