TWI714220B - 通用串列匯流排裝置及其韌體更新方法 - Google Patents

通用串列匯流排裝置及其韌體更新方法 Download PDF

Info

Publication number
TWI714220B
TWI714220B TW108129300A TW108129300A TWI714220B TW I714220 B TWI714220 B TW I714220B TW 108129300 A TW108129300 A TW 108129300A TW 108129300 A TW108129300 A TW 108129300A TW I714220 B TWI714220 B TW I714220B
Authority
TW
Taiwan
Prior art keywords
control unit
serial bus
micro
universal serial
interface
Prior art date
Application number
TW108129300A
Other languages
English (en)
Other versions
TW202109283A (zh
Inventor
簡志峰
林昀融
林建男
Original Assignee
致伸科技股份有限公司
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 致伸科技股份有限公司 filed Critical 致伸科技股份有限公司
Priority to TW108129300A priority Critical patent/TWI714220B/zh
Priority to US16/695,409 priority patent/US11334339B2/en
Application granted granted Critical
Publication of TWI714220B publication Critical patent/TWI714220B/zh
Publication of TW202109283A publication Critical patent/TW202109283A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本發明係提供一種通用串列匯流排裝置及其韌體更新方法,韌體更新方法包括:(A)建製一通訊協定;(B)設置通訊協定於通用串列匯流排裝置的至少一微控制單元;(C)依據通訊協定製作一應用程式,其中,應用程式用以被安裝至電子計算機,且應用程式內設置有至少一更新韌體資訊;(D)經由通訊協定將至少一更新韌體資訊由電子計算機傳輸至至少一微控制單元,以取代至少一微控制單元中的至少一原始韌體資訊。

Description

通用串列匯流排裝置及其韌體更新方法
本發明係涉及電子裝置的領域,尤其係關於一種通用串列匯流排裝置及其韌體更新方法。
由於通用串列匯流排(universal serial bus,USB)介面的發明與盛行,早期電子計算機上的傳統通訊介面,如COM port,已逐漸被淘汰。現今的電腦周邊裝置大都可經由通用串列匯流排介面與電子計算機相連接,以進行各種通訊與應用,例如,電腦周邊裝置的韌體更新作業。
請參閱圖1,其為習知電腦周邊裝置進行韌體更新作業的一種實施概念示意圖。電腦周邊裝置1A中包括用來對電子訊號進行運算處理以使電腦周邊裝置1A提供特定電子功能的微控制單元11A,且微控制單元11A中設有原始韌體資訊12A,並具 備可經由通用串列匯流排介面3而連接於電子計算機2的能力。當使用者欲對電腦周邊裝置1A進行韌體更新作業時,需先下載相應的驅動程式13至電子計算機2中並執行驅動程式13。於驅動程式13被執行後,驅動程式13會在電子計算機2以及電腦周邊裝置1A之間建立模擬UART介面並使電腦周邊裝置1A被電子計算機2視為COM port設備的溝通管道14;接著,儲存或下載至電子計算機2中的更新韌體資訊15A可經由上述已建立的溝通管道14而被傳輸至電腦周邊裝置1A,以進而取代電腦周邊裝置1A中原有的原始韌體資訊12A;最後,移除上述已建立的溝通管道14而完成韌體更新作業,其中,移除溝通管道14的步驟可透過人工進行,亦可經由驅動程式13自動完成。此外,上述僅為簡要說明,透過驅動程式13進行韌體更新的方式應為熟知本技藝人士所知悉,故不予以贅述。
另一方面,若是電腦周邊裝置中的微控制單元不具備可經由通用串列匯流排介面連接電子計算機的能力,則還需透過外接排線的方式來進行韌體更新。請參閱圖2,其為習知電腦周邊裝置進行韌體更新作業的另一種實施概念示意圖。圖2示意了電腦周邊裝置1C的微控制單元11C中設有原始韌體資訊12C,但不具備可經由通用串列匯流排介面3而連接於電子計算機2的能力,故其需透過轉接板1B來進行韌體跟更新作業;其中,轉接板1B可例如為圖1所示的電腦周邊裝置1A,而基於上述對圖1的說明,透過驅動程式13可使得更新韌體資訊15C經由暫時的溝通管道14從電子計算機2被傳輸至轉接板1B,而電腦周邊裝置1C則需再經由其它的排線4,如RS-232傳輸線,連接於轉接板1B,以 供更新韌體資訊15C從轉接板1B傳輸至電腦周邊裝置1C,進而取代電腦周邊裝置1C中原有的原始韌體資訊12C。
根據以上的說明可知,習知電腦周邊裝置進行韌體更新作業過於繁瑣而具有改善的空間。
本發明之一第一目的在提供一種令電子計算機與通用串列匯流排裝置之至少一微控制單元之間不需先透過驅動程式建立暫時之溝通管道即可直接進行韌體更新作業的韌體更新方法。
本發明之一第二目的在提供一種應用上述韌體更新方法的通用串列匯流排裝置。
於一較佳實施例中,本發明提供一種通用串列匯流排(universal serial bus,USB)裝置之韌體更新方法,應用於具有至少一微控制單元之一通用串列匯流排裝置,該通用串列匯流排裝置之韌體更新方法該包括:(P1)建製一通訊協定;(P2)設置該通訊協定於該至少一微控制單元;(P3)依據該通訊協定製作一應用程式;其中,該應用程式用以被安裝至一電子計算機,且該應用程式內設置有至少一更新韌體資訊;以及(P4)經由該通訊協定將該至少一更新韌體資訊從該電子計算機傳輸至該至少一微控制單元,以取代該至少一微控制單元中之 至少一原始韌體資訊。
於一較佳實施例中,本發明還提供一種通用串列匯流排(universal serial bus,USB)裝置,包括:一第一微控制單元,設有一第一原始韌體資訊;一第二微控制單元,設有一第二原始韌體資訊;一通用串列匯流排微控制單元(USB MCU),用以透過一通用串列匯流排介面連接於一電子計算機,並分別透過一第一連接介面以及一第二連接介面連接於該第一微控制單元以及該第二微控制單元;以及一應用程式,用以被安裝至該電子計算機,且該應用程式內設置有一第一更新韌體資訊以及一第二更新韌體資訊;其中,該應用程式與該通用串列匯流排微控制單元具有共同之一通訊協定,當該通用串列匯流排裝置進行韌體更新時,該應用程式利用該通訊協定直接將該第一更新韌體資訊傳輸至該通用串列匯流排微控制單元,該第一更新韌體資訊再經由該第一連接介面而被寫入該第一微控制單元以取代該第一原始韌體資訊;及/或該應用程式利用該通訊協定直接將該第二更新韌體資訊傳輸至該通用串列匯流排微控制單元,該第二更新韌體資訊再經由該第二連接介面而被寫入該第二微控制單元以取代該第二原始韌體資訊。
於一較佳實施例中,本發明還提供一種通用串列匯流排(universal serial bus,USB)裝置,包括:一通用串列匯流排微控制單元(USB MCU),用以透過一通用串列匯流排介面連接於一電子計算機,且該通用串列匯流排微控 制單元內設置有一原始韌體資訊;以及一應用程式,用以被安裝至該電子計算機,且該應用程式內設置有一更新韌體資訊;其中,該應用程式與該通用串列匯流排微控制單元具有共同之一通訊協定,當該通用串列匯流排裝置進行韌體更新時,該應用程式利用該通訊協定直接將該更新韌體資訊寫入該通用串列匯流排微控制單元以取代該原始韌體資訊。
1A‧‧‧電腦周邊裝置
1B‧‧‧轉接板
1C‧‧‧電腦周邊裝置
2‧‧‧電子計算機
3‧‧‧通用串列匯流排介面
4‧‧‧排線
5‧‧‧通用串列匯流排裝置
6‧‧‧電子計算機
8‧‧‧通用串列匯流排裝置
11A‧‧‧微控制單元
11C‧‧‧微控制單元
12A‧‧‧原始韌體資訊
12C‧‧‧原始韌體資訊
13‧‧‧驅動程式
14‧‧‧溝通管道
15A‧‧‧更新韌體資訊
15C‧‧‧更新韌體資訊
50‧‧‧通用串列匯流排微控制單元
51‧‧‧第一微控制單元
52‧‧‧第二微控制單元
53‧‧‧應用程式
54‧‧‧第一原始韌體資訊
55‧‧‧第二原始韌體資訊
56‧‧‧第一更新韌體資訊
57‧‧‧第二更新韌體資訊
58‧‧‧通訊協定
70‧‧‧通用串列匯流排介面
71‧‧‧第一連接介面
72‧‧‧第二連接介面
80‧‧‧通用串列匯流排微控制單元
81‧‧‧應用程式
82‧‧‧原始韌體資訊
83‧‧‧更新韌體資訊
84‧‧‧通訊協定
S11‧‧‧步驟
S12‧‧‧步驟
S13‧‧‧步驟
S14‧‧‧步驟
S21‧‧‧步驟
S22‧‧‧步驟
S23‧‧‧步驟
S24‧‧‧步驟
S1401‧‧‧步驟
S1402‧‧‧步驟
S1403‧‧‧步驟
S1404‧‧‧步驟
S1405‧‧‧步驟
S1406‧‧‧步驟
S1407‧‧‧步驟
S1408‧‧‧步驟
S1409‧‧‧步驟
S1410‧‧‧步驟
S1411‧‧‧步驟
S1412‧‧‧步驟
S1413‧‧‧步驟
S1414‧‧‧步驟
S2401‧‧‧步驟
S2402‧‧‧步驟
S2403‧‧‧步驟
S2404‧‧‧步驟
S2405‧‧‧步驟
S2406‧‧‧步驟
S2407‧‧‧步驟
圖1:係為習知電腦周邊裝置進行韌體更新作業的一種實施概念示意圖。。
圖2:係為習知電腦周邊裝置進行韌體更新作業的另一種實施概念示意圖。
圖3:係為本發明通用串列匯流排裝置於一第一較佳實施例之方塊概念示意圖。
圖4:係為本發明通用串列匯流排裝置之韌體更新方法的一較佳方塊流程圖。
圖5:係為圖4所示步驟S14的執行概念示意圖。
圖6:係為本發明通用串列匯流排裝置於一第二較佳實施例之方塊概念示意圖。
圖7:係為本發明通用串列匯流排裝置之韌體更新方法的另一較佳方塊流程圖。
圖8:係為圖7所示步驟S24的執行概念示意圖。
本發明之實施例將藉由下文配合相關圖式進一步加以解說。盡可能的,於圖式與說明書中,相同標號係代表相同或相似構件。於圖式中,基於簡化與方便標示,形狀與厚度可能經過誇大表示。可以理解的是,未特別顯示於圖式中或描述於說明書中之元件,為所屬技術領域中具有通常技術者所知之形態。本領域之通常技術者可依據本發明之內容而進行多種之改變與修改。
請參閱圖3,其為本發明通用串列匯流排裝置於一第一較佳實施例之方塊概念示意圖。通用串列匯流排(universal serial bus,USB)裝置5包括通用串列匯流排微控制單元(USB MCU)50、第一微控制單元51、第二微控制單元52以及應用程式53,且第一微控制單元51以及第二微控制單元52中分別設有第一原始韌體資訊54以及第二原始韌體資訊55,而通用串列匯流排微控制單元50可透過通用串列匯流排介面70連接於電子計算機6,並分別透過第一連接介面71以及第二連接介面72連接於第一微控制單元51以及第二微控制單元52。此外,應用程式53用以被安裝至電子計算機6,且應用程式53內設置有用來取代第一原始韌體資訊54的第一更新韌體資訊56以及用來取代第二原始韌體資訊55的第二更新韌體資訊57;其中,應用程式53與通用串列匯流排微控制單元50具有共同的通訊協定58。
較佳者,上述第一連接介面71可為一UART介面、一I2C介面、一SPI介面或一USB介面,而第二連接介面72亦可為一UART介面、一I2C介面、一SPI介面或一USB介面。而於一實施態樣中,通用串列匯流排裝置5係為一無線滑鼠裝置(圖未示)以及一無線鍵盤裝置(圖未示)所共的一無線接收模組,且當通用串列匯流排裝置5接收來自無線滑鼠裝置的訊號時,第一微控制單元51用以對來自無線滑鼠裝置的訊號進行訊號處理,而當通用串列匯流排裝置5接收來自無線鍵盤裝置的訊號時,第二微控制單元52用以對來自無線鍵盤裝置的訊號進行訊號處理。當然,上述僅為一實施態樣,第一連接介面71的形態、第二連接介面72的形態以及通用串列匯流排裝置5的形態皆不以上述為限,熟知本技藝人士皆可依據實際應用需求而進行任何均等的變更設計。
接下來說明本案通用串列匯流排裝置的韌體更新方法。請參閱圖4,其為本發明通用串列匯流排裝置之韌體更新方法的一較佳方塊流程圖。首先,執行步驟S11,建製一通訊協定58;接著,執行步驟S12,設置通訊協定58於通用串列匯流排微控制單元50,亦即,使通用串列匯流排微控制單元50能以步驟S11中所建製的通訊協定58進行通訊;再執行S13,依據通訊協定58製作一應用程式53,令安裝有應用程式53的電子計算機6能以步驟S11中所建製的通訊協定58進行通訊,其中,步驟S13中所製作的應用程式53內設置用來取代第一原始韌體資訊54的第一更新韌體資訊56以及用來取代第二原始韌體資訊55的第二更新韌體資訊57;最後,執行步驟S14,經由通訊協定58將第一更新韌體資訊56及/或第二更新韌體資訊57從電子計算機6傳輸至通用 串列匯流排微控制單元50,以取代第一微控制單元51中的第一原始韌體資訊54及/或第二微控制單元52中的第二原始韌體資訊55。特別說明的是,於執行圖4所示方法的整個過程中,通用串列匯流排裝置5始終被電子計算機6視為人機接口設備(human interface device,HID)。
以下進一步說明上述步驟S14的一種執行實施態樣。請同步參閱圖5,其為圖4所示步驟S14的執行概念示意圖。圖5示意了當使用者欲進行更新韌體作業而執行安裝於電子計算機6的應用程式53時,應用程式53會先確認第一微控制單元51是否需要進行韌體更新,如圖5所示步驟S1401,較佳者,確認動作可經由比對第一更新韌體資訊56與第一原始韌體資訊54是否相同來判斷,若判斷二者相異,則確認第一微控制單元51需進行韌體更新,此時,應用程式53會輸出一更新模式指令,如圖5所示步驟S1402,且該更新模式指令會經由圖4所示步驟S11中所建製的通訊協定58而直接傳輸至通用串列匯流排微控制單元50,藉以驅使通用串列匯流排微控制單元50以及第一微控制單元51皆進入裝置韌體更新模式(device firmware upgrade mode,DFU mode),如圖5所示步驟S1403。
接著,通用串列匯流排微控制單元50會清除第一微控制單元51中的第一原始韌體資訊54,如圖5所示步驟S1404,再將經由通訊協定58所傳輸而來的第一更新韌體資訊56寫入第一微控制單元51,如圖5所示步驟S1405,其中,第一更新韌體資訊56是經由第一連接介面71而從通用串列匯流排微控制單元50傳輸至第一微控制單元51。而當第一更新韌體資訊56寫入第 一微控制單元51後,應用程式53與通用串列匯流排微控制單元50以及第一微控制單元51中的至少一者會檢查寫入至第一微控制單元51的第一更新韌體資訊56是否相同於應用程式53中的第一更新韌體資訊56,如圖5所示步驟S1406,若檢查後確認二者相同,則重置(reset)通用串列匯流排微控制單元50以及第一微控制單元51,如圖5所示步驟S1407,而若檢查後確認二者相異,則重新執行步驟S1404~步驟S1406。
再者,當應用程式53於步驟S1401中判斷第一微控制單元51不需進行韌體更新後或當通用串列匯流排微控制單元50以及第一微控制單元51於步驟S1407中被重置(reset)後,應用程式53會確認第二微控制單元52是否需要進行韌體更新,如圖5所示步驟S1408,較佳者,確認動作可經由比對第二更新韌體資訊57與第二原始韌體資訊55是否相同來判斷,若判斷二者相異,則確認第二微控制單元52需進行韌體更新,此時,應用程式53會輸出一更新模式指令,如圖5所示步驟S1409,且該更新模式指令會經由圖4所示步驟S11中所建製的通訊協定58而直接傳輸至通用串列匯流排微控制單元50,藉以驅使通用串列匯流排微控制單元50以及第二微控制單元52皆進入裝置韌體更新模式,如圖5所示步驟S1410。
接著,通用串列匯流排微控制單元50會清除第二微控制單元52中的第二原始韌體資訊55,如圖5所示步驟S1411,再將經由通訊協定58所傳輸而來的第二更新韌體資訊57寫入第二微控制單元52,如圖5所示步驟S1412,其中,第二更新韌體資訊57是經由第二連接介面72而從通用串列匯流排微控制單元 50傳輸至第二微控制單元52。而當第二更新韌體資訊57寫入第二微控制單元52後,應用程式53與通用串列匯流排微控制單元50以及第二微控制單元52中的至少一者會檢查寫入至第二微控制單元52的第二更新韌體資訊57是否相同於應用程式53中的第二更新韌體資訊57,如圖5所示步驟S1413,若檢查後確認二者相同,則重置(reset)通用串列匯流排微控制單元50以及第二微控制單元52,如圖5所示步驟S1414,而若檢查後確認二者相異,則重新執行步驟S1411~步驟S1413。
請參閱圖6,其為本發明通用串列匯流排裝置於一第二較佳實施例之方塊概念示意圖。通用串列匯流排裝置8包括通用串列匯流排微控制單元80以及應用程式81,且通用串列匯流排微控制單元80中設有原始韌體資訊82,並可透過通用串列匯流排介面70連接於電子計算機9,而應用程式81用以被安裝至電子計算機9,且應用程式81內設置有用來取代原始韌體資訊82的更新韌體資訊83;其中,應用程式81與通用串列匯流排微控制單元80具有共同的通訊協定84。於一實施態樣中,通用串列匯流排裝置8為一無線滑鼠裝置(圖未示)的無線接收模組或一無線鍵盤裝置(圖未示)的無線接收模組,但不以上述為限。
請參閱圖7,其為本發明通用串列匯流排裝置之韌體更新方法的另一較佳方塊流程圖。首先,執行步驟S21,建製一通訊協定84;接著,執行步驟S22,設置通訊協定84於通用串列匯流排微控制單元80,亦即,使通用串列匯流排微控制單元80能以步驟S21中所建製的通訊協定84進行通訊;再執行S23,依據通訊協定84製作一應用程式81,令安裝有應用程式81的電子計算 機9能以步驟S21中所建製的通訊協定84進行通訊,其中,步驟S23中所製作的應用程式81內設置用來取代原始韌體資訊82的更新韌體資訊83;最後,執行步驟S24,經由通訊協定84將更新韌體資訊83從電子計算機9傳輸至通用串列匯流排微控制單元80,以取代通用串列匯流排微控制單元80中的原始韌體資訊82。特別說明的是,於執行圖7所示方法的整個過程中,通用串列匯流排裝置8始終被電子計算機9視為人機接口設備(human interface device,HID)。
以下進一步說明上述步驟S24的一種執行實施態樣。請同步參閱圖8,其為圖7所示步驟S24的執行概念示意圖。圖8示意了當使用者欲進行更新韌體作業而執行安裝於電子計算機9的應用程式81時,應用程式81會先確認通用串列匯流排微控制單元80是否需要進行韌體更新,如圖8所示步驟S2401,較佳者,確認動作可經由比對更新韌體資訊83與原始韌體資訊82是否相同來判斷,若判斷二者相異,則確認通用串列匯流排微控制單元80需進行韌體更新,此時,應用程式81會輸出一更新模式指令,如圖8所示步驟S2402,且該更新模式指令會經由圖7所示步驟S21中所建製的通訊協定84而直接傳輸至通用串列匯流排微控制單元80,藉以驅使通用串列匯流排微控制單元80進入裝置韌體更新模式(device firmware upgrade mode,DFU mode),如圖8所示步驟S2403。
接著,通用串列匯流排微控制單元80會清除其中的原始韌體資訊82,如圖8所示步驟S2404,再將經由通訊協定84所傳輸而來的更新韌體資訊83寫入其中,如圖8所示步驟S2405。 而當更新韌體資訊83寫入通用串列匯流排微控制單元80後,應用程式81與通用串列匯流排微控制單元80中的至少一者會檢查寫入至通用串列匯流排微控制單元80的更新韌體資訊83是否相同於應用程式81中的更新韌體資訊83,如圖8所示步驟S2406,若檢查後確認二者相同,則重置(reset)通用串列匯流排微控制單元80,如圖8所示步驟S2407,而若檢查後確認二者相異,則重新執行步驟S2404~步驟S2406。
根據以上的說明可知,本案發明具有下列優勢:第一、由於本案通用串列匯流排裝置的通用串列匯流排微控制單元以及應用程式彼此之間具有自定義的通訊協定,因此電子計算機與通用串列匯流排微控制單元之間不需再透過驅動程式建立暫時的溝通管道,即能使欲更新的韌體資訊直接地由電子計算機傳輸至通用串列匯流排微控制單元,省去先前技術中所述的繁瑣流程;第二,由於本案通用串列匯流排裝置的通用串列匯流排微控制單元以及其它多個微控制單元之間是以自定義的連接介面相連接,故欲更新的韌體資訊可直接地由通用串列匯流排微控制單元傳輸至相應的微控制單元以取代原有的韌體資訊,省去先前技術中還需外接其它排線的動作;第三,由於本案通用串列匯流排裝置於進行韌體更新的整個過程中始終被電子計算機視為人機接口設備,相較於先前技術中被電子計算機視為COM port設備的電腦周邊裝置,本案通用串列匯流排微控制單元與電子計算機之間具有超過一百倍以上的韌體資訊傳輸速度。
以上所述僅為本發明之較佳實施例,並非用以限定本發明之申請專利範圍,因此凡其它未脫離本發明所揭示之精神 下所完成之等效改變或修飾,均應包含於本案之申請專利範圍內。
5‧‧‧通用串列匯流排裝置
6‧‧‧電子計算機
50‧‧‧通用串列匯流排微控制單元
51‧‧‧第一微控制單元
52‧‧‧第二微控制單元
53‧‧‧應用程式
54‧‧‧第一原始韌體資訊
55‧‧‧第二原始韌體資訊
56‧‧‧第一更新韌體資訊
57‧‧‧第二更新韌體資訊
58‧‧‧通訊協定
70‧‧‧通用串列匯流排介面
71‧‧‧第一連接介面
72‧‧‧第二連接介面

Claims (16)

  1. 一種通用串列匯流排(universal serial bus,USB)裝置之韌體更新方法,應用於具有至少一微控制單元之一通用串列匯流排裝置,該通用串列匯流排裝置之韌體更新方法該包括:(P1)建製一通訊協定;(P2)設置該通訊協定於該至少一微控制單元;(P3)依據該通訊協定製作一應用程式;其中,該應用程式用以被安裝至一電子計算機,且該應用程式內設置有至少一更新韌體資訊;以及(P4)經由該通訊協定將該至少一更新韌體資訊從該電子計算機傳輸至該至少一微控制單元,以取代該至少一微控制單元中之至少一原始韌體資訊。
  2. 如申請專利範圍第1項所述之通用串列匯流排裝置之韌體更新方法,其中該至少一微控制單元包括一第一微控制單元、一第二微控制單元以及一通用串列匯流排微控制單元,且該通用串列匯流排微控制單元透過一通用串列匯流排介面連接於該電子計算機;其中,該通用串列匯流排裝置之韌體更新方法還包括:透過一第一連接介面連接該第一微控制單元與該通用串列匯流排微控制單元,並透過一第二連接介面連接該第二微控制單元與該通用串列匯流排微控制單元。
  3. 如申請專利範圍第2項所述之通用串列匯流排裝置,其中該第 一連接介面係為一UART介面、一I2C介面、一SPI介面或一USB介面。
  4. 如申請專利範圍第2項所述之通用串列匯流排裝置,其中該第二連接介面係為一UART介面、一I2C介面、一SPI介面或一USB介面。
  5. 如申請專利範圍第2項所述之通用串列匯流排裝置之韌體更新方法,其中該至少一更新韌體資訊包括一第一更新韌體資訊以及一第二更新韌體資訊,且該至少一原始韌體資訊包括一第一原始韌體資訊以及一第二原始韌體資訊,而該步驟(P4)包括:(P41)於將該第一更新韌體資訊傳輸至該通用串列匯流排微控制單元後,經由該第一連接介面將該第一更新韌體資訊寫入該第一微控制單元以取代該第一原始韌體資訊;及/或(P42)於將該第二更新韌體資訊傳輸至該通用串列匯流排微控制單元後,經由該第二連接介面將該第二更新韌體資訊寫入該第二微控制單元以取代該第二原始韌體資訊。
  6. 如申請專利範圍第5項所述之通用串列匯流排裝置之韌體更新方法,其中於執行該步驟(P4)還包括:確認該第一微控制單元是否需要進行韌體更新,若是,執行步驟(P41),若否,確認該第二微控制單元是否需要進行韌體更新;其中,若確認該第二微控制單元需要進行韌體更新,執行步驟(P42)。
  7. 如申請專利範圍第5項所述之通用串列匯流排裝置之韌體更新方法,其中於執行該步驟(P41)之後還包括:確認該第二微控制單元是否需要進行韌體更新;其中,若是,執行步驟(P42)。
  8. 如申請專利範圍第1項所述之通用串列匯流排裝置之韌體更新方法,其中該步驟(P4)包括:驅使該至少一微控制單元進入一裝置韌體更新模式(device firmware upgrade mode,DFU mode);清除該至少一微控制單元中之該至少一原始韌體資訊;以及寫入該至少一更新韌體資訊至該至少一微控制單元中。
  9. 如申請專利範圍第8所述之通用串列匯流排裝置之韌體更新方法,其中該步驟(P4)還包括:檢查寫入至該至少一微控制單元中之該至少一更新韌體資訊是否相同於該應用程式中之該至少一更新韌體資訊。
  10. 如申請專利範圍第8所述之通用串列匯流排裝置之韌體更新方法,其中該通用串列匯流排裝置係為一人機接口設備(human interface device,HID),並透過一通用串列匯流排介面連接於該電子計算機。
  11. 一種通用串列匯流排(universal serial bus,USB)裝置,包括: 一第一微控制單元,設有一第一原始韌體資訊;一第二微控制單元,設有一第二原始韌體資訊;一通用串列匯流排微控制單元(USB MCU),用以透過一通用串列匯流排介面連接於一電子計算機,並分別透過一第一連接介面以及一第二連接介面連接於該第一微控制單元以及該第二微控制單元;以及一應用程式,用以被安裝至該電子計算機,且該應用程式內設置有一第一更新韌體資訊以及一第二更新韌體資訊;其中,該應用程式與該通用串列匯流排微控制單元具有共同之一通訊協定,當該通用串列匯流排裝置進行韌體更新時,該應用程式利用該通訊協定直接將該第一更新韌體資訊傳輸至該通用串列匯流排微控制單元,該第一更新韌體資訊再經由該第一連接介面而被寫入該第一微控制單元以取代該第一原始韌體資訊;及/或該應用程式利用該通訊協定直接將該第二更新韌體資訊傳輸至該通用串列匯流排微控制單元,該第二更新韌體資訊再經由該第二連接介面而被寫入該第二微控制單元以取代該第二原始韌體資訊。
  12. 如申請專利範圍第11項所述之通用串列匯流排裝置,係為一人機接口設備(human interface device,HID)。
  13. 如申請專利範圍第11項所述之通用串列匯流排裝置,其中該第一連接介面係為一UART介面、一I2C介面、一SPI介面或一USB介面。
  14. 如申請專利範圍第11項所述之通用串列匯流排裝置,其中該第二連接介面係為一UART介面、一I2C介面、一SPI介面或一USB介面。
  15. 一種通用串列匯流排(universal serial bus,USB)裝置,包括:一通用串列匯流排微控制單元(USB MCU),用以透過一通用串列匯流排介面連接於一電子計算機,且該通用串列匯流排微控制單元內設置有一原始韌體資訊;以及一應用程式,用以被安裝至該電子計算機,且該應用程式內設置有一更新韌體資訊;其中,該應用程式與該通用串列匯流排微控制單元具有共同之一通訊協定,當該通用串列匯流排裝置進行韌體更新時,該應用程式利用該通訊協定直接將該更新韌體資訊寫入該通用串列匯流排微控制單元以取代該原始韌體資訊。
  16. 如申請專利範圍第15項所述之通用串列匯流排裝置,係為一人機接口設備(human interface device,HID)。
TW108129300A 2019-08-16 2019-08-16 通用串列匯流排裝置及其韌體更新方法 TWI714220B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW108129300A TWI714220B (zh) 2019-08-16 2019-08-16 通用串列匯流排裝置及其韌體更新方法
US16/695,409 US11334339B2 (en) 2019-08-16 2019-11-26 USB device and firmware updating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108129300A TWI714220B (zh) 2019-08-16 2019-08-16 通用串列匯流排裝置及其韌體更新方法

Publications (2)

Publication Number Publication Date
TWI714220B true TWI714220B (zh) 2020-12-21
TW202109283A TW202109283A (zh) 2021-03-01

Family

ID=74567824

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108129300A TWI714220B (zh) 2019-08-16 2019-08-16 通用串列匯流排裝置及其韌體更新方法

Country Status (2)

Country Link
US (1) US11334339B2 (zh)
TW (1) TWI714220B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7572298B2 (ja) * 2021-04-27 2024-10-23 株式会社日立産機システム 通信装置、およびファームウェア更新システム
CN117075933A (zh) * 2023-06-13 2023-11-17 环荣电子(惠州)有限公司 一种通过浏览器更新固件的方法、装置及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540497A (zh) * 2003-04-21 2004-10-27 矽成积体电路股份有限公司 Usb装置韧体程式可更新的方法
TW200825919A (en) * 2006-12-13 2008-06-16 Fulhua Microelectronics Corp Method and system for updating firmware of a microcontroller
CN101281476A (zh) * 2008-05-14 2008-10-08 北京泰得思达科技发展有限公司 一种并行烧录的方法
TW200923781A (en) * 2007-11-29 2009-06-01 Qisda Corp Firmware updating system for updating firmware of a display device and method thereof
TW200943173A (en) * 2008-04-01 2009-10-16 Mstar Semiconductor Inc Display control device with automatic firmware update and update method thereof
TW201031244A (en) * 2009-02-13 2010-08-16 Ralink Technology Corp Wireless access apparatus with firmware upgrading function and the method thereof
TW201216155A (en) * 2010-10-06 2012-04-16 Mitac Int Corp Embedded system and program updating method of the same
TW201218079A (en) * 2010-09-22 2012-05-01 Intel Corp Platform firmware armoring technology
TW201220192A (en) * 2010-11-08 2012-05-16 Delta Electronics Thailand Public Co Ltd Firmware update method and system for micro-controller unit in power supply unit
TW201403478A (zh) * 2012-07-05 2014-01-16 Wistron Neweb Corp 嵌入式系統之韌體更新方法及設備

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7185135B1 (en) * 2002-07-12 2007-02-27 Cypress Semiconductor Corporation USB to PCI bridge
US8473666B2 (en) * 2011-06-27 2013-06-25 Schneider Electric It Corporation Systems and methods for driverless operation of USB device
US10776102B1 (en) * 2019-05-10 2020-09-15 Microsoft Technology Licensing, Llc Securing firmware installation on USB input device

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540497A (zh) * 2003-04-21 2004-10-27 矽成积体电路股份有限公司 Usb装置韧体程式可更新的方法
TW200825919A (en) * 2006-12-13 2008-06-16 Fulhua Microelectronics Corp Method and system for updating firmware of a microcontroller
TW200923781A (en) * 2007-11-29 2009-06-01 Qisda Corp Firmware updating system for updating firmware of a display device and method thereof
TW200943173A (en) * 2008-04-01 2009-10-16 Mstar Semiconductor Inc Display control device with automatic firmware update and update method thereof
CN101281476A (zh) * 2008-05-14 2008-10-08 北京泰得思达科技发展有限公司 一种并行烧录的方法
TW201031244A (en) * 2009-02-13 2010-08-16 Ralink Technology Corp Wireless access apparatus with firmware upgrading function and the method thereof
TW201218079A (en) * 2010-09-22 2012-05-01 Intel Corp Platform firmware armoring technology
TW201216155A (en) * 2010-10-06 2012-04-16 Mitac Int Corp Embedded system and program updating method of the same
TW201220192A (en) * 2010-11-08 2012-05-16 Delta Electronics Thailand Public Co Ltd Firmware update method and system for micro-controller unit in power supply unit
TW201403478A (zh) * 2012-07-05 2014-01-16 Wistron Neweb Corp 嵌入式系統之韌體更新方法及設備

Also Published As

Publication number Publication date
US20210049000A1 (en) 2021-02-18
US11334339B2 (en) 2022-05-17
TW202109283A (zh) 2021-03-01

Similar Documents

Publication Publication Date Title
US8214571B2 (en) Simple serial interface—method of communication and information exchange, and electronic devices based on this method
TWI416330B (zh) 遠端控制裝置及客戶端遠端控制伺服器的方法
EP3276481B1 (en) Nvme networked storage implementation method, terminal, server, and system
TWI714220B (zh) 通用串列匯流排裝置及其韌體更新方法
EP4488841B1 (en) Server and server management system therefor
JPH11203230A (ja) デバイスの制御方法および制御装置
CN204759403U (zh) 一种基于数据透传实现设备内部模块升级的系统
EP3570123A1 (en) Electronic tool and method for copying a plurality of settings from a mechanical tool to another mechanical tool
CN112276943A (zh) 机器人示教控制方法、示教控制系统、计算机设备和介质
CN109725621B (zh) 一种基于1553b总线和can总线的二级总线程序在线烧写方法
JP5160844B2 (ja) Hidデバイスの通信速度を高める方法
CN107368219B (zh) 触摸响应方法、芯片及智能设备
CN102736936B (zh) 一种控制台程序远程交互的方法
CN102122238B (zh) 计算机管理系统与方法
CN109189705B (zh) 一种usb扩展方法、装置、设备、存储介质及系统
TWI545438B (zh) 電腦管理系統與方法
CN105512063A (zh) 一种数据传输的方法和系统
TW594474B (en) Upgrade method of BIOS in notebook computer
CN112395225A (zh) 通用串行总线装置及其固件更新方法
WO2022110125A1 (zh) 数据传输到hmi的方法以及usb hid设备
CN111669301A (zh) 面向嵌入式设备测试的辅助通信装置
KR102224914B1 (ko) 컴퓨터 자동 조립 시스템
CN110532010A (zh) 一种带usb的量产器升级固态硬盘的方法
TWI706258B (zh) 計算裝置
CN102955561B (zh) 基于嵌入式处理器的模拟ps/2接口实现系统及实现方法