本發(fā)明涉及固件更新,以及更具體地涉及使用單個光端口通信來更新固件的方法以及能夠更新固件的微控制器,該方法可使用單個光端口通信通過光生電動勢來容易地更新微控制器(MCU)的固件,所述光生電動勢借助于發(fā)送器輻射的光通過傳輸功能在發(fā)光二極管(LED)中生成。
背景技術:
:目前,總體而言,使用多種無線通信方法以控制設置在家、辦公室、工廠等中的諸多電子器件和裝置。使用多種微控制器(MCU)以有效地控制這些器件和裝置。為了更新MCU的固件,需要通過多種通信類型中的一種來下載用于更新的新版本固件,并且替換MCU的只讀存儲器(ROM)碼。在普通的射頻(RF)通信的情況下,由于頻率資源不足所以必須獲得許可。相反,光通信基本上可立即使用而不用獲得使用頻率資源的許可或者不會與其他使用發(fā)生干擾。此外,光通信使用光作為通信介質(zhì)。相應地,由于不生成次級電磁波,因此光通信對人類無害,光通信可用于因錯誤操作或故障而發(fā)生嚴重問題的飛機、醫(yī)院等中,光通信可容易地使光輸入信號與其他信號的干擾最小化,以及當采用諸如LED的發(fā)可見光的元件時光通信可用于通信和發(fā)光的組合使用。10-05524164號韓國專利公開了使用光通信來升級遠程控制器的常規(guī)方法。用于升級遠程控制器的裝置包括服務提供器、用戶終端和遠程控制器,服務提供器配置成提供遠程控制器升級信息;用戶終端配置成通過預定網(wǎng)絡連接至服務提供器、請求遠程控制器升級信息、在顯示設備上以亮度控制塊的形式顯示所請求的遠程控制器升級信息、以及提供所請求的遠程控制器升級信息;遠程控制器配置成檢測顯示設備上顯示的亮度控制塊以及接收遠程控制器升級信息。因此,遠程控制器中包括至少兩個光傳感器,從連接至因特網(wǎng)的顯示設備可容易地接收最近使用的遠程控制器升級信息。然而,在使用光通信的傳統(tǒng)通信方法中,光發(fā)射單元(傳輸電路)和接收電路必須被單獨地提供,光發(fā)射單元配置成傳輸信號。由于傳輸電路和接收器電路必須被單獨地配置,因此需要光傳輸元件和光輸入檢測傳感器或光輸入檢測元件(例如,光電二極管、端口晶體管、硫化鎘(CDS)傳感器等)。結果是,增加了裝置制造成本,這是因為用于實施相應電路所需的組件數(shù)量龐大且實施還復雜,并且還增加了芯片制造成本,這是因為用于實施相應操作所需的端口數(shù)量至少為兩個。因此,需要這樣的技術,其無需單獨配置傳輸電路和接收器電路并且能夠使用單個端口來更新MCU的固件。技術實現(xiàn)要素:[技術問題]因此,提出本發(fā)明以解決現(xiàn)有技術中存在的上述問題,且本發(fā)明的目的是提供使用單個光端口通信來更新固件的方法以及能夠更新固件的微控制器,該方法能夠僅使用單個光通信端口來執(zhí)行傳輸和接收功能并且能夠通過單個光通信端口來更新MCU的固件。本發(fā)明另一目的是提供使用單個光端口通信來更新固件的方法以及能夠更新固件的微控制器,由于使用單個光通信端口所以該方法能夠在不切換電路的情況下更新固件,從而降低MCU的單位成本。[解決問題的方法]根據(jù)本發(fā)明的一方面,提供了使用單個光端口通信來更新固件的方法,包括:在單個光端口接收到由發(fā)送器傳輸?shù)墓碳聠哟a時檢測電池的電壓,單個光端口既能傳輸數(shù)據(jù)又能接收數(shù)據(jù);如果所檢測的電池的電壓等于或高于預定參考電壓,則通過單個光端口向發(fā)送器傳輸固件相關信息;接收由發(fā)送器所傳輸?shù)呐c更新模式相對應的更新數(shù)據(jù)并且將所接收的更新數(shù)據(jù)存儲在預定存儲區(qū)域中,該更新模式根據(jù)固件相關信息來確定;如果所存儲的更新數(shù)據(jù)是第一模式中的更新數(shù)據(jù),則存儲與先前版本固件有關的回退信息并且使用更新數(shù)據(jù)來執(zhí)行到新版本固件的更新,在該第一模式中固件可被還原;以及如果所存儲的更新數(shù)據(jù)是第二模式中的更新數(shù)據(jù),則使用更新數(shù)據(jù)來更新先前版本固件的預定數(shù)據(jù),在該第二模式中先前版本固件的預定數(shù)據(jù)被更新。更新數(shù)據(jù)可包括更新模式信息、總的包大小和有效校驗碼;以及存儲可包括:通過有效校驗碼校驗更新數(shù)據(jù)的有效性;以及如果更新數(shù)據(jù)有效則將更新數(shù)據(jù)存儲在預定存儲區(qū)域中。該方法還可包括:當在校驗有效性期間出現(xiàn)錯誤或者更新數(shù)據(jù)無效時,增加錯誤數(shù)據(jù)的數(shù)量;以及如果增加的錯誤數(shù)據(jù)的數(shù)量等于或小于預定指定的錯誤數(shù)量,則向發(fā)送器傳輸包錯誤和請求重傳更新數(shù)據(jù)的重傳請求碼。固件相關信息可包括先前版本固件的版本信息和在其中可存儲數(shù)據(jù)的空區(qū)域的大??;以及更新模式可由先前版本固件的版本信息和空區(qū)域的大小來確定。在單個光端口已切換到接收模式之后,當發(fā)送器向連接至單個光端口的LED輻射與固件更新啟動碼和更新數(shù)據(jù)相對應的光時,可依照通過輻射光在發(fā)光二極管(LED)中生成的光生電動勢的電壓來接收固件更新啟動碼和更新數(shù)據(jù)??梢勒蛰d波式和閃爍式中的一個來接收固件更新啟動碼和更新數(shù)據(jù),載波式使用輸入至預定載波的高區(qū)與低區(qū)之間的時間比,閃爍式使用多個時間之間的區(qū)之間的時間比,在所述的多個時間處連接至單個光端口的發(fā)光二極管(LED)接收由發(fā)送器輻射的光。根據(jù)本發(fā)明另一方面,提供了能夠使用單個光端口通信來更新固件的微控制器(MCU),包括:電池電壓檢測電路,配置成在通過單個光端口接收到由發(fā)送器傳輸?shù)墓碳聠哟a時檢測電池的電壓,單個光端口既能夠傳輸數(shù)據(jù)又能夠接收數(shù)據(jù);信息傳輸電路,配置成如果所檢測的電池的電壓等于或高于預定參考電壓,則通過單個光端口向發(fā)送器傳輸固件相關信息;存儲單元,配置成接收由發(fā)送器所傳輸?shù)呐c更新模式相對應的更新數(shù)據(jù)并且將所接收的更新數(shù)據(jù)存儲在預定存儲區(qū)域中,更新模式根據(jù)固件相關信息來確定;以及固件更新控制電路,配置成如果所存儲的更新數(shù)據(jù)是第一模式中的更新數(shù)據(jù),則存儲與先前版本固件有關的回退信息并且使用更新數(shù)據(jù)執(zhí)行到新版本固件的更新,在第一模式中固件可被還原,以及如果所存儲的更新數(shù)據(jù)是第二模式中的更新數(shù)據(jù),則使用更新數(shù)據(jù)來更新先前版本固件的預定數(shù)據(jù),在第二模式中先前版本固件的預定數(shù)據(jù)被更新。[有益效果]根據(jù)本發(fā)明,可使用單個光通信端口來執(zhí)行傳輸和接收功能,并且可使用單個光通信端口來更新MCU的固件,從而在不改變電路的情況下更新固件并且還降低裝置的單位成本。普通紅外線數(shù)據(jù)技術(IrDA)通信和使用LED的可見光通信(VLC)需要用于進行接收和傳輸?shù)膫鬏敹丝诤徒邮斩丝?,并且還需要相應的實施所需的附加電路和傳感器的電路結構。相反,本發(fā)明使用單個光通信端口。因此,本發(fā)明的該實施方式使用最小化的電路和數(shù)量最少的端口,由此確保MCU的成本競爭力,這多虧了最小化的電路和數(shù)量最少的端口;并且,本發(fā)明的該實施方式使用外部顯示器的LED來執(zhí)行通信以更新固件,從而使附加機構的結構或?qū)ν庥^的影響最小化,并因此提高空間利用率和設計效率。此外,本發(fā)明使用單個光通信端口來更新固件,因此無需拆卸和組裝便宜的機構以更新固件,從而避免了在拆卸/組裝期間可能發(fā)生的對產(chǎn)品的損壞,其中,該機構沒有使用諸如螺母和螺釘?shù)母郊泳o固件部分。附圖說明圖1A和圖1B是示出LED中的光生電動勢的示例性示圖;圖2是示出使用單個光通信端口的MCU外部電路的結構的示例的示圖;圖3是示出根據(jù)本發(fā)明實施方式的使用單個光通信端口的電路的結構的示圖;圖4A和圖4B是示出根據(jù)本發(fā)明實施方式的MCU數(shù)據(jù)接收模式中的操作的操作流程圖;圖5示出數(shù)據(jù)接收模式中單個光通信端口的數(shù)字示波器波形的示例;圖6示出數(shù)據(jù)接收信號的示例的波形;圖7示出載波式和閃爍式傳輸波形的示例;圖8是示出光通信方法中載波式的益處的示例性示圖;圖9A、圖9B和圖9C是示出根據(jù)本發(fā)明實施方式的使用單個光通信端口的固件更新方法的操作流程圖;圖10示出固件更新模式的示例;以及圖11示出根據(jù)本發(fā)明實施方式的能夠使用單個光通信端口來更新固件的微控制器的結構。[最佳實踐實施方式]根據(jù)本發(fā)明的一方面,提供了使用單個光端口通信來更新固件的方法,包括:在單個光端口接收到由發(fā)送器傳輸?shù)墓碳聠哟a時檢測電池的電壓,單個光端口既能傳輸數(shù)據(jù)又能接收數(shù)據(jù);如果所檢測的電池的電壓等于或高于預定參考電壓,則通過單個光端口向發(fā)送器傳輸固件相關信息;接收由發(fā)送器所傳輸?shù)呐c更新模式相對應的更新數(shù)據(jù)并且將所接收的更新數(shù)據(jù)存儲在預定存儲區(qū)域中,該更新模式根據(jù)固件相關信息來確定;如果所存儲的更新數(shù)據(jù)是第一模式中的更新數(shù)據(jù),則存儲與先前版本固件有關的回退信息并且使用更新數(shù)據(jù)來執(zhí)行到新版本固件的更新,在該第一模式中固件可被還原;以及如果所存儲的更新數(shù)據(jù)是第二模式中的更新數(shù)據(jù),則使用更新數(shù)據(jù)來更新先前版本固件的預定數(shù)據(jù),在該第二模式中先前版本固件的預定數(shù)據(jù)被更新。更新數(shù)據(jù)可包括更新模式信息、總的包大小和有效校驗碼;以及存儲可包括:通過有效校驗碼校驗更新數(shù)據(jù)的有效性;以及如果更新數(shù)據(jù)有效則將更新數(shù)據(jù)存儲在預定存儲區(qū)域中。該方法還可包括:當在校驗有效性期間出現(xiàn)錯誤或者更新數(shù)據(jù)無效時,增加錯誤數(shù)據(jù)的數(shù)量;以及如果增加的錯誤數(shù)據(jù)的數(shù)量等于或小于預定指定的錯誤數(shù)量,則向發(fā)送器傳輸包錯誤和請求重傳更新數(shù)據(jù)的重傳請求碼。固件相關信息可包括先前版本固件的版本信息和在其中可存儲數(shù)據(jù)的空區(qū)域的大??;以及更新模式可由先前版本固件的版本信息和空區(qū)域的大小來確定。在單個光端口已切換到接收模式之后,當發(fā)送器向連接至單個光端口的LED輻射與固件更新啟動碼和更新數(shù)據(jù)相對應的光時,可依照通過輻射光在發(fā)光二極管(LED)中生成的光生電動勢的電壓來接收固件更新啟動碼和更新數(shù)據(jù)??梢勒蛰d波式和閃爍式中的一個來接收固件更新啟動碼和更新數(shù)據(jù),載波式使用輸入至預定載波的高區(qū)與低區(qū)之間的時間比,閃爍式使用多個時間之間的區(qū)之間的時間比,在所述的多個時間處連接至單個光端口的發(fā)光二極管(LED)接收由發(fā)送器輻射的光。根據(jù)本發(fā)明另一方面,提供了能夠使用單個光端口通信來更新固件的微控制器(MCU),包括:電池電壓檢測電路,配置成在通過單個光端口接收到由發(fā)送器傳輸?shù)墓碳聠哟a時檢測電池的電壓,單個光端口既能夠傳輸數(shù)據(jù)又能夠接收數(shù)據(jù);信息傳輸電路,配置成如果所檢測的電池的電壓等于或高于預定參考電壓,則通過單個光端口向發(fā)送器傳輸固件相關信息;存儲單元,配置成接收由發(fā)送器所傳輸?shù)呐c更新模式相對應的更新數(shù)據(jù)并且將所接收的更新數(shù)據(jù)存儲在預定存儲區(qū)域中,更新模式根據(jù)固件相關信息來確定;以及固件更新控制電路,配置成如果所存儲的更新數(shù)據(jù)是第一模式中的更新數(shù)據(jù),則存儲與先前版本固件有關的回退信息并且使用更新數(shù)據(jù)執(zhí)行到新版本固件的更新,在第一模式中固件可被還原,以及如果所存儲的更新數(shù)據(jù)是第二模式中的更新數(shù)據(jù),則使用更新數(shù)據(jù)來更新先前版本固件的預定數(shù)據(jù),在第二模式中先前版本固件的預定數(shù)據(jù)被更新。具體實施方式將參照附圖詳細描述本發(fā)明的實施方式。在本發(fā)明的以下說明書中,將省略對可能不必要地使本發(fā)明主旨模糊的相關已知組件或功能的詳細描述。然而,本發(fā)明不限于這些實施方式。在全部附圖中,相同的組件分配有相同的附圖標記。下面參照圖1A至圖11詳細描述根據(jù)本發(fā)明實施方式的使用單個光端口通信來更新固件的方法以及能夠更新固件的微控制器。在MCU中通過金線接合至端口的襯墊受接合裝置精度的影響。如果襯墊的尺寸減小到等于或小于預定尺寸的尺寸,則在接合操作期間缺陷的發(fā)生率增大并且制造成本也增大。因此,對于每個過程,優(yōu)選地是等于或大于預定尺寸的尺寸,并且該尺寸是高度影響芯片尺寸的因素。因此,就MCU而言,對于相同的功能,當端口數(shù)量少時成本競爭力可得以增加。本發(fā)明使用單個光通信端口來執(zhí)行對外部顯示器的控制和固件的更新,并且不需要用于固件的更新的附加端口,從而能夠在不需要附加電路或不切換電路的情況下更新固件,由此降低MCU裝置的單位成本。圖1A和圖1B是示出LED中的光生電動勢的示例性示圖。如圖1A和圖1B所示,當高強度光入射到P-N結半導體的結合部分上時,半導體內(nèi)生成的電子和空穴由于接觸電勢差而分離,并因此生成光生電動勢,其中在兩種材料中出現(xiàn)不同類型的電。通常,便宜的電子裝置采用發(fā)光二極管(LED)來向用戶或外界通知電流狀態(tài)。這些LED具有PN結半導體結構。因此,根據(jù)本發(fā)明,提供對固件進行更新所需要的數(shù)據(jù)的發(fā)送器將光輻射至用于對外部顯示器進行控制的LED上,從而使用少量的由LED生成的電流或光生電動勢來更新MCU的固件。圖2是示出使用單個光通信端口的MCU的外部電路的結構的示例的示圖,以及圖3是示出根據(jù)本發(fā)明實施方式的使用單個光通信端口的電路的結構的示圖。參照圖2和圖3,MCU的外部電路可包括被配置成向MCU施加電壓VDD的電池和電力電容器、被配置成執(zhí)行單個光端口通信的LED以及設置在LED與VDD端口之間的限流電阻器。明顯地是,必要時可以不提供限流電阻器。本發(fā)明的數(shù)據(jù)通信使用半雙工通信,該半雙工通信一次在一個方向上傳輸數(shù)據(jù),這是因為使用單個光通信端口。圖3中所示的N-TR是晶體管,當在顯示模式中使用LED時或者當傳輸數(shù)據(jù)時該晶體管用于打開LED。下面參考圖3描述數(shù)據(jù)接收模式中的操作。在數(shù)據(jù)接收模式中,“l(fā)ow(低)”切換控制信號施加到N-TR使能端口,N-TR進入截止狀態(tài),并且計時器、計數(shù)器和RAM緩沖器被初始化以確定通過LED所接收的信號??墒褂脙?nèi)部的電壓檢測指示器(VDI;未示出)來測量施加到MCU的VDD電壓,并且可將比較器的參考電壓設定成對先前約定的通信波形的載波頻率以及對當前電壓是最優(yōu)的。由光生電動勢生成的電壓極大地受當前VDD、載波頻率以及輻射到連接至MCU的單個光通信端口的LED上的光量的影響。即使在輻射特定量的光或更大量的光時,LED中生成的光生電動勢由于其限制而不會增加至特定水平以上。此外,當頻率高時,根據(jù)LED的光生電動勢切換特性和阻抗分量,迅速達到飽和。如圖5所示,即使在載波的OFF區(qū)中,也顯示出以下特性:載波的ON信號在上升到參考電壓之前被輸入并且電壓降低。因此,必須適當設定數(shù)據(jù)通信的載波頻率和通信有效距離帶。在初始化之后的特定階段期間,等候先前約定的數(shù)據(jù)格式的啟動信號。當光信號從外界(即,發(fā)送器)輻射至LED時,由于光生電動勢效應而在LED中生成小電流。比較器將由LED的小電流生成的電壓與參考電壓進行比較,并且輸出經(jīng)數(shù)字化轉換的信號,其中,等于或高于參考電壓的電壓轉換成數(shù)字信號“1”,而低于參考電壓的電壓轉換成數(shù)字信號“0”。通過計時器和計數(shù)器對經(jīng)轉換的數(shù)字信號進行采樣并且將該數(shù)字信號存儲在RAM緩沖器中,并且基于先前約定的波形信息格式來確定所存儲的數(shù)據(jù)是否為有效數(shù)據(jù)。當在該時段期間即在數(shù)據(jù)接收模式期間沒有輸入有效的輸入時,在數(shù)據(jù)傳輸模式中執(zhí)行操作或者如普通LED那樣來執(zhí)行操作。參考圖4A和圖4B更詳細地描述數(shù)據(jù)接收模式中的操作。圖4A和圖4B是示出根據(jù)本發(fā)明實施方式的MCU數(shù)據(jù)接收模式的操作流程圖。如圖4A和圖4B所示,在操作S410和S420中,數(shù)據(jù)接收模式設定參考電壓,即比較器的兩個輸入電壓中的一個,該比較器在普通模式操作期間校驗電池電壓VDD并且將所接收的數(shù)據(jù)轉換成1和0。在操作S430中,確定在LED的OFF階段期間是否從發(fā)送器向LED輸入光信號;當光信號被輸入時,在操作S440中將模式切換成數(shù)據(jù)通信接收待機模式;以及在操作S450中,基于所接收的光信號來確定啟動信號是否有效。在操作S450中如果確定啟動信號有效,則在操作S460中初始化通信比較功能并且讀取通信包表,從而在操作S470中確定比特(bit)信號是否有效。如果比特信號有效,則在操作S471中存儲該有效比特并且確定其后續(xù)比特信號的有效性。在操作S470、S471和S480中,相應于包的大小,將執(zhí)行確定比特信號的有效性和存儲的過程重復多次。在完成該過程之后,在操作S490中確定包數(shù)據(jù)是否有效;以及如果包數(shù)據(jù)有效,則在操作S491中處理該包數(shù)據(jù),由此執(zhí)行數(shù)據(jù)接收模式的過程。圖6示出數(shù)據(jù)接收信號的示例的波形。該圖示出在接收數(shù)據(jù)期間對連接至LED的光通信端口的輸入。如圖6所示,連接至單個光通信端口的LED在輸出模式或傳輸模式中進行操作(參見區(qū)A);然后在LED停止輸出并校驗是否存在所接收的信號的接收模式中進行操作,如區(qū)B和區(qū)C所示。如果區(qū)B和區(qū)C中不存在輸入信號,則LED操作成再次執(zhí)行輸出并且在有效輸入進入時確定進入的信號。區(qū)C示出,由發(fā)送器傳輸?shù)腖ED端口信號被輻射到LED上且該信號被光生電動勢轉錄。在本發(fā)明中,通信數(shù)據(jù)的格式和結構可根據(jù)使用的裝置和目的而改變。通信數(shù)據(jù)的格式可包括載波頻率、啟動比特、BIT0、BIT1和延遲保持時間。數(shù)據(jù)的結構可包括啟動碼、包ID、控制碼、索引地址和校驗和,如下面表1所示。表1啟動碼包ID控制碼索引地址校驗和在該情況中,啟動碼是適于識別通信數(shù)據(jù)的啟動的信號;包ID是指適于在諸如發(fā)送器的主站和諸如接收器的從站之間執(zhí)行匹配的ID地址;索引地址是指適于使得控制碼施加于其的目標索引地址;以及校驗和是指適于校驗包數(shù)據(jù)是否有效的碼值。啟動碼和各個數(shù)據(jù)比特可劃分成載波頻率、高比特區(qū)和低比特區(qū)。傳輸格式的類型可劃分成具有載波頻率的類型,諸如載波式,以及不具有載波頻率的類型,諸如閃爍式。就載波式而言,當發(fā)送器傳輸數(shù)據(jù)時,發(fā)送器傳輸這樣一種波形,在該波形中特定載波頻率已經(jīng)與將要傳輸至接收器的信號相結合(例如,與結合(AND-combined)),并且發(fā)送器基于輸入至指定載波或設定載波的高區(qū)和低區(qū)之間的時間比,來將數(shù)據(jù)的啟動信號與BIT0信號和BIT1信號(即待傳輸?shù)臄?shù)據(jù)的二進制數(shù)據(jù))區(qū)分開,正如在圖7所示波形中的上面的波形中。例如,對于啟動信號,高區(qū)A的時間比低區(qū)的時間長;對于BIT0,高區(qū)的時間與低區(qū)的時間相同;以及對于BIT1,高區(qū)的時間比低區(qū)的時間短??紤]到載波式的特性,就不包括載波的傳輸信號(波中沒有插入載波)而言,由于光噪聲,信號可能丟失或失真;反之,就包括載波的傳輸信號(波中插入有載波)而言,信號具有對于信號的丟失和失真以及對于由光噪聲引起的噪聲穩(wěn)健的特性,正如圖8中所示。當使用載波式來傳輸數(shù)據(jù)時,優(yōu)選地是,在基于光生電動勢輸入來考慮切換速度時設計數(shù)據(jù)格式的結構。如圖5所示,可看出,由單個光端口所接收的載波OFF區(qū)以一斜率上升,在載波OFF區(qū)在沒有輸入的情況下上升至初始狀態(tài)電壓電平之前,施加后續(xù)信號,因此在輸入?yún)^(qū)中最高電壓電平與初始電壓電平之間存在差異。在最高電壓電平與初始電壓電平之間存在差異的相應的區(qū)與發(fā)送器的光量和輸入頻率成比例地增大。這樣的原因是,對由光生電動勢生成的電流而引起的電壓進行放電所需的時間取決于LED。因此,當放電時間比載波速度短時出現(xiàn)飽和區(qū),因此信號失真的區(qū)取決于適于確定信號的參考電壓的位置而出現(xiàn)。顯然,使用上述特性,可實現(xiàn)實施例,以使得能夠根據(jù)發(fā)送器的光量和頻率只在特定距離的區(qū)中傳輸和接收信號。在數(shù)據(jù)傳輸期間,基于短區(qū)與從光源(例如LED)打開的時間到光源下一次打開的時間的區(qū)之間的時間比,閃爍式將數(shù)據(jù)的啟動信號與BIT0信號和BIT1信號(即,待傳輸?shù)臄?shù)據(jù)的二進制數(shù)據(jù))區(qū)分開。雖然閃爍式的抗噪聲特性比載波式差,但是與載波式相比其可容易地確保放電時間,這是因為閃爍式不使用載波,因此總體上可實現(xiàn)比載波式更快的通信速度。圖9A、圖9B和圖9C是示出根據(jù)本發(fā)明實施方式的使用單個光通信端口的固件更新方法的操作流程圖,以及圖10示出固件更新模式的示例。參照圖9A至圖9C和圖10,在根據(jù)本實施方式的固件更新方法中,當適于對接收器(更新固件碼接收器)執(zhí)行固件更新的MCU接收通過發(fā)送器(更新固件碼發(fā)送器)的光輻射所傳輸?shù)墓碳聠哟a時,通過使用內(nèi)部VDI(電壓檢測指示器)測量當前VDD電壓(電池電壓)且然后將所測量的VDD電壓A與預定容許電壓B進行比較,來確定所測量的VDD電壓是否等于或高于容許電壓,從而確定是否執(zhí)行固件更新。如果MCU的電池電壓在更新容許電壓范圍內(nèi),則向發(fā)送器傳輸連接成功碼、固件版本信息(即,MCU當前的固件版本信息)以及可存儲數(shù)據(jù)的空區(qū)域的大小。相反,如果電池電壓在容許電壓范圍之外,則向發(fā)送器傳輸容許電壓錯誤碼,且而后終止該更新模式。當接收由接收器所傳輸?shù)倪B接成功碼、MCU當前的固件版本信息以及空區(qū)域的大小時,發(fā)送器考慮空區(qū)域的大小和版本信息來確定更新模式。在本發(fā)明中,固件更新模式可包括兩種不同的模式,如圖10所示。這兩種更新模式可包括可還原的固件更新模式A和局部的固件更新模式B,在可還原的固件更新模式A中,可還原更新之前的接收器MCU的固件;在局部的固件更新模式B中,可更新接收器MCU當前固件的部分數(shù)據(jù)。當在可還原的更新模式中執(zhí)行更新時,MCU的ROM區(qū)包括新版本固件、舊固件和回退信息數(shù)據(jù)。在可還原的固件更新模式中,當接收器MCU的ROM的空區(qū)域等于或大于新版本固件更新碼和回退信息時,將新版本固件碼存儲在空區(qū)域中,并且將中斷向量校正成新版本固件碼的函數(shù)地址??蛇€原的固件更新模式的優(yōu)點是,因為先前版本固件被保留所以能夠?qū)τ袉栴}的新版本固件進行還原。雖然局部的固件更新模式提供快的固件更新速度,這是由于只有改變的數(shù)據(jù)才被先前版本固件的相應部分替換,或者僅更新先前版本固件的一部分,但是局部的固件更新模式的缺點是,由于改變了固件數(shù)據(jù)所以如果沒有接收到先前版本固件則不能執(zhí)行還原。如上所述,當發(fā)送器確定更新模式時,向接收器傳輸更新模式信息、總的包大小和有效校驗碼。當接收器從發(fā)送器接收更新固件數(shù)據(jù)(即固件更新數(shù)據(jù))時,接收器校驗數(shù)據(jù)的有效性并且將數(shù)據(jù)存儲在RAM緩沖器中。在這種情況下,當達到閃存塊的寫入大小時,MCU再次校驗數(shù)據(jù)的有效性,并且如果數(shù)據(jù)有效的話則存儲該數(shù)據(jù)。當在上述過程中出現(xiàn)錯誤時,增加錯誤數(shù)據(jù)的數(shù)量。如果錯誤數(shù)據(jù)的數(shù)量等于或小于預定指定的錯誤數(shù)量或參考錯誤數(shù)量,則向發(fā)送器傳輸包錯誤和重傳請求碼。如果錯誤數(shù)據(jù)的數(shù)量超過指定的錯誤數(shù)量,則向發(fā)送器傳輸錯誤傳輸終止碼并且終止固件更新模式。相反,如果所接收的數(shù)據(jù)有效,則接收器向發(fā)送器傳輸請求后續(xù)包的碼,直至接收到與包大小相對應的包。一旦與包大小相對應的所有包均被接收,便確定所接收的更新數(shù)據(jù)是否與局部的固件更新模式或可還原的固件更新模式相對應。如果所接收的更新數(shù)據(jù)與局部的固件更新模式相對應,則校驗更新數(shù)據(jù)的有效性。如果更新數(shù)據(jù)有效,則執(zhí)行固件的局部更新、向發(fā)送器傳輸更新終止碼并且終止該更新。相反,如果更新模式是可還原的更新模式,則更新向量表、存儲與先前版本固件有關的回退信息、并且而后校驗更新數(shù)據(jù)的有效性。如果更新數(shù)據(jù)有效,則執(zhí)行固件的局部更新、向發(fā)送器傳輸更新終止碼并且終止該更新。一旦固件更新所需的所有更新數(shù)據(jù)包均被傳輸至接收器,則就可還原的固件更新模式而言發(fā)送器存儲與先前版本固件有關的回退信息、根據(jù)新版本固件更新中斷向量表、并且重設程序啟動地址。圖11示出根據(jù)本發(fā)明實施方式的能夠使用單個光通信端口來更新固件的微控制器的結構,并且該微控制器可執(zhí)行更新上述固件所需的所有操作。參照圖11,根據(jù)本發(fā)明的微控制器MCU1100包括數(shù)據(jù)接收器電路1110、電池電壓檢測電路1120、信息傳輸電路1130、存儲單元1140和固件更新控制電路1150。在MCU切換至數(shù)據(jù)接收模式(即,連接至LED的單個光端口切換至接收模式)之后,當發(fā)送器將與更新固件所需的固件更新啟動碼和更新數(shù)據(jù)相對應的光輻射到連接至單個光端口的LED上時,數(shù)據(jù)接收器電路1110依照通過輻射光在LED中生成的電動勢的電壓而接收固件更新啟動碼和更新數(shù)據(jù)。在這種情況下,數(shù)據(jù)接收器電路1110可從上述載波式或閃爍式發(fā)送器接收數(shù)據(jù)。數(shù)據(jù)接收器電路1110不僅可接收上述數(shù)據(jù),還可接收用于本發(fā)明的操作所需的所有數(shù)據(jù)。當具有數(shù)據(jù)傳輸功能的單個光端口接收到從發(fā)送器傳輸?shù)墓碳聠哟a時,電池電壓檢測電路1120檢測MCU的電池電壓。在這種情況下,可使用電壓檢測指示器(VDI)來測量電池電壓。如果由電池電壓檢測電路1120檢測的電池電壓等于或高于預定的參考電壓,則信息傳輸電路1130通過單個光端口向發(fā)送器傳輸固件相關信息。在這種情況下,固件相關信息可包括連接成功碼、固件版本信息以及能夠存儲數(shù)據(jù)的空區(qū)域的大小。存儲單元1140通過數(shù)據(jù)接收器電路1110接收與發(fā)送器所確定的更新模式相對應的更新數(shù)據(jù),并且將所接收的更新數(shù)據(jù)存儲在預定存儲區(qū)域中。在這種情況下,可由發(fā)送器使用通過單個光端口從信息傳輸電路1130傳輸至發(fā)送器的固件相關信息來確定更新模式。該更新模式可通過考慮固件版本信息和可存儲數(shù)據(jù)的空區(qū)域的大小來確定。存儲在存儲單元1140中的更新數(shù)據(jù)可包括更新模式信息、總的包大小和有效校驗碼。如果發(fā)送器確定的更新模式是能夠還原先前版本固件的可還原的固件更新模式,則固件更新控制電路1150存儲與先前版本固件有關的回退信息,使用從發(fā)送器接收的更新數(shù)據(jù)來執(zhí)行到新版本固件的更新。相反,如果發(fā)送器確定的更新模式是局部的固件更新模式,則使用從發(fā)送器接收的更新數(shù)據(jù)來替換或更新MCU的固件的部分數(shù)據(jù)(即預定數(shù)據(jù))。在這種情況下,固件更新控制電路1150通過有效校驗碼來校驗更新數(shù)據(jù)的有效性,并且如果更新數(shù)據(jù)有效則可將更新數(shù)據(jù)存儲在存儲單元的預定存儲區(qū)域中。在這種情況下,當在校驗有效性期間出現(xiàn)錯誤或者更新數(shù)據(jù)無效時,固件更新控制電路1150增加錯誤數(shù)據(jù)的數(shù)量;以及如果增加的錯誤數(shù)據(jù)的數(shù)量等于或小于預定指定的錯誤數(shù)量,則可通過對信息傳輸電路1130進行控制來向發(fā)送器傳輸包錯誤以及請求重傳更新數(shù)據(jù)的重傳請求碼。能夠根據(jù)本發(fā)明更新固件的MCU不僅可包括上述更新功能,還可包括參照圖1A至圖10所描述的所有功能。雖然已經(jīng)結合具體細節(jié)(諸如具體元件)和以上有限的實施方式和附圖描述了本發(fā)明,但是這些僅用于幫助全面地理解本發(fā)明。本發(fā)明不局限于這些實施方式,并且本發(fā)明所屬領域的普通技術人員可基于前述說明進行各種修改和變型。因此,本發(fā)明的技術精神不應僅基于所描述的實施方式來確定,隨附的權利要求、權利要求的所有等同物以及等同的修改應當解釋成落入本發(fā)明的精神的范圍內(nèi)。[產(chǎn)業(yè)實用性]本文公開了使用單個光端口通信來更新固件的方法以及能夠使用單個光端口通信來更新固件的微控制器(MCU)。該方法包括:在單個光端口接收到固件更新啟動碼時檢測電池的電壓;如果所檢測的電池的電壓等于或高于預定參考電壓,則向發(fā)送器傳輸固件相關信息;接收與更新模式相對應的更新數(shù)據(jù);以及在第一模式中存儲與先前版本固件有關的回退信息并且還執(zhí)行到新版本固件的更新,以及在第二模式中使用更新數(shù)據(jù)來更新先前版本固件的預定數(shù)據(jù)。當前第1頁1 2 3