亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置及其方法

文檔序號(hào):6574611閱讀:268來源:國(guó)知局
專利名稱:在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置及其方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種軟件下載的裝置和方法,特別是一種應(yīng)用于通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置和方法。
背景技術(shù)
因特網(wǎng)在某些場(chǎng)合下,尤其是在通信系統(tǒng)中,往往需要對(duì)其系統(tǒng)中的一些硬件設(shè)備(如中央處理器CPU)等的軟件進(jìn)行版本升級(jí),以中央處理器CPU的軟件升級(jí)操作為例通常的技術(shù)是采用遠(yuǎn)程下載的方法來完成,具體來講,就是通過現(xiàn)有通信線下載對(duì)應(yīng)于該CPU的版本升級(jí)軟件,而同時(shí)在本地保留原始版本軟件,以備下載失敗時(shí),仍可恢復(fù)或重新啟用原有版本的CPU軟件,從而避免由于遠(yuǎn)程下載失誤或中斷等諸多原因而造成的系統(tǒng)癱瘓,就以上情況而言,為完成上述的操作,基本上需采用成本較高的硬件設(shè)備才可完成,不僅存在成本增加、采購(gòu)困難的問題,而且存在互換性差、操作技術(shù)難掌握等缺點(diǎn)。
綜上所述,如何克服現(xiàn)有技術(shù)存在的缺點(diǎn),使硬件設(shè)備的升級(jí)操作(代理人接受此建議建議改為硬件設(shè)備)能夠以更低成本、更便捷的操作方式完成,實(shí)為通信系統(tǒng)中有關(guān)硬件設(shè)備的軟件升級(jí)技術(shù)領(lǐng)域中急待解決的問題。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明提出一種在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置及其方法,其主要目的在于能夠提供一種可以利用單片機(jī)對(duì)通信系統(tǒng)中的硬件設(shè)備的升級(jí)實(shí)現(xiàn)軟件遠(yuǎn)程下載的裝置及其方法,并且能夠提供待升級(jí)硬件設(shè)備的本地程序的原始備份功能,從而降低操作成本,保證操作的安全性,使單片機(jī)在通信系統(tǒng)中得到更加廣泛的應(yīng)用。
本發(fā)明的技術(shù)方案為本發(fā)明提供一種通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置,它至少包括一單片機(jī)、一隨機(jī)存儲(chǔ)器RAM、一閃存FLASH以及相應(yīng)的外接邏輯電路,其中所述單片機(jī)的P2、P0口分別與所述RAM的高、低八位地址線以及所述閃存FLASH的高、低八位地址線相連接,所述單片機(jī)的/WE端與所述RAM的寫信號(hào)選通端/WE相連接,所述單片機(jī)的/Rd信號(hào)和/PSEN信號(hào)相“與”后的結(jié)果分別輸出到所述RAM和所述閃存FLASH的讀選通端/OE,所述單片機(jī)的P1.1口與所述閃存FLASH的A16端相連接;所述單片機(jī)用于存放預(yù)先編好的引導(dǎo)程序;所述隨機(jī)存儲(chǔ)器RAM用于在軟件下載操作完成后或軟件版本更新后,運(yùn)行升級(jí)后的應(yīng)用程序,其余空間用于存放相關(guān)數(shù)據(jù);所述閃存FLASH作為數(shù)據(jù)備份區(qū)域,被劃分程序?yàn)閿?shù)據(jù)存儲(chǔ)區(qū)和程序參數(shù)存儲(chǔ)區(qū),其軟件部份包括在兩個(gè)區(qū)域內(nèi)分別輪流存放的主要或備用應(yīng)用程序;所述相應(yīng)的外接邏輯電路用于對(duì)單片機(jī)的16位地址線進(jìn)行邏輯組合,以分別輸出片選信號(hào)到片選端,實(shí)現(xiàn)所述單片機(jī)整個(gè)存儲(chǔ)區(qū)域的統(tǒng)一編址。
本發(fā)明提供一種通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的方法,它至少包含下列步驟(1)運(yùn)行引導(dǎo)程序存儲(chǔ)區(qū)內(nèi)的引導(dǎo)程序;(2)從數(shù)據(jù)備份區(qū)中讀取程序運(yùn)行參數(shù);
(3)根據(jù)該程序運(yùn)行參數(shù)將主應(yīng)用程序移至隨機(jī)存儲(chǔ)器RAM的程序運(yùn)行區(qū);(4)修改堆棧中的返回地址,將程序控制權(quán)交給片外應(yīng)用程序;(5)根據(jù)用戶請(qǐng)求進(jìn)行軟件下載;(6)片外應(yīng)用程序向程序存儲(chǔ)區(qū)發(fā)送軟件激活請(qǐng)求消息;所述軟件激活請(qǐng)求消息包含目前正在運(yùn)行的軟件版本信息,以及最新的軟件版本信息;所述軟件激活請(qǐng)求消息發(fā)送至軟件程序區(qū);(7)比較版本,當(dāng)軟件版本消息一致時(shí),軟件程序庫回送確認(rèn)消息,原程序正常運(yùn)行;如版本信息不一致,即需要進(jìn)行軟件更新,開始軟件加載;(8)對(duì)軟件下載程序進(jìn)行初始化處理;(9)判斷是否接收到用于軟件升級(jí)的軟件包;(10)接收到的軟件包存放在FLASH的備用程序存儲(chǔ)區(qū)內(nèi);(11)全部的軟件包都正確接收后,升級(jí)軟件下載完成;(12)重新填寫程序參數(shù)區(qū)的參數(shù);(13)重新啟動(dòng)系統(tǒng)。
本發(fā)明的有益效果為采用本發(fā)明所提供的裝置及其方法,可實(shí)現(xiàn)利用單片機(jī)進(jìn)行軟件的遠(yuǎn)程下載,以達(dá)成有升級(jí)需求的硬件設(shè)備的版本升級(jí),其中硬件的冗余設(shè)計(jì)提供了這種升級(jí)的可能性,軟件的靈活設(shè)計(jì)保證了這種升級(jí)的可靠性,而且本系統(tǒng)大部分功能由軟件實(shí)現(xiàn),并可模塊化,硬件成本低廉,按此方法設(shè)計(jì)的單片機(jī)系統(tǒng)可以節(jié)省人力和成本,且保證了軟件下載、升級(jí)操作的安全性。


