專利名稱:計(jì)算機(jī)內(nèi)置程序的更新方式的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種由一臺(tái)計(jì)算機(jī)向另一臺(tái)計(jì)算機(jī)傳輸數(shù)據(jù)的方法,具體是將計(jì)算機(jī)內(nèi)置程序更新的方式。
將計(jì)算機(jī)或計(jì)算機(jī)終端內(nèi)置系統(tǒng)監(jiān)控程序更新版本,一般都是由人工操作,先打開(kāi)機(jī)器,把監(jiān)控芯片取出來(lái),用芯片填寫器在芯片中重新填寫新版本監(jiān)控程序,將芯片燒好后,再把該監(jiān)控芯片插入機(jī)器中,將機(jī)器裝起來(lái)。整個(gè)過(guò)程耗費(fèi)時(shí)間長(zhǎng),操作非常麻煩,工作效率低。
本發(fā)明的目的在于提供一種工作效率高、操作簡(jiǎn)單的計(jì)算機(jī)內(nèi)置程序更新方式,可將兩臺(tái)計(jì)算機(jī)相聯(lián)而直接實(shí)現(xiàn)計(jì)算機(jī)內(nèi)置程序的更新。
本發(fā)明的技術(shù)方案如下本發(fā)明是一種計(jì)算機(jī)內(nèi)置程序的更新方式,該計(jì)算機(jī)作為終端,其內(nèi)部含有可進(jìn)行寫操作并存有待更新程序之存儲(chǔ)器,以該計(jì)算機(jī)作為從設(shè)備,從另一主計(jì)算機(jī)中下載更新程序,并將更新程序?qū)懭肫鋬?nèi)置程序存儲(chǔ)器。采用本發(fā)明之更新方式,從設(shè)備無(wú)需打開(kāi),直接從主計(jì)算機(jī)下載即可,而主計(jì)算機(jī)可通過(guò)遠(yuǎn)程下載或E-Mail方式接收程序更新工具或新版本程序,由從設(shè)備作本地下載,以更新軟件版本。
從計(jì)算機(jī)之系統(tǒng)監(jiān)控芯片采用FLASH MEMORY芯片。
從設(shè)備與主計(jì)算機(jī)之間采用串行通信方式或并行通信方式。采用串行通信方式,則用標(biāo)準(zhǔn)的串口通信電纜連接從設(shè)備與主計(jì)算機(jī),從設(shè)備采用查詢方式從串口獲取數(shù)據(jù)。標(biāo)準(zhǔn)的串口通信電纜之默認(rèn)條件如下通信口------主串口(從設(shè)備) 數(shù)據(jù)位------8BIT通信波特率------115200BPS(主機(jī)可通過(guò)設(shè)置來(lái)適用從設(shè)備)停止位------1BIT協(xié)議------None校驗(yàn)------None采用并行通信方式,其并行通信電纜連線方式為25芯針式插頭----------25芯針式插頭Pin2(PD0)------>Pin15(ERROR) Pin3(PD1)------>Pin13(SLCT)Pin4(PD2)------->Pin12(PE) Pin5(PD3)------>Pin10(ACK\)Pin6(PD4)------>Pin11(BUSY) Pin15(ERROR)<------Pin2(PD0)Pin13(SLCT)<------Pin3(PD1) Pin12(PE)<-------Pin4(PD2)Pin10(ACK\)<-------Pin5(PD3) Pin11(BUSY)<-------Pin6(PD4)Pin25(GND)<-------Pin25(GND)
采用并行通信方式時(shí),主計(jì)算機(jī)與從設(shè)備之間的初始電平握手協(xié)議為(1)主計(jì)算機(jī)將打印數(shù)據(jù)端口(PD0~PD4)置為高,等待1/18.2秒,再置為低,等待1/18.2秒,如此循環(huán),并不斷檢測(cè)從設(shè)備反應(yīng);(2)從設(shè)備判斷主計(jì)算機(jī)打印數(shù)據(jù)端口(PD0~PD4)從高往低跳變,并在1/18.2秒內(nèi)又從低往高跳變,進(jìn)入握手協(xié)議過(guò)程,將數(shù)據(jù)55、AA、00、FF每隔2ms以上送打印數(shù)據(jù)端口;(3)主計(jì)算機(jī)在判斷從設(shè)備打印數(shù)據(jù)從55、AA、00、FF變化后,停止數(shù)據(jù)線的高、低循環(huán)變化,將打印數(shù)據(jù)端口(PD0~PD4)置為高,完成電平協(xié)議的握手。
采用并行通信方式時(shí),主計(jì)算機(jī)向從設(shè)備發(fā)送數(shù)據(jù)的底層協(xié)議過(guò)程為(1)主計(jì)算機(jī)主計(jì)算機(jī)將需要發(fā)送的數(shù)據(jù)低位D0~D3送入PD1~PD4,判斷ERROR信號(hào)端為高,將本身的PD0置低,等待從設(shè)備取數(shù)據(jù);(2)從設(shè)備判斷ERROR信號(hào)端為低,得知主計(jì)算機(jī)向從設(shè)備發(fā)送數(shù)據(jù),將數(shù)據(jù)低位D0~D3獲取(對(duì)應(yīng)從設(shè)備的打印狀態(tài)信號(hào)Slet,Pe,ACK,Busy),將自身PD0置低,告訴主計(jì)算機(jī)已取走數(shù)據(jù)低位,可接受數(shù)據(jù)高位;(3)主計(jì)算機(jī)當(dāng)主計(jì)算機(jī)判斷ERROR信號(hào)端為低時(shí),得知從設(shè)備已將數(shù)據(jù)低位取走,主計(jì)算機(jī)將數(shù)據(jù)高位D4~D7送入PD1~PD4,將本身的PD0置高,等待從設(shè)備取數(shù)據(jù)高位;(4)從設(shè)備判斷ERROR信號(hào)端高,得知主計(jì)算機(jī)向從設(shè)備發(fā)送數(shù)據(jù)高位,將數(shù)據(jù)高位D4~D7獲取(對(duì)應(yīng)從設(shè)備的打印狀態(tài)信號(hào)Slet,Pe,ACK,Busy),將自身PD0置高,告訴主計(jì)算機(jī)已取走數(shù)據(jù)高位;(5)主計(jì)算機(jī)當(dāng)主計(jì)算機(jī)判斷ERROR信號(hào)端為高時(shí),得知從設(shè)備已將數(shù)據(jù)高位取走,將主計(jì)算機(jī)打印數(shù)據(jù)PD1~PD4取反,告訴從設(shè)備主計(jì)算機(jī)已完成發(fā)送,主計(jì)算機(jī)恢復(fù)初始狀態(tài);(6)從設(shè)備判斷主計(jì)算機(jī)打印數(shù)據(jù)端PD1~PD4已變化,得知主計(jì)算機(jī)已完成發(fā)送,恢復(fù)初始狀態(tài)。
采用并行通信方式時(shí),從設(shè)備向主計(jì)算機(jī)發(fā)送數(shù)據(jù)的底層協(xié)議過(guò)程為(1)從設(shè)備從設(shè)備將需要發(fā)送的數(shù)據(jù)低位D0~D3送入PD1~PD4,判斷ERROR信號(hào)端為高,將本身的PD0置低,等待主計(jì)算機(jī)取數(shù)據(jù);(2)主計(jì)算機(jī)判斷ERROR信號(hào)端為低,得知從設(shè)備向主計(jì)算機(jī)發(fā)送數(shù)據(jù),將數(shù)據(jù)低位D0~D3獲取(對(duì)應(yīng)主計(jì)算機(jī)的打印狀態(tài)信號(hào)Slet,Pe,ACK,Busy),將自身PD0置低,告訴從設(shè)備已取走數(shù)據(jù)低位,可接受數(shù)據(jù)高位;(3)從設(shè)備當(dāng)從設(shè)備判別到ERROR信號(hào)為低時(shí),得知主計(jì)算機(jī)已將數(shù)據(jù)低位取走,從設(shè)備將數(shù)據(jù)高位D4~D7送入PD1~PD4,將本身的PD0置高,等待主計(jì)算機(jī)取數(shù)據(jù)高位;(4)主計(jì)算機(jī)判斷ERROR信號(hào)為高,得知從設(shè)備向主計(jì)算機(jī)發(fā)送數(shù)據(jù)高位,將數(shù)據(jù)高位D4~D7獲取,將自身PD0置高,告訴從設(shè)備已取走數(shù)據(jù)高位;(5)從設(shè)備當(dāng)從設(shè)備判別到ERROR信號(hào)為高時(shí),得知主計(jì)算機(jī)已將數(shù)據(jù)高位取走,從設(shè)備恢復(fù)初始狀態(tài)。
由于打印電纜上存在干擾,主計(jì)算機(jī)和從設(shè)備在判斷對(duì)方信號(hào)時(shí),必須判斷兩次以上。由于主計(jì)算機(jī)在Windows環(huán)境時(shí)可能被操作系統(tǒng)中斷,所以主計(jì)算機(jī)向終端發(fā)送數(shù)據(jù),從設(shè)備要多判一種狀態(tài)。
本發(fā)明之計(jì)算機(jī)內(nèi)置程序更新方式工作效率高,操作簡(jiǎn)單,可將兩臺(tái)計(jì)算機(jī)相聯(lián)而直接實(shí)現(xiàn)計(jì)算機(jī)內(nèi)置程序的更新。本發(fā)明不僅給開(kāi)發(fā)、技術(shù)支持人員帶來(lái)了許多便利,節(jié)省了大量燒芯片的時(shí)間,同時(shí),也節(jié)省了大量的人力、物力和財(cái)力。
以下結(jié)合實(shí)施例進(jìn)一步說(shuō)明本發(fā)明。
一、建立連接的握手過(guò)程1、主計(jì)算機(jī)運(yùn)行下載程序Download;2、從設(shè)備開(kāi)機(jī)或運(yùn)行下載程序;3、對(duì)于并口要建立物理連接,如果用MODEM下載則從設(shè)備(或主計(jì)算機(jī))撥號(hào)建立連接;4、從設(shè)備發(fā)11H到主計(jì)算機(jī);5、從設(shè)備定時(shí)1秒等待主計(jì)算機(jī)回應(yīng)9DH,無(wú)回應(yīng)則正常啟動(dòng)(主計(jì)算機(jī)發(fā)9DH到從設(shè)備);6、從設(shè)備發(fā)1AH到主計(jì)算機(jī)表示第一套協(xié)議,發(fā)1BH到主計(jì)算機(jī)表示第二套協(xié)議;7、從設(shè)備定時(shí)1秒等待主計(jì)算機(jī)回應(yīng)1CH,無(wú)回應(yīng)則正常啟動(dòng)(主計(jì)算機(jī)發(fā)1CH到從設(shè)備);8、如為第一套協(xié)議則轉(zhuǎn)下載過(guò)程I,如為第二套協(xié)議則繼續(xù);9、從設(shè)備向主計(jì)算機(jī)發(fā)送“協(xié)議包”的信息,包括
長(zhǎng)度(所有數(shù)據(jù)個(gè)數(shù)且包括長(zhǎng)度本身)、協(xié)議類型、包的大小(以8字節(jié)為單位、0表示256)、異或和(前面所有字節(jié));協(xié)議類型0主計(jì)算機(jī)來(lái)的數(shù)據(jù)為準(zhǔn);1協(xié)議I(適應(yīng)新的GW600M)具體格式為3字節(jié)(長(zhǎng)度)、1(協(xié)議類型)、包大小、異或和2協(xié)議II(適應(yīng)971和EFT-POS)具體格式為8(長(zhǎng)度)、2(協(xié)議類型)、包大小、模塊號(hào)、版本號(hào)、起始包號(hào)(低高字節(jié))、異或和;10、如果從設(shè)備發(fā)的協(xié)議類型為0,則主計(jì)算機(jī)繼續(xù)向從設(shè)備發(fā)“協(xié)議包”格式同“步驟9中從設(shè)備向主計(jì)算機(jī)發(fā)的包信息”,轉(zhuǎn)下載過(guò)程II。
其中“協(xié)議包”中各參數(shù)的含義,根據(jù)應(yīng)用程序來(lái)確定其具體含義。
二、下載過(guò)程I1、主計(jì)算機(jī)發(fā)送256個(gè)字節(jié)及256個(gè)字節(jié)的相加和給從設(shè)備;2、從設(shè)備把接收到的代碼相加和同內(nèi)部計(jì)算的代碼相加和相比較,正確則轉(zhuǎn)步驟4;3、從設(shè)備發(fā)1BH給主計(jì)算機(jī),請(qǐng)求主計(jì)算機(jī)重新發(fā)送,轉(zhuǎn)步驟1;4、從設(shè)備寫其內(nèi)部FLASH MEMORY存儲(chǔ)器,寫操作穩(wěn)定后,寫入的256個(gè)字節(jié)與接收字節(jié)比較,如相同則轉(zhuǎn)步驟7;5、重寫一遍,如寫正確則轉(zhuǎn)步驟7;6、從設(shè)備發(fā)1CH到主計(jì)算機(jī),通知主計(jì)算機(jī)FLASHROM寫錯(cuò),從設(shè)備停機(jī);7、下載是否完成?完成則轉(zhuǎn)步驟9;8、從設(shè)備發(fā)1AH到主計(jì)算機(jī),轉(zhuǎn)步驟1,繼續(xù)下一個(gè)包的下載;9、從設(shè)備發(fā)1DH到主計(jì)算機(jī),使能FLASHROM寫保護(hù),跳轉(zhuǎn)正常啟動(dòng)。
三、下載過(guò)程II1、主計(jì)算機(jī)發(fā)送一個(gè)包(起始包和每個(gè)包的長(zhǎng)度有“協(xié)議包”來(lái)確定)給從設(shè)備,包的格式為
01H(繼續(xù))包的內(nèi)容包的異或和(字節(jié))包的相加和(字節(jié));1DH結(jié)束轉(zhuǎn)步驟51FH強(qiáng)行中斷,主計(jì)算機(jī)停止下載。
2、從設(shè)備把接收到的包內(nèi)容異或和、包內(nèi)容相加和同內(nèi)部計(jì)算的包內(nèi)容異或和、包內(nèi)容相加和相比較,不正確則發(fā)1BH給主計(jì)算機(jī),轉(zhuǎn)步驟6。
3、從設(shè)備寫FLASH MEMORY,寫操作穩(wěn)定完成后,寫入的字節(jié)與接收字節(jié)比較,如相同發(fā)1AH給主計(jì)算機(jī),轉(zhuǎn)步驟6。
4、重寫一遍,寫錯(cuò)則從設(shè)備發(fā)1CH給主計(jì)算機(jī),且從設(shè)備停機(jī)轉(zhuǎn)步驟6。
5、下載完成則發(fā)送1DH給主計(jì)算機(jī),使能FLASHROM寫保護(hù),跳轉(zhuǎn)正常啟動(dòng)。
6、主計(jì)算機(jī)定時(shí)10秒等待從設(shè)備發(fā)回應(yīng)碼到主計(jì)算機(jī),如超時(shí)則報(bào)錯(cuò),退出下載。
收到回應(yīng)碼后按下表做不同處理發(fā)碼意義從設(shè)備----1AH---->主計(jì)算機(jī)要求繼續(xù)發(fā)送包,轉(zhuǎn)步驟1從設(shè)備----1BH---->主計(jì)算機(jī)通信錯(cuò),要求主計(jì)算機(jī)重發(fā),轉(zhuǎn)步驟1從設(shè)備----1CH---->主計(jì)算機(jī)二次寫錯(cuò),系統(tǒng)報(bào)錯(cuò),停止下載從設(shè)備----1EH---->主計(jì)算機(jī)再延時(shí)10秒(對(duì)于報(bào)錯(cuò))從設(shè)備----1DH---->主計(jì)算機(jī)停止下載本發(fā)明之程序終端下載功能,不但可用于DOS操作系統(tǒng)下的下載,也可在XENIX、UNIX等多用戶操作系統(tǒng)下,同樣可實(shí)現(xiàn)其下載功能。
權(quán)利要求
1.一種計(jì)算機(jī)內(nèi)置程序的更新方式,該計(jì)算機(jī)內(nèi)含有可進(jìn)行寫操作并存有待更新程序之存儲(chǔ)器,其特征在于該計(jì)算機(jī)作為從設(shè)備,從另一主計(jì)算機(jī)中下載更新程序,并將更新程序?qū)懭肫鋬?nèi)置程序存儲(chǔ)器。
2.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)內(nèi)置程序的更新方式,其特征在于從設(shè)備與主計(jì)算機(jī)之間采用串行通信方式或并行通信方式。
3.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)內(nèi)置程序的更新方式,其特征在于采用并行通信方式時(shí),主計(jì)算機(jī)與從設(shè)備之間的初始電平握手協(xié)議過(guò)程為(1)主計(jì)算機(jī)將打印數(shù)據(jù)端口(PD0~PD4)置為高,等待,再置為低,等待,如此循環(huán),并不斷檢測(cè)從設(shè)備反應(yīng);(2)從設(shè)備判斷主計(jì)算機(jī)打印數(shù)據(jù)端口(PD0~PD4)從高往低跳變、又從低往高跳變,進(jìn)入握手協(xié)議過(guò)程,將數(shù)據(jù)55、AA、00、FF每隔2ms以上送打印數(shù)據(jù)端口;(3)主計(jì)算機(jī)在判斷從設(shè)備打印數(shù)據(jù)從55、AA、00、FF變化后,停止數(shù)據(jù)線的高、低循環(huán)變化,將打印數(shù)據(jù)端口(PD0~PD4)置為高,完成電平協(xié)議的握手。
4.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)內(nèi)置程序的更新方式,其特征在于采用并行通信方式時(shí),主計(jì)算機(jī)向從設(shè)備發(fā)送數(shù)據(jù)的底層協(xié)議過(guò)程為(1)主計(jì)算機(jī)主計(jì)算機(jī)將需要發(fā)送的數(shù)據(jù)低位D0~D3送入PD1~PD4,判斷ERROR信號(hào)端為高,將本身的PD0置低,等待從設(shè)備取數(shù)據(jù);(2)從設(shè)備判斷ERROR信號(hào)端為低,得知主計(jì)算機(jī)向從設(shè)備發(fā)送數(shù)據(jù),將數(shù)據(jù)低位D0~D3獲取,將自身PD0置低,告訴主計(jì)算機(jī)已取走數(shù)據(jù)低位,可接受數(shù)據(jù)高位;(3)主計(jì)算機(jī)當(dāng)主計(jì)算機(jī)判斷ERROR信號(hào)端為低時(shí),得知從設(shè)備已將數(shù)據(jù)低位取走,主計(jì)算機(jī)將數(shù)據(jù)高位D4~D7送入PD1~PD4,將本身的PD0置高,等待從設(shè)備取數(shù)據(jù)高位;(4)從設(shè)備判斷ERROR信號(hào)端高,得知主計(jì)算機(jī)向從設(shè)備發(fā)送數(shù)據(jù)高位,將數(shù)據(jù)高位D4~D7獲取,將自身PD0置高,告訴主計(jì)算機(jī)已取走數(shù)據(jù)高位;(5)主計(jì)算機(jī)當(dāng)主計(jì)算機(jī)判斷ERROR信號(hào)端為高時(shí),得知從設(shè)備已將數(shù)據(jù)高位取走,將主計(jì)算機(jī)打印數(shù)據(jù)PD1~PD4取反,告訴從設(shè)備主計(jì)算機(jī)已完成發(fā)送,主計(jì)算機(jī)恢復(fù)初始狀態(tài);(6)從設(shè)備判斷主計(jì)算機(jī)打印數(shù)據(jù)端PD1~PD4已變化,得知主計(jì)算機(jī)已完成發(fā)送,恢復(fù)初始狀態(tài)。
5.根據(jù)權(quán)利要求2所述的計(jì)算機(jī)內(nèi)置程序的更新方式,其特征在于采用并行通信方式時(shí),從設(shè)備向主計(jì)算機(jī)發(fā)送數(shù)據(jù)的底層協(xié)議過(guò)程為(1)從設(shè)備從設(shè)備將需要發(fā)送的數(shù)據(jù)低位D0~D3送入PD1~PD4,判斷ERROR信號(hào)端為高,將本身的PD0置低,等待主計(jì)算機(jī)取數(shù)據(jù);(2)主計(jì)算機(jī)判斷ERROR信號(hào)端為低,得知從設(shè)備向主計(jì)算機(jī)發(fā)送數(shù)據(jù),將數(shù)據(jù)低位D0~D3獲取,將自身PD0置低,告訴從設(shè)備已取走數(shù)據(jù)低位,可接受數(shù)據(jù)高位;(3)從設(shè)備當(dāng)從設(shè)備判別到ERROR信號(hào)為低時(shí),得知主計(jì)算機(jī)已將數(shù)據(jù)低位取走,從設(shè)備將數(shù)據(jù)高位D4~D7送入PD1~PD4,將本身的PD0置高,等待主計(jì)算機(jī)取數(shù)據(jù)高位;(4)主計(jì)算機(jī)判斷ERROR信號(hào)為高,得知從設(shè)備向主計(jì)算機(jī)發(fā)送數(shù)據(jù)高位,將數(shù)據(jù)高位D4~D7獲取,將自身PD0置高,告訴從設(shè)備已取走數(shù)據(jù)高位;(5)從設(shè)備當(dāng)從設(shè)備判別到ERROR信號(hào)為高時(shí),得知主計(jì)算機(jī)已將數(shù)據(jù)高位取走,從設(shè)備恢復(fù)初始狀態(tài)。
全文摘要
一種計(jì)算機(jī)內(nèi)置程序的更新方式,該計(jì)算機(jī)內(nèi)含有可進(jìn)行寫操作并存有待更新程序之存儲(chǔ)器,以該計(jì)算機(jī)作為從設(shè)備,從另一主計(jì)算機(jī)中下載更新程序,并將更新程序?qū)懭肫鋬?nèi)置程序存儲(chǔ)器。本發(fā)明之計(jì)算機(jī)內(nèi)置程序更新方式工作效率高,操作簡(jiǎn)單,可將兩臺(tái)計(jì)算機(jī)相聯(lián)而直接實(shí)現(xiàn)計(jì)算機(jī)內(nèi)置程序的更新。本發(fā)明不僅給開(kāi)發(fā)、技術(shù)支持人員帶來(lái)了許多便利,節(jié)省了大量燒芯片的時(shí)間,也節(jié)省了大量的人力、物力和財(cái)力。
文檔編號(hào)G06F15/163GK1351298SQ0012665
公開(kāi)日2002年5月29日 申請(qǐng)日期2000年10月27日 優(yōu)先權(quán)日2000年10月27日
發(fā)明者楊德泉 申請(qǐng)人:湖南計(jì)算機(jī)股份有限公司