專利名稱:一種安全的聯(lián)機(jī)/脫機(jī)兩用編程工具的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及一種編程工具,尤其涉及一種具有更高安全性的 聯(lián)機(jī)/脫機(jī)兩用的編程工具。
技術(shù)背景編程工具是一種用來(lái)給目標(biāo)芯片燒寫(xiě)固件代碼的硬件工具,在編 程工具上設(shè)置目標(biāo)芯片的編程座,當(dāng)把目標(biāo)芯片裝設(shè)在該編程座上 后,便可以利用編程工具將編程固件代碼燒寫(xiě)在目標(biāo)芯片中了。利用編程工具對(duì)目標(biāo)芯片進(jìn)行編程的方法通常分為聯(lián)機(jī)編程(即 在線編程)和脫機(jī)編程(即離線編程)兩種方法聯(lián)機(jī)編程方法就是 使用上層軟件在計(jì)算機(jī)端控制編程工具,對(duì)芯片進(jìn)行編程,這是最常 用的方法,大家都比較熟悉;而脫機(jī)編程方法就是不使用計(jì)算機(jī),直 接使用編程工具對(duì)芯片進(jìn)行編程的方法,具體的說(shuō)是先將要編程的固 件代碼通過(guò)計(jì)算機(jī)相應(yīng)接口下載到編程工具中,然后直接使用編程工 具對(duì)芯片進(jìn)行編程。就目前一般脫機(jī)編程方式的編程工具來(lái)說(shuō),核心器件包括一個(gè)微 控制芯片,用來(lái)存儲(chǔ)編程工具自身的固件代碼,以進(jìn)行控制和實(shí)現(xiàn)編 程操作,還包括一片外存儲(chǔ)器(一般采用EPROM或EEPROM), 一 般被編程固件代碼會(huì)被下載保存在該片外存儲(chǔ)器上。所以,目前的這 種可以實(shí)現(xiàn)脫機(jī)編程的編程工具在安全上存在一定的風(fēng)險(xiǎn),即很容易 將片外存儲(chǔ)器中保存的編程固件代碼讀出,即使在保存時(shí)經(jīng)過(guò)算法加 密處理,也很容易被破解,不夠安全。 實(shí)用新型內(nèi)容本實(shí)用新型旨在解決現(xiàn)有編程工具存在的安全隱患,提供一種將
要編程的固件代碼和編程工具自身的固件代碼保存在同一芯片中的 更為安全可靠的聯(lián)機(jī)/脫機(jī)兩用編程工具。本實(shí)用新型的安全的聯(lián)機(jī)/脫機(jī)兩用編程工具,包括(1)設(shè)置 了自身固件代碼保存單元的微控制器芯片,其中保存有用以控制和實(shí) 現(xiàn)對(duì)目標(biāo)芯片進(jìn)行編程操作的編程工具自身固件代碼(2)與所述微 控制器芯片相連的通信接口,用以將所述編程工具連接到計(jì)算機(jī)(3) 與所述微控制器芯片相連的狀態(tài)指示模塊,指示當(dāng)前編程工具及其電 源的工作狀態(tài)(4)與所述微控制器芯片、通信接口和編程座連接的 電源回路,為所述編程工具提供電源管理(5)與所述微控制器芯片 相連的脫機(jī)編程啟動(dòng)裝置,用以啟動(dòng)脫機(jī)編程操作;特別的,本實(shí)用新型中的微控制器芯片中還包括編程固件代碼保 存單元,用于存儲(chǔ)通過(guò)所述通信接口下載到所述編程工具中的編程固 件代碼。所述通信接口可采用USB通信接口 、串口通信接口或并口通信 接口。所述脫機(jī)編程啟動(dòng)裝置可采用按鍵裝置或開(kāi)關(guān)裝置。 與現(xiàn)有技術(shù)相比,本實(shí)用新型的有益效果是本實(shí)用新型提供的 安全的聯(lián)機(jī)/脫機(jī)兩用編程工具,將被編程的固件代碼由現(xiàn)有編程工 具中的保存在片外存儲(chǔ)器改為保存在編程工具自身的微控制芯片中, 使其不容易被讀出,從而大大提高了被編程固件代碼的安全性。
圖1是本實(shí)用新型所述的聯(lián)機(jī)/脫機(jī)兩用編程工具結(jié)構(gòu)圖;圖2是本實(shí)用新型所述的聯(lián)機(jī)/脫機(jī)兩用編程工具的一種優(yōu)選電路連接圖。
具體實(shí)施方式
以下結(jié)合附圖和具體實(shí)施例對(duì)本實(shí)用新型進(jìn)行更詳細(xì)的描述。
圖1是本實(shí)用新型所述的聯(lián)機(jī)/脫機(jī)兩用編程工具結(jié)構(gòu)圖。參考 圖l,本實(shí)用新型所述的安全的聯(lián)機(jī)/脫機(jī)兩用編程工具100,包括(1) 微控制器芯片102,包括自身固件代碼保存單元1021,其 中保存有編程工具100自身固件代碼,用以控制和實(shí)現(xiàn)對(duì)目標(biāo)芯片進(jìn) 行編程操作;還包括編程固件代碼保存單元1022,用來(lái)存儲(chǔ)下載到 編程工具100中的編程固件代碼,這樣將編程固件代碼和編程工具 100的自身固件代碼共同保存在微控制器芯片102中,有效防止了編 程固件代碼被輕易讀出,增加了其安全性;(2) 通信接口 101,與微控制器芯片102相連,將編程工具100 連接到計(jì)算機(jī)107,這里的通信接口 101可以采用USB通信接口、 串口通信接口或并口通信接口;(3) 編程座103,用以裝設(shè)目標(biāo)芯片;(4) 狀態(tài)指示模塊106,與微控制器芯片102相連,用以指示 當(dāng)前編程工具及其電源的工作狀態(tài), 一般用指示燈和蜂鳴器來(lái)顯示工 作狀態(tài);(5) 脫機(jī)編程啟動(dòng)裝置105,與微控制器芯片102相連,用以 啟動(dòng)脫機(jī)編程操作;脫機(jī)編程啟動(dòng)裝置105可以采用按鍵裝置或開(kāi)關(guān) 裝置;(6) 電源回路104,與微控制器芯片102、通信接口 101和編程 座103相連接,當(dāng)采用聯(lián)機(jī)方式工作時(shí),編程工具100通過(guò)通信接口 IOI得到供電,當(dāng)采用脫機(jī)方式工作時(shí),編程工具100通過(guò)電源回路 104中的電源接口連接外接電源得到供電,為編程工具IOO提供電源 管理。圖2是本實(shí)用新型所述的聯(lián)機(jī)/脫機(jī)兩用編程工具的一種優(yōu)選電 路連接圖。參考圖2,在編程工具200的電路板上的核心器件包括 微控制芯片202(選用MOTOROLA公司的68HC卯8JB16芯片),USB
通信接口201、編程座203、電源電路205、電源接口 206、按鍵204、 蜂鳴器207、編程指示燈208和電源指示燈209。采用聯(lián)機(jī)方式對(duì)目標(biāo)芯片燒寫(xiě)代碼時(shí)的工作流程是首先將目標(biāo) 芯片裝設(shè)在編程座203上,再將編程工具200通過(guò)USB通信接口 201 與計(jì)算機(jī)210連接,此時(shí)電源指示燈209點(diǎn)亮,計(jì)算機(jī)210會(huì)通過(guò) USB通信接口 201向編程工具200的微控制芯片202發(fā)出一個(gè)命令 信息,要求微控制芯片202檢査目前所要燒寫(xiě)的目標(biāo)芯片的型號(hào);此 時(shí)微控制芯片202檢査裝設(shè)在編程座203上的目標(biāo)芯片的型號(hào)后,將 型號(hào)信息通過(guò)USB通信接口 201回傳給計(jì)算機(jī)210,例如微控制芯 片202讀取到的目標(biāo)芯片的型號(hào)為ATMEL 89C51,則微控制芯片202 便會(huì)向計(jì)算機(jī)210回傳該名稱,計(jì)算機(jī)210判斷編程座203上的芯片 型號(hào)是否為有效芯片,如果是可以利用該編程工具200進(jìn)行燒寫(xiě)的芯 片型號(hào),便可以對(duì)其進(jìn)行編程,如果不是有效芯片則報(bào)錯(cuò),此時(shí)蜂鳴 器207會(huì)響;如果沒(méi)有任何芯片裝設(shè)在編程座203上,便會(huì)回傳給計(jì) 算機(jī)210—個(gè)沒(méi)有任何芯片的信號(hào),此時(shí)蜂鳴器207也會(huì)響;在辨識(shí) 確認(rèn)出目標(biāo)芯片的型號(hào)為有效后,便可使用上層軟件在計(jì)算機(jī)210上 控制編程工具200,通過(guò)USB通信接口 201將與目標(biāo)芯片相對(duì)應(yīng)的 編程固件代碼在微控制芯片202的控制下直接燒寫(xiě)在裝設(shè)在編程座 203上的目標(biāo)芯片中。編程過(guò)程中,編程指示燈208點(diǎn)亮,表示此時(shí) 編程工具200處于編程狀態(tài),如果編程操作中出現(xiàn)問(wèn)題,則蜂鳴器 207便會(huì)鳴叫報(bào)錯(cuò);采用聯(lián)機(jī)方式對(duì)目標(biāo)芯片燒寫(xiě)代碼的整個(gè)過(guò)程中, 都是通過(guò)USB通信接口 201對(duì)編程工具200進(jìn)行供電。采用脫機(jī)方式對(duì)目標(biāo)芯片燒寫(xiě)代碼時(shí)的工作流程是首先將編程 工具200通過(guò)USB通信接口 201與計(jì)算機(jī)210連接,點(diǎn)亮電源指示 燈209,計(jì)算機(jī)210便會(huì)將與目標(biāo)芯片相對(duì)應(yīng)的編程固件代碼通過(guò) USB通信接口 201下載到編程工具200上的微控制芯片202中保存,
之后便可以斷開(kāi)與計(jì)算機(jī)端210連接的USB通信接口 201,此時(shí)電 源指示燈209熄滅;當(dāng)需要對(duì)目標(biāo)芯片燒寫(xiě)時(shí),先將目標(biāo)芯片裝設(shè)在 編程座203上,再將電源線接到電源接口 206上,利用內(nèi)部電源電路 205為微控制芯片202、編程座203進(jìn)行供電,電源指示燈209點(diǎn)亮; 然后按動(dòng)按鍵204啟動(dòng)脫機(jī)編程的動(dòng)作,此時(shí)微控制芯片202通過(guò)檢 測(cè)其中某個(gè)I/0管腳(如1/00)的電平狀態(tài),判斷按鍵204是否被按 下,平時(shí)該I/O0管腳處于低電平狀態(tài),當(dāng)按鍵被按下時(shí),該I/O0管 腳便會(huì)處于高電平狀態(tài),當(dāng)按鍵204被放開(kāi)后,該I/O0管腳又會(huì)恢 復(fù)到低電平狀態(tài),完成一次按鍵按下的動(dòng)作;微控制芯片202檢査裝 設(shè)在編程座203上的目標(biāo)芯片的型號(hào),并判斷編程座203上的芯片型 號(hào)是否為有效芯片,如果是可以利用編程工具200進(jìn)行燒寫(xiě)的芯片型 號(hào),便可以對(duì)其進(jìn)行編程;如果不是有效芯片,則蜂鳴器207報(bào)錯(cuò); 如果沒(méi)有任何芯片裝設(shè)在編程座203上,蜂鳴器207也會(huì)報(bào)錯(cuò);在辨 識(shí)確認(rèn)目標(biāo)芯片型號(hào)為有效后,保存在微控制芯片202中的編程固件 代碼便被燒寫(xiě)到裝設(shè)在編程座203上的目標(biāo)芯片中,完成對(duì)目標(biāo)芯片 的程序燒寫(xiě);在編程過(guò)程中,編程指示燈208點(diǎn)亮,表示此時(shí)編程工 具200處于編程狀態(tài),如果編程操作中出現(xiàn)問(wèn)題,則蜂鳴器207會(huì)鳴 叫報(bào)錯(cuò);在整個(gè)脫機(jī)方式下對(duì)目標(biāo)芯片燒寫(xiě)程序代碼的過(guò)程中都是由 外接電源通過(guò)電源接口 206進(jìn)行供電。本實(shí)施例中,微控制芯片68HC908JB16共有16KB FLASH存儲(chǔ) 空間,分配方式是將其中的8KB存儲(chǔ)空間用來(lái)保存編程工具自身固 件程序代碼,另外的8KB存儲(chǔ)空間用來(lái)存放在脫機(jī)編程方式下保存 編程固件程序。實(shí)際應(yīng)用中對(duì)于存儲(chǔ)空間的分配可以根據(jù)具體需要進(jìn) 行調(diào)整。本實(shí)施例中,脫機(jī)編程啟動(dòng)裝置采用的是按鍵實(shí)現(xiàn)的,當(dāng)然,也 可以采用開(kāi)關(guān)裝置來(lái)實(shí)現(xiàn)對(duì)脫機(jī)編程動(dòng)作的啟動(dòng)。
本實(shí)施例中,由于目標(biāo)芯片的編程固件代碼是下載到編程工具上的微控制芯片68HC908JB16中進(jìn)行保存的,所以相對(duì)目前通用的保 存在片外存儲(chǔ)器件的方式來(lái)說(shuō),更加不容易被讀出,提高了安全性。 以上所述實(shí)施方式僅為本實(shí)用新型的優(yōu)選實(shí)施例,本實(shí)用新型不 限于上述實(shí)施例,對(duì)于本領(lǐng)域一般技術(shù)人員而言,在不背離本實(shí)用新 型原理的前提下對(duì)它所做的任何顯而易見(jiàn)的改動(dòng),都屬于本實(shí)用新型 的構(gòu)思和所附權(quán)利要求的保護(hù)范圍。
權(quán)利要求1.一種安全的聯(lián)機(jī)/脫機(jī)兩用編程工具,其特征在于包括(1)設(shè)置了自身固件代碼保存單元的微控制器芯片,其中保存有用以控制和實(shí)現(xiàn)對(duì)目標(biāo)芯片進(jìn)行編程操作的編程工具自身固件代碼(2)與所述微控制器芯片相連的通信接口,用以將所述編程工具連接到計(jì)算機(jī)(3)與所述微控制器芯片相連的狀態(tài)指示模塊,指示當(dāng)前編程工具及其電源的工作狀態(tài)(4)與所述微控制器芯片、通信接口和編程座連接的電源回路,為所述編程工具提供電源管理(5)與所述微控制器芯片相連的脫機(jī)編程啟動(dòng)裝置,用以啟動(dòng)脫機(jī)編程操作,其特征在于所述微控制器芯片中還包括編程固件代碼保存單元,用于存儲(chǔ)通過(guò)所述通信接口下載到所述編程工具中的編程固件代碼。
2. 根據(jù)權(quán)利要求1所述的安全的聯(lián)機(jī)/脫機(jī)兩用編程工具,其特 征在于所述通信接口可采用USB通信接口、串口通信接口或并口 通信接口。
3. 根據(jù)權(quán)利要求1所述的安全的聯(lián)機(jī)/脫機(jī)兩用編程工具,其特 征在于所述脫機(jī)編程啟動(dòng)裝置可采用按鍵裝置或開(kāi)關(guān)裝置。
專利摘要本實(shí)用新型公開(kāi)了一種安全的聯(lián)機(jī)/脫機(jī)兩用編程工具,除了包括設(shè)置了自身固件代碼保存單元的微控制器芯片、通信接口、狀態(tài)指示模塊、電源回路和脫機(jī)編程啟動(dòng)裝置以外,還在微控制器芯片中設(shè)置了編程固件代碼保存單元,用于存儲(chǔ)下載到所述編程工具中的編程固件代碼。由于本實(shí)用新型將被編程固件代碼保存在編程工具的微控制芯片中,使其不容易被讀出,較現(xiàn)有編程工具利用片外存儲(chǔ)器保存被編程固件代碼的方式有了更高的安全性。
文檔編號(hào)G06F9/44GK201035558SQ20072010358
公開(kāi)日2008年3月12日 申請(qǐng)日期2007年2月12日 優(yōu)先權(quán)日2007年2月12日
發(fā)明者于華章, 舟 陸 申請(qǐng)人:北京飛天誠(chéng)信科技有限公司