一種芯片的在線升級(jí)方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出一種芯片的在線升級(jí)方法,包括以下步驟:上位機(jī)通過(guò)通信接口向芯片發(fā)送在線編程啟動(dòng)指令;芯片根據(jù)在線編程啟動(dòng)指令從正常工作模式切換至在線編程模式;上位機(jī)在判斷芯片切換至在線編程模式之后,通過(guò)通信接口向芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù);上位機(jī)接收芯片返回的數(shù)據(jù),并判斷返回的數(shù)據(jù)是否為第二特定數(shù)據(jù);如果判斷為第二特定數(shù)據(jù),則上位機(jī)通過(guò)通信接口向可編程存儲(chǔ)器發(fā)送控制指令。本發(fā)明的實(shí)施例通過(guò)通信接口進(jìn)行在線編程,減少了芯片封裝管腳,能夠以較少的成本完成相對(duì)穩(wěn)定的編程環(huán)境,實(shí)現(xiàn)在線升級(jí)的目的。本發(fā)明還提出了一種芯片的在線升級(jí)系統(tǒng)。
【專利說(shuō)明】一種芯片的在線升級(jí)方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)應(yīng)用【技術(shù)領(lǐng)域】,特別涉及一種芯片的在線升級(jí)方法及系統(tǒng)。
【背景技術(shù)】
[0002]目前有一種基于O⑶(On-Chip Debugging,在線調(diào)試)的在線升級(jí)接口,包括與CPU(Central Processing Unit,中央處理器)相連接的端口、與外部控制裝置相連接的端口和控制端口,所述的控制端口包括輸入時(shí)鐘引腳、返回時(shí)鐘引腳、接地引腳、模式選擇引腳、輸入電壓引腳。在線升級(jí)的時(shí)候,通過(guò)主板上CPU所具有的O⑶片內(nèi)調(diào)試功能,在主板上定義O⑶的接口,通過(guò)外部PC (Personal Computer,個(gè)人計(jì)算機(jī))機(jī)控制輔助調(diào)試板,就可以對(duì)主板上CPU外掛的FLASH進(jìn)行升級(jí)。
[0003]但是上述技術(shù)存在以下的缺點(diǎn):需要另外的電路轉(zhuǎn)接板,從而增加了編程的復(fù)雜性,且由于有接口的管腳來(lái)看,需要增加芯片的封裝管腳,增加了封裝成本。
【發(fā)明內(nèi)容】
[0004]本發(fā)明旨在至少解決上述技術(shù)問(wèn)題之一。
[0005]為此,本發(fā)明的一個(gè)目的在于提出一種通信穩(wěn)定,無(wú)需另外增加外加電路,通過(guò)通信接口進(jìn)行在線編程,減少芯片封裝管腳,能夠以較少成本便可完成相對(duì)穩(wěn)定的編程環(huán)境,實(shí)現(xiàn)在線升級(jí)的目的的芯片的在線升級(jí)方法。
[0006]本發(fā)明的另一個(gè)目的在于提出一種芯片的在線升級(jí)系統(tǒng)。
[0007]為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面的實(shí)施例提出了一種芯片的在線升級(jí)方法,包括以下步驟:上位機(jī)通過(guò)通信接口向芯片發(fā)送在線編程啟動(dòng)指令;所述芯片根據(jù)所述在線編程啟動(dòng)指令從正常工作模式切換至在線編程模式;所述上位機(jī)在判斷所述芯片切換至所述在線編程模式之后,通過(guò)所述通信接口向所述芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù);所述上位機(jī)接收所述芯片返回的數(shù)據(jù),并判斷所述返回的數(shù)據(jù)是否為第二特定數(shù)據(jù);以及如果判斷為所述第二特定數(shù)據(jù),則所述上位機(jī)通過(guò)所述通信接口向所述可編程存儲(chǔ)器發(fā)送控制指令。
[0008]根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)方法,無(wú)需增加外加電路,且通信穩(wěn)定,能夠避免當(dāng)編程過(guò)程中遇到掉電等問(wèn)題時(shí)出現(xiàn)程序內(nèi)容丟失的現(xiàn)象,通過(guò)通信接口進(jìn)行在線編程,減少了芯片封裝管腳,能夠以較少的成本完成相對(duì)穩(wěn)定的編程環(huán)境,實(shí)現(xiàn)在線升級(jí)的目的。
[0009]本發(fā)明第二方面的實(shí)施例提出了一種芯片的在線升級(jí)系統(tǒng),包括:上位機(jī)和芯片,其中,所述上位機(jī)具有通信接口,所述上位通過(guò)所述通信接口向所述芯片發(fā)送在線編程啟動(dòng)指令,并在判斷所述芯片切換至所述在線編程模式之后,通過(guò)所述通信接口向所述芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù),所述上位機(jī)接收所述芯片返回的數(shù)據(jù),并判斷所述返回的數(shù)據(jù)是否為第二特定數(shù)據(jù);以及如果判斷為所述第二特定數(shù)據(jù),則所述上位機(jī)通過(guò)所述通信接口向所述可編程存儲(chǔ)器發(fā)送控制指令;所述芯片根據(jù)所述在線編程啟動(dòng)指令從正常工作模式切換至在線編程模式。
[0010]根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)系統(tǒng),無(wú)需增加外加電路,且通信穩(wěn)定,能夠避免當(dāng)編程過(guò)程中遇到掉電等問(wèn)題時(shí)出現(xiàn)程序內(nèi)容丟失的現(xiàn)象,通過(guò)通信接口進(jìn)行在線編程,減少了芯片封裝管腳,能夠以較少的成本完成相對(duì)穩(wěn)定的編程環(huán)境,實(shí)現(xiàn)在線升級(jí)的目的。
[0011]本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說(shuō)明】
[0012]本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
[0013]圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例的芯片的在線升級(jí)方法的流程圖;
[0014]圖2為根據(jù)本發(fā)明另一個(gè)實(shí)施例的芯片的在線升級(jí)方法的流程圖;
[0015]圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的芯片的在線升級(jí)方法的握手指令、開(kāi)始命令及其對(duì)應(yīng)值的示意表;
[0016]圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的芯片的在線升級(jí)方法的結(jié)束指令及其對(duì)應(yīng)值的不意表;以及
[0017]圖5為根據(jù)本發(fā)明一個(gè)實(shí)施例的芯片的在線升級(jí)系統(tǒng)的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0018]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
[0019]在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
[0020]在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
[0021]以下結(jié)合附圖1-4詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)方法。
[0022]圖1為根據(jù)本發(fā)明一個(gè)實(shí)施例的芯片的在線升級(jí)方法的流程圖。
[0023]如圖1所示,根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)方法,包括以下步驟:步驟S101,上位機(jī)通過(guò)通信接口向芯片發(fā)送在線編程啟動(dòng)指令。具體地,當(dāng)上位機(jī)需要修改芯片的程序時(shí),上位機(jī)向芯片發(fā)送在線編程啟動(dòng)指令,目的在于修改芯片的寄存器。其中,在線編程指令由技術(shù)人員預(yù)先設(shè)定。通信接口包括:第一通信接口和/或第二通信接口,且第一通信接口為lie (Inter-1ntegratedCircuit,集成電路總線)接口,第二通信接口為SPI(Serial Peripheral Interface,高速同步串行口)接口。
[0024]步驟S102,芯片根據(jù)在線編程啟動(dòng)指令從正常工作模式切換至在線編程模式。即在接收到上位機(jī)發(fā)送的在線編程啟動(dòng)指令后,芯片從正常的工作模式轉(zhuǎn)換至在線編程模式。進(jìn)一步地,在接收到在線編程啟動(dòng)指令后,芯片向上位機(jī)發(fā)送第三特定數(shù)據(jù)。其中,第三特定數(shù)據(jù)為但不限于特定的字符串,用于向上位機(jī)確認(rèn)芯片進(jìn)入在線編程模式。且在在線編程模式下,對(duì)芯片的程序進(jìn)行重新燒寫(xiě)。
[0025]步驟S103,上位機(jī)在判斷芯片切換至在線編程模式之后,通過(guò)通信接口向芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù)。即上位機(jī)接收到芯片發(fā)送的第三特定數(shù)據(jù)后,判定芯片已切換至在線編程模式,然后通過(guò)通信接口向芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù)。其中,第一特定數(shù)據(jù)為但不限于特定的字符串,即握手指令,用于確定上位機(jī)與芯片之間的通信連接是否正常。
[0026]步驟S104,上位機(jī)接收芯片的返回?cái)?shù)據(jù),并判斷返回的數(shù)據(jù)是否為第二特定數(shù)據(jù)。即在上位機(jī)向芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù)后,芯片向上位機(jī)返回一個(gè)數(shù)據(jù),上位機(jī)判斷該數(shù)據(jù)是否為第二特定數(shù)據(jù)。
[0027]步驟S105,如果判斷為第二特定數(shù)據(jù),則上位機(jī)通過(guò)通信接口向芯片的可編程存儲(chǔ)器發(fā)送控制指令。即在上位機(jī)判斷芯片返回的數(shù)據(jù)為第二特定數(shù)據(jù)后,確認(rèn)與芯片之間的通信連接正常,則上位機(jī)向芯片發(fā)送在線編程開(kāi)始指令,并修改芯片的寄存器,然后向芯片的可編程存儲(chǔ)器發(fā)送控制指令,對(duì)芯片的程序進(jìn)行重新燒寫(xiě)。進(jìn)一步地,當(dāng)燒寫(xiě)完成后,上位機(jī)向芯片發(fā)送在線編程結(jié)束指令,并在芯片接收到該在線編程結(jié)束指令后,修改芯片的寄存器,使芯片退出在線編程模式,并轉(zhuǎn)至正常模式。其中,第二特定數(shù)據(jù)為但不限于特定的字符串,即握手確認(rèn)命令,用于確認(rèn)上位機(jī)發(fā)出的握手指令,即第一特定數(shù)據(jù),從而確認(rèn)通信連接正常,即握手成功??刂泼罴闯绦虻淖x寫(xiě)指令和擦除指令,且控制指令的格式為第一通信接口所使用的格式或第二通信接口所使用的格式,即IIC格式或SPI格式。
[0028]在上述示例中,當(dāng)欲改變芯片程序時(shí),上位機(jī)向芯片發(fā)送在線編程啟動(dòng)指令,在芯片進(jìn)入到在線編程模式后,接收上位機(jī)發(fā)送的握手指令,并返回第二特定數(shù)據(jù),確認(rèn)握手成功,則上位機(jī)向芯片發(fā)送在線編程開(kāi)始指令,便可對(duì)芯片的程序進(jìn)行擦除及重新燒寫(xiě),燒寫(xiě)完成后,芯片接收上位機(jī)發(fā)送的在線編程結(jié)束指令并退出在線編程模式,切換至正常工作模式。
[0029]作為具體的示例,下面結(jié)合圖2-4描述根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)方法。
[0030]如圖2所示,根據(jù)本發(fā)明另一個(gè)實(shí)施例的芯片的在線升級(jí)方法的流程圖。
[0031]當(dāng)上位機(jī)欲更改芯片程序時(shí),可通過(guò)IIC或SPI通信接口向其發(fā)送特定的握手字符串,當(dāng)芯片識(shí)別該字符串后使電路選擇在線升級(jí)部分,進(jìn)入在線編程模式。然后接收來(lái)自上位機(jī)的程序代碼,將原代碼擦除,再將新的內(nèi)容寫(xiě)入特定的存儲(chǔ)器中,完成程序的更新。結(jié)合圖2,該方法具體步驟如下:
[0032]步驟S201,正常工作模式。即芯片處于正常工作模式中。
[0033]步驟S202,電路切換。即芯片從正常工作模式切換至在線編程模式。[0034]具體地,當(dāng)欲對(duì)芯片的程序進(jìn)行修改時(shí),需要從正常工作模式切換至在線編程模式,正常工作模式與在線編程模式進(jìn)行切換時(shí)有一組指令,即在線編程啟動(dòng)指令,主機(jī)寫(xiě)數(shù)據(jù)Oxbb到從機(jī)。
[0035]IIC (第一通信接口)在線編程的設(shè)備地址,SPI (第二通信接口)通信的CPOL,CPHA都在芯片的寄存器中配置。具體的過(guò)程為:
[0036]IIC:開(kāi)始信號(hào)——設(shè)備地址(寫(xiě))一數(shù)據(jù)(Oxbb)——停止信號(hào)。
[0037]SP1:片選拉低-----數(shù)據(jù)A(Oxbb)-----片選拉高。
[0038]上位機(jī)通過(guò)上述兩個(gè)通信接口發(fā)送在線編程啟動(dòng)指令,使芯片進(jìn)入在線編程模式。
[0039]步驟S203,發(fā)送并確認(rèn)握手命令。在芯片進(jìn)入在線編程模式后,上位機(jī)通過(guò)通信接口向芯片發(fā)送第一特定數(shù)據(jù),即握手指令,用于確認(rèn)與芯片之間的通信連接是否正常。。具體地過(guò)程為:
[0040]IIC:第一步:IIC主機(jī)寫(xiě)入10組握手?jǐn)?shù)據(jù),即第一特定數(shù)據(jù)。
[0041 ] 開(kāi)始信號(hào)一設(shè)備地址(寫(xiě))一數(shù)據(jù)O (Oxal) —//////—數(shù)據(jù)9 (0x42)—停
止信號(hào)。
[0042]第二步:IIC主機(jī)接收10握手?jǐn)?shù)據(jù)。
[0043]開(kāi)始信號(hào)一設(shè)備地址(讀)—數(shù)據(jù)O (Oxal) —//////—數(shù)據(jù)9 (0x42)—停
止信號(hào)。
[0044]SP1:第一步:SPI主機(jī)寫(xiě)入10組握手?jǐn)?shù)據(jù),即第一特定數(shù)據(jù)。
[0045]數(shù)據(jù)O (Oxal)數(shù)據(jù) I (Oxla)——//////——數(shù)據(jù) 8 (0x24)——數(shù)據(jù) 9 (0x42)
[0046]第二步:SPI主機(jī)接收10握手?jǐn)?shù)據(jù)。
[0047]數(shù)據(jù)O (Oxal) 數(shù)據(jù) I (Oxla)——./7/7/7.——數(shù)據(jù) 8 (0x24)——數(shù)據(jù) 9 (0x42)。
[0048]上位機(jī)通過(guò)上述兩個(gè)通信接口向芯片發(fā)送并確認(rèn)第一特定數(shù)據(jù)(握手指令)至芯片。
[0049]步驟S204,返回確認(rèn)握手指令。即上位機(jī)向芯片發(fā)送握手指令后,芯片向上位機(jī)返回第二特定數(shù)據(jù),確認(rèn)握手成功,即確定上位機(jī)與芯片的通信連接正常。具體過(guò)程為:
[0050]IIC:1IC主機(jī)寫(xiě)入10組開(kāi)始數(shù)據(jù)。
[0051 ] 開(kāi)始信號(hào)一設(shè)備地址(寫(xiě))一數(shù)據(jù)A(Oxll) —//////—數(shù)據(jù)D (Oxaa)—停
止信號(hào)。
[0052]SPI =SPI主機(jī)寫(xiě)入10組開(kāi)始數(shù)據(jù)。
[0053]數(shù)據(jù) A(Oxll)數(shù)據(jù) B (0x22)——//////——數(shù)據(jù) C(0x99)——數(shù)據(jù) D (Oxaa)。
[0054]具體的指令及其對(duì)應(yīng)值如圖3所示。
[0055]步驟S205,判斷芯片是否已進(jìn)入在線編程模式。
[0056]具體而言,如果當(dāng)芯片握手成功后,能夠進(jìn)入在線編程模式,16ms之后flash寄存器ONLINE_STATE_ADDR讀到值為0xab9d_573b,表示成功進(jìn)入在線編程,否則未進(jìn)入,且在成功進(jìn)入編程模式之后執(zhí)行步驟S206,否則執(zhí)行步驟S202。
[0057]其中,讀取ONLINE_STATE_ADDR 步驟如下:
[0058]第一步,指向芯片寄存器的OxOa地址:0x0a7558 ;
[0059]IIC=IIC主機(jī)寫(xiě)入3組數(shù)據(jù)。[0060]開(kāi)始信號(hào)一設(shè)備地址(寫(xiě))一數(shù)據(jù)(OxOa)-數(shù)據(jù)(0x75)—數(shù)據(jù)(0x58)停止信號(hào)。
[0061]SPI =SPI主機(jī)寫(xiě)入3組開(kāi)始數(shù)據(jù)。
[0062]數(shù)據(jù)(OxOa)數(shù)據(jù)(0x75)數(shù)據(jù)(0x58)。
[0063]第二步,主機(jī)接收寄存器數(shù)據(jù):32’ hab9d_573b ;
[0064]IIC主機(jī)接收4組數(shù)據(jù)。
[0065]開(kāi)始信號(hào)一設(shè)備地址(讀)一數(shù)據(jù)(Oxab)-數(shù)據(jù)(0X9d)—數(shù)據(jù)(0x57)數(shù)據(jù)(0x3b)停止信號(hào)。
[0066]SPI主機(jī)接收4組數(shù)據(jù)。
[0067]數(shù)據(jù)(Oxab)數(shù)據(jù)(0x9d)數(shù)據(jù)(0x57)數(shù)據(jù)(0x3b)。
[0068]步驟S206,進(jìn)行芯片的在線編程。即在確定芯片進(jìn)入在線編程模式之后,上位機(jī)向芯片發(fā)送在線編程開(kāi)始指令,開(kāi)始對(duì)芯片進(jìn)行在線升級(jí)。具體而言,進(jìn)入在線編程模式之后,上位機(jī)只需要通過(guò)IIC或SPI格式發(fā)送芯片的可編程存儲(chǔ)器的讀寫(xiě)、擦除指令即可對(duì)芯片進(jìn)行重新燒寫(xiě)。
[0069]步驟S207,退出編程模式。當(dāng)燒寫(xiě)完成后,上位機(jī)向芯片發(fā)送在線編程結(jié)束指令,芯片在接收到該結(jié)束指令后,退出在線編程模式,轉(zhuǎn)至正常工作模式,即芯片在線升級(jí)完成。具體地從在線編程模式切換至正常工作模式的結(jié)束指令及其對(duì)應(yīng)值如圖4所示。
[0070]步驟S208,判斷芯片是否已退出在線編程模式。
[0071 ] 即發(fā)送完在線編程結(jié)束指令后20ms,芯片的ONLINE_STATE_ADDR寄存器值由0xab9d_573b 復(fù)位為 0x0。
[0072]此時(shí)上位機(jī)再次發(fā)送讀取芯片寄存器ONLINE_STATE_ADDR指令。如果已退出在線編程模式,則Iic回讀數(shù)據(jù)為0x0a75_58zz (zz為寫(xiě)入的回讀芯片寄存器0NLINE_STATE_ADDR和發(fā)送的前一組上位機(jī)發(fā)送的指令數(shù)據(jù)的第四個(gè)數(shù))、SPI回讀數(shù)據(jù)為0x5555_5555(程序可調(diào)),此時(shí)繼續(xù)執(zhí)行步驟S209 ;如果未退出在線編程模式,則回讀數(shù)據(jù)為0xab9d_573b,則需要重新發(fā)送退出指令,即返回執(zhí)行步驟S207。
[0073]步驟S209,正常工作模式。即在確認(rèn)芯片在線升級(jí)成功且退出在線編程模式之后,芯片切換至正常工作模式。
[0074]根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)方法,無(wú)需增加外加電路,且通信穩(wěn)定,能夠避免當(dāng)編程過(guò)程中遇到掉電等問(wèn)題時(shí)出現(xiàn)程序內(nèi)容丟失的現(xiàn)象,通過(guò)通信接口進(jìn)行在線編程,減少了芯片封裝管腳,能夠以較少的成本完成相對(duì)穩(wěn)定的編程環(huán)境,實(shí)現(xiàn)在線升級(jí)的目的。
[0075]圖5為根據(jù)本發(fā)明一個(gè)實(shí)施例的芯片的在線升級(jí)系統(tǒng)的結(jié)構(gòu)圖。
[0076]如圖5所示,根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)系統(tǒng)500,包括:上位機(jī)510和芯片520。
[0077]上位機(jī)510具有通信接口,且通過(guò)通信接口向芯片520發(fā)送在線編程啟動(dòng)指令,并在判斷芯片520切換至在線編程模式之后,通過(guò)通信接口向芯片520的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù),且上位機(jī)510接收芯片520返回的數(shù)據(jù),并判斷返回的數(shù)據(jù)是否為第二特定數(shù)據(jù),如果判斷為第二特定數(shù)據(jù),則上位機(jī)510通過(guò)通信接口向芯片520的可編程存儲(chǔ)器發(fā)送控制指令。[0078]具體而言,當(dāng)上位機(jī)510欲修改芯片520的程序時(shí),上位機(jī)510向芯片520發(fā)送在線編程啟動(dòng)指令,目的在于修改芯片520的寄存器。其中,在線編程指令由技術(shù)人員預(yù)先設(shè)定。通信接口包括:第一通信接口和/或第二通信接口,且第一通信接口為IIC接口,第二通信接口為接口。當(dāng)判定芯片520已切換至在線編程模式后,上位機(jī)510通過(guò)第一通信接口和第二通信接口向芯片520的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù)。其中,第一特定數(shù)據(jù)為但不限于特定的字符串,即握手指令,用于確定上位機(jī)510與芯片520之間的通信連接是否正常。在上位機(jī)510向芯片520的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù)后,芯片520向上位機(jī)510返回一個(gè)數(shù)據(jù),上位機(jī)510判斷該數(shù)據(jù)是否為第二特定數(shù)據(jù),并在上位機(jī)510判斷芯片520返回的數(shù)據(jù)為第二特定數(shù)據(jù)后,即確認(rèn)上位機(jī)510與芯片520之間的通信連接正常,則上位機(jī)510向芯片520發(fā)送在線編程開(kāi)始指令,并修改芯片的寄存器,然后向芯片520的可編程存儲(chǔ)器發(fā)送控制指令,對(duì)芯片520的程序進(jìn)行重新燒寫(xiě)。進(jìn)一步地,當(dāng)燒寫(xiě)完成后,上位機(jī)510向芯片520發(fā)送在線編程結(jié)束指令,并在芯片520接收到該在線編程結(jié)束指令后,修改芯片520的寄存器,使芯片520退出在線編程模式,并轉(zhuǎn)至正常模式。其中,第二特定數(shù)據(jù)為但不限于特定的字符串,即握手確認(rèn)命令,用于確認(rèn)上位機(jī)發(fā)出的握手指令,即第一特定數(shù)據(jù),從而確認(rèn)通信連接正常,即握手成功。控制命令即程序的讀寫(xiě)指令和擦除指令,且控制指令的格式為第一通信接口所使用的格式或第二通信接口所使用的格式,即IIC格式或SPI格式。
[0079]芯片520用于根據(jù)上位機(jī)510發(fā)送的在線編程啟動(dòng)指令從正常工作模式轉(zhuǎn)至在線編程模式。即在接收到上位機(jī)510發(fā)送的在線編程啟動(dòng)指令后,芯片520從正常的工作模式轉(zhuǎn)換至在線編程模式。進(jìn)一步地,在接收到在線編程啟動(dòng)指令后,芯片520向上位機(jī)510發(fā)送第三特定數(shù)據(jù)。其中,第三特定數(shù)據(jù)為但不限于特定的字符串,用于向上位機(jī)510確認(rèn)芯片520進(jìn)入在線編程模式。且在在線編程模式下,對(duì)芯片520的程序進(jìn)行重新燒寫(xiě)。
[0080]在上述示例中,當(dāng)欲改變芯片520的程序時(shí),上位機(jī)510向芯片520發(fā)送在線編程啟動(dòng)指令,在芯片520進(jìn)入在線編程模式后,接收上位機(jī)510發(fā)送的握手指令,并返回第二特定數(shù)據(jù),確認(rèn)握手成功,則上位機(jī)510向芯片520發(fā)送在線編程開(kāi)始指令,便可對(duì)芯片520的程序進(jìn)行擦除及重新燒寫(xiě),燒寫(xiě)完成后,芯片520接收上位機(jī)510發(fā)送的在線編程結(jié)束指令并退出在線編程模式,切換至正常工作模式。
[0081]根據(jù)本發(fā)明實(shí)施例的芯片的在線升級(jí)系統(tǒng),無(wú)需增加外加電路,且通信穩(wěn)定,能夠避免當(dāng)編程過(guò)程中遇到掉電等問(wèn)題時(shí)出現(xiàn)程序內(nèi)容丟失的現(xiàn)象,通過(guò)通信接口進(jìn)行在線編程,減少了芯片封裝管腳,能夠以較少的成本完成相對(duì)穩(wěn)定的編程環(huán)境,實(shí)現(xiàn)在線升級(jí)的目的。
[0082]在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
[0083]盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同限定。
【權(quán)利要求】
1.一種芯片的在線升級(jí)方法,其特征在于,包括以下步驟: 上位機(jī)通過(guò)通信接口向芯片發(fā)送在線編程啟動(dòng)指令; 所述芯片根據(jù)所述在線編程啟動(dòng)指令從正常工作模式切換至在線編程模式; 所述上位機(jī)在判斷所述芯片切換至所述在線編程模式之后,通過(guò)所述通信接口向所述芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù); 所述上位機(jī)接收所述芯片返回的數(shù)據(jù),并判斷所述返回的數(shù)據(jù)是否為第二特定數(shù)據(jù);以及 如果判斷為所述第二特定數(shù)據(jù),則所述上位機(jī)通過(guò)所述通信接口向所述可編程存儲(chǔ)器發(fā)送控制指令。
2.如權(quán)利要求1所述的芯片的在線升級(jí)方法,其特征在于,所述通信接口包括:第一通信接口和/或第二通信接口。
3.如權(quán)利要求2所述的芯片的在線升級(jí)方法,其特征在于,所述第一通信接口為IIC接口,所述第二通信接口為S PI接口。
4.如權(quán)利要求1所述的芯片的在線升級(jí)方法,其特征在于,所述判斷為所述第二特定數(shù)據(jù)之后,還包括: 所述上位機(jī)向所述芯片發(fā)送在線編程開(kāi)始指令; 所述芯片在接收到所述在線編程開(kāi)始指令之后,修改所述芯片的寄存器。
5.如權(quán)利要求1所述的芯片的在線升級(jí)方法,其特征在于,所述芯片在接收到所述在線編程啟動(dòng)指令之后,還包括: 所述芯片向所述上位機(jī)返回第三特定數(shù)據(jù)。
6.如權(quán)利要求1所述的芯片的在線升級(jí)方法,其特征在于,在所述上位機(jī)通過(guò)所述通信接口向所述可編程存儲(chǔ)器發(fā)送控制指令之后,還包括: 所述上位機(jī)向所述芯片發(fā)送在線編程結(jié)束指令; 所述芯片在接收到所述在線編程結(jié)束指令之后,修改所述芯片的寄存器。
7.如權(quán)利要求1-6任一項(xiàng)所述的芯片的在線升級(jí)方法,其特征在于,所述控制指令的格式為所述第一通信接口所使用的格式或所述第二通信接口所使用的格式。
8.—種芯片的在線升級(jí)系統(tǒng),其特征在于,包括:上位機(jī)和芯片,其中,所述上位機(jī)具有通信接口,所述上位機(jī)通過(guò)所述通信接口向所述芯片發(fā)送在線編程啟動(dòng)指令,并在判斷所述芯片切換至所述在線編程模式之后,通過(guò)所述通信接口向所述芯片的可編程存儲(chǔ)器中寫(xiě)入第一特定數(shù)據(jù),所述上位機(jī)接收所述芯片返回的數(shù)據(jù),并判斷所述返回的數(shù)據(jù)是否為第二特定數(shù)據(jù);以及如果判斷為所述第二特定數(shù)據(jù),則所述上位機(jī)通過(guò)所述通信接口向所述可編程存儲(chǔ)器發(fā)送控制指令; 所述芯片根據(jù)所述在線編程啟動(dòng)指令從正常工作模式切換至在線編程模式。
9.如權(quán)利要求8所述的芯片的在線升級(jí)系統(tǒng),其特征在于,所述通訊接口包括:第一通信接口和/或第二通信接口。
10.如權(quán)利要求9所述的芯片的在線升級(jí)系統(tǒng),其特征在于,所述第一通信接口為IIC接口,所述第二通信接口為SPI接口。
11.如權(quán)利要求8所述的芯片的在線升級(jí)系統(tǒng),其特征在于,在所述判斷為第二特定數(shù)據(jù)之后,所述上位機(jī)還用于:向所述芯片發(fā)送在線編程開(kāi)始指令; 并在所述芯片接收到所述在線編程開(kāi)始指令之后,修改所述芯片的寄存器。
12.如權(quán)利要求8所述的芯片的在線升級(jí)系統(tǒng),其特征在于,所述芯片還用于在接收到所述在線編程啟動(dòng)指令之后,向所述上位機(jī)返回第三特定數(shù)據(jù)。
13.如權(quán)利要求8所述的芯片的在線升級(jí)系統(tǒng),其特征在于,在所述上位機(jī)通過(guò)所述通信接口向所述可編程存儲(chǔ)器發(fā)送控制指令之后,所述上位機(jī)還用于: 向所述芯片發(fā)送在線編程結(jié)束指令; 并在所述芯片在接收到所述在線編程結(jié)束指令之后,修改所述芯片的寄存器。
14.如權(quán)利要求8-13任一項(xiàng)所述的芯片的在線升級(jí)系統(tǒng),其特征在于,所述控制指令的格式為所述第一通信接口所使用的格式或所述第二通信接口所使用的格式。
【文檔編號(hào)】G06F9/445GK103914308SQ201210591521
【公開(kāi)日】2014年7月9日 申請(qǐng)日期:2012年12月31日 優(yōu)先權(quán)日:2012年12月31日
【發(fā)明者】劉夏萌, 李黎, 楊云 申請(qǐng)人:比亞迪股份有限公司