TWI773969B - 內部積體電路匯流排之從屬裝置的測試方法 - Google Patents
內部積體電路匯流排之從屬裝置的測試方法 Download PDFInfo
- Publication number
- TWI773969B TWI773969B TW109106920A TW109106920A TWI773969B TW I773969 B TWI773969 B TW I773969B TW 109106920 A TW109106920 A TW 109106920A TW 109106920 A TW109106920 A TW 109106920A TW I773969 B TWI773969 B TW I773969B
- Authority
- TW
- Taiwan
- Prior art keywords
- slave device
- sub
- read operation
- data
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/025—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in signal lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
-
- 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)
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0401—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
- Information Transfer Systems (AREA)
Abstract
本發明揭露一種內部積體電路匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作或一第一寫入操作,其中該第一讀取操作或該第一寫入操作包含傳送一命令、一應答訊號、一資料、一地址或一控制位元組至該從屬裝置的一子操作;(B)在該子操作結束後,或是於該子操作的中間,傳送一開始命令或一結束命令至該從屬裝置;(C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一第二寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該第二寫入操作是否正確。
Description
本發明是關於內部積體電路(Inter Integrated Circuit, I2
C)匯流排,尤其是關於I2
C匯流排之從屬裝置(slave device)的測試方法。
I2
C匯流排介面是一種連接方便、架構簡單易用的通訊介面,目前在積體電路設計中被廣泛應用。I2
C匯流排通過串列資料線(serial data line, SDA)和串列時脈線(serial clock line, SCL)兩根線,在主控裝置(master device)和從屬裝置之間傳送資料,並根據地址識別每個裝置。I2
C匯流排因其結構簡單性和傳輸信號的有效性,得到廣泛的應用。
對I2
C匯流排的電氣性能進行驗證及測試能夠提早發現錯誤,但是實際操作上存在一些與電氣性能無關的錯誤,例如使用者的非預期操作。因此,有必要對I2
C匯流排進行更全面的測試。
鑑於先前技術之不足,本發明之一目的在於提供一種I2
C匯流排之從屬裝置的測試方法。
本發明揭露一種I2
C匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作或一第一寫入操作,其中該第一讀取操作或該第一寫入操作包含傳送一命令、一應答訊號、一資料、一地址或一控制位元組至該從屬裝置的一子操作;(B)在該子操作結束後,或是於該子操作的中間,傳送一開始命令或一結束命令至該從屬裝置;(C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一第二寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該第二寫入操作是否正確。
本發明另揭露一種I2
C匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作,其中該第一讀取操作包含讀取儲存於該從屬裝置之一資料的一子操作;(B)在該子操作結束後,或是於該子操作的中間,傳送一開始命令或一結束命令至該從屬裝置;(C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該寫入操作是否正確。
本發明另揭露一種I2
C匯流排之一從屬裝置的測試方法,包含:(A)傳送一時脈至該從屬裝置;(B)開始該從屬裝置的一第一讀取操作或一第一寫入操作,其中該第一讀取操作或該第一寫入操作包含一子操作;(C)在該子操作的中間,暫停傳送該時脈至該從屬裝置,或是改變該時脈的頻率;(D)在步驟(C)之後,傳送該時脈至該從屬裝置,或是回復該時脈的頻率;(E)在步驟(D)之後,對該從屬裝置進行一第二讀取操作或一第二寫入操作;以及(F)在步驟(E)之後,判斷該第二讀取操作或該第二寫入操作是否正確。
本發明另揭露一種I2
C匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作,其中該第一讀取操作包含讀取儲存於該從屬裝置之一資料;(B)在讀取該資料的至少一位元組後,結束該第一讀取操作,而不傳送一應答訊號至該從屬裝置;(C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該寫入操作是否正確。
本發明之I2
C匯流排之從屬裝置的測試方法模擬多種異常狀況。相較於傳統技術,本發明的測試方法可以測試從屬裝置能否處理由使用者操作或工作環境所引起之各種異常狀況。
有關本發明的特徵、實作與功效,茲配合圖式作實施例詳細說明如下。
以下說明內容之技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。
圖1顯示透過I2
C匯流排連接之主控裝置及從屬裝置。主控裝置110包含I2
C介面112、控制電路114以及儲存電路116。從屬裝置120包含I2
C介面122、控制電路124以及儲存電路126。主控裝置110及從屬裝置120透過I2
C匯流排130連接。主控裝置110透過串列時脈線SCL傳送時脈給從屬裝置120。主控裝置110透過串列資料線SDA傳送資料、命令或其他訊號給從屬裝置120,以及接收從屬裝置120所傳送的資料或訊號。儲存電路116及儲存電路126包含揮發性記憶體及/或非揮發性記憶體,並儲存程式碼或程式指令。控制電路114藉由執行儲存電路116中的該些程式碼或程式指令來實現主控裝置110的功能,以及實現本發明的測試方法。控制電路124藉由執行儲存電路126中的該些程式碼或程式指令來實現從屬裝置120的功能。
本發明是利用狀態機(state machine)來實現I2
C匯流排之從屬裝置的測試或驗證。圖2顯示主控裝置110之一實施例的狀態機,圖3為主控裝置110對從屬裝置120進行寫入操作的流程圖,圖4為主控裝置110對從屬裝置120進行讀取操作的流程圖。請同時參閱圖2至圖4。寫入操作及讀取操作具有共同步驟S205、S210、S212、S214、S216及S218。主控裝置110離開空閒狀態(即離開步驟S205)後先傳送開始命令(步驟S210),再緊接著傳送對應寫資料的控制位元組(步驟S212)以通知從屬裝置120即將寫入資料。從屬裝置120於收到控制位元組後傳送應答(acknowledgement)訊號ACK給主控裝置110。主控裝置110於確認收到應答訊號ACK後(步驟S214)對從屬裝置120寫入地址(步驟S216),然後再等待從屬裝置120傳送應答訊號ACK。此地址指示儲存電路126的一塊儲存空間,主控裝置110即將寫入資料至該儲存空間,或是讀取該儲存空間中的資料。於收到應答訊號ACK(步驟S218)後,主控裝置110根據接下來即將寫資料至從屬裝置120,或是從從屬裝置120讀資料來執行圖3的流程或圖4的流程。
請參閱圖3,在寫入操作中,主控裝置110於步驟S218之後開始對從屬裝置120寫資料(步驟S220)。更明確地說,在步驟S220中,主控裝置110將待寫入的資料傳送給從屬裝置120,從屬裝置120的控制電路124將該待寫入的資料寫入步驟S216之地址所對應的儲存空間,然後傳送應答訊號ACK給主控裝置110。主控裝置110於收到應答訊號ACK(步驟S225)後檢查是否還有待寫入的資料(步驟S227)。如果仍有待寫入的資料,則表示寫資料的操作尚未完成(步驟S227為否),主控裝置110繼續對從屬裝置120寫入資料(步驟S220)。如果完成寫入資料(步驟S227為是),則主控裝置110傳送結束命令給從屬裝置120(步驟S240),然後回到空閒狀態(步驟S205)。
請參閱圖4,在讀取操作中,主控裝置110於步驟S218之後傳送開始命令給從屬裝置120(步驟S230),緊接著傳送對應讀資料的控制位元組(步驟S232)以通知從屬裝置120即將讀取資料。從屬裝置120於收到控制位元組之後傳送應答訊號ACK給主控裝置110。主控裝置110於確認收到應答訊號ACK(步驟S234)後開始從從屬裝置120讀取資料(步驟S236至S239)。更明確地說,在步驟S236中,從屬裝置120的控制電路124從步驟S216之地址所對應的儲存空間中讀取資料,並將該資料傳送給主控裝置110。主控裝置110於收到該資料後傳送應答訊號ACK給從屬裝置120(步驟S238),然後根據I2
C匯流排的規定判斷是否已完成資料讀取(步驟S239)。如果資料讀取尚未結束(步驟S239為否),則主控裝置110繼續從從屬裝置120接收資料(步驟S236至S238)。如果資料讀取已完成(步驟S239為是),則主控裝置110傳送結束命令給從屬裝置120(步驟S240),然後回到空閒狀態(步驟S205)。
請注意,在圖3的步驟S220及S225中,主控裝置110每寫入1位元組的資料就會自從屬裝置120接收到一個應答訊號ACK。在圖4的步驟S236及S238中,主控裝置110每接收到1位元組的資料就傳送一個應答訊號ACK給從屬裝置120。
前述的開始命令是當串列時脈線SCL為高準位時串列資料線SDA為下降緣,而結束命令是當串列時脈線SCL為高準位時串列資料線SDA為上升緣。
對應於寫資料的控制位元組(即步驟S212的控制位元組,亦可稱為寫入命令)與對應讀資料的控制位元組(即步驟S232的控制位元組,亦可稱為讀取命令)皆為8位元的命令或資料。在一些實施例中,此兩個控制位元組的前7個位元相同,而以第8個位元為0代表寫資料,以第8個位元為1代表讀資料。
圖5為本發明I2
C匯流排之從屬裝置的測試方法的一實施例的流程圖。主控裝置110開始對從屬裝置120進行寫入操作或讀取操作(步驟S510),寫入操作及讀取操作的流程分別如圖3及圖4所示。接著,在一個傳送資料/命令/訊號給從屬裝置120的子操作結束後,或者在該子操作的中間,主控裝置110傳送開始命令或結束命令給從屬裝置120(步驟S520)。該子操作是寫入操作或讀取操作的一部分。請參閱圖3及圖4,這裡所指的資料/命令/訊號可以是開始命令(亦即子操作可以是步驟S210)、應答訊號ACK(亦即子操作可以是步驟S238)、資料(亦即子操作可以是步驟S220)、地址(亦即子操作可以是步驟S216)或控制位元組(亦即子操作可以是步驟S212或S232)。更明確地說,在步驟S520中,主控裝置110於傳送完畢開始命令應答訊號ACK、資料、地址或控制位元組給從屬裝置120之後,或是主控裝置110於傳送資料、地址或控制位元組的期間,主控裝置110傳送開始命令或結束命令給從屬裝置120,以模擬從屬裝置120在非預期的情況下收到開始命令或結束命令之異常狀況。請注意,當子操作是步驟S210時,主控裝置110於步驟S210結束後傳送結束命令而非開始命令至從屬裝置120。
如果主控裝置110是在資料、地址、或控制位元組的除了最後一個位元之外的任一位元之後傳送開始命令或結束命令,則主控裝置110是在該子操作的中間製造該異常狀況。如果主控裝置110是在資料、地址、或控制位元組的最後一個位元之後,或是在結束傳送開始命令或應答訊號ACK之後傳送開始命令或結束命令,則主控裝置110是在該子操作結束後製造該異常狀況。
步驟S520完成後,主控裝置110回到空閒狀態(步驟S205),然後再次對從屬裝置120進行讀取操作或寫入操作(步驟S530)。更明確地說,步驟S510的讀取操作或寫入操作因為步驟S520所產生的異常狀況而被提前中斷,然而步驟S530的讀取操作或寫入操作是一個完整的操作。接著主控裝置110判斷步驟S530的讀取操作或寫入操作是否正確(步驟S535至S570)。
如果主控裝置110於步驟S530執行讀取操作,則主控裝置110比對讀取的資料是否與預設的資料相同(步驟S540)。預設的資料例如是預先儲存在儲存電路126中的資料,而且主控裝置110知道該資料的內容。如果步驟S540為是,則主控裝置110記錄從屬裝置120可以處理步驟S520所產生的異常狀況(步驟S560)。如果步驟S540為否,則主控裝置110記錄從屬裝置120無法處理步驟S520所產生的異常狀況(步驟S570)。步驟S560或S570結束後,主控裝置110回到空閒狀態(步驟S205)。
如果主控裝置110於步驟S530執行寫入操作,則主控裝置110根據資料是否成功寫入從屬裝置120(步驟S550)來執行步驟S560或S570。
圖6為本發明I2
C匯流排之從屬裝置的測試方法的另一實施例的流程圖。主控裝置110開始對從屬裝置120進行讀取操作(步驟S610),讀取操作的流程如圖4所示。接著,在一個子操作結束後,或者在該子操作的中間,主控裝置110傳送開始命令或結束命令給從屬裝置120(步驟S620)。該子操作是讀取操作的一部分,且該子操作是主控裝置110讀取儲存於從屬裝置120的儲存電路126的資料的操作。請參閱圖4,這裡所指的子操作可以是步驟S236。更明確地說,在步驟S620所指的子操作中,主控裝置110接收從屬裝置120所傳送的一個位元組;子操作結束代表主控裝置110已收到8個位元,而子操作的中間代表主控裝置110尚未收到全部的8位元。圖6的測試流程模擬從屬裝置120在傳送資料的過程中(即尚未收到主控裝置110所傳送的應答訊號ACK(步驟S238)之前)收到開始命令或結束命令之異常狀況。
步驟S620完成後,主控裝置110回到空閒狀態(步驟S205),然後再次對從屬裝置120進行讀取操作或寫入操作(步驟S530)。圖6的步驟S530、S535、S540、S550、S560、S570與圖5的相同,故不再贅述。
圖7為本發明I2
C匯流排之從屬裝置的測試方法的另一實施例的流程圖。主控裝置110透過串列時脈線SCL傳送時脈至從屬裝置120(步驟S705),然後開始對從屬裝置120進行讀取操作或寫入操作(步驟S710),寫入操作及讀取操作的流程分別如圖3及圖4所示。接著,主控裝置110在一個子操作的中間暫停傳送時脈至從屬裝置120(例如暫停1ms-10ms),或是改變時脈的頻率(步驟S720)。該子操作是寫入操作或讀取操作的一部分,可以是圖2至圖4中除了步驟S205之外的任一步驟。
步驟S720結束後,主控裝置110恢復傳送時脈給從屬裝置120,或是使時脈的頻率回復正常(即回復到未改變前的頻率)(步驟S730)。
圖7的測試流程模擬時脈中斷與抖動(jitter)(即頻率改變)之異常狀況。在時脈中斷或是頻率改變的情況下,從屬裝置120可能無法完成該次的讀取操作或寫入操作(亦即步驟S710所開始的操作)。然而,無論從屬裝置120是否完成該次的讀取操作或寫入操作,步驟S730結束後,主控裝置110回到空閒狀態(步驟S205),然後再次對從屬裝置120進行讀取操作或寫入操作(步驟S530)。圖7的步驟S530、S535、S540、S550、S560、S570與圖5的相同,故不再贅述。
圖8為本發明I2
C匯流排之從屬裝置的測試方法的另一實施例的流程圖。主控裝置110開始對從屬裝置120進行讀取操作(步驟S810),讀取操作的流程如圖4所示。接著,主控裝置110在步驟S236中讀取至少一位元組的資料後,不傳送應答訊號ACK給從屬裝置120(亦即不執行步驟S238),而是等待1ms-3ms後,回到空閒狀態(步驟S205)以結束讀取操作(步驟S820)。然後,主控裝置110再次對從屬裝置120進行讀取操作或寫入操作(步驟S530)。圖8的步驟S530、S535、S540、S550、S560、S570與圖5的相同,故不再贅述。圖8的測試流程模擬在讀取操作中從屬裝置120無法收到應答訊號ACK之異常狀況。
在一些實施例中,可以在同一個讀取操作或寫入操作中模擬圖5至圖8的2個以上的異常狀況。舉例來說,主控裝置110可以在步驟S212及步驟S216都傳送開始命令或結束命令(亦即圖5的步驟S520包含2個子操作)。另舉例來說,主控裝置110可以在步驟S230改變串列時脈線SCL的時脈的頻率,並且在讀取操作中不傳送應答訊號ACK(即不執行步驟S238)(亦即組合圖7及圖8的異常狀況)。
在一些實施例中,圖5至圖8的異常狀況可以是隨機產生的。舉例來說,主控裝置110的控制電路114隨機產生一個目標值,並且在圖3或圖4的步驟S210開時計數,當計數到該目標值時製造異常狀況。主控裝置110可以根據串列時脈線SCL的時脈或系統時脈計數。系統時脈例如是控制電路114的工作時脈,其頻率可能等於或不等於串列時脈線SCL的時脈的頻率。
在其他的實施例中,主控裝置110在特定的位置產生異常狀況。舉例來說,在圖6的實施例中,主控裝置110在步驟S234接收到應答訊號ACK後開始計數,並且目標值為1-32(即4個位元組的資料之內)。當計數到目標值時,即傳送開始命令或結束命令給從屬裝置120(步驟S620)。此目標值可以是多個,例如1、10、32;在此情況下,主控裝置110在收到第1個位元(亦即步驟S236的中間)、第10個位元(亦即步驟S236的中間)以及第32個位元(亦即步驟S236結束)後各傳送一個開始命令或結束命令給從屬裝置120。
由於本技術領域具有通常知識者可藉由本案之裝置發明的揭露內容來瞭解本案之方法發明的實施細節與變化,因此,為避免贅文,在不影響該方法發明之揭露要求及可實施性的前提下,重複之說明在此予以節略。請注意,前揭圖示中,元件之形狀、尺寸、比例以及步驟之順序等僅為示意,係供本技術領域具有通常知識者瞭解本發明之用,非用以限制本發明。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
110:主控裝置
120:從屬裝置
112、122:I2
C介面
114、124:控制電路
116、126:儲存電路
130:I2
C匯流排
SCL:串列時脈線
SDA:串列資料線
ACK:應答訊號
S205、S210、S212、S214、S216、S218、S220、S225、S227、S240、S230、S232、S234、S236、S238、S239、S510、S520、S530、S535、S540、S550、S560、S570、S610、S620、S705、S710、S720、S730、S810、S820:步驟
圖1顯示透過I2
C匯流排連接之主控裝置及從屬裝置;
圖2顯示主控裝置之一實施例的狀態機;
圖3為主控裝置對從屬裝置進行寫入操作的流程圖;
圖4為主控裝置對從屬裝置進行讀取操作的流程圖;
圖5為本發明I2
C匯流排之從屬裝置的測試方法的一實施例的流程圖;
圖6為本發明I2
C匯流排之從屬裝置的測試方法的另一實施例的流程圖;
圖7為本發明I2
C匯流排之從屬裝置的測試方法的另一實施例的流程圖;以及
圖8為本發明I2
C匯流排之從屬裝置的測試方法的另一實施例的流程圖。
S510~S570:步驟
Claims (10)
- 一種內部積體電路匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作或一第一寫入操作,其中該第一讀取操作或該第一寫入操作包含傳送一開始命令、一結束命令、一應答訊號、一資料、一地址或一控制位元組至該從屬裝置的一子操作;(B)在該子操作結束後,或是於該子操作的中間,傳送該開始命令或該結束命令至該從屬裝置;(C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一第二寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該第二寫入操作是否正確。
- 如申請專利範圍第1項所述之測試方法,其中該控制位元組係對應一寫入命令。
- 如申請專利範圍第1項所述之測試方法,其中該控制位元組係對應一讀取命令。
- 一種內部積體電路匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作,其中該第一讀取操作包含傳送一開始命令或一結束命令至該從屬裝置或讀取儲存於該從屬裝置之一資料的一子操作;(B)在該子操作結束後,或是於該子操作的中間,傳送該開始命令或該結束命令至該從屬裝置; (C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該寫入操作是否正確。
- 一種內部積體電路匯流排之一從屬裝置的測試方法,包含:(A)傳送一時脈至該從屬裝置;(B)開始該從屬裝置的一第一讀取操作或一第一寫入操作,其中該第一讀取操作或該第一寫入操作包含一子操作;(C)在該子操作的中間,暫停傳送該時脈至該從屬裝置,或是改變該時脈的頻率;(D)在步驟(C)之後,傳送該時脈至該從屬裝置,或是回復該時脈的頻率;(E)在步驟(D)之後,對該從屬裝置進行一第二讀取操作或一第二寫入操作;以及(F)在步驟(E)之後,判斷該第二讀取操作或該第二寫入操作是否正確。
- 如申請專利範圍第5項所述之測試方法,其中該子操作係傳送一應答訊號至該從屬裝置的操作。
- 如申請專利範圍第5項所述之測試方法,其中該子操作係接收該從屬裝置所傳送之一應答訊號的操作。
- 如申請專利範圍第5項所述之測試方法,其中該子操作係傳送一地址至該從屬裝置的操作。
- 如申請專利範圍第5項所述之測試方法,其中該子操作係傳送一資料至該從屬裝置的操作。
- 一種內部積體電路匯流排之一從屬裝置的測試方法,包含:(A)開始該從屬裝置的一第一讀取操作,其中該第一讀取操作包含讀取儲存於該從屬裝置之一資料;(B)在讀取該資料的至少一位元組後,結束該第一讀取操作,而不傳送一應答訊號至該從屬裝置;(C)在步驟(B)之後,對該從屬裝置進行一第二讀取操作或一寫入操作;以及(D)在步驟(C)之後,判斷該第二讀取操作或該寫入操作是否正確。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010118494.9 | 2020-02-26 | ||
CN202010118494.9A CN113312217A (zh) | 2020-02-26 | 2020-02-26 | 内部集成电路总线的从属装置的测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202133001A TW202133001A (zh) | 2021-09-01 |
TWI773969B true TWI773969B (zh) | 2022-08-11 |
Family
ID=77366982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109106920A TWI773969B (zh) | 2020-02-26 | 2020-03-03 | 內部積體電路匯流排之從屬裝置的測試方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11450398B2 (zh) |
CN (1) | CN113312217A (zh) |
TW (1) | TWI773969B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271246A (zh) * | 2023-11-22 | 2023-12-22 | 深圳市蓝鲸智联科技股份有限公司 | 一种i2c设备调试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604277A (zh) * | 2008-06-11 | 2009-12-16 | 比亚迪股份有限公司 | I2c总线验证***及方法 |
CN106471483A (zh) * | 2014-03-24 | 2017-03-01 | 伊耐斯克泰克—计算机科学与技术***工程研究所 | 用于多个混合信号资源管理的控制模块 |
US10108511B2 (en) * | 2015-06-15 | 2018-10-23 | Qualcomm Incorporated | Test for 50 nanosecond spike filter |
TW201945957A (zh) * | 2018-04-16 | 2019-12-01 | 美商利盟國際公司 | 使用時鐘頻率變化來檢測非可信從屬元件的系統和方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145036A (en) * | 1998-09-30 | 2000-11-07 | International Business Machines Corp. | Polling of failed devices on an I2 C bus |
US6205504B1 (en) * | 1998-09-30 | 2001-03-20 | International Business Machines Corporation | Externally provided control of an I2C bus |
US7234081B2 (en) * | 2004-02-04 | 2007-06-19 | Hewlett-Packard Development Company, L.P. | Memory module with testing logic |
US20070088874A1 (en) * | 2005-10-14 | 2007-04-19 | Hewlett-Packard Development Company, L.P. | Offload engine as processor peripheral |
US20070240011A1 (en) * | 2006-04-05 | 2007-10-11 | Texas Instruments Incorporated | FIFO memory data pipelining system and method for increasing I²C bus speed |
CN101051434A (zh) * | 2006-04-05 | 2007-10-10 | 深圳Tcl新技术有限公司 | 一种用于平板显示产品edid抄写及测试的方法 |
CN100416536C (zh) * | 2006-11-09 | 2008-09-03 | 中兴通讯股份有限公司 | 10位寻址模式i2c控制器访问大容量存储器的方法 |
US7589652B2 (en) * | 2007-04-12 | 2009-09-15 | Microchip Technology Incorporated | Read and write interface communications protocol for digital-to-analog signal converter with non-volatile memory |
US8224602B2 (en) * | 2008-11-11 | 2012-07-17 | Nxp B.V. | Automatic on-demand prescale calibration across multiple devices with independent oscillators over an I2C Bus interface |
US7930127B2 (en) * | 2008-11-11 | 2011-04-19 | Nxp B.V. | Oscillator prescale calibration for harmonizing multiple devices with independent oscillators over an I2C bus interface |
US8489786B2 (en) * | 2009-11-09 | 2013-07-16 | Stmicroelectronics International N.V. | Acknowledgement management technique for supported command set of SMBUS/PMBUS slave applications |
CN103139010B (zh) * | 2012-11-13 | 2016-09-21 | 深圳中兴网信科技有限公司 | 终端、测试服务器和测试方法 |
US9336167B2 (en) * | 2012-12-13 | 2016-05-10 | Texas Instruments Incorporated | I2C controller register, control, command and R/W buffer queue logic |
CN105740114B (zh) * | 2016-01-26 | 2020-09-25 | 惠州Tcl移动通信有限公司 | 移动终端的容错测试方法及装置 |
US10915079B2 (en) * | 2019-04-17 | 2021-02-09 | Dyna Image Corporation | Light sensor device controlled with dual-mode master-and-slave MCU application |
-
2020
- 2020-02-26 CN CN202010118494.9A patent/CN113312217A/zh active Pending
- 2020-03-03 TW TW109106920A patent/TWI773969B/zh active
-
2021
- 2021-01-25 US US17/156,679 patent/US11450398B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101604277A (zh) * | 2008-06-11 | 2009-12-16 | 比亚迪股份有限公司 | I2c总线验证***及方法 |
CN106471483A (zh) * | 2014-03-24 | 2017-03-01 | 伊耐斯克泰克—计算机科学与技术***工程研究所 | 用于多个混合信号资源管理的控制模块 |
US10108511B2 (en) * | 2015-06-15 | 2018-10-23 | Qualcomm Incorporated | Test for 50 nanosecond spike filter |
TW201945957A (zh) * | 2018-04-16 | 2019-12-01 | 美商利盟國際公司 | 使用時鐘頻率變化來檢測非可信從屬元件的系統和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210265001A1 (en) | 2021-08-26 |
TW202133001A (zh) | 2021-09-01 |
CN113312217A (zh) | 2021-08-27 |
US11450398B2 (en) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3542276B1 (en) | Flow control in remote direct memory access data communications with mirroring of ring buffers | |
US7707346B2 (en) | PCI express multi-root IOV endpoint retry buffer controller | |
US7676701B2 (en) | Computer readable medium storing an error recovery program, error recovery method, error recovery apparatus, and computer system | |
CN110447020B (zh) | 通信装置、通信方法、程序和通信*** | |
US20110153884A1 (en) | Storage system provided with function for detecting write completion | |
WO2023207571A1 (zh) | 一种数据传输方法及装置 | |
US9473273B2 (en) | Memory system capable of increasing data transfer efficiency | |
TWI773969B (zh) | 內部積體電路匯流排之從屬裝置的測試方法 | |
US8943255B2 (en) | Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices | |
US7168029B2 (en) | Method for testing a universal serial bus host controller | |
CN115129509B (zh) | 一种数据传输方法、装置、介质 | |
TWI783707B (zh) | 供電端裝置、供電系統以及非暫態電腦可讀取媒體 | |
CN110990313B (zh) | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 | |
EP4200715A1 (en) | I3c pending read with retransmission | |
JP6136754B2 (ja) | 通信制御装置及び画像形成装置 | |
TWI757606B (zh) | 伺服器裝置及其基板管理控制器與可程式邏輯單元之間的通訊協定方法 | |
CN114518972B (zh) | 内存错误处理方法、装置、内存控制器及处理器 | |
CN104125096A (zh) | 一种基于i2c总线的服务器网络配置方法 | |
US20240194231A1 (en) | Buffer device with low-latency skid mode for data freshness | |
US20220245018A1 (en) | System watchdog timer for a data processing system | |
US8027826B2 (en) | Evaluation device consisting of a logic simulator and a simulation result table | |
TWI484347B (zh) | 資料傳輸方法以及通用串列匯流排主機控制器 | |
WO2022086798A1 (en) | Repeated in sequence packet transmission for checksum comparison | |
CN113835940A (zh) | 一种设置串行中断模式的方法、***、设备和存储介质 | |
CN115437983A (zh) | 高速***组件互连(PCIe)接口装置及其操作方法 |