• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于SST微控制器的MSAP系統(tǒng)在線升級方案的設(shè)計

      2013-08-13 05:06:38胡小玉劉國輝
      電視技術(shù) 2013年5期
      關(guān)鍵詞:網(wǎng)管校驗指令

      胡小玉,劉國輝

      (武漢郵電科學(xué)研究院研究生院光纖通信技術(shù)和網(wǎng)絡(luò)國家重點實驗室,湖北 武漢 430074)

      在MSAP(多業(yè)務(wù)接入平臺)系統(tǒng)中,要對位于基站中的設(shè)備進(jìn)行升級,就必須安排工程人員去現(xiàn)場,這種升級方式浪費了大量的人力和物力,增加了后期的設(shè)備維護(hù)成本。

      單片機(In Application Programming,IAP)技術(shù)的出現(xiàn),有效地簡化了應(yīng)用程序的升級過程,降低了后期維護(hù)的成本。本文根據(jù)IAP原理,研究并給出了該方案在嵌入式微控制器SST89E516RD2中的詳細(xì)實現(xiàn)技術(shù)和程序流程。該實現(xiàn)技術(shù)在SSDX公司的MSAP系統(tǒng)嵌入式程序的修改和升級中得到了應(yīng)用和驗證,具有簡單、便捷、可靠、成本低等優(yōu)點。

      1 SST微控制器介紹

      SST89E516RD2芯片是基于51內(nèi)核的8位單片機,它包含1 kbyte的片內(nèi)RAM和72 kbyte的片內(nèi)ROM[1]。片內(nèi)ROM分為2個存儲塊,主存儲塊Block 0占用64 kbyte,次存儲塊Block 1占用8 kbyte。整個內(nèi)部程序空間被限制為64 kbyte,SFCF[1∶0]用于控制存儲塊的切換,如圖1 所示。

      圖1 SST89E516RD2片內(nèi)ROM空間配置圖

      SST89E516RD2允許駐留于某一個存儲塊中的IAP程序?qū)α硪粔K存儲塊進(jìn)行重編程操作,而絕不允許對同一個存儲塊中的任意地址進(jìn)行重編程操作。要實現(xiàn)在線升級的功能,必須用支持在線升級的IAP程序替換原來的ISP程序,用來引導(dǎo)在線升級程序。

      2 MSAP升級系統(tǒng)

      2.1 MSAP升級系統(tǒng)結(jié)構(gòu)

      升級系統(tǒng)主要組成部分是網(wǎng)管中心、傳輸網(wǎng)絡(luò)和MSAP設(shè)備。傳輸網(wǎng)絡(luò)可以是PSTN(公共電話交換網(wǎng))、互聯(lián)網(wǎng)等傳輸網(wǎng)絡(luò),用來承載中心機房到設(shè)備傳輸?shù)臄?shù)據(jù)。MSAP系統(tǒng)由網(wǎng)管設(shè)備和終端設(shè)備構(gòu)成,網(wǎng)管設(shè)備用于接收網(wǎng)管中心發(fā)送來的升級程序,終端設(shè)備即為要升級程序的對象,升級系統(tǒng)如圖2所示。

      圖2 遠(yuǎn)程升級系統(tǒng)框圖

      2.2 單片機與片外Flash的連接方式

      SST89E516RD2單片機自帶高速異步串行口,支持IAP下的并行操作,所以本系統(tǒng)硬件組成較簡單。除單片機之外,只需要擴展1片F(xiàn)lash用來存儲升級的程序文件,單片機其他外圍電路按照設(shè)備功能需求設(shè)計,單片機與片外Flash的連接方式如圖3所示。片外Flash采用SST25VF080B芯片[2],它的存儲空間為1 Mbyte,最小擦除塊的容量為4 kbyte。單片機與片外Flash采用SPI總線進(jìn)行通信,對片外Flash的讀寫、擦除等操作只需要使用相應(yīng)的命令字即可,SST25VF080B常用功能表如圖4所示。

      圖3 連接圖

      圖4 SST25VF080B常用功能表

      片外Flash首地址00000H~01000H存儲升級保護(hù)標(biāo)志。地址01000H~5F000H分配給出廠時的配置和用戶最近一次的配置。隔離區(qū)用于保證存儲文件的獨立性。地址60000H~80000H分配給應(yīng)用程序文件存儲區(qū),其中程序文件A存儲出廠程序,程序文件B存儲接收到的升級程序[3-4]。根據(jù)以上分析,將外部Flash做如圖5所示的邏輯劃分。

      圖5 SST25VF080B內(nèi)存分配

      2.3 MSAP系統(tǒng)遠(yuǎn)程升級程序設(shè)計

      2.3.1 遠(yuǎn)程升級流程

      PC網(wǎng)管軟件選擇一個子業(yè)務(wù)卡進(jìn)行遠(yuǎn)程升級,通過FTP協(xié)議發(fā)送升級數(shù)據(jù)包給網(wǎng)管盤,網(wǎng)管盤將接收到的升級數(shù)據(jù)包校驗OK后存儲至ARM的Flash中。網(wǎng)管盤發(fā)送復(fù)位指令將子業(yè)務(wù)卡的MCU復(fù)位,單片機復(fù)位啟動后進(jìn)入IAP引導(dǎo)程序模式,準(zhǔn)備進(jìn)行升級。

      2.3.2 單片機IAP程序流程

      1)單片機IAP程序主循環(huán)處理流程

      單片機復(fù)位后,從Block 1中運行IAP程序。當(dāng)單片機運行IAP程序時,先判斷保護(hù)標(biāo)志是否有效,如果該標(biāo)志有效,表示上一次升級過程中遇到故障(斷電等異常情況),則單片機自動將程序恢復(fù)至出廠程序。否則單片機主程序待機15 s,等待單片機處理串口中斷接收到的數(shù)據(jù),判斷是否有升級任務(wù)。如果有升級任務(wù),則將單片機升級標(biāo)志置為有效,如果該標(biāo)志有效,則單片機IAP主程序待機15 min,等待在線升級完成。升級完成后,開啟看門狗等待單片機復(fù)位。單片機IAP程序主循環(huán)運行如圖6所示。

      2)單片機IAP程序中斷處理流程

      圖6 單片機IAP程序流程圖

      網(wǎng)管盤收到文件傳輸命令后,發(fā)送一幀文件傳輸開始的指令,將待升級的應(yīng)用程序包分解成適合本系統(tǒng)私有協(xié)議傳輸?shù)男《?,按照文件塊序號逐段發(fā)送給子業(yè)務(wù)卡,子業(yè)務(wù)卡收到數(shù)據(jù)包,CRC校驗無誤后將單片機升級標(biāo)志置為有效,并開始擦除片外Flash文件B部分的塊。程序文件傳輸中,MCU開始接收數(shù)據(jù),此時單片機將接收到的程序文件寫入片外Flash從文件B部分的塊;程序傳輸結(jié)束時,MCU將升級文件的文件名、文件長度和文件CRC16的校驗和寫入片外Flash從7FFFFH~80000H部分的扇區(qū),共4 kbyte,單片機對接收到的文件整體校驗,發(fā)送應(yīng)答幀通知網(wǎng)管盤校驗結(jié)果。

      網(wǎng)管盤收到執(zhí)行升級命令后,通知子業(yè)務(wù)卡準(zhǔn)備執(zhí)行升級。單片機會先運行Block 1的IAP程序,校驗升級的應(yīng)用程序文件,如果校驗通過,將保護(hù)標(biāo)志置為有效。然后開始擦除單片機片內(nèi)ROM整個Block 0的塊,當(dāng)SFST寄存器的標(biāo)志位置位后,表示擦除完成。接著,單片機將片外Flash存儲區(qū)B中的升級文件讀出并寫入到單片機片內(nèi)ROM的Block 0塊中,開啟看門狗,等待單片機復(fù)位,整個升級程序完成。

      當(dāng)開門狗溢出后,單片機復(fù)位令升級標(biāo)志也復(fù)位,單片機程序跳轉(zhuǎn)到Block 0起始位置運行。單片機程序正常運行后將保護(hù)標(biāo)志復(fù)位。執(zhí)行程序升級模塊如圖7所示。

      圖7 單片機IAP程序中斷處理流程

      2.3.3 網(wǎng)管盤與子業(yè)務(wù)卡的通信設(shè)計

      網(wǎng)管盤與子業(yè)務(wù)卡之間的SPI通信采用SSDX私有協(xié)議,該協(xié)議具有一定的糾錯機制和異常處理機制。在網(wǎng)管盤ARM與子業(yè)務(wù)卡MCU通信中采用發(fā)送一幀數(shù)據(jù),確認(rèn)一幀數(shù)據(jù),收到錯幀,請求重發(fā)的通信形式[5]。SSDX私有協(xié)議設(shè)計的SPI通信幀最大幀長不超過500 byte,接收程序可以通過文件塊序號n在終端進(jìn)行文件整理組合,單片機發(fā)送應(yīng)答幀給網(wǎng)管盤通知文件塊n接收OK,否則網(wǎng)管盤重傳文件塊5次,如果5次以內(nèi)傳送失敗,則標(biāo)志此次升級失敗。SSDX私有協(xié)議數(shù)據(jù)幀格式如圖8所示。

      圖8 SSDX私有協(xié)議幀格式

      幀頭:表示數(shù)據(jù)包的開始,固定為0xFE,0xFA 2個字節(jié)。

      子卡地址:表示子卡在1個MSAP網(wǎng)元中的位置。

      命令字:文件傳輸命令還是執(zhí)行升級命令。

      指令值:命令字的子命令。如果命令字是文件傳輸命令,則指令值有傳輸開始、傳輸中、傳輸結(jié)束3個指令;如果命令字是升級命令,則指令值就是執(zhí)行在線升級指令。

      文件塊序號:表示升級程序所分割的報文所處的序號。

      文件塊內(nèi)容:程序內(nèi)容字節(jié)。

      CRC16校驗和:一幀數(shù)據(jù)的校驗和,采用CRC16校驗。

      2.3.4 單片機IAP主要函數(shù)代碼

      單片機在進(jìn)行升級過程中,對片內(nèi)ROM主要進(jìn)行塊擦除和字節(jié)編程操作,該操作的程序代碼如下所示:

      //單片機片內(nèi)ROM塊擦除函數(shù)

      Void block Erase(void)

      {

      SFCF|=0x40; //IAP功能使能

      SFAH=0x00; //擦除的塊為Block 0

      SFDT=0x55;

      SFCM=0x0D;

      SFCF=SFCF& ~0x40;//IAP功能禁止

      }

      //單片機片內(nèi)ROM字節(jié)編程函數(shù)

      Void SST_byte_program(unsigned short dataAddr,

      unsigned char dataByte)

      {

      SFCF=SFCF|0x40;//IAP功能使能

      SFAH=dataAddr> >8;

      SFAL=dataAddr;//裝入地址SFDT=dataByte;//填入數(shù)據(jù)

      SFCM=0x0D; //填入字節(jié)編程命令

      while(SFST&0x40){;}

      SFCF=SFCF& ~0x40;//IAP功能禁止

      return;

      }

      單片機對片外Flash的操作主要用到擦除片外Flash塊函數(shù)和讀片外Flash數(shù)據(jù)函數(shù)[6],通過單片機與片外Flash的SPI讀指令(spi_SendByte)和寫指令(spi_Read-Byte)向SST25VF080B發(fā)送相應(yīng)的命令字,各常用功能命令字如圖3所示。它們的程序源代碼如下所示:

      //擦除以Dst為起始地址大小為64 k的塊

      void FlashBlock_Erase(unsigned long Dst)

      {

      spi_SendByte(0xD8);//一次擦除64 k的塊

      spi_SendByte(((Dst&0xFFFFFF)>>16));

      spi_SendByte(((Dst&0xFFFF)>>8));

      spi_SendByte(Dst&0xFF);

      Wait_Busy();

      }

      //讀取地址Dst的數(shù)據(jù)

      unsigned char FlashRead(unsigned long Dst)

      {

      spi_SendByte(0x03);//讀命令

      spi_SendByte(((Dst&0xFFFFFF)>>16));

      spi_SendByte(((Dst&0xFFFF)>>8));

      spi_SendByte(Dst&0xFF);

      return(Spi_ReadByte());//返回值

      }

      3 測試結(jié)果

      按照上述的升級系統(tǒng)搭建好測試環(huán)境后,將MCU的IAP程序下載到Block 1中,通過PC網(wǎng)管對終端設(shè)備進(jìn)行遠(yuǎn)程升級。測試結(jié)果證明子業(yè)務(wù)卡的軟件版本能夠成功地進(jìn)行更新,如圖9所示。在遇到異常情況時,如升級的過程中出現(xiàn)斷電故障,子業(yè)務(wù)卡能自動恢復(fù)到出廠程序運行,等待再次響應(yīng)網(wǎng)管中心下達(dá)升級命令,直至升級成功。

      圖9 升級前后版本對比圖(截圖)

      4 結(jié)論

      本方案以SST89E516RD2芯片的IAP功能為基礎(chǔ),利用擴展的Flash存儲分區(qū),提供了一種MSAP系統(tǒng)遠(yuǎn)程在線升級的方法,有效地降低了后期設(shè)備的維護(hù)成本。本方案在SSDX的MSAP系統(tǒng)中已得到廣泛應(yīng)用,在實際應(yīng)用中得到了用戶很高的評價,大大增加了產(chǎn)品的競爭力。

      [1]SST89E516RD2[EB/OL].[2012-05-25].http://wenku.baidu.com/view/d542fc0cf12d 2af90242e6ba.html.

      [2]SST25VF080B[EB/OL].[2012-05-25].http://wenku.baidu.com/view/e5b7a579168884868762d6aa.html.

      [3]趙炯,賈培源,李中山,等.嵌入式設(shè)備遠(yuǎn)程在線升級技術(shù)[J].計算機工程,2010,36(12):262-264.

      [4]曾浩,呂華,王銘偉.IPTV機頂盒升級方案的設(shè)計與實現(xiàn)[J].電視技術(shù),2010,34(5):54-56.

      [5]鄧中亮,孫靜.嵌入式設(shè)備在線系統(tǒng)升級的設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2009,30(13):3085-3087.

      [6]邵貝貝.單片機嵌入式應(yīng)用的在線開發(fā)方法[M].北京:機械工業(yè)出版社,2004.

      猜你喜歡
      網(wǎng)管校驗指令
      聽我指令:大催眠術(shù)
      ARINC661顯控指令快速驗證方法
      LED照明產(chǎn)品歐盟ErP指令要求解讀
      電子測試(2018年18期)2018-11-14 02:30:34
      爐溫均勻性校驗在鑄鍛企業(yè)的應(yīng)用
      大型電動機高阻抗差動保護(hù)穩(wěn)定校驗研究
      電測與儀表(2015年1期)2015-04-09 12:03:02
      基于加窗插值FFT的PMU校驗方法
      鍋爐安全閥在線校驗不確定度評定
      “五制配套”加強網(wǎng)管
      新聞前哨(2015年2期)2015-03-11 19:29:29
      一種供鳥有限飛翔的裝置
      坐標(biāo)系旋轉(zhuǎn)指令數(shù)控編程應(yīng)用
      機電信息(2014年27期)2014-02-27 15:53:56
      木兰县| 伊宁县| 武安市| 丰台区| 县级市| 富源县| 翁源县| 延寿县| 东光县| 于都县| 丹凤县| 霍邱县| 烟台市| 始兴县| 兴义市| 土默特右旗| 石嘴山市| 宁陵县| 西青区| 治县。| 宁阳县| 法库县| 海林市| 秀山| 阜平县| 河源市| 肃宁县| 丘北县| 博野县| 井冈山市| 隆尧县| 凌云县| 锦州市| 巴林右旗| 张掖市| 新闻| 自贡市| 呼和浩特市| 怀柔区| 吕梁市| 德州市|