圖1為本發(fā)明在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置的硬件框圖;圖2為本發(fā)明各存儲(chǔ)器的地址分配圖;圖3為本發(fā)明在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的方法的流程圖。
具體實(shí)施例方式
本發(fā)明是一種在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置和方法,應(yīng)用于通信系統(tǒng)中硬件設(shè)備(如CPU)的軟件版本升級(jí)之中,且利用簡(jiǎn)單的單片機(jī)完成,其具體實(shí)施方式
請(qǐng)參見圖1、圖2、圖3,分別為本發(fā)明在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置和方法的硬件框圖、地址分配圖和流程圖。
首先,如圖1所示,為本發(fā)明的硬件框圖,本發(fā)明所提供的單片機(jī)軟件下載裝置至少可包含一片單片機(jī)、一片RAM、一片F(xiàn)LASH、外接邏輯電路,在本發(fā)明所提供的利用單片機(jī)實(shí)現(xiàn)軟件下載的方法中,所用到的單片機(jī)實(shí)際型號(hào)是AT89C52,此單片機(jī)片內(nèi)自帶8Kbytes程序存儲(chǔ)器,正好可以用來存放預(yù)先編好的引導(dǎo)程序,若單片機(jī)片內(nèi)不帶程序存儲(chǔ)器或程序存儲(chǔ)器空間不夠大時(shí),還得重新外加擴(kuò)展程序存儲(chǔ)器。
RAM使用IS62C256,該RAM片內(nèi)帶32Kbytes存儲(chǔ)空間,實(shí)際使用地址范圍為2000H~7FFFH,因?yàn)樵谲浖螺d完畢、版本更新后,應(yīng)用程序是要被搬到該RAM內(nèi)運(yùn)行,同時(shí)RAM內(nèi)有部分空間還要存放數(shù)據(jù),為實(shí)現(xiàn)這一功能,單片機(jī)的/RD和/PSEN信號(hào)相“與”后輸出到RAM的讀選通端/OE,就能使程序空間和數(shù)據(jù)空間相混合。RAM的高、低八位地址線分別與單片機(jī)的P2、P0口連接,寫信號(hào)選通端/WE和單片機(jī)的/WE連接。
閃存FLASH使用SST29EE010,該FLASH片內(nèi)帶256Kbytes存儲(chǔ)空間,實(shí)際只使用64Kbytes存儲(chǔ)空間,即8000H~FFFFH和18000H~1FFFFH,上面兩個(gè)區(qū)域分別輪流存放主、備應(yīng)用程序區(qū),由單片機(jī)通用I/O口P1.1改變FLASH地址線A16而實(shí)現(xiàn)的;同樣,單片機(jī)的/RD和/PSEN信號(hào)相“與”后輸出到FLASH的讀選通端/OE,F(xiàn)LASH的高、低八位地址線分別與單片機(jī)的P2、P0口連接,寫信號(hào)選通端/WE和單片機(jī)的/WE連接;在本裝置中,單片機(jī)內(nèi)的引導(dǎo)程序存儲(chǔ)區(qū)、RAM的數(shù)據(jù)和應(yīng)用程序區(qū)、FLASH的主、備程序區(qū)是統(tǒng)一編址的,引導(dǎo)程序存儲(chǔ)區(qū)為0000H~1FFFH,RAM為2000H~7FFFH,F(xiàn)LASH為8000H~FFFFH和18000H~1FFFFH,我們利用外接邏輯電路,對(duì)單片機(jī)的16位地址線進(jìn)行邏輯組合,分別輸出片選信號(hào)/RAM_CS和/FLASH_CS給RAM和FALSH的片選端,以實(shí)現(xiàn)各存儲(chǔ)區(qū)域的統(tǒng)一編址。此外,為實(shí)現(xiàn)單片機(jī)P0口的數(shù)據(jù)/地址復(fù)用而需要的八位鎖存器、一些必要的門電路也由外接邏輯電路實(shí)現(xiàn);然后,參見圖2,為本發(fā)明的存儲(chǔ)器地址分配方案,CPU中存在的一塊內(nèi)部程序存儲(chǔ)區(qū)作為引導(dǎo)程序存儲(chǔ)區(qū),(如果通信系統(tǒng)中采用的是沒有內(nèi)部存儲(chǔ)器ROM的CPU,則可在外部擴(kuò)展一塊FLASH作為引導(dǎo)程序存儲(chǔ)區(qū),地址從0x0000至0xA,A的值視系統(tǒng)采用的不同的單片機(jī)而定,如采用的是51型號(hào)的單片機(jī),則A的值為0x1000,如果采用的是52型號(hào)的單片機(jī),則A的取值為0x2000,和采用的CPU內(nèi)部包含的ROM的大小一致;外部的RAM存儲(chǔ)器空間被人為地分成三部分,其中0x0000至0xA的RAM地址區(qū)域作為一般的程序使用,存放程序運(yùn)行過程中產(chǎn)生的變量的值;RAM地址從0xA開始到0xB的區(qū)域分時(shí)復(fù)用為數(shù)據(jù)RAM和程序ROM,在引導(dǎo)程序運(yùn)行的期間,該區(qū)域作為數(shù)據(jù)RAM使用,引導(dǎo)程序?qū)?yīng)用程序從選定的位于FLASH中的程序存儲(chǔ)區(qū)拷貝到RAM中的該區(qū)域;在應(yīng)用程序運(yùn)行的期間,該區(qū)域被用作程序ROM;該區(qū)域的大小視應(yīng)用程序大小而定,一般是(64K-0xA)/2。RAM中0xB-0x3FFF的區(qū)域保留,當(dāng)CPU用位于該數(shù)據(jù)地址區(qū)間的地址訪問外部數(shù)據(jù)空間的時(shí)候,在本裝置的外部硬件電路邏輯將會(huì)選中FLASH;FLASH的地址空間是作為數(shù)據(jù)存儲(chǔ)空間而進(jìn)行編址的,被分成6塊,兩塊保留區(qū)域,兩塊程序存儲(chǔ)區(qū),與兩塊程序存儲(chǔ)區(qū)相對(duì)應(yīng)的兩塊程序參數(shù)區(qū)。地址0x00000到0xB以及0x10000到0x10000+0xB的兩塊區(qū)域被保留,因?yàn)樵摰刂房臻g被RAM占用,每塊程序參數(shù)區(qū)的大小為128字節(jié),地址從0xFF80到0xFFFF以及從0x1FF80到0x1FFFF,用來存放一些引導(dǎo)程序和軟件下載要用到的參數(shù),如與該參數(shù)區(qū)對(duì)應(yīng)的程序存儲(chǔ)區(qū)中的程序是主用程序還是備用程序,引導(dǎo)程序只將主用程序搬移到RAM中執(zhí)行,程序有效標(biāo)志,當(dāng)程序下載時(shí),下載成功之后,軟件置該標(biāo)志;程序存儲(chǔ)區(qū)的大小為(64K-0xA)/2-128字節(jié);程序存儲(chǔ)區(qū)1的起始地址0xC的值等于0xB;程序存儲(chǔ)區(qū)2的起始地址0xE的值等于0x10000+0xB;對(duì)于CPU來說,由于它只有16根地址線,地址空間只有64k,這兩塊程序存儲(chǔ)區(qū)的地址是完全重疊、不加區(qū)分的,只能通過CPU的I/O口信號(hào)控制FLASH的第17位地址線A16來進(jìn)行區(qū)分;故這兩塊物理上位于同一塊FLASH中的程序存儲(chǔ)區(qū)及參數(shù)區(qū)在邏輯上是兩塊獨(dú)立的FLASH。這兩塊邏輯上獨(dú)立的程序存儲(chǔ)區(qū)通過地址線A16進(jìn)行區(qū)分;參見圖3,為本發(fā)明在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的方法的程序流程圖,上電后,片內(nèi)程序區(qū)的引導(dǎo)程序首先運(yùn)行,它從兩塊程序參數(shù)區(qū)中讀取程序運(yùn)行參數(shù)301,再根據(jù)讀取的參數(shù)決定哪一塊程序備份區(qū)是將要運(yùn)行的程序存儲(chǔ)區(qū),哪一塊是備用的程序存儲(chǔ)區(qū),并將要執(zhí)行的程序搬移到RAM的程序運(yùn)行區(qū)302,通過修改堆棧中的返回地址,將程序控制權(quán)交給片外應(yīng)用程序303,在片外應(yīng)用程序向程序存儲(chǔ)庫發(fā)送軟件激活請(qǐng)求消息304,在軟件激活請(qǐng)求消息中包含有目前正在運(yùn)行的程序的軟件版本信息,在軟件程序庫中也保存著最新的軟件版本,軟件程序庫收到本裝置發(fā)送的軟件激活請(qǐng)求消息305,將收到的軟件版本信息與它自己保存的軟件版本信息進(jìn)行比較306,如果版本信息一致,軟件程序庫就回送一個(gè)確認(rèn)的消息,本裝置收到該確認(rèn)消息之后,程序就正常運(yùn)行下去307,如版本信息不一致,即需要進(jìn)行軟件更新,開始軟件加載流程,首先進(jìn)行軟件下載初始化308,判斷是否接收到用于軟件升級(jí)的軟件包,接收操作通常通過連接本裝置和軟件程序庫的串口線來完成309,并將之存放于FLASH中的備用程序存儲(chǔ)區(qū)310,當(dāng)全部的軟件包都正確接收之后,軟件下載完成311,重新填寫參數(shù)區(qū)312,即利用本方法修改與備用程序存儲(chǔ)區(qū)相對(duì)應(yīng)的程序參數(shù)區(qū),將參數(shù)區(qū)的主備用標(biāo)志置為1,這樣在本裝置下一次重新啟動(dòng)的時(shí)候,引導(dǎo)程序會(huì)根據(jù)程序參數(shù)區(qū)的主備用標(biāo)志,將新加載的程序搬移到RAM中執(zhí)行,最后重新啟動(dòng)313。
權(quán)利要求
1.一種在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置,其特征是,它至少包括一單片機(jī)、一隨機(jī)存儲(chǔ)器RAM、一閃存FLASH以及相應(yīng)的外接邏輯電路,其中所述單片機(jī)的P2、P0口分別與所述RAM的高、低八位地址線以及所述閃存FLASH的高、低八位地址線相連接,所述單片機(jī)的/WE端與所述RAM的寫信號(hào)選通端/WE相連接,所述單片機(jī)的/Rd信號(hào)和/PSEN信號(hào)相與后的結(jié)果分別輸出到所述RAM和所述閃存FLASH的讀選通端/OE,所述單片機(jī)的P1.1口與所述閃存FLASH的A16端相連接;所述單片機(jī)用于存放預(yù)先編好的引導(dǎo)程序,;所述隨機(jī)存儲(chǔ)器RAM用于在軟件下載操作完成后或軟件版本更新后,運(yùn)行升級(jí)后的應(yīng)用程序,其余空間用于存放相關(guān)數(shù)據(jù);所述閃存FLASH作為數(shù)據(jù)備份區(qū)域,被劃分程序?yàn)閿?shù)據(jù)存儲(chǔ)區(qū)和程序參數(shù)存儲(chǔ)區(qū),其軟件部份包括在兩個(gè)區(qū)域內(nèi)分別輪流存放的主要或備用應(yīng)用程序;所述相應(yīng)的外接邏輯電路用于對(duì)單片機(jī)的16位地址線進(jìn)行邏輯組合,以分別輸出片選信號(hào)到片選端,實(shí)現(xiàn)所述單片機(jī)整個(gè)存儲(chǔ)區(qū)域的統(tǒng)一編址。
2.如權(quán)利要求1所述的在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置,其特征是,所述單片機(jī)為片內(nèi)自帶程序存儲(chǔ)器的單片機(jī)。
3.如權(quán)利要求1所述的在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置,其特征是,所述單片機(jī)為外加擴(kuò)展程序存儲(chǔ)器的單片機(jī)。
4.一種在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的方法,其特征是,它至少包括以下步驟(1)運(yùn)行引導(dǎo)程序存儲(chǔ)區(qū)內(nèi)的引導(dǎo)程序;(2)從數(shù)據(jù)備份區(qū)中讀取程序運(yùn)行參數(shù);(3)根據(jù)該程序運(yùn)行參數(shù)將主應(yīng)用程序移至隨機(jī)存儲(chǔ)器RAM的程序運(yùn)行區(qū);(4)修改堆棧中的返回地址,將程序控制權(quán)交給片外應(yīng)用程序;(5)根據(jù)用戶請(qǐng)求進(jìn)行軟件下載;(6)片外應(yīng)用程序向程序存儲(chǔ)區(qū)發(fā)送軟件激活請(qǐng)求消息;所述軟件激活請(qǐng)求消息包含目前正在運(yùn)行的軟件版本信息,以及最新的軟件版本信息;所述軟件激活請(qǐng)求消息發(fā)送至軟件程序區(qū);(7)比較版本,當(dāng)軟件版本消息一致時(shí),軟件程序庫回送確認(rèn)消息,原程序正常運(yùn)行;如版本信息不一致,即需要進(jìn)行軟件更新,開始軟件加載;(8)對(duì)軟件下載程序進(jìn)行初始化處理;(9)判斷是否接收到用于軟件升級(jí)的軟件包;(10)接收到的軟件包存放在FLASH的備用程序存儲(chǔ)區(qū)內(nèi);(11)全部的軟件包都正確接收后,升級(jí)軟件下載完成(12)重新填寫程序參數(shù)區(qū)的參數(shù);及(13)系統(tǒng)重新啟動(dòng)。
5.如權(quán)利要求4所述的在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的方法,其特征是,重新填寫程序參數(shù)區(qū)的參數(shù)時(shí),將參數(shù)區(qū)的主備用標(biāo)志置為1,使剛剛下載的程序標(biāo)志為主應(yīng)用程序。
全文摘要
本發(fā)明是一種在通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置和方法,提供一種通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的裝置,該裝置至少包括一單片機(jī)、一隨機(jī)存儲(chǔ)器RAM、一閃存FLASH以及相應(yīng)的外圍邏輯電路;本發(fā)明還提供一種通信系統(tǒng)中利用單片機(jī)實(shí)現(xiàn)軟件下載的方法,至少包含下列步驟;運(yùn)行引導(dǎo)程序存儲(chǔ)區(qū)內(nèi)的引導(dǎo)程序;從數(shù)據(jù)備份區(qū)中讀取程序運(yùn)行參數(shù);將主應(yīng)用程序移至隨機(jī)存儲(chǔ)器RAM的程序運(yùn)行區(qū);將程序控制權(quán)交給應(yīng)用程序;根據(jù)用戶請(qǐng)求進(jìn)行軟件下載;下載后的軟件包保存至程序參數(shù)區(qū);修改程序參數(shù)區(qū)參數(shù);系統(tǒng)重新啟動(dòng);實(shí)現(xiàn)利用單片機(jī)進(jìn)行軟件的遠(yuǎn)程下載,可節(jié)省人力和成本,且保證了軟件下載、升級(jí)操作的安全性。
文檔編號(hào)G06F9/30GK1430142SQ0114538
公開日2003年7月16日 申請(qǐng)日期2001年12月29日 優(yōu)先權(quán)日2001年12月29日
發(fā)明者周維明, 劉江, 肖紹康 申請(qǐng)人:深圳市中興通訊股份有限公司上海第二研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1