TWI722514B - Ic韌體更新方法 - Google Patents
Ic韌體更新方法 Download PDFInfo
- Publication number
- TWI722514B TWI722514B TW108127118A TW108127118A TWI722514B TW I722514 B TWI722514 B TW I722514B TW 108127118 A TW108127118 A TW 108127118A TW 108127118 A TW108127118 A TW 108127118A TW I722514 B TWI722514 B TW I722514B
- Authority
- TW
- Taiwan
- Prior art keywords
- usvdm
- circuit
- request
- response
- protocol
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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/0042—Universal serial bus [USB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Systems (AREA)
Abstract
本發明揭露了一種IC韌體更新方法,是由一中介電路來執行,包含:與一目標電路進行通訊,以進入一預設模式;依據一主機電路的一狀態詢問訊息,傳送一狀態回覆訊息給該主機電路,以表示進入該預設模式;於傳送該狀態回覆訊息後,接收該主機電路的一第一協定要求命令;將該第一協定要求命令轉換為N個要求端非結構化供應商定義訊息(Unstructured Vendor Defined Message, USVDM),並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數;接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM;以及將該N個回應端USVDM轉換為一第一協定回應命令,並傳送該第一協定回應命令給該主機電路。
Description
本發明是關於IC韌體更新方法,尤其是關於利用非結構化供應商定義訊息(Unstructured Vendor Defined Message, USVDM)的IC韌體更新方法。
對採用USB Type-C介面的USB電力傳輸(USB Power Delivery, USB PD)IC而言,更新韌體之最方便的方式是依據USB PD 3.0 協定,透過USB Type-C埠執行韌體更新;若利用其他介面對該USB PD IC執行韌體更新,會遇到各種限制。舉例而言,若欲藉由系統管理匯流排(System Management Bus, Smbus)/積體電路間(Inter-Integrated Circuit, I2C)介面或者傳統USB介面(非USB Type-C介面)來執行韌體更新,該USB PD IC可能因不支援這樣的介面而無法執行韌體更新。
據上所述,對於不支援USB PD 3.0協定但需要通過USB Type-C介面之組態通道(Configuration Channel, CC)來執行韌體更新的USB PD IC而言,該USB PD IC需要一種適當的韌體更新方法。
本發明之一目的在於提供一種IC韌體更新方法,以避免先前技術的問題。
本發明之IC韌體更新方法的一實施例是由一中介電路來執行,該實施例包含下列步驟:與一目標電路進行通訊,以進入一預設模式;依據一主機電路的一狀態詢問訊息,傳送一狀態回覆訊息給該主機電路,以表示進入該預設模式;於傳送該狀態回覆訊息後,接收該主機電路的一第一協定要求命令;將該第一協定要求命令轉換為N個要求端非結構化供應商定義訊息(Unstructured Vendor Defined Message, USVDM),並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數;接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM;以及將該N個回應端USVDM轉換為一第一協定回應命令,並傳送該第一協定回應命令給該主機電路。
本發明之IC韌體更新方法的另一實施例是由一目標電路來執行,該實施例包含下列步驟:與一主端電路進行通訊,以進入一預設模式;接收N個要求端USVDM,其中該N為正整數;以及依據該N個要求端USVDM執行一韌體更新操作,以產生N個回應端USVDM,並傳送該N個回應端USVDM至該主端電路。
本發明之IC韌體更新方法的又一實施例是由一主機電路來執行,該實施例包含下列步驟:與一中介電路進行通訊,以確定該中介電路進入一預設模式;依據一韌體更新程序產生X個第一協定要求命令,並傳送該X個第一協定要求命令至該中介電路,以供該中介電路據以存取一目標電路,該X為正整數;以及從該中介電路接收X個第一協定回應命令,該X個第一協定回應命令的內容源自於該目標電路。當該韌體更新程序所關聯的存取資料量大於K個位元組時,前述產生該X個第一協定要求命令的步驟包含:依據該韌體更新程序產生複數個第一協定要求命令作為該X個第一協定要求命令,使得該X個第一協定要求命令的每一個所關聯的存取資料量不大於K個位元組。
本發明之IC韌體更新方法的再一實施例是由一主機電路來執行,該實施例包含下列步驟:透過一USB Type-C介面與一目標電路進行通訊,以進入一預設模式;依據一韌體更新程序產生N個要求端USVDM,並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數;以及接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM,其中該N個要求端USVDM與該N個回應端USVDM符合USB電力傳輸(USB Power Delivery, USB PD)2.0協定。
有關本發明的特徵、實作與功效,茲配合圖式作較佳實施例詳細說明如下。
本揭露包含一種積體電路(IC)韌體更新裝置與一種IC韌體更新方法。該裝置與方法能夠基於USB電力傳輸(USB Power Delivery, USB PD)2.0協定,利用非結構化供應商定義訊息(Unstructured Vendor Defined Message, USVDM)以透過USB Type-C介面之組態通道(Configuration Channel)來執行韌體更新;然而,在實施為可能的前提下,該裝置與方法的實施並不限於上述協定、訊息、與介面類型。
圖1顯示本揭露之IC韌體更新裝置的一實施例。圖1之IC韌體更新裝置100包含一主機電路110、一中介電路120、與一目標電路130。主機電路110是一已知或自行開發之裝置(例如:電腦)的電路,支援一第一介面(例如:非USB Type-C介面)符合一第一協定;主機電路110用來依據一韌體更新程序產生一第一協定要求命令,並傳送該第一協定要求命令至中介電路120;該第一介面的一範例為下列介面的其中之一:一USB Type-A介面;一USB Type-B介面;一USB Mini-A介面;一USB Mini-B介面;一USB Micro-A介面;一USB Micro-B介面;以及一系統管理匯流排(System Management Bus, SMBUS)介面。中介電路120用來將該第一協定要求命令轉換為N個要求端USVDM,並傳送該N個要求端USVDM至目標電路130;中介電路120的細節說明於後。目標電路130是一已知或自行開發之裝置(例如:電子裝置的供電器)的電路,支援一第二介面(例如:USB Type-C介面)符合一第二協定(例如:USB PD 2.0協定);目標電路130依據該N個要求端USVDM執行一韌體更新操作包含讀/寫操作,並產生N個回應端USVDM,接著傳送該N個回應端USVDM至中介電路120;本實施例中,目標電路130不支援USB PD 3.0協定,然此並非本發明的實施限制。韌體更新裝置100的操作細節見於後述的方法實施例中。
圖2顯示圖1之中介電路120的一實施例,包含:一第一傳收電路210,用來透過該第一介面接收主機電路110的一第一協定要求命令,並透過該第一介面傳送一第一協定回應命令給主機電路110;一第一轉換電路220,用來依據該第一協定以及該第二協定將該第一協定要求命令轉換為N個要求端USVDM,其中該N為正整數;一第二傳收電路230,用來透過該第二介面傳送該N個要求端USVDM給目標電路130,以及透過該第二介面接收目標電路130的N個回應端USVDM;以及一第二轉換電路240,用來依據該第二協定以及該第一協定將該N個回應端USVDM轉換為該第一協定回應命令。中介電路120的操作細節見於後述的方法實施例中。
圖3顯示本揭露之IC韌體更新裝置的另一實施例。圖3之IC韌體更新裝置300包含一主機電路310與一目標電路320。主機電路310是一已知或自行開發之裝置(例如:電腦)的電路,支援一第二介面(例如:USB Type-C介面)符合一第二協定(例如:USB PD 2.0協定);主機電路310用來依據一韌體更新程序產生N個要求端USVDM,並傳送該N個要求端USVDM至目標電路320。目標電路320是一已知或自行開發之裝置(例如:電子裝置的供電器)的電路,支援該第二介面;目標電路320依據該N個要求端USVDM執行一韌體更新操作包含讀/寫操作,並產生N個回應端USVDM,接著傳送該N個回應端USVDM至主機電路310;本實施例中,目標電路320不支援USB PD 3.0協定,然此不是本發明的實施限制。韌體更新裝置300的操作細節見於後述的方法實施例中。
圖4顯示本發明之IC韌體更新方法的一實施例。本實施例可由一中介電路(例如:圖2的中介電路120)來執行,包含下列步驟:
步驟S410:與一目標電路進行通訊,以進入一預設模式。該目標電路的一範例為圖1的目標電路130。於一實作範例中,該預設模式為一模態操作(Modal Operation)模式;為了進入該模態操作模式,與該目標電路進行通訊的過程如圖5所示,包含:查明身分之要求(Discover Identity (request));查明身分之回覆(Discover Identity (ack));查明標準/供應商身分(Standard or Vendor ID, SVID)之要求(Discover SVID (request));查明標準/供應商身分之回覆(Discover SVID (ack));查明模式之要求(Discover Mode (request));查明模式之回覆(Discover Mode (ack));進入模式之要求(Enter Mode (request));以及進入模式之回覆(Enter Mode (ack))。
步驟S420:依據一主機電路的一狀態詢問訊息,傳送一狀態回覆訊息給該主機電路,以表示進入該預設模式。該主機電路的一範例為圖1的主機電路110。於一實作範例中,該狀態詢問訊息為一USB/SMBUS狀態要求命令(USB/SMBUS CMD (Get IC Status request))以及該狀態回覆訊息為一USB/SMBUS狀態回應命令(USB/SMBUS CMD (Get IC status response))如圖5所示,其中該用語“USB”在此是指非USB Type-C的傳統USB。由於本領域具有通常知識者能夠依據該中介電路與該主機電路之間的已知通訊協定(例如:USB/SMBUS協定)和已知通訊技術(例如:依據協定產生封包的技術)來處理該狀態詢問訊息以及產生該狀態回覆訊息,冗餘的說明在此省略。
步驟S430:於傳送該狀態回覆訊息後,接收該主機電路的一第一協定要求命令。於一實作範例中,該第一協定要求命令為一USB/SMBUS要求命令(USB/SMBUS CMD (request))如圖5所示,用來要求資料寫入/讀取。由於本領域具有通常知識者能夠依該中介電路與該主機電路之間的已知通訊協定(例如:USB/SMBUS協定)和已知通訊技術(例如:依據協定產生封包的技術)來處理該第一協定要求命令,冗餘的說明在此省略。
步驟S440:將該第一協定要求命令轉換為N個要求端USVDM,並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數。於一實作範例中,該N個要求端USVDM為符合USB PD 2.0協定的USVDM(PD USVDM (request)),如圖5所示。
圖6顯示該N個要求端USVDM的每一個用於寫入操作時之格式的範例,包含一要求端USVDM表頭(USVDM header)用來攜帶訊息資訊、一要求端第一供應商定義資料物件(Vendor Defined Data Object, VDO)用來攜帶寫入參數、以及M個VDO用來攜帶寫入資料。於圖6的一實作範例中,該要求端USVDM表頭的長度為四個位元組(bytes),其中第16~31個位元用來表示供應商身分(Vendor ID),第15個位元用來表示供應商定義訊息類型(VDM Type),第8~14個位元為保留位元(Reserved Bits),第0~7個位元用來表示寫入該目標電路之儲存電路(例如:快閃記憶體)的要求命令;該要求端第一VDO的長度為四個位元組,其中第24~31個位元用來表示寫入資料的長度(Length),第0~23個位元用來表示開始寫入的位址;該M個VDO的每一個的長度為四個位元組,該M為正整數,例如為不大於五的正整數,從而M個VDO的長度不大於20個位元組以符合USB PD 2.0的規範。
圖7顯示該N個要求端USVDM的每一個用於讀取操作時之格式的範例,包含一要求端USVDM表頭用來攜帶訊息資訊、以及一要求端第一VDO用來攜帶讀取參數。於圖7的一實作範例中,該要求端USVDM表頭的長度為四個位元組,其中第16~31個位元用來表示供應商身分(Vendor ID),第15個位元用來表示供應商定義訊息類型(VDM Type),第8~14個位元為保留位元(Reserved Bits),第0~7個位元用來表示讀取該目標電路之儲存電路(例如:快閃記憶體)的要求命令;該要求端第一VDO的長度為四個位元組,其中第24~31個位元用來表示讀取資料的長度(Length),第0~23個位元用來表示開始讀取的位址。
步驟S450:接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM。於一實作範例中,該N個回應端USVDM為符合USB PD 2.0協定的USVDM(PD USVDM (response)),如圖5所示。
圖6顯示該N個回應端USVDM的每一個用於寫入操作時之格式的範例,包含一回應端USVDM表頭用來攜帶訊息資訊、以及一回應端第一VDO用來攜帶寫入參數。於圖6的一實作範例中,該回應端USVDM表頭與前述用於寫入操作之該要求端USVDM表頭相仿,差別僅在於該回應端USVDM表頭的第0~7個位元用來表示寫入該目標電路的回應命令;該回應端第一VDO的長度為四個位元組,其中第8~31個位元為保留位元,第0~7個位元用來表示寫入結果。
圖7顯示該N個回應端USVDM的每一個用於讀取操作時之格式的範例,包含一回應端USVDM表頭用來攜帶訊息資訊、一回應端第一VDO用來攜帶讀取參數、以及M個VDO用來攜帶讀取資料。於圖7的一實作範例中,該回應端USVDM表頭與前述用於讀取操作之該要求端USVDM表頭相仿,差別僅在於該回應端USVDM表頭的第0~7個位元用來表示讀取該目標電路的回應命令;該回應端第一VDO的長度為四個位元組,其中第24~31個位元用來表示讀取資料的長度(Length),第8~23個位元為保留位元,該0~7個位元用來表示讀取結果;該M個VDO的每一個的長度為四個位元組,該M為正整數,例如為不大於五的正整數,從而M個VDO的長度不大於20個位元組以符合USB PD 2.0的規範。
步驟S460:將該N個回應端USVDM轉換為一第一協定回應命令,並傳送該第一協定回應命令給該主機電路。於一實作範例中,該第一協定回應命令為一USB/SMBUS回應命令(USB/SMBUS CMD (response))如圖5所示,用來回應資料寫入/讀取的要求;該主機電路收到該第一協定回應命令後,可準備開始下一個程序。由於本領域具有通常知識者能夠依該中介電路與該主機電路之間的已知通訊協定(例如:USB/SMBUS協定)和已知通訊技術(例如:依據協定產生封包的技術)來產生該第一協定回應命令,冗餘的說明在此省略。
請參閱圖4~5。於一實作範例中,該中介電路透過一USB Type-C介面的組態通道以與該目標電路進行通訊,上述通訊的編碼為雙向標記碼(Bi-Phase Mark Code),因此,該N個要求端USVDM與該N個回應端USVDM的編碼為雙向標記碼。於一實作範例中,當該第一協定要求命令所關聯的存取資料量大於K個位元組(例如:20個位元組)時,為了令該N個要求端USVDM的每一個所關聯的存取資料量不大於K個位元組以符合該目標電路與該中介電路之間的協定(例如:USB PD 2.0協定),該中介電路除執行圖4之步驟外,進一步執行下列步驟:分拆該第一協定要求命令以產生複數個局部命令;再將該複數個局部命令分別轉換為該N個要求端USVDM,其中該K大於一,該複數個局部命令的每一個所關聯的存取資料量不大於K個位元組,該N為大於一的整數,該N個回應端USVDM分別對應該N個要求端USVDM。於一實作範例中,該目標電路不支援USB PD 3.0協定,但支援USB PD 2.0協定;該中介電路與該目標電路分別作為一下行資料流向埠(Downstream Facing Port, DFP)以及一上行資料流向埠(Upstream Facing Port, UFP)。
圖8顯示本發明之IC韌體更新方法的另一實施例。本實施例可由一目標電路(例如:圖1或圖3的目標電路130)來執行,包含下列步驟:
步驟S810:與一主端電路(例如:圖1的中介電路120或圖3的主機電路310)進行通訊,以進入一預設模式(例如:模態操作模式)。
步驟S820:接收N個要求端USVDM,其中該N為正整數。
步驟S830:依據該N個要求端USVDM執行一韌體更新操作,以產生N個回應端USVDM,並傳送該N個回應端USVDM至該主端電路。
圖9顯示本發明之IC韌體更新方法的又一實施例。本實施例可由一主機電路(例如:圖1的主機電路110)來執行,包含下列步驟:
步驟S910:與一中介電路(例如:圖1的中介電路120)進行通訊,以確定該中介電路進入一預設模式(例如:模態操作模式)。
步驟S920:依據一韌體更新程序產生X個第一協定要求命令,並傳送該X個第一協定要求命令至該中介電路,以供該中介電路據以存取一目標電路,該X為正整數。當該韌體更新程序所關聯的存取資料量大於K個位元組時,產生該X個第一協定要求命令的步驟包含:依據該韌體更新程序產生複數個第一協定要求命令作為該X個第一協定要求命令,使得該X個第一協定要求命令的每一個所關聯的存取資料量不大於K個位元組。
步驟S930:從該中介電路接收X個第一協定回應命令,該X個第一協定回應命令的內容源自於該目標電路。
圖10顯示本發明之IC韌體更新方法的再一實施例。本實施例可由一主機電路(例如:圖3的主機電路310)來執行,包含下列步驟:
步驟S1010:透過一USB Type-C介面與一目標電路(例如:圖3的目標電路320)進行通訊,以進入一預設模式(例如:模態操作模式)。值得注意的是,為了進入該模態操作模式,與該目標電路進行通訊的過程如圖11所示,該過程同於圖5中從「查明身分之要求(Discover Identity (request))」至「進入模式之回覆(Enter Mode (ack))」的過程。
步驟S1020:依據一韌體更新程序產生N個要求端USVDM要求,並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數。於一實作範例中,該N個要求端USVDM為符合USB PD 2.0協定的USVDM(PD USVDM (request)),如圖11所示。
步驟S1030:接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM,其中該N個要求端USVDM與該N個回應端USVDM符合USB PD 2.0協定。於一實作範例中,該N個回應端為符合USB PD 2.0協定的USVDM(PD USVDM (response)),如圖11所示。
由於本領域具有通常知識者能夠參酌圖1~7之實施例的揭露來瞭解圖8~11之實施例的細節與變化,亦即圖1~7之實施例的技術特徵可合理應用於圖8~11的實施例中,因此,重複及冗餘之說明在此省略。此外,本說明書之部分用語(例如:USVDM、組態通道、SMBUS、模態操作、VDO、雙向標記碼、DFP、UFP等等)是本技術領域中已知且已定義的用語,細節可見於USB PD 2.0/3.0規格書及其相關文獻。
值得注意的是,在實施為可能的前提下,本技術領域具有通常知識者可選擇性地實施前述任一實施例中部分或全部技術特徵,或選擇性地實施前述複數個實施例中部分或全部技術特徵的組合,藉此增加本發明實施時的彈性。
綜上所述,本發明能夠基於USB PD 2.0協定,利用本發明自行定義的USVDM以透過USB Type-C介面之組態通道,來為不支援USB PD 3.0協定的目標電路進行韌體更新。
雖然本發明之實施例如上所述,然而該些實施例並非用來限定本發明,本技術領域具有通常知識者可依據本發明之明示或隱含之內容對本發明之技術特徵施以變化,凡此種種變化均可能屬於本發明所尋求之專利保護範疇,換言之,本發明之專利保護範圍須視本說明書之申請專利範圍所界定者為準。
100 IC韌體更新裝置
110 主機電路
120 中介電路
130 目標電路
210 第一傳收電路
220 第一轉換電路
230 第二傳收電路
240 第二轉換電路
300 IC韌體更新裝置
310 主機電路
320 目標電路
S410~S460 步驟
Discover Identity (request) 查明身分之要求
Discover Identity (ack) 查明身分之回覆
Discover SVID (request) 查明SVID之要求
Discover SVID (ack) 查明SVID之回覆
Discover Mode (request) 查明模式之要求
Discover Mode (ack) 查明模式之回覆
Enter Mode (request) 進入模式之要求
Enter Mode (ack) 進入模式之回覆
USB/SMBUS CMD (Get IC Status request) USB/SMBUS狀態要求命令
USB/SMBUS CMD (Get IC status response) USB/SMBUS狀態回應命令
USB/SMBUS CMD (request) USB/SMBUS要求命令
PD USVDM (request) N個要求端USVDM
PD USVDM (response) N個回應端USVDM
USB/SMBUS CMD (response) USB/SMBUS回應命令
S810~S830 步驟
S910~S930 步驟
S1010~S1030 步驟
[圖1]顯示本揭露之IC韌體更新裝置的一實施例;
[圖2]顯示圖1之中介電路的一實施例;
[圖3]顯示本揭露之IC韌體更新裝置的另一實施例;
[圖4]顯示本發明之IC韌體更新方法的一實施例;
[圖5]顯示圖4之方法的流程圖;
[圖6]顯示圖4之N個要求端/回應端USVDM用於寫入操作時之格式的範例;
[圖7]顯示圖4之N個要求端/回應端USVDM用於讀取操作時之格式的範例;
[圖8]顯示本發明之IC韌體更新方法的另一實施例;
[圖9]顯示本發明之IC韌體更新方法的又一實施例;
[圖10]顯示本發明之IC韌體更新方法的再一實施例;以及
[圖11]顯示圖10之方法的流程圖。
S410~S460 步驟
Claims (10)
- 一種IC韌體更新方法,是由一中介電路來執行,包含:與一目標電路進行通訊,以進入一預設模式;依據一主機電路的一狀態詢問訊息,傳送一狀態回覆訊息給該主機電路,以表示進入該預設模式,其中該主機電路與該中介電路為不同電路;於傳送該狀態回覆訊息後,接收該主機電路的一第一協定要求命令;將該第一協定要求命令轉換為N個要求端非結構化供應商定義訊息(Unstructured Vendor Defined Message,USVDM),並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數;接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM;以及將該N個回應端USVDM轉換為一第一協定回應命令,並傳送該第一協定回應命令給該主機電路。
- 如申請專利範圍第1項所述之方法,其中該中介電路透過一USB Type-C介面以與該目標電路進行通訊,以及該中介電路透過一非USB Type-C介面以與該主機電路進行通訊。
- 如申請專利範圍第1項所述之方法,進一步包含:當該第一協定要求命令所關聯的存取資料量大於K個位元組(bytes)時,分拆該第一協定要求命令以產生複數個局部命令;再將該複數個局部命令分別轉換為該N個要求端USVDM,其中該K大於一,該複數個局部命令的每一個所關聯的存取資料量 不大於K個位元組,該N為大於一的整數,該N個回應端USVDM分別對應該N個要求端USVDM。
- 如申請專利範圍第1項所述之方法,其中當該N個要求端USVDM為寫入訊息時,該N個要求端USVDM的格式包含一要求端USVDM表頭(header)、一要求端第一供應商定義資料物件(Vendor Defined Data Object,VDO)用來攜帶寫入參數、以及M個VDO用來攜帶資料;以及該N個回應端USVDM的格式包含一回應端USVDM表頭以及一回應端第一VDO用來攜帶寫入參數,其中該M為正整數。
- 如申請專利範圍第1項所述之方法,其中當該N個要求端USVDM為讀取訊息時,該N個要求端USVDM的格式包含一要求端USVDM表頭(header)以及一要求端第一供應商定義資料物件(Vendor Defined Data Object,VDO)用來攜帶讀取參數;以及該N個回應端USVDM的格式包含一回應端USVDM表頭、一回應端第一VDO用來攜帶讀取參數、以及M個VDO用來攜帶資料,其中該M為正整數。
- 一種IC韌體更新方法,是由一目標電路來執行,包含:與一主端電路進行通訊,使得該目標電路與該主端電路進入一預設模式;接收N個要求端非結構化供應商定義訊息(Unstructured Vendor Defined Message,USVDM),其中該N為正整數;以及依據該N個要求端USVDM執行一韌體更新操作,以產生N個回應端USVDM,並傳送該N個回應端USVDM至該主端電路。
- 如申請專利範圍第6項所述之方法,其中當該N個要求端USVDM為寫入訊息時,該N個要求端USVDM的格式包含一要求端USVDM表頭 (header)、一要求端第一供應商定義資料物件(Vendor Defined Data Object,VDO)用來攜帶寫入參數、以及M個VDO用來攜帶資料;以及該N個回應端USVDM的格式包含一回應端USVDM表頭以及一回應端第一VDO用來攜帶寫入參數,其中該M為正整數。
- 如申請專利範圍第6項所述之方法,其中當該N個要求端USVDM為讀取訊息時,該N個要求端USVDM的格式包含一要求端USVDM表頭(header)以及一要求端第一供應商定義資料物件(Vendor Defined Data Object,VDO)用來攜帶讀取參數;該N個回應端USVDM的格式包含一回應端USVDM表頭、一回應端第一VDO用來攜帶讀取參數、以及M個VDO用來攜帶資料,其中該M為正整數。
- 一種IC韌體更新方法,是由一主機電路來執行,包含:與一中介電路進行通訊,以確定該中介電路進入一預設模式,其中該主機電路與該中介電路為不同電路;依據一韌體更新程序產生X個第一協定要求命令,並傳送該X個第一協定要求命令至該中介電路,以供該中介電路據以存取已進入該預設模式的一目標電路,該X為正整數;以及從該中介電路接收X個第一協定回應命令,該X個第一協定回應命令的內容源自於該目標電路,其中當該韌體更新程序所關聯的存取資料量大於K個位元組時,產生該X個第一協定要求命令的步驟包含:依據該韌體更新程序產生複數個第一協定要求命令作為該X個第一協定要求命令,使得該X個第一協定要求命令的 每一個所關聯的存取資料量不大於K個位元組,以符合該中介電路與該目標電路之間的一協定。
- 一種IC韌體更新方法,是由一主機電路來執行,包含:透過一USB Type-C介面與一目標電路進行通訊,使得該主機電路與該目標電路進入一預設模式;依據一韌體更新程序產生N個要求端非結構化供應商定義訊息(Unstructured Vendor Defined Message,USVDM),並傳送該N個要求端USVDM至該目標電路,以供該目標電路執行一韌體更新操作,其中該N為正整數;以及接收該目標電路的N個回應端USVDM,該N個回應端USVDM對應該N個要求端USVDM,其中該N個要求端USVDM與該N個回應端USVDM符合USB電力傳輸(USB Power Delivery,USB PD)2.0協定。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910655055.9 | 2019-07-19 | ||
CN201910655055.9A CN112241277A (zh) | 2019-07-19 | 2019-07-19 | Ic固件更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202105179A TW202105179A (zh) | 2021-02-01 |
TWI722514B true TWI722514B (zh) | 2021-03-21 |
Family
ID=74167449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108127118A TWI722514B (zh) | 2019-07-19 | 2019-07-31 | Ic韌體更新方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11144305B2 (zh) |
CN (1) | CN112241277A (zh) |
TW (1) | TWI722514B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113326057B (zh) * | 2021-06-30 | 2023-04-14 | 安克创新科技股份有限公司 | 主控程序升级方法、装置、系统和电子设备 |
CN115686164A (zh) * | 2021-07-26 | 2023-02-03 | 瑞昱半导体股份有限公司 | 供电端装置、供电系统以及非暂态电脑可读取媒体 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630851A (zh) * | 2002-02-11 | 2005-06-22 | 英特尔公司 | 用于在预存储器执行环境中链接固件模块的方法和系统 |
TWI306193B (en) * | 2004-09-30 | 2009-02-11 | Intel Corp | Self-monitoring and updating of firmware over a network |
TW200923902A (en) * | 2007-11-22 | 2009-06-01 | Realtek Semiconductor Corp | Firmware updating method and system |
TW201327389A (zh) * | 2011-12-22 | 2013-07-01 | Hon Hai Prec Ind Co Ltd | 具有韌體更新功能的系統、電子裝置及其韌體更新方法 |
US20160259746A1 (en) * | 2015-01-27 | 2016-09-08 | Richtek Technology Corp. | Usb type-c cable and method for reading/writing a chip in a usb type-c cable |
TWI578233B (zh) * | 2015-11-05 | 2017-04-11 | 廣達電腦股份有限公司 | 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法 |
TWI587124B (zh) * | 2016-06-03 | 2017-06-11 | 台達電子工業股份有限公司 | USB Type-C轉接模組及其啟動方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104220958B (zh) * | 2012-02-29 | 2017-04-19 | 华硕科技(苏州)有限公司 | 计算机装置及其通用串行总线连接器的工作模式转换方法 |
US9690955B2 (en) * | 2014-06-18 | 2017-06-27 | Texas Instruments Incorporated | Tunneling messages over an USB to control power delivery |
US9952996B2 (en) * | 2014-10-15 | 2018-04-24 | Icron Technologies Corporation | Devices and methods for providing concurrent superspeed communication and four-lane displayport communication via a USB type-C receptacle |
CN104391811B (zh) * | 2014-11-28 | 2018-03-16 | 成都中远信电子科技有限公司 | 一种微型机载数据记录装置及其数据记录和卸载方法 |
US20160306616A1 (en) * | 2015-04-20 | 2016-10-20 | Microsoft Technology Licensing, Llc | Firmware update by usb cc |
TWI609271B (zh) * | 2015-10-23 | 2017-12-21 | 群光電能科技股份有限公司 | 具識別碼更新功能之供電系統 |
TWI604372B (zh) * | 2016-11-14 | 2017-11-01 | 瑞昱半導體股份有限公司 | 用於記憶卡存取之中介電路 |
WO2019015681A1 (zh) * | 2017-07-20 | 2019-01-24 | 青岛海信电器股份有限公司 | 一种终端设备及其控制方法 |
-
2019
- 2019-07-19 CN CN201910655055.9A patent/CN112241277A/zh active Pending
- 2019-07-31 TW TW108127118A patent/TWI722514B/zh active
-
2020
- 2020-07-07 US US16/921,980 patent/US11144305B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630851A (zh) * | 2002-02-11 | 2005-06-22 | 英特尔公司 | 用于在预存储器执行环境中链接固件模块的方法和系统 |
TWI306193B (en) * | 2004-09-30 | 2009-02-11 | Intel Corp | Self-monitoring and updating of firmware over a network |
TW200923902A (en) * | 2007-11-22 | 2009-06-01 | Realtek Semiconductor Corp | Firmware updating method and system |
TW201327389A (zh) * | 2011-12-22 | 2013-07-01 | Hon Hai Prec Ind Co Ltd | 具有韌體更新功能的系統、電子裝置及其韌體更新方法 |
US20160259746A1 (en) * | 2015-01-27 | 2016-09-08 | Richtek Technology Corp. | Usb type-c cable and method for reading/writing a chip in a usb type-c cable |
TWI578233B (zh) * | 2015-11-05 | 2017-04-11 | 廣達電腦股份有限公司 | 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法 |
TWI587124B (zh) * | 2016-06-03 | 2017-06-11 | 台達電子工業股份有限公司 | USB Type-C轉接模組及其啟動方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202105179A (zh) | 2021-02-01 |
US11144305B2 (en) | 2021-10-12 |
CN112241277A (zh) | 2021-01-19 |
US20210019140A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE46488E1 (en) | Direct data transfer between slave devices | |
JP5551193B2 (ja) | エンハンスドワイヤレスusbプロトコル及びハブ | |
KR101832797B1 (ko) | Usb 디바이스와의 mctp 통신을 수행하기 위한 방법, 장치 및 시스템 | |
US7895385B2 (en) | Establishing communication over serial buses in a slave device | |
TWI722514B (zh) | Ic韌體更新方法 | |
US8291146B2 (en) | System and method for accessing resources of a PCI express compliant device | |
JP2018523217A (ja) | ペリフェラルコンポーネントインターコネクトエクスプレス(pcie)システムにおけるトランザクション固有属性の伝達 | |
WO2018112942A1 (zh) | 设备认证方法、装置、电子设备及从设备 | |
US6779052B2 (en) | Electronic apparatus, system and method for controlling communication among devices coupled through different interfaces | |
JPWO2019031295A1 (ja) | カード装置、ホスト装置および通信方法 | |
JP2010039616A (ja) | デバイス、情報処理システム、情報処理方法 | |
US20150350014A1 (en) | Networking implementation using a converged high speed input/output fabric technology | |
US10521385B2 (en) | Inter-device digital audio | |
WO2016054898A1 (zh) | 数据传输方法及终端、计算机存储介质 | |
KR20160147373A (ko) | 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법 | |
US20160291987A1 (en) | Programmable cable and programming method thereof | |
CN110069422B (zh) | 基于mips多核处理器的内存缓冲区回收方法 | |
CN106713521B (zh) | 一种基于广播方式来查找i2c设备地址的方法 | |
JP6298534B2 (ja) | 経路制御装置及び経路制御方法並びにコンピュータシステム及びプログラム及びプログラムを格納した記憶媒体 | |
JP2004062347A (ja) | Usbデバイスおよびusbシステム | |
CN116756078B (zh) | pcie数据包的通知方法、装置及存储介质 | |
CN111045632B (zh) | 音频播放装置及其运行方法 | |
KR20100100136A (ko) | 엔드 포인트를 복수개로 분할 가능한 반도체 장치 | |
CN118819647A (zh) | 通用串行总线接口的驱动方法、装置、电子设备、存储介质及计算机程序产品 | |
CN117435534A (zh) | 基于外围总线的数据传输电路、方法及处理器 |