1.一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)系統(tǒng),其特征在于:它包括上位機(jī)和直放站;所述的直放站包括主機(jī)MCU和內(nèi)部升級(jí)模塊;所述的上位機(jī)實(shí)現(xiàn)存儲(chǔ)升級(jí)數(shù)據(jù),與直放站內(nèi)的主機(jī)MCU或者內(nèi)部升級(jí)模塊通信將升級(jí)數(shù)據(jù)傳送給內(nèi)部升級(jí)模塊后完成程序在線(xiàn)升級(jí);所述的主機(jī)MCU實(shí)現(xiàn)將上位機(jī)的相關(guān)升級(jí)命令和升級(jí)數(shù)據(jù)轉(zhuǎn)發(fā)給內(nèi)部升級(jí)模塊;所述的內(nèi)部升級(jí)模塊實(shí)現(xiàn)根據(jù)相關(guān)升級(jí)命令和升級(jí)數(shù)據(jù)完成程序的在線(xiàn)升級(jí)。
2.根據(jù)權(quán)利要求1所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)系統(tǒng),其特征在于:所述的內(nèi)部升級(jí)模塊內(nèi)有用戶(hù)程序和升級(jí)程序,所述的用戶(hù)程序和升級(jí)程序分別存于內(nèi)部升級(jí)模塊內(nèi)Flash中的不同地址,保證升級(jí)程序不被擦除。
3.根據(jù)權(quán)利要求2所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)系統(tǒng),其特征在于:所述的用戶(hù)程序放在Flash中的地址前段,所述的升級(jí)程序放在Flash中的地址末端。
4.根據(jù)權(quán)利要求3所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)系統(tǒng),其特征在于:所述的Flash地址前3字節(jié)處理為:首字節(jié)跳轉(zhuǎn)指令、第二和第三字節(jié)為升級(jí)程序入口地址高低字節(jié),保證內(nèi)部升級(jí)模塊上電后首先跳轉(zhuǎn)到升級(jí)程序入口地址處執(zhí)行升級(jí)程序。
5.根據(jù)權(quán)利要求3所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)系統(tǒng),其特征在于:在內(nèi)部升級(jí)模塊正常工作時(shí)執(zhí)行所述的用戶(hù)程序;所述的升級(jí)程序只在升級(jí)時(shí)使用,升級(jí)程序在第一次寫(xiě)入后不再進(jìn)行更改;所述的升級(jí)程序所占內(nèi)部升級(jí)模塊內(nèi)的Flash空間遠(yuǎn)小于所述用戶(hù)程序所占內(nèi)部升級(jí)模塊內(nèi)的Flash空間。
6.一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)系統(tǒng)的在線(xiàn)升級(jí)方法,其特征在于:所述的方法包括的步驟如下:
S1、將升級(jí)數(shù)據(jù)存儲(chǔ)于上位機(jī)中,并把用戶(hù)程序和升級(jí)程序分別存于內(nèi)部升級(jí)模塊內(nèi)Flash中的不同地址;
S2、擦除內(nèi)部升級(jí)模塊內(nèi)的Flash,并寫(xiě)入升級(jí)程序入口地址和用戶(hù)程序數(shù)據(jù);
S3、上位機(jī)將升級(jí)數(shù)據(jù)發(fā)送到內(nèi)部升級(jí)模塊后完成升級(jí);
S4、將新的用戶(hù)程序入口地址保存后寫(xiě)入預(yù)定位置,結(jié)束并復(fù)位。
7.根據(jù)權(quán)利要求6所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)方法,其特征在于:在進(jìn)行S2步驟之前還包括判斷內(nèi)部升級(jí)模塊是否收到正確的握手信息這一步驟。
8.根據(jù)權(quán)利要求7所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)方法,其特征在于:所述判斷內(nèi)部升級(jí)模塊是否收到正確的握手信息的具體步驟如下:
A1、硬件初始化;
A2、在規(guī)定時(shí)間內(nèi)收到正確的握手信息后接收首地址數(shù)據(jù);
A3、對(duì)接收的首地址數(shù)據(jù)進(jìn)行校驗(yàn)后進(jìn)入升級(jí)模式;
A4、沒(méi)有在規(guī)定時(shí)間收到正確的握手信息,尋找用戶(hù)程序,進(jìn)入正常工作狀態(tài)。
9.根據(jù)權(quán)利要求6所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)方法,其特征在于:所述S2的具體步驟如下:
S21、擦除內(nèi)部升級(jí)模塊內(nèi)Flash首扇區(qū)中舊的用戶(hù)程序;
S22、寫(xiě)入Flash地址前3個(gè)字節(jié),保證上電或復(fù)位后跳轉(zhuǎn)到升級(jí)程序入口地址;
S23、按要求在Flash首扇區(qū)寫(xiě)入新的用戶(hù)程序。
10.根據(jù)權(quán)利要求8所述的一種直放站內(nèi)模塊程序在線(xiàn)升級(jí)方法,其特征在于:所述S3的具體步驟如下:
S31、上位機(jī)對(duì)升級(jí)數(shù)據(jù)和校驗(yàn)碼一同分包發(fā)送,并進(jìn)行校驗(yàn);
S32、校驗(yàn)碼驗(yàn)證正確后將升級(jí)數(shù)據(jù)寫(xiě)入Flash,根據(jù)升級(jí)數(shù)據(jù)完成所有數(shù)據(jù)的寫(xiě)入后,寫(xiě)入用戶(hù)程序入口地址,完成程序的升級(jí);
S33、校驗(yàn)碼驗(yàn)證不正確,判斷是否是升級(jí)數(shù)據(jù)有錯(cuò)誤,如果升級(jí)數(shù)據(jù)沒(méi)有錯(cuò)誤,則重新接收升級(jí)數(shù)據(jù);如果升級(jí)數(shù)據(jù)有錯(cuò)誤,則清除用戶(hù)程序入口地址,重新發(fā)送握手信息。