TWI464595B - 動態可組態串列資料通訊介面 - Google Patents

動態可組態串列資料通訊介面 Download PDF

Info

Publication number
TWI464595B
TWI464595B TW100134886A TW100134886A TWI464595B TW I464595 B TWI464595 B TW I464595B TW 100134886 A TW100134886 A TW 100134886A TW 100134886 A TW100134886 A TW 100134886A TW I464595 B TWI464595 B TW I464595B
Authority
TW
Taiwan
Prior art keywords
data
bit
signal line
write operation
address
Prior art date
Application number
TW100134886A
Other languages
English (en)
Other versions
TW201224763A (en
Inventor
Thomas Obkircher
Original Assignee
Skyworks Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Skyworks Solutions Inc filed Critical Skyworks Solutions Inc
Publication of TW201224763A publication Critical patent/TW201224763A/zh
Application granted granted Critical
Publication of TWI464595B publication Critical patent/TWI464595B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

動態可組態串列資料通訊介面
本申請案主張基於2010年9月27日提出申請之第12/891,513號美國專利申請案之優先權及權益,該申請案之提交日期之權益據此主張且該申請案之說明書以此引用方式併入本文中。
一串列資料通訊介面包含根據一資料通訊協定操作以串列(亦即,一次一個位元)傳送資料之一資料匯流排。一族習知串列資料通訊介面(有時稱作串列周邊介面或SPI)包括至少三個信號線:資料、時脈及選擇。儘管此等信號線通常稱作資料、時脈及選擇,但亦使用替代名稱,諸如啟用而不是選擇。已知各種類型之具有所謂「4導線」、「3導線」、「2導線」甚至「1導線」資料匯流排之串列資料通訊介面,其中術語「導線」係對一信號線之一通俗提及。實際上,該信號線可係一導線、一印刷電路板跡線、一光纖或另一此類單通道信號攜載介質。術語「串列周邊介面」或「SPI」通常用於指代具有一雙向資料線連同時脈及選擇線之一3導線介面,但在一些例項中,該術語已用來指代具有兩個單向資料線連同時脈及選擇線之一4導線介面。一些SPI匯流排亦包括一重設線。
該SPI通常用於其中一相對複雜的數位子系統(諸如具有一微處理器之數位子系統)控制更基礎或相反不同於該控制數位子系統之一周邊裝置或另一子系統之操作之態樣之電子系統中。舉例而言,一些數位子系統使用一SPI來控制主要包含類比電路(例如射頻(RF)電路)之另一子系統。如圖1中所圖解說明,一行動電話手機10通常包含:一RF子系統12,其包括無線電收發器電路;一基頻子系統14,其包括用於控制該手機之整體功能性之一微處理器或類似電路;及一使用者介面16,其包括一麥克風、一揚聲器、一顯示器、一小鍵盤等等。RF系統12接收、降頻轉換並調解經由一天線18接收之RF信號並將經解調信號20以數位形式提供至基頻子系統14。相反地,RF子系統12自基頻子系統14接收數位信號22、調變其並將其升頻轉換至RF供傳輸,且將該等RF信號提供至天線18。基頻子系統14可藉由經由一SPI匯流排24向RF子系統12發送指令來修改RF子系統12之各種操作參數,諸如傳輸功率位準及調變模式。基頻子系統14可藉由在基頻子系統14中之一SPI控制器(未展示於圖1中)之控制下對SPI匯流排24執行寫入操作來向RF子系統12發送此等指令。
如圖2中所圖解說明,上文所提及之SPI控制器通常稱作一SPI「主」控制器26,此乃因其通常控制兩個或兩個以上裝置或一裝置內之兩個或兩個以上電路區塊。舉例而言,RF子系統12可包括兩個或兩個以上RF積體電路(IC)晶片28、30等等,其中每一者可由SPI主控控制器26個別控制。RF IC晶片28、30等等中之每一者包括對由SPI主控控制器26起始之讀取及寫入操作作出回應之一對應SPI受控控制器32、34等等。SPI受控控制器32、34等等中之每一者具有允許SPI主控控制器26在SPI匯流排24上對其進行定址之與其相關聯之一唯一裝置識別符。因此,SPI主控控制器26控制SPI匯流排24上之選擇信號線及時脈信號線之狀態並且控制在寫入操作期間資料信號線之狀態。在讀取操作期間,正自其讀取之SPI受控控制器32、34等等中之一者控制該資料信號線之狀態。如下文關於圖解說明幾個SPI協定之時序圖進一步詳細闡述,在一資料寫入或資料讀取操作中,與該時脈信號之連續循環同步在該資料信號線上以串列格式發送連續資料位元。根據下文所闡述之SPI協定中之每一者,在該寫入或讀取操作期間啟動或施加該時脈信號且不出現寫入或讀取操作時停用或解施加該時脈信號。儘管圖1至2中未展示,但SPI受控控制器32、34等等中之每一者與其各別RF IC晶片28、30等等中之其他電路(諸如上述可控類比電路)介接。
藉助圖3至8之時序圖來圖解說明幾種類型之習知SPI協定。如圖3至4中所圖解說明,根據一個此類協定,上文關於圖2所闡述之類型之一SPI主控控制器(未展示)可致使選擇自一低邏輯狀態或邏輯「0」轉變至一高邏輯狀態或邏輯「1」以指示一資料傳送。該SPI主控控制器亦啟動該時脈信號。在一些例項中,一SPI主控控制器可在轉變該選擇信號之前啟動該時脈信號,且在其他例項中,一SPI主控控制器可在轉變該選擇信號之後啟動該時脈信號,如由以虛線展示之初始時脈循環所指示。其中一資料傳送操作以選擇自低轉變至高開始之一SPI協定可稱作一「高態有效選擇」類型之SPI協定。如圖3中所圖解說明,該SPI主控控制器致使該資料信號線上之第一位元繼選擇自低轉變至高之後為一「0」以指示該操作係一寫入操作。(在圖3及本文中類似繪圖中使用相當於「/Read」或「Write_bar/Read」之標籤「WbR」來指示此寫入/讀取位元)。在繼彼「0」或寫入指示位元之後接下來的「a」個時脈循環中之每一者上,該SPI主控控制器可發送一個位址位元(「Aa-1」至「A0」)。然後,在繼該等位址位元之後接下來的「d」個時脈循環中之每一者上,該SPI主控控制器可發送一個資料位元(「Dd-1」至「D0」)。繼傳送最後資料位元D0之後,SPI主控控制器26致使選擇自高轉變回至低。位址位元之數目「a」及資料位元之數目「d」通常係固定的或預定的。換句話說,在每一個寫入操作期間,該SPI主控控制器發送與其在所有其他寫入操作期間發送相同數目「a」個位址位元及相同數目「d」個資料位元。回應於該位址及資料資訊,且根據選擇及時脈之轉變之時序,藉由該等位址位元(或該等位址位元之一部分)識別之一個SPI受控控制器將該資料寫入至一暫存器(未展示)。
如圖4中所圖解說明,該SPI主控控制器可致使該資料信號線上之第一位元繼選擇自一低邏輯狀態轉變至一高邏輯狀態之後為一「1」以指示該操作係一讀取操作。在繼彼「1」或讀取指示位元之後接下來的「a」個時脈循環中之每一者上,該SPI主控控制器可發送一個位址位元(「Aa-1」至「A0」)。繼傳送最後位址位元A0之後,該SPI主控控制器致使選擇自高轉變回至低。然後,在通常稱作一「轉迴時間」或「轉迴長度」之一或多個時脈循環之一延遲之後,藉由彼等位址位元(或其一部分)識別之SPI受控控制器可在「d」個時脈循環中之每一者上自一暫存器或類似源讀取資料位元並向該SPI主控控制器傳輸一個資料位元(「Dd-1」至「D0」)。
如圖5至6中所圖解說明,根據另一此類協定,通常屬於上文關於圖2所闡述之類型之另一SPI主控控制器(未展示)可致使選擇自高轉變至低以指示一資料傳送。其中一資料傳送操作以選擇自高轉變至低開始之一SPI協定可稱作一「低態有效選擇」類型之SPI協定。
如圖5中所圖解說明,該SPI主控控制器致使在選擇自高轉變至低之後該資料信號線上之第一位元為一「0」以指示該操作係一寫入操作。在繼彼「0」或寫入指示位元之後接下來的「a」個時脈循環中之每一者上,SPI主控控制器26可發送一個位址位元(「Aa-1」至「A0」)。然後,在繼該等位址位元之後接下來的「d」個時脈循環中之每一者上,該SPI主控控制器可發送一個資料位元(「Dd-1」至「D0」)。繼傳送最後資料位元D0之後,該SPI主控控制器致使選擇自一低邏輯狀態轉變回至一高邏輯狀態。如同在上述高態有效選擇協定中一樣,位址位元之數目「a」及資料位元之數目「d」通常係固定的或預定的。回應於該位址及資料資訊,且根據選擇及時脈之轉變之時序,藉由該等位址位元(或該等位址位元之一部分)識別之SPI受控控制器將該資料寫入至一暫存器。
如圖6中所圖解說明,SPI主控控制器26可致使該資料信號線上之第一位元繼選擇自高轉變至低之後為一「1」以指示該操作係一讀取操作。在繼彼「1」或讀取指示位元之後接下來的「a」個時脈循環中之每一者上,該SPI主控控制器可發送一個位址位元(「Aa-1」至「A0」)。繼傳送最後位址位元A0之後,該SPI主控控制器致使選擇自一低邏輯狀態轉變回至一高邏輯狀態。然後,在一或多個時脈循環之一延遲(亦即,該轉迴時間)之後,藉由彼等位址位元(或其一部分)識別SPI受控控制器可在「d」個時脈循環中之每一者上自一暫存器或類似源讀取資料位元並向該SPI主控控制器發送一個資料位元(「Dd-1」至「D0」)。
如圖7至8中所圖解說明,根據再一此類協定,通常屬於上文關於圖2所闡述之類型之再一SPI主控控制器(未展示)可起始一資料傳送而不使用選擇。一個此類協定通常稱作「相互積體電路或I2 C」。因I2 C協定不使用選擇,故I2 C協定有時稱作一2導線協定而不是一3導線協定。儘管有時把I2 C描述為來自SPI之一單獨協定,但本文中將I2 C連同上述高態有效選擇及低態有效選擇協定稱作另一類型之SPI協定。
如圖7中所圖解說明,為指示根據I2 C協定之一資料傳送之開始,該SPI主控控制器首先在時脈為高的同時致使資料自高轉變至低。然後,為指示該資料傳送操作係一寫入操作,該SPI主控控制器在時脈之下一個上升邊緣期間使該資料信號線保持低(邏輯「0」)。在繼彼「0」或寫入指示位元之後接下來的「a」個時脈循環中之每一者上,SPI主控控制器26可發送一個位址位元(「Aa-1」至「A0」)。然後,在繼該等位址位元之後接下來的「d」個時脈循環中之每一者上,該SPI主控控制器可發送一個資料位元(「Dd-1」至「D0」)。如同在上文所述之其他協定中一樣,位址位元之數目「a」及資料位元之數目「d」通常係固定的或預定的。該SPI主控控制器可藉由在致使資料自低轉變至高的同時使時脈保持高來指示該資料傳送之結束。回應於該位址及資料資訊,且根據資料及時脈之轉變之時序,藉由該等位址位元(或該等位址位元之一部分)識別之SPI受控控制器將該資料寫入至一暫存器。
如圖8中所圖解說明,為指示根據該I2 C協定之一資料傳送之開始,該SPI主控控制器首先在時脈為高的同時致使資料自高轉變至低。然後,為指示該資料傳送操作係一讀取操作,該SPI主控控制器在時脈之下一個上升邊緣期間使該資料信號線保持高(邏輯「1」)。在繼彼「1」或讀取指示位元之後接下來的「a」個時脈循環中之每一者上,SPI主控控制器26可發送一個位址位元(「Aa-1」至「A0」)。然後,在一或多個時脈循環之一延遲(亦即,該轉迴時間)之後,藉由彼等位址位元(或其一部分)識別之SPI受控控制器可在「d」個時脈循環中之每一者上自一暫存器或類似源讀取資料位元並向該SPI主控控制器發送一個資料位元(「Dd-1」至「D0」)。該SPI主控控制器可藉由在致使資料自低轉變至高的同時使時脈保持高來指示該資料傳送之結束。
在其中(舉例而言)SPI受控控制器32根據上述SPI協定中之一第一協定操作而SPI受控控制器34根據上述SPI協定中之一第二協定操作之一系統中,SPI主控控制器26必須能夠在該兩個協定之間切換,亦即,使用第一協定來與SPI受控控制器32通訊資料並使用第二協定來與SPI受控控制器34通訊資料。提供根據幾個不同協定操作之一主控控制器26可為系統製造商引入一些低效率。此外,提供整合根據不同協定操作之多個受控控制器之一RF子系統12可係同樣低效的。可藉由向具有此一協定模式選擇特徵之一積體電路晶片上之一模式選擇接針或類似輸入供應一協定模式控制信號來用信號通知一SPI受控控制器電路根據一選定SPI協定操作。然而,將一接針專用於一協定模式控制信號浪費輸入/輸出資源。
本發明之實施例係關於一種串列周邊介面(SPI)控制器,其可回應於經由該介面接收之資料而組態。該SPI控制器可回應於經由一資料信號線、一時脈信號線及一選擇信號線中之一或多者接收之信號而對一暫存器庫中之暫存器執行讀取及寫入操作。藉由偵測該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之信號組合,該SPI控制器可偵測到資料讀取及寫入操作之起始。信號之不同組合可向該SPI控制器指示該資料讀取或資料寫入操作根據之SPI協定之類型,從而允許該SPI控制器對該等資料讀取及寫入操作之起始作出回應而不管使用該兩個或兩個以上SPI協定中之哪一個。因此,當該SPI控制器偵測到一資料讀取或資料寫入操作之起始時,該SPI控制器控制對藉由在該資料信號線上串列接收之位址位元識別之一暫存器之一對應資料讀取或資料寫入操作之效能。
熟悉此項技術者在檢查以下圖式及詳細說明之後將易知或變得易知本發明之其他系統、方法、特徵及優點。意欲使所有此等額外系統、方法、特徵及優點皆包含於此說明內、屬於本發明之範疇內且由隨附申請專利範圍保護。
圖中之組件未必按比例,而是著重於清楚地圖解說明本發明之原理。然而,在該等圖式中,相同之參考編號在所有該等不同視圖中表示對應之部件。
如圖9中所圖解說明,在本發明之一說明性或例示性實施例中,一積體電路(IC)晶片36包括一串列周邊介面(SPI)受控控制器38。IC晶片36可類似於上述習用RF IC晶片28、30等等,只是根據本發明之該例示性實施例IC晶片36包括SPI受控控制器38罷了。因此,IC晶片36具有可控RF電路(出於清楚之目的而未展示)及以數位形式將該等控制信號提供至該可控(類比)RF電路之若干個邏輯區塊40、42等等。(注意,出於清楚之目的僅展示兩個邏輯區塊40及42,其中未展示之邏輯區塊由省略(「...」)符號指示)。儘管該例示性實施例包括複數個邏輯區塊40、42等等,但其他實施例可具有少至一單個此類邏輯區塊。(在該例示性實施例中,存在j+1個邏輯區塊,其中j係一非零整數)。此外,儘管出於清楚之目的本文中僅展示一單個IC晶片36,但可提供各自具有一SPI受控控制器之兩個或兩個以上此類IC晶片之一系統。
為控制IC晶片36之RF電路,一SPI主控控制器44可起始其中SPI主控控制器44經由SPI匯流排45向SPI受控控制器38傳輸資料之一寫入操作,該寫入操作將該資料寫入至一暫存器庫46中之一暫存器。已寫入至該等暫存器或鎖存至該等暫存器中之資料以一並列或多位元資料字組之形式提供至邏輯區塊40、42等等。舉例而言,一16位元資料字組REGj[15:0]提供至第j個邏輯區塊40。在所有該等繪圖中用來指代此等並列資料字組之一信號名稱標記法具有形式:「X[A:B]」,其中X係信號名稱,A係最高有效位元之指標,且B係最低有效位元之指標。SPI主控控制器44亦可起始SPI受控控制器38藉由自暫存器庫46中之一暫存器讀取資料並經由SPI匯流排45將該資料傳輸至SPI主控控制器44來對其作出回應之一讀取操作。
SPI主控控制器44與SPI受控控制器38之間的SPI匯流排45包括:一資料信號線48(SPI_DATA),其可連接至積體電路晶片36之一第一接針50;一選擇信號線52(SPI_SEL),其可連接至積體電路晶片36之一第二接針54;及一時脈信號線56(SPI_CLK),其可連接至IC晶片36之一第三接針58。SPI受控控制器38亦包括SPI控制邏輯60、一時脈信號產生器62及一重設產生器64。SPI控制邏輯60可自第一接針50接收一串列資料信號SDAT_IN並向第一接針50發送串列資料信號SDAT_OUT。SPI控制邏輯60產生控制資料流過第一接針50之方向之一串列輸出啟用信號SOE。SPI控制邏輯60亦經由第二接針接收選擇信號SSEL。SPI控制邏輯60向暫存器庫46提供若干個信號:一位址Addr[14:0]、寫入資料WrData[15:0]及一位址長度LenAdr[3:0]。SPI控制邏輯60亦自暫存器庫46接收信號:儲存於具有一指標「0」或REG0[14:0]之一暫存器中之資料字組及讀取資料RdData[15:0]。下文更詳細闡述SPI控制邏輯60。
暫存器庫46亦接收唯一性地識別IC晶片36之一裝置識別符68(DEV_ID[11:0])。換句話說,在具有兩個或兩個以上IC晶片之一系統(未展示)中,每一晶片之裝置識別符(「裝置ID」)不同於該系統中之所有其他晶片之裝置ID。SPI主控控制器44因此可使用該裝置ID作為指向彼晶片之讀取或寫入操作中之一位址之一部分,如下文更詳細闡述。該裝置ID可(舉例而言)硬接線至IC晶片36之邏輯中。儘管在該例示性實施例中該裝置ID在長度上為12個位元,但在其他實施例中一裝置ID可係任一其他合適長度。
時脈信號產生器62經由第三接針58接收一時脈信號SCLK,自SPI控制邏輯60接收一寫入啟用信號WrEn,並接收REG0或REG0[1:0]之內容之該兩個最低有效位元。如下文更詳細闡述,REG0用作一介面組態暫存器以儲存指示各種SPI操作模式之資訊。時脈信號產生器62產生其提供至暫存器庫46之一時脈暫存器信號ClkReg及其提供至SPI控制邏輯60之一時脈SPI信號ClkSPI。下文更詳細地闡述時脈信號產生器62。
重設產生器64自一通電重設(POR)信號產生器66接收一低態有效硬重設信號RESET_B。在該例示性實施例中,POR信號產生器66並非係SPI受控控制器38之一部分而是係當功率首先施加至IC晶片36時(諸如當其中包括IC晶片36之一行動電話手機(未展示)由一使用者開啟時)向IC晶片36中之其他電路提供一重設信號之IC晶片36之該部分。重設產生器64亦接收時脈信號SCLK及儲存於該介面組態暫存器中之該組態字之一個位元(REG0[15])。重設產生器64產生其提供至暫存器庫46之一暫存器重設信號RstReg及其提供至SPI控制邏輯60之一SPI重設信號RstSPI。下文更詳細地闡述重設產生器64。
SPI受控控制器38可根據圖10之例示性流程圖操作。在圖10中,該等方塊表示出現在SPI受控控制器38之操作中之動作、狀態等等。儘管出於清楚之目的將該等方塊以某一次序或順序展示於圖10中,但該等動作可以不同於圖10中所展示之一次序或順序出現。該等動作出現之實際次序或順序係根據下文闡述之SPI受控控制器38之數位邏輯。舉例而言,在其中與此等動作有關之SPI受控控制器38之邏輯元件彼此並列操作之例項中,該等動作中之一些動作或部分動作可與其他動作並列出現。
如圖10中所圖解說明,回應於一硬重設信號(RESET_B),SPI受控控制器38進入由方塊70指示之一重設狀態。如由方塊72所指示,SPI受控控制器38亦可回應於由SPI主控控制器44起始之至一預留位址之一寫入操作而進入該重設狀態(方塊70)。回應於此一寫入操作而進入該重設狀態可稱作一軟重設。該重設狀態表示其中SPI受控控制器38之各種數位邏輯元件呈一初始狀態。
如由方塊74所指示,SPI主控控制器44可組態或設定一或多個SPI受控控制器中之任一者中之一軟裝置ID,該軟裝置ID可用來代替上文所提及之裝置識別符(DEV_ID[11:0]),亦即,用作上文所提及之裝置識別符68(DEV_ID[11:0])之一別名。舉例而言,可給積體電路晶片36指派一4位元軟裝置識別符(ID),該4位元軟裝置識別符可用來代替12位元裝置識別符68,從而節約SPI主控控制器44需要在後續讀取及寫入操作中發送之位址位元之數目。為設定該軟裝置ID,SPI主控控制器44起始對一裝置ID組態暫存器之一寫入操作。該裝置ID組態暫存器可係(舉例而言)SPI受控控制器38之暫存器庫46中具有「1」(REG1)之一指標之一暫存器。圖解說明暫存器庫46中之裝置ID組態暫存器(REG1)之位元指派之圖示或映射圖展示於圖27中。
如由方塊76所指示,SPI受控控制器38藉由設定該軟裝置來對至該裝置ID組態暫存器之該寫入操作作出回應。圖17A至圖17B之時序圖圖解說明此一寫入操作及將具有「0x61F」(十六進制)之一例示性硬裝置ID之一第一裝置(例如,一第一積體電路晶片)之軟裝置ID設定至「1」(十進制)之一例示性軟裝置ID值並將具有「0x1C7」(十六進制)之一例示性硬裝置ID之一第二裝置(例如,一第二積體電路晶片)之軟裝置ID設定至「2」(十進制)之一例示性軟裝置ID值之一實例。注意,本文中使用其中「0x」在該等十六進制數位之前以表示十六進制值之習用標記法。此外,在本文中所有該等時序圖中,影線表示一未定義或不相關狀態(在邏輯設計詞典中通常稱作一「不關心」狀態)。
在圖17A至圖17B中所圖解說明之寫入操作中,根據一高態有效選擇SPI類型之SPI協定,SPI_SEL信號線52上之選擇信號之上升邊緣158指示該寫入操作之開始或起始。(為了簡便起見,SPI_SEL信號線52(圖9)上之選擇信號可在下文中簡稱為「選擇信號」、「SPI_SEL」或「SPI_SEL信號」。同樣地,在SPI_CLK信號線56(圖9)上接收之時脈信號可在下文中簡稱為「時脈信號」、「SPI_CLK」或「SPI_CLK信號」)。緊隨繼上升邊緣158之後在SPI_DATA信號線48上接收之第一位元係該寫入/讀取位元,其在此實施中為一「0」,由此指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上於SPI_DATA信號線48上接收一個位址位元(「Aa-1」至「A0」)。(為了簡便起見,在SPI_DATA信號線48(圖9)上發送或接收之一位元可在下文中簡稱為一資料位元或簡稱為發送或接收之一位元)。在此實例中,該15個位址位元(亦即,a=15)表示位址「0x0001」(注意,除為一「1」之最低有效位址位元(「A0」)之外,所有位址位元皆為「0」)。位址「0x0001」指示欲對REG1(其在該例示性實施例中預留作為如上文所述之裝置ID組態暫存器)執行該寫入操作。緊隨繼該等位址位元之後,在接下來的16個時脈循環中之每一者上接收一個資料位元。在此實例中,此等資料位元表示資料值「0x61F1」。此資料值之前12個位元(圖17A中之「DI11」至「DI0」)表示第一裝置之硬裝置ID「0x61F」。此資料值之後四個位元(圖17A中之「SI3」至「SI0」)表示正將第一裝置軟ID設定至的「1」(十進制)之軟裝置ID值。該選擇信號之下降邊緣160出現在接收到最後資料位元之後。SPI受控控制器38比較所接收到之資料位元(「DI」)與第一裝置之硬裝置ID且在判定其匹配之後,將暫存器庫46之REG1[3:0]設定至在此實例中為「1」(十進制)之SI之一值。
參照係圖17A之時序圖之一接續之圖17B,注意,繼下降邊緣160之後,儲存於第一裝置之REG1中之值由「0x1F0」變為「0x1F1」。SPI_SEL之上升邊緣162指示指向第二裝置之一寫入操作之開始或起始。緊隨繼上升邊緣162之後第二裝置所接收到之第一位元係該寫入/讀取位元,其在此實例中為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。在此實例中,該15個位址位元(亦即,a=15)表示位址「0x0001」,從而指示欲對REG1(亦即,該裝置ID組態暫存器)執行該寫入操作。緊隨繼該等位址位元之後,在接下來的16個時脈循環中之每一者上接收一個資料位元。在此實例中,此等資料位元表示資料值「0x1C72」。此資料值之前12個位元(圖17B中之「DI11」至「DI0」)表示第一裝置之硬裝置ID「0x1C7」。此資料值之後四個位元(圖17B中之「SI3」至「SI0」)表示正將第二裝置軟ID設定至的「2」(十進制)之軟裝置ID值。在接收到最後資料位元之後,該選擇信號之下降邊緣164出現在接收到最後資料位元之後。注意,繼下降邊緣164之後,儲存於第二裝置之REG1中之值由「0x1C70」變為「0x1C72」。
一旦已以上文關於圖17A至圖17B所闡述之方式組態或設定第一及第二裝置之各別軟裝置ID,則SPI主控控制器44此後可使用其較短(例如,4位元)軟裝置ID而不是其較長(例如,12位元)硬裝置ID來定址第一及第二裝置。舉例而言,對於如上文所述組態之第一及第二裝置,SPI主控控制器44可藉由使用以「0x1」開始(亦即,具有「0x1」之一最高有效數位)之一位址來將讀取及寫入操作指向第一裝置且藉由使用以「0x2」開始之一位址來將讀取及寫入操作指向第二裝置。如圖18A至圖18B中所圖解說明,SPI_SEL之上升邊緣166指示一例示性寫入操作之開始或起始。緊隨繼上升邊緣166之後所接收到之第一位元係該寫入/讀取位元,其在此實例中為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,接收該「a」個位址位元中之前四個位元(亦即,最高有效位元)。在此實例中,該四個最高有效位址位元(「SI3」至「SI0」)表示「1」之一最高有效位址數位,此乃因第一裝置之軟裝置ID為「1」。剩餘位址位元(「Aa-5」至「A0」)繼該四個最高有效位址位元之後。此等剩餘位址元件識別或定址該寫入操作所指向之暫存器庫46中之暫存器REG2至REGj中之每一者。藉由暫存器庫46中之一位址「x」識別之暫存器可稱作REGx。緊隨繼該等位址位元之後,接收該「d」個資料位元(「Dd-1」至「D0」)。繼接收到最後資料位元D0之後,SPI受控控制器38回應於SPI_SEL之下降邊緣168而將所接收到之資料值(「Valx」)鎖存至第一裝置之暫存器REGx中。
參照係圖18A之時序圖之一接續之圖18B,SPI_SEL之上升邊緣170指示另一例示性寫入操作之開始或起始。緊隨繼上升邊緣170之後所接收到之第一位元係該寫入/讀取位元,其在此實例中為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,接收該「a」個位址位元中之前四個位元(亦即,最高有效位元)。在此實例中,該四個最高有效位址位元(「SI3」至「SI0」)表示「2」之一最高有效位址數位,此乃因第二裝置之軟裝置ID為「2」。剩餘位址位元(「Aa-5」至「A0」)繼該四個最高有效位址位元之後。此等剩餘位址位元識別或定址該寫入操作所指向之第二裝置中之暫存器REG2至REGj中之一者。藉由一位址「y」識別之第二裝置中之暫存器可稱作REGy。緊隨繼該等位址位元之後,接收該「d」個資料位元(「Dd-1」至「D0」)。繼接收到最後資料位元D0之後,回應於SPI_SEL之下降邊緣172而將所接收到之資料值(「Valy」)鎖存至第二裝置之暫存器REGy中。
回到圖10,由方塊78指示之一閒置狀態繼方塊76之後以指示SPI受控控制器38無需在設定該軟裝置ID之後即刻執行進一步動作。自該閒置狀態(方塊78),SPI受控控制器38可如上文所述重設,或者可如由方塊80所指示向一暫存器寫入或自一暫存器讀取。回應於一寫入操作或讀取操作,SPI受控控制器38可藉由偵測SPI_DATA、SPI_CLK及SPI_SEL信號之組合來偵測兩個或兩個以上SPI協定中之哪一個支配該操作。因此,SPI受控控制器38可對一資料讀取或寫入操作作出回應而不管SPI主控控制器44使用哪一個SPI協定。在本文中所闡述之例示性實施例中,SPI受控控制器38可對一資料讀取或寫入操作作出回應而不管該操作係根據該高態有效選擇SPI協定、該低態有效選擇SPI協定還是該I2 C SPI協定。不過,在其他實施例中,根據本發明之一SPI受控控制器可對根據另一類型之SPI協定之此一資料寫入或讀取操作作出回應。此外,在該例示性實施例中,SPI受控控制器38只有當一寫入操作或讀取操作直接繼該重設狀態(方塊70)之後時而不是每當一寫入操作或讀取操作繼該閒置狀態(方塊78)之後時偵測該協定。不過,在其他實施例中,一SPI受控控制器可在其他任何時間偵測該協定。
預期在對裝置組態暫存器REG1(例如,由方塊82所指示)及裝置ID組態暫存器REG0(例如,由方塊74至76所指示)中之一者或兩者執行一寫入操作之後對暫存器REG2至REGj中之一者執行一讀取操作或一寫入操作。換句話說,預期在組態SPI受控控制器38之後執行旨在影響邏輯區塊40、42等等(圖9)之正常讀取及寫入操作。不過,區塊80通常表示任一寫入或讀取操作,包括對組態暫存器REG0及REG1中之一者執行之寫入操作。
SPI受控控制器38可藉由監測SPI_SEL、SPI_DATA及SPI_CLK信號來偵測是否根據該高態有效選擇SPI協定、該低態有效選擇SPI協定或該I2 C SPI協定起始一資料寫入或資料讀取操作。如下文更詳細闡述,SPI受控控制器38之SPI控制邏輯60可偵測該等轉變,亦即,SPI_SEL、SPI_DATA及SPI_CLK之上升邊緣及下降邊緣。藉由偵測信號位準與轉變之組合,SPI控制邏輯60可偵測一資料寫入或資料讀取操作之起始,而不管該SPI協定為高態有效選擇、低態有效選擇還是I2 C。SPI受控控制器38在重設狀態70(圖10)下開始操作。
如圖11A至圖11B中所圖解說明,低態有效硬重設信號RESET_B在上升邊緣190處自一作用中(或低)狀態至一非作用中(或高)狀態之轉變指示一資料寫入或資料讀取操作可跟著發生。回應於RESET_B之停用,重設產生器64(圖9)停用由SPI控制邏輯60接收至之一高態有效RstSPI信號(未展示於圖11A至圖11B中)。繼RESET_B之此轉變之後,SPI_SEL在上升邊緣192處自一低狀態轉變至一高狀態。如由彎曲箭頭194所指示,SPI_SEL之上升邊緣192與RstSPI之非作用中狀態之組合向SPI受控控制器38指示SPI主控控制器44正在起始根據該高態有效選擇SPI協定之一資料寫入或讀取操作。注意,一協定選擇信號SEL_PROT自指示SPI受控控制器38尚未判定一SPI協定之「0」之一初始值轉變至指示SPI受控控制器38已判定已根據該高態有效選擇SPI協定起始一資料寫入或讀取操作之「1」之一值。根據該高態有效選擇SPI協定,繼SPI_SEL之上升邊緣192之後,SPI主控控制器44開始時脈信號SPI_CLK並與SPI_CLK同步以串列格式發送位元。根據該高態有效選擇SPI協定,所發送之第一位元係一寫入/讀取位元(「WbR」)。在圖11A至圖11B中所圖解說明之實例中,該寫入/讀取位元為一「0」,從而向SPI受控控制器38指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,根據該高態有效選擇SPI協定,SPI主控控制器44在接下來的「a」個時脈循環中之每一者上發送一個位址位元(「Aa-1」至「A0」)。緊隨繼該「a」個位址位元之後,SPI主控控制器44在接下來的「d」個時脈循環中之每一者上發送一個資料位元(「Dd」至「D0」)。繼最後資料位元(「D0」)之後,SPI主控控制器44停止SPI_CLK並使SPI_SEL在下降邊緣196處轉變至一低狀態。SPI主控控制器44隨後藉由使RESET_B在下降邊緣198處自一高狀態轉變至一低狀態來啟動RESET_B。回應於RESET_B之啟動,重設產生器64相應地啟動RstSPI。如由彎曲箭頭200所指示,RESET_B(經由SPI控制邏輯60接收之RstSPI信號)之下降邊緣198向SPI受控控制器38指示SPI主控控制器44已完成發送與該資料寫入操作有關之資料。注意,SPI受控控制器38藉由使SEL_PROT自「1」之一值轉變至「0」之一值來對該資料傳輸之完成作出回應。
RESET_B在上升邊緣202處自一作用中狀態至一非作用中狀態之轉變向SPI受控控制器指示另一資料寫入或資料讀取操作可繼上述資料寫入操作之後。回應於RESET_B至一作用中狀態之轉變,重設產生器64使RstSPI(未展示於圖11A至圖11B中)轉變至一作用中狀態。繼此等重設信號之啟動之後,SPI主控控制器44使SPI_SEL自一低狀態轉變至一高狀態。因在RstSPI處於一作用中狀態下的同時SPI_SEL自一低狀態轉變至一高狀態,故SPI受控控制器38不將SPI_SEL之此轉變視為指示另一資料寫入或讀取操作之起始。然而,SPI主控控制器44隨後在下降邊緣204處再次使SPI_SEL轉變至一低狀態。如由彎曲箭頭206所指示,SPI_SEL之下降邊緣204與RstSPI之非作用中狀態之組合向SPI受控控制器38指示SPI主控控制器44正在起始根據該低態有效選擇SPI協定之一資料寫入或讀取操作。注意,一協定選擇信號SEL_PROT自「0」之一值轉變至「2」之一值,此指示SPI受控控制器38已判定已根據該低態有效選擇SPI協定起始一資料寫入或讀取操作。根據該低態有效選擇SPI協定,繼SPI_SEL之下降邊緣204之後,SPI主控控制器44開始時脈信號SPI_CLK並與SPI_CLK同步在該SPI_DATA信號線上以串列格式發送位元。根據該低態有效選擇SPI協定,在該SPI_DATA信號線上發送之第一位元係一寫入/讀取位元(「WbR」)。在圖11A至圖11B中所圖解說明之實例中,該寫入/讀取位元為一「0」,從而向SPI受控控制器38指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,根據該低態有效選擇SPI協定,SPI主控控制器44在接下來的「a」個時脈循環中之每一者上發送一個位址位元(「Aa-1」至「A0」)。緊隨繼該「a」個位址位元之後,SPI主控控制器44在接下來的「d」個時脈循環中之每一者上發送一個資料位元(「Dd」至「D0」)。繼最後資料位元(「D0」)之後,SPI主控控制器44停止SPI_CLK並使SPI_SEL在上升邊緣208處轉變至一高狀態。SPI主控控制器44隨後藉由使RESET_B在下降邊緣210處自一高狀態轉變至一低狀態來啟動RESET_B。回應於RESET_B之啟動,重設產生器64相應地啟動RstSPI。如由彎曲箭頭212所指示,RESET_B(經由RstSPI)之下降邊緣210向SPI受控控制器38指示SPI主控控制器44已完成傳輸與該資料寫入操作有關之資料。注意,SPI受控控制器38藉由使SEL_PROT自「2」之一值轉變至「0」之一值來對該資料傳輸之完成作出回應。
RESET_B在上升邊緣214處自一作用中狀態至一非作用中狀態之轉變向SPI受控控制器38指示再一資料寫入或資料讀取操作可繼上述資料寫入操作之後。回應於RESET_B至一作用中狀態之轉變,重設產生器64使RstSPI(未展示於圖11A至圖11B中)轉變至一作用中狀態。此外,在RESET_B之此轉變期間及之後,SPI主控控制器38使SPI_CLK維持處於一高狀態下。繼此等重設信號之啟動之後,且在使SPI_CLK維持處於一高狀態下的同時,SPI主控控制器44使SPI_DATA在下降邊緣216處自一高狀態轉變至一低狀態。如由彎曲箭頭218所指示,SPI_DATA之下降邊緣216與SPI_CLK之高狀態之組合向SPI受控控制器38指示SPI主控控制器44正在起始根據該I2 C SPI協定之一資料寫入或讀取操作。注意,根據該I2 C SPI協定之寫入或讀取操作不使用該SPI_SEL信號線。該協定選擇信號SEL_PROT隨後自「0」之一值轉變至「3」之一值,從而指示SPI受控控制器38已判定已根據該I2 C SPI協定起始一資料寫入或讀取操作。根據該I2 C SPI協定,繼SPI_DATA之下降邊緣216之後,SPI主控控制器44開始SPI_CLK並與SPI_CLK同步在該SPI_DATA信號線上以串列格式發送位元。根據該I2 C SPI協定,所發送之第一位元係一寫入/讀取位元(「WbR」)。在圖11A至圖11B中所圖解說明之實例中,該寫入/讀取位元為一「0」,從而向SPI受控控制器38指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,根據該低態有效選擇SPI協定,SPI主控控制器44在接下來的「a」個時脈循環中之每一者上發送一個位址位元(「Aa-1」至「A0」)。緊隨繼該「a」個位址位元之後,SPI主控控制器44在接下來的「d」個時脈循環中之每一者上發送一個資料位元(「Dd」至「D0」)。繼最後資料位元(「D0」)之後,SPI主控控制器44停止SPI_CLK並使SPI_DATA在上升邊緣220處轉變至一高狀態。SPI主控控制器44隨後可以相同方式(亦即,藉由在SPI_CLK保持處於一高狀態下的同時使SPI_DATA轉變至一低狀態)來起始另一寫入或讀取操作。另一選擇係,SPI主控控制器44可啟動RESET_B以使SPI受控控制器38返回至重設狀態70(圖10)。
在一資料寫入或讀取操作中,該例示性實施例之SPI受控控制器38亦可偵測該寫入/讀取位元之極性。換句話說,SPI受控控制器38感測兩個模式中之一者:其中一低寫入/讀取位元指示一寫入操作且一高寫入-讀取位元指示一讀取操作之一第一模式及其中一高寫入/讀取位元指示一讀取操作且一低寫入/讀取位元指示五寫入操作之一第二模式。儘管通常以一低寫入/讀取位元來指示一寫入操作且以一高寫入/讀取位元來指示一讀取操作(亦即,第一模式),但該例示性實施例之極性偵測特徵含納其中一SPI主控控制器可起始其中該寫入/讀取位元極性相反(亦即,第二模式)之一寫入或讀取操作之一預期例項。此外,儘管在該例示性實施例中,SPI受控控制器38只有當一寫入操作或讀取操作緊隨繼該重設狀態(方塊70)之後時而不是每當一寫入操作或讀取操作繼該閒置狀態(方塊78)之後時偵測該寫入/讀取位元極性,但在其他實施例中,一SPI受控控制器可在其他任何時間偵測該寫入/讀取位元極性。
在該例示性實施例中,回應於一寫入操作,SPI受控控制器38不僅可偵測正在使用幾個SPI協定中之哪一個,而且SPI受控控制器38可偵測該寫入操作是否涉及一壓縮資料模式。本文使用之術語「壓縮」係指其中在一單個寫入操作期間發送兩個或兩個以上資料字組之一模式。在一壓縮模式寫入操作中,SPI受控控制器38每當接收到一資料字組時自動遞增該暫存器位址。在圖19A至圖19B中所圖解說明之壓縮模式寫入操作中,於SPI_SEL之上升邊緣174之後,所發送之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。緊隨繼該「a」個位址位元之後,在接下來的「d」個時脈循環中之每一者上接收一個資料位元(「Dd-1」至「D0」)。在接收到最後資料位元D0之後,SPI受控控制器38將所接收到之資料值(「VALx」)鎖存至與接收之位址相關聯之暫存器(「REGx」)中,如由彎曲箭頭176所指示。SPI受控控制器38可藉由維持該等時脈循環之一計數(「CntShft」)來判定哪一個資料位元係最後資料位元(「D0」),如下文更進一步闡述。只要SPI_SEL信號線52上之選擇信號保持高,則SPI受控控制器38繼續計數該等時脈循環以期待接收另一資料字組。因此,緊隨繼接收到第一資料字組之最後資料位元(「D0」)之後,接收第二資料字組之第一資料位元(「Dd」),等等。繼接收到第二資料字組之最後資料位元(「D0」)之後,SPI受控控制器38將所接收到之資料值(「VALx+1 」)鎖存至與比所接收到之位址大1之一位址值相關聯之暫存器(「REGx+1 」)中,如由彎曲箭頭178所指示。同樣地,於圖19B中繼續,緊隨在接收到第二資料字之最後資料位元(「D0」)之後,接收第三資料字之第一資料位元(「Dd」),等等。跟隨在接收到第三資料字之最後資料位元(「D0」)之後,SPI從屬控制器38將所接收到之資料值(「VALx+2 」)鎖存至與比所接收到之位址大2之一位址值相關聯之暫存器(「REGx+2 」)中,如由彎曲箭頭180所指示。類似地,緊隨繼接收到第三資料字組之最後資料位元(「D0」)之後,接收第四資料字組之第一資料位元(「Dd」),等等。緊隨繼接收到第四資料字組之最後資料位元(「D0」)之後,SPI受控控制器38將所接收到之資料值(「VALx+3 」)鎖存至與比接收之位址大3之一位址值相關聯暫存器(「REGx+3 」)中,如由彎曲箭頭182所指示。在一壓縮模式寫入操作之此實例中,SPI主控控制器44發送四個資料字組並致使SPI_SEL線52上之選擇信號繼第四資料字組之最後資料位元(「D0」)之後降低或變低。SPI受控控制器38藉由終止上文所提及之移位計數(「CntShft」)來對該選擇信號之下降邊緣184作出回應。
回到圖10,如由方塊82所指示,SPI受控控制器38可對由SPI主控控制器44起始之至上文所提及之介面組態暫存器之一寫入操作作出回應。如上文所提到,該介面組態暫存器可係(舉例而言)暫存器庫46中具有「0」之一指標之暫存器(REG0)。回應於對REG0執行之一寫入操作,在SPI受控控制器38中設定或組態若干個操作模式。一旦以此方式組態此等操作模式,則根據已設定之經組態操作模式來執行可對一暫存器(除REG0或REG1之外)執行之任一進一步資料寫入或讀取操作(方塊80)。此等操作模式包括:或者,在一寫入操作中,回應於SPI_CLK或SPI_SEL而將資料鎖存至該暫存器中;或者,在一寫入操作中,傳入位址在傳入資料之前或傳入資料在傳入位址之前;或者在一寫入操作中,自最高有效位元至最低有效位元或自最低有效位元至最高有效位元排序傳入資料;針對欲輸出之資料之一讀取操作中之延遲之時脈循環之數目;表示一讀取或寫入操作中之位址之位元之數目;及表示一讀取或寫入操作中之資料字組之位元之數目。下文參照圖12至16之時序圖更詳細闡述此等操作模式。
如由方塊84所指示,SPI受控控制器38可設定欲在可對另一暫存器執行之任一進一步資料寫入操作中(亦即,繼對該介面組態暫存器之寫入操作之後)使用或應用之鎖存模式。圖12A及圖12B之時序圖圖解說明如何在根據一高態有效選擇類型之SPI協定之一進一步資料寫入操作期間應用該鎖存模式。
圖12A中所圖解說明之寫入操作表示應用其中欲回應於SPI_SEL而將資料鎖存至一暫存器中之一鎖存模式。此鎖存模式可由(舉例而言)儲存於與鎖存模式相關聯之介面組態暫存器REG0[1](圖27)之位元位置中之一「1」指示或設定(方塊84)。在圖12A中所圖解說明之寫入操作中,繼SPI_SEL之上升邊緣86之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。緊隨繼該等位址位元之後,在接下來的「d」個時脈循環中之每一者上接收一個資料位元(「Dd-1」至「D0」)。繼接收到最後資料位元D0之後,SPI受控控制器38回應於SPI_SEL之下降邊緣88而將所接收到之資料值(「VAL」)鎖存至與接收之位址相關聯之一暫存器(「REG」)中,如由彎曲箭頭90所指示。
圖12B中所圖解說明之寫入操作表示應用其中欲回應於SPI_CLK而將資料鎖存至一暫存器中之一鎖存模式。此鎖存模式可由(舉例而言)儲存於與鎖存模式相關聯之介面組態暫存器(REG0[1])之位元位置中之一「0」指示或設定(方塊84)(參見圖27)。在圖12B中所圖解說明之寫入操作中,繼SPI_SEL信號線52(圖9)上之選擇信號之上升邊緣90之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。緊隨繼該等位址位元之後,在接下來的「d」個時脈循環中之每一者上接收一個資料位元(「Dd-1」至「D0」)。繼接收到最後資料位元D0之後,SPI受控控制器38不是回應於該選擇信號之下降邊緣92而是回應於SPI_CLK之下降邊緣94將所接收到之資料值(「VAL」)鎖存至與接收之位址相關聯之一暫存器(「REG」)中,如由彎曲箭頭96所指示。為判定在其上鎖存該資料值之時脈循環,SPI受控控制器38計數(「CNT_SHFT」)其間接收位址位元及資料位元之時脈循環之數目,且基於計數之位址位元及資料位元之總數目,在與所接收到之最後資料位元(「D0」)相關聯之時脈循環上鎖存該資料值。
回到圖10,如由方塊98所指示,SPI受控控制器38可設定欲在任一進一步資料寫入操作中使用或應用之時脈邊緣模式。圖13A及圖13B之時序圖圖解說明如何在根據一高態有效選擇類型之SPI協定之一進一步資料寫入操作期間應用該時脈邊緣模式。
圖13A中所圖解說明之寫入操作表示應用其中回應於該時脈信號(SPI_CLK)之一下降或負邊緣或轉變而取樣接收到之每一資料位元之一時脈邊緣模式。此負時脈邊緣模式可由(舉例而言)儲存於與時脈邊緣模式相關聯之介面組態暫存器REG0[0](圖27)之位元位置中之一「1」指示或設定(方塊98)(參見圖27)。在圖13A中所圖解說明之寫入操作中,繼SPI_SEL信號線52(圖9)上之選擇信號之上升邊緣100之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。注意,在SPI_CLK之負邊緣102上取樣該寫入/讀取位元。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。注意,在SPI_CLK之負邊緣104上取樣第一位址位元(Aa-1),且在SPI_CLK之負邊緣106上取樣最後位址位元(A0)。緊隨繼該等位址位元之後,在接下來的「d」個時脈循環中之每一者上接收一個資料位元(「Dd-1」至「D0」)。注意,在SPI_CLK之負邊緣108上取樣第一資料位元(Dd-1),且在SPI_CLK之負邊緣110上取樣最後資料位元(D0)。繼接收到最後資料位元D0之後,SPI受控控制器38回應於SPI_SEL之下降邊緣112而將所接收到之資料值(「VAL」)鎖存至與所接收到之位址相關聯之一暫存器(「REG」)中。
圖13B中所圖解說明之寫入操作表示應用其中回應於SPI_CLK之一上升或正邊緣或轉變而取樣接收到之每一資料位元之一時脈邊緣模式。此負時脈邊緣模式可由(舉例而言)儲存於與時脈邊緣模式相關聯之介面組態暫存器REG0[0]之位元位置中之一「0」指示或設定(方塊98)(參見圖27)。在圖13B中所圖解說明之寫入操作中,繼SPI_SEL上之選擇信號之上升邊緣114之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。注意,在SPI_CLK之正邊緣116上取樣該寫入/讀取位元。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。注意,在SPI_CLK之正邊緣118上取樣第一位址位元(Aa-1),且在SPI_CLK之負邊緣120上取樣最後位址位元(A0)。緊隨繼該等位址位元之後,在接下來的「d」個時脈循環中之每一者上接收一個資料位元(「Dd-1」至「D0」)。注意,在SPI_CLK之正邊緣122上取樣第一資料位元(Dd-1),且在SPI_CLK之正邊緣124上取樣最後資料位元(D0)。繼接收到最後資料位元D0之後,SPI受控控制器38回應於SPI_SEL之下降邊緣126而將所接收到之資料值(「VAL」)鎖存至與接收之位址相關聯之一暫存器(「REG」)中。
回到圖10,如由方塊128所指示,SPI受控控制器38可設定欲在可執行之任一進一步資料寫入操作中使用或應用之字組次序模式。圖14A及圖14B之時序圖圖解說明如何在根據一高態有效選擇類型之SPI協定之一進一步資料寫入操作期間應用該字組次序模式。
圖14A中所圖解說明之寫入操作表示設定其中在接收到之串列位元流中位址位元在資料位元之前的一字組次序模式。此字組次序模式可由(舉例而言)儲存於與字組次序模式相關聯之介面組態暫存器REG0[11]之位元位置中之一「0」指示或設定(方塊128)(參見圖27)。在圖14A中所圖解說明之寫入操作中,繼SPI_SEL之上升邊緣130之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。緊隨繼該等位址位元之後,在接下來的「d」個時脈循環中之每一者上於SPI_DATA信號線48上接收一個資料位元(「Dd-1」至「D0」)。SPI_SEL之下降邊緣132出現在接收到最後資料位元(「D0」)之後。
圖14B中所圖解說明之寫入操作表示設定其中在接收到之串列位元流中資料位元在位址位元之前的一字組次序模式。此字組次序模式可由(舉例而言)儲存於與字組次序模式相關聯之介面組態暫存器REG0[11]之位元位置中之一「1」指示或設定(方塊128)(參見圖27)。在圖14B中所圖解說明之寫入操作中,繼SPI_SEL之上升邊緣134之後,在接下來的「d」個時脈循環中之每一者上接收一個資料位元(「Dd-1」至「D0」)。緊隨繼最後資料位元(「D0」)之後接收該寫入/讀取位元。在所圖解說明之實例中,該寫入/讀取位元為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。該選擇信號之下降邊緣136出現在接收到最後位址位元(「A0」)之後。
回到圖10,如由方塊138所指示,SPI受控控制器38可設定欲在可執行之任一進一步資料寫入操作中使用或應用之位元次序模式。圖15A及圖15B之時序圖圖解說明如何在根據一高態有效選擇類型之SPI協定之一進一步資料寫入操作期間應用該位元次序模式。
圖15A中所圖解說明之寫入操作表示應用其中位址位元及資料位元以自最高有效位元至最低有效位元之次序串列抵達之一位元次序模式。此位元次序模式可由(舉例而言)儲存於與位元次序模式相關聯之介面組態暫存器REG0[12]之位元位置中之一「0」指示或設定(方塊138)(參見圖27)。在圖15A中所圖解說明之寫入操作中,繼SPI_SEL之上升邊緣140之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在下一個時脈循環(「SPI_CLK」)期間接收第一位址位元(「Aa-1」)。此第一位址位元係最高有效位址位元(「Aa-1」)。接收到之下一個位址位元係次最高有效位址位元(「Aa-2」)。在連續時脈循環上,繼續以此方式接收位址位元,直至接收到係最低有效位元(「A0」)之最後位址位元為止。緊隨繼該等位址位元之後,以一類似方式接收該等資料位元。換句話說,在下一個時脈循環期間接收第一資料位元(「Dd-1」)。此第一資料位元係最高有效資料位元(「Dd-1」)。接收到之下一個資料位元係次最高有效資料位元(「Dd-2」)。在連續時脈循環上,繼續以此方式接收資料位元,直至接收到係最低有效位元(「D0」)之最後資料位元為止。SPI_SEL之下降邊緣142出現在接收到最後資料位元(「D0」)之後。
圖15B中所圖解說明之寫入操作表示應用其中位址位元及資料位元以自最高有效位元至最低有效位元之次序串列抵達之一位元次序模式。此位元次序模式可由(舉例而言)儲存於與位元次序模式相關聯之介面組態暫存器REG0[12]之位元位置中之一「1」指示或設定(方塊138)(參見圖27)。在圖15A中所圖解說明之寫入操作中,繼SPI_SEL之上升邊緣144之後,接收到之第一位元(該寫入/讀取位元)為一「0」,從而指示該操作係一寫入操作。緊隨繼該寫入/讀取位元之後,在下一個時脈循環(「SPI_CLK」)期間接收第一位址位元(「A0」)。此第一位址位元係最低有效位址位元(「A0」)。接收到之下一個位址位元係次最低有效位址位元(「A1」)。在連續時脈循環上,繼續以此方式接收位址位元,直至接收到係最高有效位元(「Aa-1」)之最後位址位元為止。緊隨繼該等位址位元之後,以一類似方式接收該等資料位元。換句話說,在下一個時脈循環期間在SPI_DATA信號線48上接收第一資料位元(「D0」)。此第一資料位元係最低有效資料位元(「D0」)。接收之下一個資料位元係次最低有效資料位元(「D1」)。在連續時脈循環上,繼續以此方式接收資料位元,直至接收到係最高有效位元(「Dd-1」)之最後資料位元為止。SPI_SEL之下降邊緣146出現在接收到最後資料位元(「Dd-1」)之後。
回到圖10,如由方塊148所指示,SPI受控控制器38可設定欲在可執行之任一資料讀取操作中應用之轉迴長度模式。圖16A及圖16B之時序圖圖解說明如何在根據一高態有效選擇類型之SPI協定之一資料讀取操作期間應用該轉迴長度模式。
圖16A中所圖解說明之寫入操作表示應用其中將轉迴長度設定至1-1/2個時脈循環之一例示性長度之一轉迴長度模式。此轉迴模式可由(舉例而言)儲存於與轉迴長度模式相關聯之介面組態暫存器REG0[10:8]之位元位置中之一3位元轉迴長度字組指示或設定(方塊148)(參見圖27)。在該例示性實施例中,可將該轉迴長度字組程式化或設定具有一時脈循環之二分之一之一解析度。舉例而言,若將一轉迴長度字組「001」儲存於REG0[10:8]中,則該轉迴長度係二分之一位元。若將一轉迴長度字組「011」儲存於REG0[10:8]中,則該轉迴長度係1-1/2個位元。若將一轉迴長度字組「110」儲存於REG0[10:8]中,則該轉迴長度係三個位元。在圖16A中所圖解說明之寫入操作中,繼SPI_SEL之上升邊緣150之後,接收到之第一位元(該寫入/讀取位元)為一「1」,從而指示該操作係一讀取操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。在根據一高態有效選擇類型之SPI協定之一讀取操作中,SPI_SEL之下降邊緣152出現在接收到最後位址位元(「A0」)之後。回應於SPI_SEL及該等位址位元,SPI受控控制器38讀取暫存器庫46(圖9)中對應於該位址之暫存器之內容(資料字組)。在圖16A中所圖解說明之實例中,將該轉迴長度設定至1-1/2個時脈循環。因此,在其上接收到最後位址位元之時脈循環之後的1-1/2個時脈循環,SPI受控控制器38使自該暫存器讀取之資料字組之第一位元存在於SPI_DATA信號線48(圖9)上,亦即,SPI受控控制器38發送第一資料位元。SPI受控控制器38致使在接下來的「d」個時脈循環中之每一者上發送一個資料位元(「Dd-1」至「D0」)。
圖16B中所圖解說明之寫入操作表示應用其中將轉迴長度設定至三個時脈循環之一例示性長度之一轉迴長度模式。繼SPI_SEL之上升邊緣154之後,接收到之第一位元(該寫入/讀取位元)為一「1」,從而指示該操作係一讀取操作。緊隨繼該寫入/讀取位元之後,在接下來的「a」個時脈循環中之每一者上接收一個位址位元(「Aa-1」至「A0」)。SPI_SEL之下降邊緣156出現在接收到最後位址位元(「A0」)之後。回應於SPI_SEL及該等位址位元,SPI受控控制器38讀取暫存器庫46(圖9)中對應於該位址之暫存器之內容(資料字組)。在其上接收到最後位址位元之時脈循環之後的三個時脈循環(亦即,轉迴長度),SPI受控控制器38使自該暫存器讀取之資料字組之第一單位元存在於SPI_DATA信號線48(圖9)上,亦即,發送第一資料位元。SPI受控控制器38在接下來的「d」個時脈循環中之每一者上發送一個資料位元(「Dd-1」至「D0」)。
回到圖10,如由方塊186所指示,SPI受控控制器38可偵測該資料長度模式。該資料長度模式指示出現在可執行之任一資料寫入或讀取操作中之資料位元之數目(「d」)。該資料長度模式可由(舉例而言)儲存於與資料長度控制相關聯之介面組態暫存器REG0[3:2]之位元位置中之一2位元資料長度字組指示或設定(參見圖27)。在該例示性實施例中,可將該資料長度字組程式化或設定至以下離散值中之任一者:8、16或28。向REG0[3:2]寫入「1」(十進制)之一值將資料位元之數目(「d」)設定至8。向REG0[3:2]寫入「2」(十進制)之一值將資料位元之數目(「d」)設定至16。向REG0[3:2]寫入「3」(十進制)之一值將資料位元之數目(「d」)設定至28。不過,在其他實施例中,該資料長度可設定至其他離散值。若SPI主控控制器44起始其中將「1」、「2」或「3」之一值儲存於REG0[3:2]中之一寫入操作,則SPI受控控制器38以上文所述闡述之方式使用對應之資料長度(「d」)。舉例而言,SPI受控控制器38使用該經組態資料長度值來維持所接收到之資料位元及位址位元之一計數。然而,若將「0」之一值儲存於REG0[3:2]中,則回應於一進一步寫入或讀取操作,SPI受控控制器38回應於一寫入操作期間之接收之位元(亦即,位址位元、資料位元及寫入/讀取位元)之總數目之一計數(「CntShft」預設至對若干個離散資料長度(「d」或「DetLenData」)中之一者之一動態或實時選擇。在該例示性實施例中,SPI受控控制器38判定在一寫入操作中接收到多於32個位元之一總數目之情況下該資料長度為28個位元,在一寫入操作中接收到多於20個但少於32個位元之一總數目之情況下該資料長度為16,且在一寫入操作中接收到總共少於20個位元之情況下該資料長度為8。不過,在其他實施例中,於此一預設模式中,可回應於任何其他合適準則而根據任一其他此組離散值來判定該資料長度。
回到圖10,如由方塊188所指示,SPI受控控制器38可偵測該位址長度模式。該位址長度模式指示出現在可執行之任一資料寫入或讀取操作中之位址位元之數目(「a」)。該位址長度模式可由(舉例而言)儲存於與位址長度控制相關聯之介面組態暫存器REG0[7:4]之位元位置中之一4位元位址長度字組指示或設定(參見圖27)。在該例示性實施例中,可藉由將等效二進制字寫入至REG0[7:4]來將該位址長度字組程式化或設定至介於1與15之間的任一值。不過,在其他實施例中,該位址長度可設定至處於任一其他合適範圍內之一值。若SPI主控控制器44起始其中將除「0」之外的任一值(「a」)儲存於REG0[7:4]中之一寫入操作,則SPI受控控制器38以上文所闡述之方式使用彼經組態位址長度(「a」)。舉例而言,SPI受控控制器38使用該經組態位址長度來維持所接收到之位址位元及資料位元之一計數。然而,若將「0」之一值儲存於REG0[7:4]中,則回應於一進一步寫入或讀取操作,SPI受控控制器38基於在一寫入操作期間所接收到之位元(亦即,位址位元、資料位元及寫入/讀取位元)之總數目之計數(「CntShft」)與該寫入操作中之資料位元之數目(「d」或「DetLenData」)之間的差來計算位址長度(「a」或「DetLenAddr」):DetLenAddr=CntShft-DetLenData-1。舉例而言,在其中資料位元之數目(「d」)為16且SPI受控控制器38接收32個位元之一總數目(「CntShft」)之一例項中,SPI受控控制器38判定該寫入操作中之位址長度(「a」或「DetLenAddr」)為15個位元。
在圖20中,更詳細展示SPI控制邏輯60(圖9)。SPI控制邏輯60與本文中所闡述之SPI受控控制器38之其他元件一起操作來對暫存器庫46之暫存器執行讀取及寫入操作。SPI控制邏輯60包括一介面偵測器222、一移位控制器224、一資料映射程式226及包含若干個正反器228、230、232等等(其中為了清楚之目的而未展示之額外正反器由省略(「...」)符號指示)之一移位暫存器。該移位暫存器將經由SPI_DATA信號線48(圖9)接收到之串列格式資料位元(SDAT_IN)轉換成輸出至資料映射程式226之並列格式資料字組。該移位暫存器亦將自暫存器庫46(圖9)讀取之資料字組(RdData[15:0])轉換成欲經由SPI_DATA信號線48上輸出之串列資料(SDAT_OUT)。正反器228、230、232等等中之每一者皆在其輸入處具有一關聯多工器234、236、238等等以在出現一寫入操作之情況下選擇SDAT_IN或在出現一讀取操作之情況下選擇RdData[15:0]。移位控制器224產生控制多工器234、236、238等等之一移位暫存器樣本選擇信號SmpRdData。
資料映射程式226不加改變地傳遞該資料或根據如由表示REG0[12]之內容之一信號SelBitOrd所指示之上述位元次序模式來重新排序該等位元。一正反器陣列(亦即,一暫存器)240將資料映射程式226之輸出鎖存為一寫入資料字組WrData[15:0]。移位控制器224產生控制正反器陣列240之一寫入資料樣本信號SmpWrData。
移位控制器224亦產生控制將資料映射程式226之輸出鎖存為一位址Addr[14:0]之另一正反器陣列(亦即,暫存器)242之一位址樣本信號SmpAddr。移位控制器224產生用於控制正反器陣列242之輸入處之一多工器244之一壓縮模式選擇信號DetCmpr。若DetCmpr指示壓縮模式,則一加法器246將Addr[14:0]遞增1並將結果饋送回至多工器244之選定輸入。
該串列資料輸出(SDAT_OUT)係由一多工器248回應於REG0[8]而自該移位暫存器輸出或自一正反器250選擇。正反器250用於其中儲存於REG0[10:8]中之轉迴長度字組(CtrlTrn[0])之最低有效位元為一「1」,從而指示該轉迴長度並非係整數個時脈循環而是包括一半循環之例項中。如上文所述,可將該轉迴長度字組程式化或設定具有一時脈循環之二分之一之一解析度。舉例而言,可設定1-1/2個時脈循環之一轉迴長度。因此,在其中將REG0[8]設定至「1」之一例項中,一反相器252反轉ClkSPI以便正反器250將該移位暫存器輸出鎖存在ClkSPI之下降邊緣上。在其中將REG0[8]設定至「0」之一例項中,多工器248不選擇正反器250之輸出而是直接選擇該移位暫存器輸出。
在圖21中,更詳細展示介面偵測器222(圖20)。介面偵測器222包括輸出指示該等SPI協定中之哪一者支配該資料寫入或讀取操作之協定選擇信號SEL_PROT[1:0]之兩個正反器260及262。如上文關於圖11A至圖11B所述,SEL_PROT在介面偵測器222偵測到根據該高態有效選擇SPI協定之一資料寫入或讀取操作時具有「1」之一值、在介面偵測器222偵測到根據該低態有效選擇SPI協定之一資料寫入或讀取操作時具有「2」之一值,且在介面偵測器222偵測到根據該I2 C SPI協定之一資料寫入或讀取操作時具有「3」之一值。該偵測電路包括三個正反器264、266及268、三個「或」閘270、272及274以及兩個反相器276及278。當施加重設信號RstSPI時,將正反器260、262、264、266及268中之每一者清除至「0」。在RstSPI被釋放之後,該群組之正反器264、266及268偵測該等介面協定(亦即,高態有效選擇協定、低態有效選擇協定或I2 C協定)中之一者之開始事件。針對高態有效SPI協定偵測在選擇信號SPI_SEL之上升邊緣之後即刻將正反器264設定至「1」。針對低態有效SPI協定偵測在SPI_SEL之下降邊緣之後即刻將正反器266設定至「1」。針對I2 C SPI協定偵測在SPI_DATA之下降邊緣之後即刻將正反器268設定至「1」。在將該三個正反器264、266及268中之任一者設定至「1」之後,「或」閘274將偵測信號DET自低改變至高。偵測信號DET保持高直至施加RstSPI為止。該兩個「或」閘270及272二進制解碼該三個正反器264、266及268之狀態。該三個正反器264、266及268之狀態隨著DET之上升邊緣而作為正反器260及262上之樣本。
包含兩個多工器280及282、兩個正反器285及287以及兩個「與」閘289及291之觸發信號電路由SEL_PROT控制且分別輸出開始觸發信號TrgStrt及停止觸發TrgStp信號。多工器280選擇與所偵測到之SPi協定相關聯之開始觸發事件。若已偵測到高態有效選擇SPi協定,則多工器280選擇SPI_SEL之上升邊緣作為一開始觸發事件。若已偵測到低態有效選擇SPi協定,則多工器280選擇SPI_SEL之下降邊緣作為一開始觸發事件。若已偵測到I2 C SPi協定,則多工器280選擇在SPI_CLK為高的同時出現之SPI_DATA之一下降邊緣之組合(經由一「與」閘284及反相器288)作為一開始觸發事件。若尚未偵測到任何SPi協定,則多工器280選擇DET作為一初始開始觸發事件。多工器282選擇與所偵測到之SPI協定相關聯之停止觸發事件。若已偵測到高態有效選擇SPI協定,則多工器282選擇SPI_SEL之下降邊緣(經由一反相器290)作為一停止觸發事件。若已偵測到低態有效選擇SPI協定,則多工器282選擇SPI_SEL之上升邊緣作為一停止觸發事件。若已偵測到I2 C SPI協定,則多工器282選擇在SPI_CLK為高的同時出現之SPI_DATA之一上升邊緣之組合(經由一「與」閘286)作為一停止觸發事件。若尚未偵測到任何SPI協定,則多工器282選擇約束為低(例如,連接至諸如VSS或接地之一固定電壓)之一輸入,此乃因不再需要任何停止觸發事件。
在圖22中,更詳細展示資料映射程式226(圖20)。回應於SelBitOrd信號(REG0[12]),一多工器292選擇並列資料字組PDatIn[15:0]或其中反轉PDatIn[15:0]之位元位置之一字。換句話說,當SelBitOrd為低時,PDatMap[15:0]=PDatIn[15:0]。然而,當SelBitOrd為高時,PDatMap[15:0]=PDatIn[0:15]。
在圖23中,更詳細展示移位控制器224(圖20)。移位控制器224之功能中之一者係產生一寫入啟用信號WrEn。該WrEn信號係由包含一「與」閘254、一正反器256及一多工器258之電路回應於TrgStrt及TrgStp、由表示REG0[1]之內容之一信號SelLtch所指示之鎖存模式以及寫入資料樣本信號SmpWrData而產生。正反器256在觸發開始信號TrgStrt為高時取樣串列資料輸入(SDAT_IN)之第一位元。正反器256之經反轉()輸出處之讀取命令信號WrCmd用於裝備該寫入操作,因為所接收到之第一位元係該寫入/讀取位元。一對應讀取命令信號RdCmd產生於正反器256之未經反轉(Q)輸出處。
此外,在繼一重設之後出現之第一或初始資料傳送操作期間,包括一「互斥或」閘257、一正反器259及一「與」閘261之電路感測該寫入/讀取位元(亦即,出現在TrgStrt為高時之串列資料輸入(SDAT_IN)之第一位元)之極性。換句話說,此電路感測兩個模式中之一者:其中一低寫入/讀取位元指示一寫入操作且一高寫入/讀取位元指示一讀取操作之一第一模式及其中一高寫入/讀取位元指示一讀取操作且一低寫入/讀取單位元指示一寫入操作之一第二模式。當假定繼一重設之後的初始資料傳送操作為至一組態暫存器或另一暫存器之一寫入操作時,正反器259儲存出現在TrgStrt為高時之串列資料輸入(SDAT_IN)之第一位元之狀態。
正反器256之經反轉輸出(WrCmd)在每一資料傳送之整個期間保持高。寫入啟用信號WrEn係當在該資料傳送結束時產生觸發停止信號TrgStp時或當移位計數逾時時經由「與」閘254產生之一脈衝。移位計數之逾時由樣本寫入資料信號SmpWrData指示。表示REG0[1]之內容之鎖存選擇信號SelLtch控制多工器258選擇觸發停止信號TrgStp或樣本寫入資料信號SmpWrData作為用於產生寫入啟用信號WrEn之基礎。
移位控制器224之功能中之另一者係判定位址位元之數目(亦即,位址長度DetLenAddr)及資料位元之數目(亦即,資料長度DetLenData)。一正反器陣列(亦即,暫存器)296維持移位計數(「CntShft[5:0]」)。一加法器298在時脈信號ClkSPI之每一循環上遞增該計數。當TrgStrt處於一高狀態下時,一多工器300選擇用於載入至正反器陣列296中之「0」之一值。當TrgStrt處於一低狀態下時,多工器300選擇另一多工器302之輸出,多工器302在移位計數達到位址長度與資料長度之總和時選擇位址長度。包括兩個多工器304及306以及兩個比較器308及310之邏輯元件判定資料位元之數目(亦即,資料長度DetLenData)為8、16或28。如上所述,當將「0」之一值儲存於REG0[3:2]中時,回應於CntShft而作出對DetLenData之一動態或實時選擇。多工器304及306以及比較器308及310在CntShft大於32之情況下產生28之一輸出,在CntShft大於20但小於32之情況下產生16之一輸出,且在CntShft小於20之情況下產生8之一輸出。將此輸出時脈控制至一正反器陣列(亦即,暫存器)312中。如由表示REG0[3:2]之內容之之信號CtrlData[1:0]所指示之資料長度模式控制一多工器314。若CtrlData[1:0]為指示欲動態判定該資料長度之「0」,則多工器314選擇儲存於正反器陣列312中之DetLenData。然而,若CtrlData[1:0]為指示欲將該資料長度設定至8之一值之「1」,則多工器314選擇並輸出8之一值。同樣地,若CtrlData[1:0]為指示欲將該資料長度設定至16之一值之「2」,則多工器314選擇並輸出16之一值。類似地,若CtrlData[1:0]為指示欲將該資料長度設定至28之一值之「3」,則多工器314選擇並輸出28之一值。多工器314之輸出提供至包括四個比較器316、318及320、一加法器322以及兩個多工器324及326之邏輯電路,該邏輯電路產生樣本寫入資料信號SmpWrData及樣本讀取資料信號SmpRdData。此邏輯亦經由一「與」閘328接收寫入命令信號WrCmd及如由表示REG0[11]之內容之SelWrdOrd所指示之字組次序模式作為輸入。樣本讀取資料信號SmpRdData係由接收RdEn及另一比較器332之輸出之一「與」閘331產生。一加法器334將位址長度LenAddr[3:0]與由表示REG0[10:9]之內容之信號CtrlTrn[2:1]指示之轉迴長度相加。比較器332比較此總和與CntShft。若在RdCmd處於一高狀態下的同時CtrlTrn[2:1]等於此總和,則「與」閘331施加該SmpRdData信號。
一多工器336回應於由表示REG0[7:4]之內容之信號CtrlAddr[3:0]指示之位址長度模式而選擇並輸出位址長度LenAddr[3:0]。若CtrlAddr[3:0]具有如由一比較器338判定之一非零值,則多工器336選擇並輸出REG0[7:4]之內容。若CtrlAddr[3:0]具有一「0」之值,則多工器336選擇並輸出其中儲存DetLenAddr之正反器陣列(亦即,暫存器)320之內容。DetLenAddr係由計算量ShftCnt-DetLenData-1之兩個減法器342及344形成。一「與」閘346及一比較器348確保在第一資料傳送之後取樣DetLenAddr之後停用正反器陣列320及312。
當偵測到一壓縮模式寫入操作時,一設定-重設正反器350輸出一DetCmpr信號。當移位計數達到LenAddr與LenData之總和時,設定正反器350,如由比較器318之輸出所指示。在每一個資料傳送之前重設正反器350,如由開始觸發信號TrgStrt所指示。
移位控制器224之功能中之再一者係產生該串列輸出啟用SOE信號。用於產生該SOE信號之電路包括一比較器357及一「與」閘353。「與」閘353接收由接收RdCmd及比較器357之輸出之一「與」閘331產生之SOE信號。如上所述,加法器334將該位址長度LenAddr[3:0]與該轉迴長度相加。比較器351比較此總和與CntShft。若在RdCmd處於一高狀態下的同時CntShft大於此總和,則「與」閘353施加SOE。
在圖24中,更詳細展示暫存器庫46(圖9)。暫存器庫46包括數目(j+1)個暫存器,在本文中稱作REG0、REG1、REG2等等至REGj(其中為了清楚之目的而未展示之暫存器由省略(「...」)符號指示)。在該例示性實施例中,暫存器REG2至REGj係SPI主控控制器44可出於控制如上文關於圖9所述之邏輯區塊40、42等等之操作之目的而向其寫入或自其讀取之彼此暫存器。亦如上所述,在該例示性實施例中,將REG0預留作為一介面組態暫存器,且將REG1預留作為一裝置組態暫存器。
暫存器庫46亦包括一位址解碼器352,該位址解碼器解碼ADDR[14:0]並輸出經由「與」閘354、356、358、360等等閘控至REG0至REGj之啟用輸入之信號。一比較器362之輸出提供至「與」閘354、358及360中之每一者之另一輸入。比較器362判定表示軟裝置ID之REG1之四個最低有效位元是否與Addr[14:0]之四個最高有效位元相匹配。一位元移位器364將Addr[14:0]移位LenAddr個位元以獲得Addr[14:0]之四個最高有效位元。因此,只有在Addr[14:0]使用已將其指派給積體電路晶片36之軟裝置ID(亦即,SPI主控控制器44已致使其儲存於REG1[3:0]中之軟裝置ID)來正確定址積體電路晶片36(此實施例中之該「裝置」)。REG0及REG2至REGj中之每一者可回應於一暫存器時脈信號ClkReg而鎖存或儲存WrData[15:0]。另一比較器366判定硬裝置ID(DEV_ID[11:0])是否與WrData[15:0]之最高有效位元相匹配,且若其匹配,則向需要啟用REG1之「與」閘356提供另一輸入。輸出RdData[15:0]之一多工器368回應於Addr[14:0]而操作以選擇REG0至REGj中之一者之輸出。
在圖25中,更詳細展示時脈產生器62(圖9)。時脈產生器62包括回應於SPI時脈信號SCLK及由表示REG0[0]之內容之信號SelClk指示之時脈邊緣選擇模式而輸出之一「互斥或」閘。時脈產生器62亦包括輸出ClkReg之一多工器372。多工器372回應於由表示REG0[1]之內容之信號SelLtch指示之鎖存模式而操作。若SelLtch為「1」,則多工器372選擇寫入啟用信號EnWr。若SelLtch為「0」,則多工器372選擇形成EnWr及SCLK邏輯「與」之一「與」閘374之輸出。
在圖26中,更詳細展示重設產生器64(圖9)。重設產生器64包括由SCLK時脈控制之兩個級聯正反器376及378。該級聯中之第一正反器376之D輸入連接至表示一邏輯「1」或高狀態之一固定電壓VSS。正反器376及378之設定輸入接收由表示REG0[15]之內容之信號ClrReg指示之軟重設指示符。因此,條件係SPI主控控制器44(圖9)可藉由向REG0[15]寫入一「1」致使出現一軟重設。正反器376及378之清除輸入由硬重設信號RESET_B經由一反相器380清除。反相器380亦輸出係RESET_B之補碼之RstReg。一「或」閘382回應於正反器378及RstReg之輸出而產生RstSPI。
儘管上文為清楚起見就閘級邏輯元件之組態或配置闡述本發明之一例示性實施例,但應理解,本發明之各實施例可以任一合適方式建構。舉例而言,該等邏輯元件可包含一專用積體電路(ASIC)、現場可程式化閘陣列(FPGA)或另一可程式化裝置之可程式化元件。
雖然已闡述了本發明之各種實施例,但彼等熟習此項技術者將明瞭,更多之實施例可歸屬於本發明之範疇。因此,除隨附申請專利範圍以外,本發明並不受到其他限制。
10...行動電話手機
12...射頻子系統
14...基頻子系統
16...使用者介面
18...天線
20...經解調信號
22...數位信號
24...串列周邊介面匯流排
26...串列周邊介面「主」控制器
28...射頻積體電路晶片
30...射頻積體電路晶片
32...串列周邊介面受控控制器
34...串列周邊介面受控控制器
36...積體電路晶片
38...串列周邊介面受控控制器
40...邏輯區塊
42...邏輯區塊
44...串列周邊介面主控控制器
45...串列周邊介面匯流排
46...暫存器庫
48...資料信號線
50...積體電路晶片36之第一接針
52...選擇信號線
54...積體電路晶片36之第二接針
56...時脈信號線
58...積體電路晶片36之第三接針
60...串列周邊介面控制邏輯
62...時脈信號產生器
64...重設產生器
66...通電重設信號產生器
68...裝置識別符
86...上升邊緣
88...下降邊緣
92...下降邊緣
94...下降邊緣
100...上升邊緣
102...負邊緣
104...負邊緣
106...負邊緣
108...負邊緣
110...負邊緣
112...下降邊緣
114...上升邊緣
116...正邊緣
118...正邊緣
120...負邊緣
122...正邊緣
124...正邊緣
126...下降邊緣
130...上升邊緣
132...下降邊緣
134...上升邊緣
136...下降邊緣
140...上升邊緣
142...下降邊緣
144...上升邊緣
146...下降邊緣
150...上升邊緣
152...下降邊緣
154...上升邊緣
156...下降邊緣
158...上升邊緣
160...下降邊緣
162...上升邊緣
164...下降邊緣
166...上升邊緣
168...下降邊緣
170...上升邊緣
172...下降邊緣
174...上升邊緣
184...下降邊緣
190...上升邊緣
192...上升邊緣
196...下降邊緣
198...下降邊緣
202...上升邊緣
204...下降邊緣
208...上升邊緣
210...下降邊緣
214...上升邊緣
216...下降邊緣
220...上升邊緣
222...介面偵測器
224...移位控制器
226...資料映射程式
228...正反器
230...正反器
232...正反器
234...多工器
236...多工器
238...多工器
240...正反器陣列
242...正反器陣列
244...多工器
246...加法器
248...多工器
250...正反器
252...反相器
254...「與」閘
256...正反器
257...「互斥或」閘
258...多工器
259...正反器
260...正反器
261...「與」閘
262...正反器
264...正反器
266...正反器
268...正反器
270...「或」閘
272...「或」閘
274...「或」閘
276...反相器
278...反相器
280...多工器
282...正反器
285...正反器
286...「與」閘
287...正反器
288...反相器
289...「與」閘
290...反相器
291...「與」閘
292...多工器
296...正反器陣列
298...加法器
300...多工器
302...多工器
304...多工器
306...多工器
308...比較器
310...比較器
312...正反器陣列
314...多工器
316...比較器
318...比較器
320...比較器
322...加法器
324...多工器
326...多工器
328...「與」閘
331...「與」閘
332...比較器
334...加法器
336...多工器
338...比較器
342...減法器
344...減法器
346...「與」閘
348...比較器
350...正反器
352...位址解碼器
353...「與」閘
354...「與」閘
356...「與」閘
357...比較器
358...「與」閘
360...「與」閘
362...比較器
364...位元移位器
366...比較器
368...多工器
372...多工器
374...「與」閘
376...級聯正反器
378...級聯正反器
380...反相器
382...「或」閘
REG0...暫存器
REG1...暫存器
REG2...暫存器
REGj...暫存器
圖1係圖解說明根據先前技術具有用於控制一射頻子系統之一串列周邊介面(SPI)之一行動無線電話之一方塊圖。
圖2係根據先前技術具有一SPI之一多裝置系統之一方塊圖。
圖3係圖解說明根據先前技術之根據一高態有效選擇SPI協定之一資料寫入操作之一時序圖。
圖4係圖解說明根據先前技術之根據一高態有效選擇SPI協定之一資料讀取操作之一時序圖。
圖5係圖解說明根據先前技術之根據一低態有效選擇SPI協定之一資料寫入操作之一時序圖。
圖6係圖解說明根據先前技術之根據一低態有效SPI協定之一資料讀取操作之一時序圖。
圖7係圖解說明根據先前技術之根據一I2 C SPI協定之一資料寫入操作之一時序圖。
圖8係圖解說明根據先前技術之根據一I2 C SPI協定之一資料讀取操作之一時序圖。
圖9係根據本發明之一例示性實施例之一SPI系統之一方塊圖。
圖10係圖解說明圖9之SPI系統之一方法操作之一流程圖。
圖11A係圖解說明在圖9之SPI系統中根據各種SPI協定之資料寫入操作之一時序圖。
圖11B係圖11A之一接續。
圖12A係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第一取樣鎖存模式之一資料寫入操作之一時序圖。
圖12B係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第二取樣鎖存模式之一資料寫入操作之一時序圖。
圖13A係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第一時脈邊緣模式之一資料寫入操作之一時序圖。
圖13B係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第二時脈邊緣模式之一資料寫入操作之一時序圖。
圖14A係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第一字組次序模式之一資料寫入操作之一時序圖。
圖14B係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第二字組次序模式之一資料寫入操作之一時序圖。
圖15A係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第一位元次序模式之一資料寫入操作之一時序圖。
圖15B係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第二位元次序模式之一資料寫入操作之一時序圖。
圖16A係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第一轉迴長度模式之一資料寫入操作之一時序圖。
圖16B係圖解說明在圖9之SPI系統中根據一高態有效選擇SPI協定及一第二轉迴長度模式之一資料寫入操作之一時序圖。
圖17A係圖解說明在圖9之SPI系統中組態一軟裝置ID之一時序圖。
圖17B係圖17A之一接續。
圖18A係圖解說明在圖9之SPI系統中其中使用一經組態軟裝置ID來定址該裝置之一資料寫入操作之一時序圖。
圖18B係圖18A之一接續。
圖19A係圖解說明在圖9之SPI系統中根據一壓縮模式之一資料寫入操作之一時序圖。
圖19B係圖19A之一接續。
圖20係圖9之SPI系統之SPI控制邏輯之一方塊圖。
圖21係圖20之SPI控制邏輯之介面偵測器之一方塊圖。
圖22係圖20之SPI控制邏輯之資料映射程式之一方塊圖。
圖23係圖20之SPI控制邏輯之移位控制器之一方塊圖。
圖24係圖9之SPI系統之暫存器庫之一方塊圖。
圖25係圖9之SPI系統之時脈產生器之一方塊圖。
圖26係圖9之SPI系統之重設產生器之一方塊圖。
圖27係圖9之SPI系統之暫存器庫之內容之一記憶體映射圖。
36...積體電路晶片
38...串列周邊介面受控控制器
40...邏輯區塊
42...邏輯區塊
44...串列周邊介面主控控制器
45...串列周邊介面匯流排
46...暫存器庫
48...資料信號線
50...積體電路晶片36之第一接針
52...選擇信號線
54...積體電路晶片36之第二接針
56...時脈信號線
58...積體電路晶片36之第三接針
60...串列周邊介面控制邏輯
62...時脈信號產生器
64...重設產生器
66...通電重設信號產生器
68...裝置識別符

Claims (70)

  1. 一種用於控制一串列周邊介面之方法,其包含:監測包括一資料信號線、一時脈信號線及一選擇信號線之串列周邊介面信號線;偵測該時脈信號線上之複數個時脈信號轉變;與時脈信號轉變同步偵測該資料信號線上之複數個資料信號轉變;回應於該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之一或多個信號之一第一組合而偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始;及回應於該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之一或多個信號之一第二組合而偵測根據一第二協定之一資料讀取操作及一資料寫入操作中之一者之起始;繼偵測到一資料讀取操作之該起始之後對藉由在該資料信號線上串列接收之位址位元識別之一暫存器執行一資料讀取操作;及繼偵測到一資料寫入操作之該起始之後對藉由在該資料信號線上串列接收之位址位元識別之一暫存器執行一資料寫入操作。
  2. 如請求項1之方法,其中偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號自一低狀態至一高 狀態之一轉變;及緊隨繼偵測到該選擇信號自一低狀態至一高狀態之該轉變之後在該選擇信號處於該高狀態中的同時偵測複數個時脈信號轉變。
  3. 如請求項1之方法,其中偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號自一高狀態至一低狀態之一轉變;及緊隨繼偵測到該選擇信號自一高狀態至一低狀態之該轉變之後在該選擇信號處於該低狀態中的同時偵測複數個時脈信號轉變。
  4. 如請求項1之方法,其中偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始包括:在實質上同時偵測該時脈信號線上之一時脈信號處於一高狀態中的同時偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  5. 如請求項1之方法,其中:偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號之一轉變;及緊隨繼偵測到該選擇信號之該轉變之後偵測複數個時脈信號轉變;及偵測根據一第二協定之一資料讀取操作及一資料寫入操作中之一者之起始包括:在實質上同時偵測該時脈信號線上之一時脈信號處於一高狀態中的同時偵測該資料 信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  6. 如請求項1之方法,其進一步包含:回應於偵測到一資料寫入操作之起始,計數出現在該資料寫入操作期間之時脈循環之數目;回應於出現在該資料寫入操作期間之時脈循環之該數目之一計數C而判定位址位元之數目A;判定出現在該資料寫入操作期間之時脈循環之該數目之該計數與位址位元之該數目A之間的一差C-A;及回應於該差C-A而判定資料位元之數目D,以使得執行一資料寫入操作包括在該暫存器中儲存繼在該資料信號線上串列接收之A個位址位元之後的在該資料信號線上串列接收之D個資料位元。
  7. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一位址長度模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括:在儲存於該組態暫存器中之該位址長度 模式位元係一第一二進制值之情況下,在一暫存器中儲存繼在該資料信號線上串列接收之第一數目個位址位元之後的在該資料信號線上串列接收之資料位元;且在儲存於該組態暫存器中之該位址長度模式位元係一第二二進制值之情況下,在該暫存器中儲存繼在該資料信號線上串列接收之第二數目個位址位元之後的在該資料信號線上串列接收之資料位元。
  8. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一資料長度模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括:在儲存於該組態暫存器中之該資料長度模式位元係一第一二進制值之情況下,在一暫存器中儲存在該資料信號線上串列接收之第一數目個資料位元;且在儲存於該組態暫存器中之該位址長度模式位元係一第二二進制值之情況下,在該暫存器中儲存在該資料信號線上串列接收之第二數目個資料位元。
  9. 如請求項1之方法,其中: 執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之一者係一時脈邊緣模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括:在儲存於該組態暫存器中之該時脈邊緣模式位元係一第一二進制值之情況下,於一上升時脈信號邊緣上將在該資料信號線上串列接收之複數個資料位元中之每一者移位至一移位暫存器中;且在儲存於該組態暫存器中之該時脈邊緣模式位元係一第二二進制值之情況下,於一下降時脈信號邊緣上將在該資料信號線上串列接收之該複數個資料位元中之每一者移位至該移位暫存器中。
  10. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之一者係一 鎖存模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,對一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括:將在該資料信號線上串列接收之複數個資料位元中之每一者移位至一移位暫存器中;及在儲存於該組態暫存器中之取樣鎖存模式位元係一第一二進制值之情況下回應於該選擇信號之一轉變而將該移位暫存器之內容鎖存至該暫存器中,且在儲存於該組態暫存器中之該取樣鎖存模式位元係一第二二進制值之情況下回應於移位至該移位暫存器中之資料位元之該數目之一計數而將該移位暫存器之內容移位至該暫存器中。
  11. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之一者係一位元次序模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,對一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括:將在該資料信號線上串列接收之複數個資料位元中之每一者移位至一移位暫存器 中;及在儲存於該組態暫存器中之該位元次序模式位元係一第一二進制值之情況下以自最高有效位元至最低有效位元之一次序將該移位暫存器之內容移位至該暫存器中,且在儲存於該組態暫存器中之該位元次序模式位元係一第二二進制值之情況下以自最低有效位元至最高有效位元之一次序將該移位暫存器之內容鎖存至該暫存器中。
  12. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一字組次序模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括:在儲存於該組態暫存器中之該字組次序模式位元係一第一二進制值之情況下,在一暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元且在儲存於該組態暫存器中之該字組次序模式位元係一第二二進制值之情況下,在該暫存器中儲存在在該資料信號線上串列接收之位址位元之前的在該資料信號線上串列接收之資料位元。
  13. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一轉迴長度模式位元;且該方法進一步包括在對該組態暫存器執行該資料寫入操作之後,對一暫存器執行一進一步資料讀取操作,該進一步資料讀取操作包括:在該資料信號線上串列接收位址位元;自藉由該等位址位元識別之一暫存器讀取資料;及若儲存於該組態暫存器中之該轉迴長度模式位元係一第一二進制值則在接收到最後位址位元之後的第一數目個時脈循環之一延遲之後開始在該資料信號線上串列傳輸自該暫存器讀取之資料位元,且若儲存於該組態暫存器中之該轉迴長度模式位元係一第二二進制值則在接收到該最後位址位元之後的第二數目個時脈循環之一延遲之後開始在該資料信號線上串列傳輸自該暫存器讀取之資料位元。
  14. 如請求項1之方法,其中:執行一資料寫入操作包括對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收 之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一軟重設位元;且在儲存於該組態暫存器中之該軟重設模式位元係一第一二進制值之情況下將一重設信號施加至複數個邏輯元件,且在儲存於該組態暫存器中之該軟重設位元係一第二二進制值之情況下不將該重設信號施加至該複數個邏輯元件。
  15. 如請求項1之方法,其中執行一資料寫入操作包括:回應於該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之一或多個信號而偵測根據該第一協定及該第二協定中之一者之對藉由該等位址位元識別之該暫存器之該資料寫入操作之終止之一指示;及若在已將與該資料寫入操作相關聯且在該資料信號線上串列接收之數目D個資料位元寫入至藉由該等位址位元識別之該暫存器之後未偵測到該資料寫入操作之終止之指示,則對藉由繼對應於該等位址位元之一位址之後的下一位址識別之下一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括在該下一暫存器中儲存緊隨繼在該資料信號線上串列接收之前一群組之D個資料位元之後的在該資料信號線上串列接收之下一群組之D個資料位元。
  16. 如請求項1之方法,其進一步包含: 回應於一重設條件之一偵測而進入一重設狀態;在執行一資料讀取操作之前及在進入該重設狀態之後,偵測在一初始資料寫入操作中於該資料信號線上接收之一寫入/讀取位元為高還是低;若在該初始寫入操作中所接收之該寫入/讀取位元為高,則僅在繼該初始寫入操作之後的一資料傳送操作中所偵測到之一寫入/讀取位元為高之情況下執行一進一步資料寫入操作,且僅在該資料傳送操作中所偵測之一寫入/讀取位元為低之情況下執行一資料讀取操作;及若在該初始寫入操作中所接收之該寫入/讀取位元為高,則僅在繼該初始寫入操作之後的一資料傳送操作中所偵測之一寫入/讀取位元為低之情況下執行一進一步資料寫入操作,且僅在該資料傳送操作中所偵測之一寫入/讀取位元為高之情況下執行一資料讀取操作。
  17. 一種可連接至一資料信號線、一時脈信號線及一選擇信號線之串列周邊介面控制器,其包括:一暫存器庫,該暫存器庫具有複數個資料儲存暫存器;及控制邏輯,其經程式化或組態以:與時脈信號轉變同步地偵測該資料信號線上之複數個位元轉變;回應於該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之一或多個信號之一第一組合而偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始;及回應於該資料信號線、該時脈信號線及該選擇信 號線中之一或多者上之一或多個信號之一第二組合而偵測根據一第二協定之一資料讀取操作及一資料寫入操作中之一者之起始;對藉由繼偵測到一資料讀取操作之開始之後在該資料信號線上串列接收之位址位元識別之該暫存器庫中之一暫存器執行一資料讀取操作;及對藉由繼偵測到一資料寫入操作之開始之後在該資料信號線上串列接收之位址位元識別之該暫存器庫中之一暫存器執行一資料寫入操作。
  18. 如請求項17之串列周邊介面控制器,其中該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始:偵測該選擇信號線上之一選擇信號自一低狀態至一高狀態之一轉變;及緊隨繼偵測到該選擇信號自一低狀態至一高狀態之該轉變之後在該選擇信號處於該高狀態中的同時偵測複數個時脈信號轉變。
  19. 如請求項17之串列周邊介面控制器,其中該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始:偵測該選擇信號線上之一選擇信號自一高狀態至一低狀態之一轉變;及緊隨繼偵測到該選擇信號自一高狀態至一低狀態之該 轉變之後在該選擇信號處於該低狀態中的同時偵測複數個時脈信號轉變。
  20. 如請求項17之串列周邊介面控制器,其中該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始:在實質上同時偵測該時脈信號線上之一時脈信號處於一高狀態中的同時偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  21. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來偵測根據一第一協定之一資料讀取操作及一資料寫入操作中之一者之起始:偵測該選擇信號線上之一選擇信號之一轉變;及緊隨繼偵測到該選擇信號之該轉變之後偵測複數個時脈信號轉變;且該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來偵測根據一第二協定之一資料讀取操作及一資料寫入操作中之一者之起始:在實質上同時偵測該時脈信號線上之一時脈信號處於一高狀態中的同時偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  22. 如請求項17之串列周邊介面控制器,其中該控制邏輯進一步經程式化或組態以:回應於偵測到一資料寫入操作之起始,計數出現在該 資料寫入操作期間之時脈循環之數目;回應於出現在該資料寫入期間之時脈循環之該數目之一計數C而判定位址位元之數目A;判定出現在該資料寫入操作期間之時脈循環之該數目之該計數與位址位元之該數目A之間的一差C-A;及回應於該差C-A而判定資料位元之數目D,以使得該控制邏輯經程式化或組態以藉由在該暫存器中儲存繼在該資料信號線上串列接收之A個位址位元之後的在該資料信號線上串列接收之D個資料位元來執行一資料寫入操作。
  23. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一位址長度模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括在儲存於該組態暫存器中之該位址長度模式位元係一第一二進制值之情況下在一暫存器中儲存繼在該資料信號線上串列接收之第一數 目個位址位元之後的在該資料信號線上串列接收之資料位元,且在儲存於該組態暫存器中之該位址長度模式位元係一第二二進制值之情況下在該暫存器中儲存繼在該資料信號線上串列接收之第二數目個位址位元之後的在該資料信號線上串列接收之資料位元。
  24. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一資料長度模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括在儲存於該組態暫存器中之該資料長度模式位元係一第一二進制值之情況下在一暫存器中儲存在該資料信號線上串列接收之第一數目個資料位元,且在儲存於該組態暫存器中之該位元長度模式位元係一第二二進制值之情況下在該暫存器中儲存在該資料信號線上串列接收之第二數目個資料位元。
  25. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態 來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之一者係一時脈邊緣模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括在儲存於該組態暫存器中之該時脈邊緣模式位元係一第一二進制值之情況下於一上升時脈信號邊緣上將在該資料信號線上串列接收之複數個資料位元中之每一者移位至一移位暫存器中,且在儲存於該組態暫存器中之該時脈邊緣模式位元係一第二二進制值之情況下於一下降時脈信號邊緣上將在該資料信號線上串列接收之該複數個資料位元中之每一者移位至該位移暫存器中。
  26. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存於繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元; 儲存於該組態暫存器中之該等資料位元中之一者係一鎖存模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,對一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括:將在該資料信號線上串列接收之複數個資料位元中之每一者移位至一移位暫存器中;及在儲存於該組態暫存器中之取樣鎖存模式位元係一第一二進制值之情況下回應於該選擇信號之一轉變而將該移位暫存器之內容鎖存至該暫存器中,且在儲存於該組態暫存器中之該取樣鎖存模式位元係一第二二進制值之情況下回應於移位至該移位暫存器中之資料位元之該數目之一計數而將該移位暫存器之內容鎖存至該暫存器中。
  27. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之一者係一位元次序模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,對一暫存器執行一進一步 資料寫入操作,該進一步資料寫入操作包括:將在該資料信號線上串列接收之複數個資料位元中之每一者移位至一移位暫存器中;及在儲存於該組態暫存器中之該位元次序模式位元係一第一二進制值之情況下以自最高有效位元至最低有效位元之一次序將該移位暫存器之內容鎖存至該暫存器中,且在儲存於該組態暫存器中之該位元次序模式位元係一第二二進制值之情況下以自最低有效位元至最高有效位元之一次序將該移位暫存器之內容鎖存至該暫存器中。
  28. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一字組次序模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,執行一進一步資料寫入操作,該進一步資料寫入操作包括在儲存於該組態暫存器中之該字組次序模式位元係一第一二進制值之情況下在一暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元,且在 儲存於該組態暫存器中之該字組次序模式位元係一第二二進制值之情況下在該暫存器中儲存在在該資料信號線上串列接收之位址位元之前的在該資料信號線上串列接收之資料位元。
  29. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一轉迴長度模式位元;且該控制邏輯進一步經程式化或組態以在對該組態暫存器執行該資料寫入操作之後,對一暫存器執行一進一步資料讀取操作,該進一步資料讀取操作包括:在該資料信號線上串列接收位址位元;自藉由該等位址位元識別之一暫存器讀取資料;及若儲存於該組態暫存器中之該轉迴長度模式位元係一第一二進制值則在接收到最後位址位元之後的第一數目個時脈循環之一延遲之後開始在該資料信號線上串列傳輸自該暫存器讀取之資料位元,且若儲存於該組態暫存器中之該轉迴長度模式位元係一第二二進制值則在接收到該最後位址位元之後的第二數目個時脈循環之一延遲之後開始在該資料信號線上串列 傳輸自該暫存器讀取之資料位元。
  30. 如請求項17之串列周邊介面控制器,其中:該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:對藉由該等位址位元識別之一組態暫存器執行一資料寫入操作,該資料寫入操作包括在該組態暫存器中儲存繼在該資料信號線上串列接收之位址位元之後的在該資料信號線上串列接收之資料位元;儲存於該組態暫存器中之該等資料位元中之至少一者係一軟重設位元;且該控制邏輯進一步經程式化或組態以在儲存於該組態暫存器中之該軟重設模式位元係一第一二進制值之情況下將一重設信號施加至複數個邏輯元件,且在儲存於該組態暫存器中之該軟重設位元係一第二二進制值之情況下不將該重設信號施加至該複數個邏輯元件。
  31. 如請求項17之串列周邊介面控制器,其中該控制邏輯經程式化或組態以藉由進行程式化或組態來執行以下操作來執行一資料寫入操作:回應於該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之一或多個信號而偵測根據該第一協定及該第二協定中之一者之對藉由該等位址位元識別之該暫存器之該資料寫入操作之終止之一指示;及若在已將與該資料寫入操作相關聯且在該資料信號線上串列接收之數目D個資料位元寫入至藉由該等位址位 元識別之該暫存器之後未偵測到該資料寫入操作之終止之指示,則對藉由繼對應於該等位址位元之一位址之後的下一位址識別之下一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括在該下一暫存器中儲存緊隨繼在該資料信號線上串列接收之前一群組之D個資料位元之後的在該資料信號線上串列接收之下一群組之D個資料位元。
  32. 如請求項17之串列周邊介面控制器,其中該控制邏輯進一步經程式化或組態以:回應於一重設條件之一偵測而將一重設信號施加至複數個邏輯元件;在施加該重設信號之後執行一資料讀取操作之前,偵測在一初始資料寫入操作中於該資料信號線上接收之一寫入/讀取位元為高還是低;若在該初始寫入操作中所接收之該寫入/讀取位元為高,則僅在繼該初始寫入操作之後的一資料傳送操作中所偵測之一寫入/讀取位元為高之情況下執行一進一步資料寫入操作,且僅在該資料傳送操作中所偵測之一寫入/讀取位元為低之情況下執行一資料讀取操作;及若在該初始寫入操作中所接收之該寫入/讀取位元為高,則僅在繼該初始寫入操作之後的一資料傳送操作中所偵測之一寫入/讀取位元為低之情況下執行一進一步資料寫入操作,且僅在該資料傳送操作中所偵測之一寫入/讀取位元為高之情況下執行一資料讀取操作。
  33. 一種用於控制一串列周邊介面之方法,其包含:根據一第一協定及一第二協定中之一者偵測一資料讀取操作及一資料寫入操作中之一者之起始,以回應於一資料信號線、一時脈信號線及一選擇信號線中之一或多者上之一或多個信號;繼偵測到該資料讀取操作之該起始之後,對藉由在該資料信號線上串列接收之位址位元識別之一暫存器而執行該資料讀取操作;及繼偵測到該資料寫入操作之該起始之後,對藉由在該資料信號線上串列接收之位址位元識別之一暫存器而執行該資料寫入操作,執行該資料寫入操作包含繼該資料信號線上串列接收之該等第一位址位元之後,將該資料信號線上串列接收之第一資料位元儲存於該等第一位址位元所識別之一組態暫存器中,及繼該資料信號線上串列接收之第二位址位元之數目之後,將該資料信號線上串列接收之第二資料位元儲存於該等第二位址位元所識別之一暫存器中,該等第一資料位元中之至少一者係一位址長度模式位元,且第二位址位元之該數目係基於該位址長度模式位元之一值。
  34. 如請求項33之方法,其中根據一第一協定而偵測該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號自一低狀態至一高狀態之一轉變;及緊隨繼該選擇信號自該低狀態至該高狀態之該轉變之 後在該選擇信號處於該高狀態中的同時偵測在該時脈信號線上之複數個時脈信號轉變。
  35. 如請求項33之方法,其中根據該第一協定而偵測該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號自一高狀態至一低狀態之一轉變;及緊隨繼該選擇信號自該高狀態至該低狀態之該轉變之後在該選擇信號處於該低狀態中的同時偵測在該時脈信號線上之複數個時脈信號轉變。
  36. 如請求項33之方法,其中根據該第一協定而偵測該資料讀取操作及該資料寫入操作中之一者之起始包括:在偵測該時脈信號線上之一時脈信號處於一高狀態時,偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  37. 如請求項33之方法,其中根據該第一協定而偵測該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號之一轉變,及緊隨繼該選擇信號之該轉變之後偵測在該時脈信號線上之複數個時脈信號轉變,及根據該第二協定而偵測該資料讀取操作及該資料寫入操作中之一者之起始包括:在偵測該時脈信號線上之一時脈信號處於高狀態時,偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  38. 如請求項33之方法,其進一步包括: 基於在該資料寫入操作期間出現的時脈循環之數目而判定位址位元之一第一數目;判定在該等時脈循環之數目與位址位元之該第一數目之間的一差;基於該差而判定資料位元之一第二數目;及在該資料信號線上串列接收之位址位元之該第一數目之後,將該資料信號線上串列接收之資料位元之該第二數目儲存於由位址位元之該第一數目所識別之一暫存器中。
  39. 如請求項33之方法,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一資料長度模式位元;及在該資料信號線上串列接收之第二位址位元之後,將該資料信號線上串列接收之第二資料位元之數目儲存於由該等第二位址位元所識別之一暫存器中,第二資料位元之該數目係基於該資料長度模式位元之一值。
  40. 如請求項33之方法,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一時脈邊緣模式位元;及於該時脈信號線上之一時脈信號之一轉變上,將在該 資料信號線上串列接收之複數個第二資料位元中之每一者移位至一移位暫存器中,該轉變係基於該時脈邊緣模式位元之一值。
  41. 如請求項40之方法,其中該轉變係一上升時脈信號邊緣及一下降時脈信號邊緣中之一者。
  42. 如請求項33之方法,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一樣本鎖存模式位元;將於該資料信號線上串列接收之複數個第二資料位元中之每一者移位至一移位暫存器中;及基於該樣本鎖存模式位元之一值而將該移位暫存器之內容鎖存至一暫存器中。
  43. 如請求項42之方法,其中執行該資料寫入操作進一步包含:當該樣本鎖存模式位元係一第一值時,回應於該選擇信號線上之一選擇信號之一轉變而將該移位暫存器之該等內容鎖存至該暫存器中,以及當該樣本鎖存模式位元係一第二值時,回應於經移位至該移位暫存器中之該等第二資料位元之一數目而將該移位暫存器之該等內容鎖存至該暫存器中。
  44. 如請求項33之方法,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該 等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一位元次序模式位元;將於該資料信號線上串列接收之複數個第二資料位元中之每一者移位至一移位暫存器中;及基於該位元次序模式位元之一值而將該移位暫存器之內容鎖存至一暫存器中。
  45. 如請求項44之方法,其中該次序係自最高有效位元至最低有效位元以及自最低有效位元至最高有效位元中之一者。
  46. 如請求項33之方法,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一字組次序模式位元;及基於該字組次序模式位元之一值,將該資料信號線上串列接收之第二資料位元儲存於由該資料信號線上串列接收之第二位址位元所識別之一暫存器中。
  47. 如請求項46之方法,其中執行該資料寫入操作進一步包括:當該字組次序模式位元係一第一值時,在該等第二位址位元之後,將該等第二資料位元儲存於該暫存器中,及當該字組次序模式位元係一第二值時,在該等第二位址位元之前,將該等第二資料位元儲存於該暫存器中。
  48. 如請求項33之方法,其中執行該資料寫入操作包括:在 該資料信號線上串列接收之第一位址位元之後,將該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一轉迴長度模式位元;該方法進一步包括執行一進一步之讀取操作,其包括:於該資料信號線上串列接收多個第二位址位元;自藉由該等第二位址位元所識別之一暫存器讀取第二資料位元;及在接收一最後的第二位址位元之後,於一延遲之後在該資料信號線上串列傳輸該等第二資料位元,該延遲係基於該轉迴長度模式位元之一值。
  49. 如請求項48之方法,其中該延遲包括時脈循環之數目,該數目係基於該轉迴長度模式位元之該值。
  50. 如請求項33之方法,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一軟重設位元;及基於該軟重設位元之一值而將一重設信號施加至複數個邏輯元件。
  51. 如請求項33之方法,其中執行該資料寫入操作包括:回應於該一或多個信號,偵測根據該第一協定及該第二協定中之一者之對藉由在該資料寫入操作之起始後於該資料信號線上串列接收之該等位址位元所識別之該暫存器之該資料寫入操作之終止;及 當未偵測到該資料寫入操作之終止時,對藉由繼對應於在該資料寫入操作之起始後於該資料信號線上串列接收之該等位址位元之一位址之後的下一位址所識別之下一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括在該下一暫存器中儲存緊隨繼在該資料信號線上串列接收之前一群組之資料位元之後的在該資料信號線上串列接收之下一群組之資料位元。
  52. 如請求項33之方法,其進一步包含:在執行一資料讀取操作之前及在進入一重設狀態之後,偵測在一初始資料寫入操作中於該資料信號線上接收之一第一寫入/讀取位元之一狀態;當該寫入/讀取位元為高時,則在繼該初始寫入操作之後的一資料傳送操作中所偵測到之一第二寫入/讀取位元為高之情況下執行一進一步資料寫入操作,且在該第二寫入/讀取位元為低之情況下執行該資料讀取操作;及當該第一寫入/讀取位元為低時,則在該第二寫入/讀取位元為低之情況下執行該進一步資料寫入操作,且在該第二寫入/讀取位元為高之情況下執行該資料讀取操作。
  53. 一種可連接至一資料信號線、一時脈信號線及一選擇信號線之串列周邊介面控制器,其包括:一暫存器庫,該暫存器庫具有複數個資料儲存暫存器;及控制邏輯,其經程式化或組態以:偵測一資料讀取操 作及一資料寫入操作中之一者之起始;執行該資料讀取操作;執行該資料寫入操作;基於在該資料寫入操作期間出現的時脈循環之數目而判定位址位元之第一數目;判定在該等時脈循環之數目與位址位元之該第一數目之間的一差;基於該差而判定資料位元之第二數目;在該資料信號線上串列接收之位址位元之該第一數目之後,將於該資料信號線上串列接收之資料位元之該第二數目儲存於由位址位元之該第一數目所識別之一暫存器中。
  54. 如請求項53之串列周邊介面控制器,其中根據一第一協定及一第二協定中之一者而執行該資料讀取操作及該資料寫入操作中之一者之起始之偵測,以回應於該資料信號線、該時脈信號線及該選擇信號線中之一或多者上之一或多個信號。
  55. 如請求項53之串列周邊介面控制器,其中對藉由繼該資料讀取操作之偵測之後在該資料信號線上串列接收之位址位元所識別之該暫存器庫中之一暫存器執行該資料讀取操作。
  56. 如請求項53之串列周邊介面控制器,其中對藉由繼該資料寫入操作之偵測之後在該資料信號線上串列接收之位址位元所識別之該暫存器庫中之一暫存器執行該資料寫入操作。
  57. 如請求項54之串列周邊介面控制器,其中偵測根據該第一協定之該資料讀取操作及該資料寫入操作中之一者之起始包括: 偵測該選擇信號線上之一選擇信號自一低狀態至一高狀態之一轉變;及緊隨繼偵測到該選擇信號自該低狀態至該高狀態之該轉變之後在該選擇信號處於該高狀態中的同時,偵測該時脈信號線上之複數個時脈信號轉變。
  58. 如請求項54之串列周邊介面控制器,其中偵測根據該第一協定之該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號自一高狀態至一低狀態之一轉變;及緊隨繼偵測到該選擇信號自該高狀態至該低狀態之該轉變之後在該選擇信號處於該低狀態中的同時,偵測該時脈信號線上之複數個時脈信號轉變。
  59. 如請求項54之串列周邊介面控制器,其中偵測根據該第一協定之該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該時脈信號線上之一時脈信號處於一高狀態中的同時,偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  60. 如請求項54之串列周邊介面控制器,其中偵測根據該第一協定之該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該選擇信號線上之一選擇信號之一轉變及緊隨在該選擇信號之該轉變之後的該時脈信號線上之複數個時脈信號轉變,及 偵測根據該第二協定之該資料讀取操作及該資料寫入操作中之一者之起始包括:偵測該時脈信號線上之一時脈信號處於該高狀態中的同時,偵測該資料信號線上之一資料信號自一高狀態至一低狀態之一轉變。
  61. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一位址長度模式位元;及在該資料信號線上串列接收之第二位址位元之一數目之後,將該資料信號線上串列接收之第二資料位元儲存於由該等第二位址位元所識別之一暫存器中,第二位址位元之該數目係基於該位址長度模式位元之一值。
  62. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一資料長度模式位元;及在該資料信號線上串列接收之第二位址位元之後,將該資料信號線上串列接收之第二資料位元之一數目儲存於由該等第二位址位元所識別之一暫存器中,第二資料位元之該數目係基於該資料長度模式位元之一值。
  63. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一時脈邊緣模式位元;及當該時脈邊緣模式位元係一第一值時,於一上升時脈信號邊緣上將在該資料信號線上串列接收之複數個第二資料位元中之每一者移位至一移位暫存器中,及當該時脈邊緣模式位元係一第二值時,於一下降時脈信號邊緣上將在該資料信號線上串列接收之複數個第二資料位元中之每一者移位至該移位暫存器中。
  64. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一樣本鎖存模式位元;將於該資料信號線上串列接收之複數個第二資料位元中之每一者移位至一移位暫存器中;及當該樣本鎖存模式位元為一第一值時,將該移位暫存器之內容鎖存至一暫存器中以回應於該選擇信號線上之一選擇信號之一轉變,及當該樣本鎖存模式位元為一第二值時,回應於經移位至該移位暫存器中之該等第二資 料位元之一數目而將該移位暫存器之該等內容鎖存至該暫存器中。
  65. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一位元次序模式位元;將於該資料信號線上串列接收之複數個第二資料位元中之每一者移位至一移位暫存器中;及基於該位元次序模式位元之一值而將該移位暫存器之內容鎖存至一暫存器中,該次序係自最高有效位元至最低有效位元以及自最低有效位元至最高有效位元中之一者。
  66. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一字組次序模式位元;及當該字組次序模式位元為一第一值時,在該資料信號線上串列接收之第二位址位元之後,將該資料信號線上串列接收之第二資料位元儲存於由該等第二位址位元所識別之一暫存器中,及當該字組次序模式位元為一第二 值時,在該資料信號線上串列接收之該等第二位址位元之前,將於該資料信號線上串列接收之該等第二資料位元儲存於由該等第二位址位元所識別之該暫存器中。
  67. 如請求項53之串列周邊介面控制器,其中執行該資料寫入操作包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一轉迴長度模式位元,該控制邏輯進一步經程式化或組態以執行一進一步之資料讀取操作,其包括:接收於該資料信號線上串列接收之第二位址位元;自藉由該等第二位址位元所識別之一暫存器讀取第二資料位元;及在接收一最後的第二位址位元之後,於時脈循環之一數目之一延遲之後在該資料信號線上串列傳輸該等第二資料位元,時脈循環之該數目係基於該轉迴長度模式位元之一值。
  68. 如請求項54之串列周邊介面控制器,其中執行該資料寫入操作包括:回應於該一或多個信號,偵測根據該第一協定及該第二協定中之一者之對藉由在該資料寫入操作之起始後於該資料信號線上串列接收之該等位址位元所識別之該暫存器之該資料寫入操作之終止;及當未偵測到該資料寫入操作之終止時,對藉由繼對應 於在該資料寫入操作之起始後於該資料信號線上串列接收之該等位址位元之一位址之後的下一位址所識別之下一暫存器執行一進一步資料寫入操作,該進一步資料寫入操作包括在該下一暫存器中儲存緊隨繼在該資料信號線上串列接收之前一群組之資料位元之後的在該資料信號線上串列接收之下一群組之資料位元。
  69. 如請求項53之串列周邊介面控制器,其中該邏輯控制係進一步經程式化或組態以:在執行該資料讀取操作之前及在進入一重設狀態之後,偵測在一初始資料寫入操作中於該資料信號線上接收之一第一寫入/讀取位元之一狀態;當該寫入/讀取位元為高時,則在繼該初始寫入操作之後的一資料傳送操作中所偵測到之一第二寫入/讀取位元為高之情況下執行一進一步資料寫入操作,且在該第二寫入/讀取位元為低之情況下執行該資料讀取操作;及當該第一寫入/讀取位元為低時,則在該第二寫入/讀取位元為低之情況下執行該進一步資料寫入操作,且在該第二寫入/讀取位元為高之情況下執行該資料讀取操作。
  70. 一種可連接至一資料信號線、一時脈信號線及一選擇信號線之串列周邊介面控制器,其包括:一暫存器庫,該暫存器庫具有複數個資料儲存暫存器;及控制邏輯,其經程式化或組態以:偵測一資料讀取操 作及一資料寫入操作中之一者之起始;執行該資料讀取操作;及執行該資料寫入操作,其包括:在該資料信號線上串列接收之第一位址位元之後,將於該資料信號線上串列接收之第一資料位元儲存於由該等第一位址位元所識別之一組態暫存器中,該等第一資料位元中之至少一者為一軟重設位元,及當該軟重設位元係一第一值時,將一重設信號施加至複數個邏輯元件,而當該軟重設位元係一第二值時,則不將該重設信號施加至該複數個邏輯元件。
TW100134886A 2010-09-27 2011-09-27 動態可組態串列資料通訊介面 TWI464595B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/891,513 US8135881B1 (en) 2010-09-27 2010-09-27 Dynamically configurable serial data communication interface

Publications (2)

Publication Number Publication Date
TW201224763A TW201224763A (en) 2012-06-16
TWI464595B true TWI464595B (zh) 2014-12-11

Family

ID=45788007

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100134886A TWI464595B (zh) 2010-09-27 2011-09-27 動態可組態串列資料通訊介面

Country Status (3)

Country Link
US (2) US8135881B1 (zh)
TW (1) TWI464595B (zh)
WO (1) WO2012047597A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710184A (zh) * 2015-07-15 2018-02-16 密克罗奇普技术公司 具有少于八位的字节及可变分组大小的spi接口

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8135881B1 (en) * 2010-09-27 2012-03-13 Skyworks Solutions, Inc. Dynamically configurable serial data communication interface
US8769239B2 (en) * 2010-12-17 2014-07-01 Apple Inc. Re-mapping memory transactions
FR2984661B1 (fr) * 2011-12-19 2013-12-20 Valeo Sys Controle Moteur Sas Procede de communication entre au moins un premier systeme et au moins un deuxieme systeme par l'intermediaire d'une liaison serie synchrone full duplex
US8892800B2 (en) 2012-02-09 2014-11-18 Intel Corporation Apparatuses for inter-component communication including slave component initiated transaction
US9418037B2 (en) * 2012-07-11 2016-08-16 Infineon Technologies Ag SPI interface and method for serial communication via an SPI interface having an SPI protocol handler for evaluating signal transitions of SPI signals
US9158728B2 (en) * 2012-09-13 2015-10-13 General Electric Company Systems and methods for improved linking of master and slave devices
US9754648B2 (en) 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9740485B2 (en) * 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
IN2013MU02016A (zh) * 2013-06-13 2015-06-05 Mediatek Inc
US11210432B2 (en) * 2013-08-20 2021-12-28 Janus Technologies, Inc. Method and apparatus for selectively snooping and capturing data for secure computer interfaces
US9658971B2 (en) 2013-09-11 2017-05-23 Nxp Usa, Inc. Universal SPI (serial peripheral interface)
US9846616B2 (en) * 2014-05-16 2017-12-19 Dell Products L.P. Boot recovery system
JP2016004388A (ja) * 2014-06-16 2016-01-12 富士通株式会社 通信システム及び電子回路
WO2016131011A2 (en) * 2015-02-15 2016-08-18 Skyworks Solutions, Inc. Circuits, devices, and methods for monitoring a serial bus
KR102328014B1 (ko) * 2015-08-24 2021-11-18 삼성전자주식회사 싱글 와이어 인터페이스를 포함하는 장치와 이를 포함하는 데이터 처리 시스템
US9722771B2 (en) 2015-09-30 2017-08-01 Skyworks Solutions, Inc. Parallel use of serial controls in improved wireless devices and power amplifier modules
TWI588658B (zh) * 2015-10-20 2017-06-21 旺宏電子股份有限公司 I/o匯流排共用記憶體系統
US11249928B2 (en) * 2016-05-02 2022-02-15 Sew-Eurodrive Gmbh & Co. Kg Method for the emergency shutdown of a bus system, and bus system
CN106375020B (zh) * 2016-08-31 2018-08-17 谢志豪 数据传输方法、数据发送装置及数据接收装置
EP3502908B1 (en) * 2016-09-29 2022-11-30 Huawei Technologies Co., Ltd. Spi-based data transmission method and device
US10366028B2 (en) * 2016-09-29 2019-07-30 Ossia Inc. Systems and methods for device communications
WO2018116314A1 (en) * 2016-12-21 2018-06-28 Centre For Development Of Telematics (C-Dot) A method and a mirrored serial interface (msi) for transferring data
CN110321295A (zh) * 2018-03-31 2019-10-11 深圳忆联信息系统有限公司 数据处理方法和装置
US11295828B2 (en) 2019-03-08 2022-04-05 Analog Devices International Unlimited Company Multi-chip programming for phased array
US10936234B2 (en) * 2019-05-22 2021-03-02 Macronix International Co., Ltd. Data transfer between memory devices on shared bus
US11316550B2 (en) 2020-01-15 2022-04-26 Skyworks Solutions, Inc. Biasing of cascode power amplifiers for multiple power supply domains
TWI732562B (zh) * 2020-05-25 2021-07-01 創惟科技股份有限公司 一種讀取資料的方法和資料讀取裝置
TWI750980B (zh) * 2020-12-30 2021-12-21 新唐科技股份有限公司 串列週邊介面系統和其資料傳輸方法
CN112947163B (zh) * 2021-02-01 2022-08-05 贵州航天林泉电机有限公司 一种基于dsp的biss-c协议传感器数据解析与提取方法
CN112860613B (zh) * 2021-04-06 2024-04-19 北京集创北方科技股份有限公司 通信系统
US11630796B2 (en) * 2021-05-07 2023-04-18 Infineon Technologies Ag Serial peripheral interface (SPI) automatic register address incrementation across data frames
CN113934671B (zh) * 2021-11-01 2024-02-23 新华三技术有限公司合肥分公司 一种接口控制芯片及网络设备
TWI818834B (zh) * 2022-12-16 2023-10-11 新唐科技股份有限公司 微控制器及應用其之序列周邊介面系統
CN115828814B (zh) * 2023-02-13 2023-05-12 中兵通信科技股份有限公司 基于fpga的arinc429协议软核的电路设计方法
CN116259347B (zh) * 2023-05-16 2023-07-21 上海灵动微电子股份有限公司 基于spi协议的嵌入式闪存的编程装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200832417A (en) * 2007-01-08 2008-08-01 Macronix Int Co Ltd Method and system for a serial peripheral interface
US7533195B2 (en) * 2004-02-25 2009-05-12 Analog Devices, Inc. DMA controller for digital signal processors
TW200933377A (en) * 2008-01-07 2009-08-01 Macronix Int Co Ltd Method and system for enhancing read performance in serial peripheral interface
US7765344B2 (en) * 2002-09-27 2010-07-27 Cypress Semiconductor Corporation Apparatus and method for dynamically providing hub or host operations

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038400A (en) * 1995-09-27 2000-03-14 Linear Technology Corporation Self-configuring interface circuitry, including circuitry for identifying a protocol used to send signals to the interface circuitry, and circuitry for receiving the signals using the identified protocol
US7206879B2 (en) * 2001-11-20 2007-04-17 Broadcom Corporation Systems using mix of packet, coherent, and noncoherent traffic to optimize transmission between systems
US7000056B2 (en) * 2003-03-28 2006-02-14 Intel Corporation Method and apparatus for detecting low pin count and serial peripheral interfaces
US20080005434A1 (en) * 2006-06-02 2008-01-03 Macronix International Co., Ltd. Method and Apparatus for Communicating Data Over Multiple Pins of A Multi-Mode Bus
US7769909B2 (en) * 2006-12-04 2010-08-03 Atmel Corporation Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface
US7761633B2 (en) * 2007-01-29 2010-07-20 Microsemi Corp. - Analog Mixed Signal Group Ltd. Addressable serial peripheral interface
TW200839530A (en) * 2007-03-20 2008-10-01 Via Tech Inc Dynamic switching between multiplexed interfaces LPC and SPI
DE102007024737A1 (de) * 2007-05-25 2008-11-27 Robert Bosch Gmbh Datenübertragungsverfahren zwischen Master- und Slave-Einrichtungen
TWI351606B (en) * 2007-10-26 2011-11-01 Sunplus Technology Co Ltd Memory module and control method of serial periphe
TWI369610B (en) * 2008-04-25 2012-08-01 Novatek Microelectronics Corp Serial peripheral interface (spi) circuit and display using the same
US20100180067A1 (en) * 2009-01-14 2010-07-15 International Business Machines Corporation System for emulating and expanding a spi configuration rom for io enclosure
CN101819560B (zh) * 2009-02-27 2012-05-30 杭州晟元芯片技术有限公司 一种spi接口存储器执行程序方法和装置
JP2010257280A (ja) * 2009-04-27 2010-11-11 Renesas Electronics Corp シリアル制御装置、半導体装置及びシリアルデータの転送方法
TWI423033B (zh) * 2009-12-22 2014-01-11 Ind Tech Res Inst 可串接之序列匯流排卡裝置及其管理方法及串接方法
US8698565B2 (en) * 2010-06-02 2014-04-15 Skyworks Solutions, Inc. Dynamic voltage-controlled oscillator calibration and selection
US8135881B1 (en) * 2010-09-27 2012-03-13 Skyworks Solutions, Inc. Dynamically configurable serial data communication interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765344B2 (en) * 2002-09-27 2010-07-27 Cypress Semiconductor Corporation Apparatus and method for dynamically providing hub or host operations
US7533195B2 (en) * 2004-02-25 2009-05-12 Analog Devices, Inc. DMA controller for digital signal processors
TW200832417A (en) * 2007-01-08 2008-08-01 Macronix Int Co Ltd Method and system for a serial peripheral interface
TW200933377A (en) * 2008-01-07 2009-08-01 Macronix Int Co Ltd Method and system for enhancing read performance in serial peripheral interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107710184A (zh) * 2015-07-15 2018-02-16 密克罗奇普技术公司 具有少于八位的字节及可变分组大小的spi接口
CN107710184B (zh) * 2015-07-15 2021-12-03 密克罗奇普技术公司 具有少于八位的字节及可变分组大小的spi接口

Also Published As

Publication number Publication date
WO2012047597A3 (en) 2012-05-31
US8135881B1 (en) 2012-03-13
US20120166677A1 (en) 2012-06-28
US20120079138A1 (en) 2012-03-29
TW201224763A (en) 2012-06-16
WO2012047597A2 (en) 2012-04-12
US8417836B2 (en) 2013-04-09

Similar Documents

Publication Publication Date Title
TWI464595B (zh) 動態可組態串列資料通訊介面
JP5169486B2 (ja) Fpgaコンフィグレーション装置及びこれを有する回路基板、電子装置、及びfpgaコンフィグレーション方法
US6968472B2 (en) Serial data interface
CN100585852C (zh) 使用最少引脚而被测试的半导体器件、以及测试其的方法
JP2019215724A (ja) 半導体装置
Yang et al. A configurable SPI interface based on APB bus
US7525856B2 (en) Apparatus and method to manage external voltage for semiconductor memory testing with serial interface
JP2004045090A (ja) 半導体集積回路
JP6070600B2 (ja) マイクロコンピュータ
US7463266B2 (en) Low overhead serial interface
JP5138040B2 (ja) 集積回路
JP4806747B2 (ja) シリアライザ/デシリアライザ・バスコントローラ・インターフェース
CN115269491A (zh) 一种单线通信装置以及单线通信方法
US7770081B2 (en) Interface circuit for a single logic input pin of an electronic system
CN112835834B (zh) 数据传输系统
CN114443524A (zh) 一种数据传输方法、系统、存储介质及设备
US6831583B1 (en) Integrated circuit comprising a microprocessor and an analogue to digital converter which is selectively operable under the control of the microprocessor and independently of the microprocessor, and a method for operating the integrated circuit
WO2016100582A1 (en) System and method for fast modification of register content
TWI756619B (zh) 聯合測試工作群組傳輸系統
KR100800665B1 (ko) 중앙처리장치와 주변 장치들간의 인터페이스를 위한 장치
Huang Design and Implementation of IIC Interface IP Core
JP2006509279A (ja) 複数のメモリコントローラを持つメモリシステム及びその同期化方法。
US9043496B2 (en) Bridge circuit
CN116028417A (zh) 一种可编程通用逻辑接口电路
JP4328790B2 (ja) 半導体集積回路