本發(fā)明涉及電子設(shè)備領(lǐng)域,更具體地涉及一種用于對車輛中的待更新設(shè)備的存儲器的內(nèi)容進(jìn)行更新的更新裝置。
背景技術(shù):
車輛中的設(shè)備(例如,組合儀表)的存儲器的內(nèi)容是可以更新的。例如可以通過將usb信號轉(zhuǎn)換成控制器局域網(wǎng)(controllerareanetwork,簡稱can)信號的接口適配器,將具有usb接口的計算機(pc)連接到具有can接口的組合儀表。在pc端,使用pc工具配置canid(包括發(fā)送和接收信號的地址),選擇要配置的can設(shè)備,選擇需要加載到組合儀表的文件并且配置更新過程的超時時間。在組合儀表通電之后,運行該pc工具以對組合儀表進(jìn)行更新。有的時候需要更新的文件比較多,需要為每一個文件都做一遍上述配置,因此比較費時。而且由于該pc工具的操作比較復(fù)雜,需要工程師在現(xiàn)場支持,因此人力成本較高。
技術(shù)實現(xiàn)要素:
本文中描述的實施例提供了一種更新裝置,用于對車輛中的待更新設(shè)備的存儲器的內(nèi)容進(jìn)行更新。對于用戶來說,只需要在該更新裝置上簡單地觸發(fā)該更新裝置工作,就可以完成對存儲器的更新,而不需要工程師在現(xiàn)場操作。
根據(jù)本發(fā)明的第一個方面,提供了一種更新裝置,用于對車輛中的待更新設(shè)備的存儲器的內(nèi)容進(jìn)行更新,更新裝置包括存儲模塊、通信接口模塊、控制模塊以及用戶接口模塊。存儲模塊被配置為存儲用于更新存儲器的程序和文件。通信接口模塊被配置為整體作為接收模塊從外部計算機接收程序和文件,以及整體作為發(fā)送模塊向存儲器發(fā)送文件。控制模塊被配置為將接收的程序和文件加載到存儲模塊中,以及運行程序以將文件通過通信接口模塊發(fā)送給存儲器,從而采用文件來更新存儲器的內(nèi)容。用戶接口模塊被配置為觸發(fā)控制模塊對程序的運行。
在本發(fā)明的實施例中,通信接口模塊包括高速can收發(fā)器,高速can收發(fā)器能夠通過can線纜連接到待更新設(shè)備的can接口。
在本發(fā)明的實施例中,控制模塊具有喚醒端口,喚醒端口用于將休眠模式下的控制模塊喚醒。
在本發(fā)明的實施例中,控制模塊能夠判斷對其的供電電壓是否正常,在供電電壓正常的情況下更新裝置更新存儲器,否則不更新存儲器。
在本發(fā)明的進(jìn)一步的實施例中,控制模塊具有電壓檢測端口,電壓檢測端口用于將基于供電電壓而獲得的檢測電壓輸入控制模塊,以判定供電電壓是否正常。
在本發(fā)明的實施例中,用戶接口模塊包括按鍵或開關(guān)。
在本發(fā)明的實施例中,更新裝置還包括指示模塊。指示模塊與控制模塊連接,用于從控制模塊獲取更新裝置在更新存儲器的內(nèi)容時的工作狀態(tài),并指示工作狀態(tài)。
在本發(fā)明的進(jìn)一步的實施例中,工作狀態(tài)包括:更新成功、更新失敗以及正在更新中。
在本發(fā)明的實施例中,更新裝置還包括電平轉(zhuǎn)換模塊。電平轉(zhuǎn)換模塊與控制模塊連接,用于將從車載電源獲取的電平轉(zhuǎn)換成更新裝置的工作電平。
附圖說明
為了更清楚地說明本發(fā)明的實施例的技術(shù)方案,下面將對實施例的附圖進(jìn)行簡要說明,應(yīng)當(dāng)知道,以下描述的附圖僅僅涉及本發(fā)明的一些實施例,而非對本發(fā)明的限制,其中:
圖1是根據(jù)本發(fā)明的第一實施例的更新裝置的框圖;
圖2是根據(jù)本發(fā)明的第二實施例的更新裝置的框圖;
圖3是根據(jù)本發(fā)明的第三實施例的更新裝置的框圖;
圖4是根據(jù)本發(fā)明實施例的更新裝置的一個示例的結(jié)構(gòu)圖。
具體實施方式
為了使本發(fā)明的實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖,對本發(fā)明的實施例的技術(shù)方案進(jìn)行清楚、完整的描述。顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;谒枋龅谋景l(fā)明的實施例,本領(lǐng)域技術(shù)人員在無需創(chuàng)造性勞動的前提下所獲得的所有其它實施例,也都屬于本發(fā)明保護的范圍。
除非另外定義,否則在此使用的所有術(shù)語(包括技術(shù)和科學(xué)術(shù)語)具有與本發(fā)明主題所屬領(lǐng)域的技術(shù)人員所通常理解的相同含義。進(jìn)一步將理解的是,諸如在通常使用的詞典中定義的那些的術(shù)語應(yīng)解釋為具有與說明書上下文和相關(guān)技術(shù)中它們的含義一致的含義,并且將不以理想化或過于正式的形式來解釋,除非在此另外明確定義。如在此所使用的,將兩個或更多部分“連接”或“耦接”到一起的陳述應(yīng)指將這些部分直接結(jié)合到一起或通過一個或多個中間部件結(jié)合。
圖1示出了根據(jù)本發(fā)明的第一實施例的更新裝置100的框圖。該更新裝置100用于對車輛中的待更新設(shè)備(例如,組合儀表)的存儲器的內(nèi)容進(jìn)行更新。更新裝置100包括存儲模塊110、通信接口模塊120、控制模塊130以及用戶接口模塊140。控制模塊130與存儲模塊110、通信接口模塊120以及用戶接口模塊140相連接。
將更新裝置100與外部計算機連接以配置更新裝置100。在控制模塊130的控制下通過更新裝置100的通信接口模塊120從外部計算機接收用于更新上述存儲器(例如,組合儀表中的存儲器)的程序和文件,并將該程序和文件存儲在存儲模塊110中。諸如canid、選擇的can設(shè)備以及更新過程的超時時間等的更新存儲器所需要的配置信息都在上述程序中預(yù)先設(shè)定,以供控制模塊130后續(xù)使用。在配置更新裝置100結(jié)束之后,可以斷開更新裝置100與外部計算機的連接。此過程可以由工程師在更新裝置出廠之前完成。
而使用更新裝置100來更新車輛中的待更新設(shè)備的存儲器的過程,可以由用戶獨立實施。將更新裝置100通過通信接口模塊120與車輛的can總線連接。在用戶接口模塊140被觸發(fā)的情況下,控制模塊130接收到開始執(zhí)行更新過程的指令,然后開始運行存儲在存儲模塊110中的程序,以將通信接口模塊120作為發(fā)送模塊向待更新設(shè)備的存儲器發(fā)送用于更新存儲器的文件,從而采用該文件來更新存儲器的內(nèi)容。由于canid和選擇的can設(shè)備的信息都預(yù)先設(shè)定在程序中,因此盡管通信接口模塊120通過can總線連接到車輛,但是控制模塊130仍然能夠向指定設(shè)備(即,待更新設(shè)備)的存儲器發(fā)送文件。此外,由于程序中預(yù)先設(shè)定了更新過程的超時時間,因此在控制模塊130判定已經(jīng)超過超時時間但是更新過程仍然未完成的情況下,控制模塊130可以停止該更新過程。
根據(jù)本實施例的更新裝置100在更新車輛中的待更新設(shè)備的存儲器的內(nèi)容時,不需要連接外部計算機。對于用戶來說,只需要在該更新裝置100上簡單地觸發(fā)該更新裝置100工作,就可以完成對存儲器的更新,而不需要工程師在現(xiàn)場操作。這解決了更新設(shè)備所需的人力成本過高、無法大批量復(fù)制以及操作復(fù)雜等問題。
圖2示出了根據(jù)本發(fā)明的第二實施例的更新裝置100的框圖。在根據(jù)本發(fā)明的第一實施例的基礎(chǔ)上,更新裝置100還可以包括指示模塊150。指示模塊150與控制模塊130連接,用于從控制模塊130獲取更新裝置100在更新存儲器的內(nèi)容時的工作狀態(tài),并指示工作狀態(tài)。在本實施例中,工作狀態(tài)可以例如包括:更新成功、更新失敗以及正在更新中。具體地,在一個示例中,在向待更新設(shè)備的存儲器發(fā)送用于更新存儲器的文件的過程中,文件被分成多包數(shù)據(jù)依次發(fā)送。在每包數(shù)據(jù)的結(jié)尾處附有例如奇偶校驗碼的校驗碼。待更新設(shè)備在接收到每包數(shù)據(jù)之后,用同樣的校驗機制計算出校驗碼,并與該包數(shù)據(jù)的結(jié)尾處所附的校驗碼進(jìn)行比較。如果一致則返回ack指令。如果不一致則返回nak指令。在本示例中,在文件的最后還附有對整個文件計算出的例如crc校驗碼的一個校驗碼,以對發(fā)送的文件做二次校驗。同樣地,如果二次校驗一致則返回ack指令,否則返回nak指令。如果文件中的數(shù)據(jù)都發(fā)送完畢并且沒有收到nak指令,則表示更新成功。如果收到nak指令則表示更新失敗。在文件中的數(shù)據(jù)發(fā)送完畢之前,指示模塊150指示正在更新中的工作狀態(tài)。通過指示模塊150對工作狀態(tài)的實時指示,用戶可以更清晰的了解當(dāng)前的更新進(jìn)度,方便用戶操作。
圖3示出了根據(jù)本發(fā)明的第三實施例的更新裝置100的框圖。在根據(jù)本發(fā)明的第一實施例或第二實施例的基礎(chǔ)上,更新裝置100還可以包括電平轉(zhuǎn)換模塊160。在第一和第二實施例中,可以使用電壓穩(wěn)定的外部電源對更新裝置100供電。而在本實施例中,還可以利用車載電源對更新裝置100供電。由于車載電源的電壓不是穩(wěn)定的電壓,而且其電平可能與更新裝置100所需的供電電平不同,因此更新裝置100還可以包括電平轉(zhuǎn)換模塊160。該電平轉(zhuǎn)換模塊160與控制模塊130連接,用于將車載電源的電平轉(zhuǎn)換成更新裝置100所需的供電電平。根據(jù)本實施例的更新裝置100能夠直接利用車載電源供電而不需要使用外部電源,從而避免了攜帶外部電源的麻煩。
下面在圖4中示出根據(jù)本發(fā)明實施例的更新裝置100的一個示例的具體結(jié)構(gòu)圖。如圖4所示,控制模塊130包括微控制單元(microcontrollerunit,簡稱mcu),其具有高速閃速存儲器接口(highspeedflashinterface,簡稱hsfi),can接口,i/o口,電壓檢測端口(標(biāo)記為vcmp)以及喚醒端口。存儲模塊110包括flash,該flash能夠存儲用于更新待更新設(shè)備的存儲器的程序和文件。通信接口模塊120包括高速can收發(fā)器,其能夠通過can線纜連接到待更新設(shè)備的can接口。用戶接口模塊140包括一個按鍵(在替代實施例中可以包括例如開關(guān))。指示模塊150包括led驅(qū)動器以及連接到該led驅(qū)動器的三個led指示燈。電平轉(zhuǎn)換模塊160包括用于將車載電源的電平轉(zhuǎn)換成更新裝置100中的各個模塊需要的工作電平的電路。mcu通過hsfi與存儲模塊110中的flash連接,通過can接口與通信接口模塊120中的高速can收發(fā)器連接,通過一個i/o口與按鍵連接,并且通過另一個i/o口與led驅(qū)動器連接。
在配置更新裝置100的時候,通過能夠?qū)sb信號轉(zhuǎn)換成can信號的接口適配器將高速can收發(fā)器與外部計算機連接。外部計算機通過usb接口向接口適配器發(fā)送更新存儲器的程序和文件,在mcu的控制下高速can收發(fā)器通過can線纜從接口適配器接收該程序和文件。通過高速can收發(fā)器接收到的程序和文件在mcu的控制下被存儲在flash中。諸如canid、選擇的can設(shè)備以及更新過程的超時時間等的更新存儲器所需要的配置信息都在上述程序中預(yù)先設(shè)定,以便后續(xù)使用。在配置更新裝置100結(jié)束之后,可以斷開更新裝置100與外部計算機的連接。
將更新裝置100通過高速can收發(fā)器與車輛上的can接口(如圖4中的hs_can高和hs_can低)連接以使用更新裝置100來更新車輛中的待更新設(shè)備的存儲器的內(nèi)容。在按鍵被觸發(fā)(例如,長按或者短按)的情況下,mcu接收到開始執(zhí)行更新過程的指令,然后開始運行存儲在存儲模塊110中的程序。此時,在mcu的控制下通信接口模塊120作為發(fā)送模塊向待更新設(shè)備的存儲器發(fā)送用于更新存儲器的文件,從而采用該文件來更新存儲器的內(nèi)容。由于canid和選擇的can設(shè)備的信息都預(yù)先設(shè)定在程序中,因此盡管通信接口模塊120連接到車輛的can總線,但是mcu仍然能夠向指定設(shè)備的存儲器發(fā)送文件。此外,由于程序中預(yù)先設(shè)定了更新過程的超時時間,因此在mcu判定已經(jīng)超過超時時間但更新過程仍然未完成的情況下,mcu可以停止更新過程。
為了方便用戶了解更新過程的進(jìn)度,如圖4所示的更新裝置100中的指示模塊150能夠通過mcu的i/o口從mcu獲取更新過程的工作狀態(tài)。指示模塊150中的led驅(qū)動器的輸入端連接到mcu的i/o口,輸出端連接到三個led指示燈。例如,在更新成功的情況下,mcu通過i/o口向led驅(qū)動器發(fā)送第一信號,從而驅(qū)動例如綠色led指示燈點亮。例如,在更新失敗的情況下,也就是更新超時但未更新成功的情況下,mcu通過i/o口向led驅(qū)動器發(fā)送第二信號,從而驅(qū)動例如紅色led指示燈點亮。例如,在正在更新存儲器的期間,mcu通過i/o口向led驅(qū)動器發(fā)送第三信號,從而驅(qū)動例如黃色led指示燈點亮。在此,只是舉例說明了一種指示更新過程的工作狀態(tài)的方式,本領(lǐng)域的技術(shù)人員應(yīng)了解還可以采用其它電路結(jié)構(gòu)和/或多種其它能夠表示不同的工作狀態(tài)的指示方式來指示更新過程的工作狀態(tài)。
進(jìn)一步地,如圖4所示的更新裝置100中的電平轉(zhuǎn)換模塊160能夠?qū)④囕d電源的電平轉(zhuǎn)換成更新裝置100中的各個模塊需要的工作電平。電平轉(zhuǎn)換模塊160從例如車載電源的電池接口獲得9至16v的直流電平,通過其內(nèi)部的降壓芯片161、162(例如,低壓差線性穩(wěn)壓器(lowdropoutregulator,簡稱ldo))將該直流電平轉(zhuǎn)換成各個模塊需要的工作電平(例如,5v、3.3v)。由于mcu需要的工作電壓的容差范圍比較小,因此mcu上設(shè)置了電壓檢測端口vcmp。通過電平轉(zhuǎn)換模塊160對車載電源分壓(例如,通過圖4中的分壓電阻來分壓)而獲得檢測電壓。將該檢測電壓輸入電壓檢測端口,在mcu對該檢測電壓進(jìn)行adc采樣之后,將adc采樣獲得的數(shù)值與基于參考電壓設(shè)置的閾值比較,從而判定車載電源的電壓是否超過正常范圍,進(jìn)而判定通過車載電源獲得的供應(yīng)給各個模塊的供電電壓是否正常。在供電電壓正常的情況下更新裝置100更新存儲器,否則不更新存儲器以免更新錯誤。
在本示例中,為了節(jié)約能源,希望mcu在非工作狀態(tài)下處于休眠模式,在切換到工作狀態(tài)時能夠即時喚醒。如圖4所示的mcu具有喚醒端口。該喚醒端口可以例如是硬件中斷口int。將該硬件中斷口連接到車輛的點火口。在對車輛中的待更新設(shè)備進(jìn)行更新時,點火以對車輛供電。在本示例中,利用車輛的點火信號觸發(fā)mcu的硬件中斷,從而將mcu喚醒。
根據(jù)本發(fā)明實施例的更新裝置,能夠?qū)囕v中的待更新設(shè)備的存儲器的內(nèi)容進(jìn)行更新。對于用戶來說,只需要在該更新裝置上簡單地觸發(fā)該更新裝置工作,就可以完成對存儲器的更新,而不需要工程師在現(xiàn)場操作。該更新裝置操作簡單,成本較低。
除非上下文中另外明確地指出,否則在本文和所附權(quán)利要求中所使用的詞語的單數(shù)形式包括復(fù)數(shù),反之亦然。因而,當(dāng)提及單數(shù)時,通常包括相應(yīng)術(shù)語的復(fù)數(shù)。相似地,措辭“包含”和“包括”將解釋為包含在內(nèi)而不是獨占性地。同樣地,術(shù)語“包括”和“或”應(yīng)當(dāng)解釋為包括在內(nèi)的,除非本文中明確禁止這樣的解釋。在本文中使用術(shù)語“示例”之處,特別是當(dāng)其位于一組術(shù)語之后時,所述“示例”僅僅是示例性的和闡述性的,且不應(yīng)當(dāng)被認(rèn)為是獨占性的或廣泛性的。
適應(yīng)性的進(jìn)一步的方面和范圍從本文中提供的描述變得明顯。應(yīng)當(dāng)理解,本申請的各個方面可以單獨或者與一個或多個其它方面組合實施。還應(yīng)當(dāng)理解,本文中的描述和特定實施例旨在僅說明的目的并不旨在限制本申請的范圍。
以上對本發(fā)明的若干實施例進(jìn)行了詳細(xì)描述,但顯然,本領(lǐng)域技術(shù)人員可以在不脫離本發(fā)明的精神和范圍的情況下對本發(fā)明的實施例進(jìn)行各種修改和變型。本發(fā)明的保護范圍由所附的權(quán)利要求限定。