999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種射頻單元中FPGA的遠(yuǎn)程升級方法

2021-08-16 09:51:18彭磊磊辛利
計算機(jī)與網(wǎng)絡(luò) 2021年12期

彭磊磊 辛利

針對TD-LTE無線通信系統(tǒng)中遠(yuǎn)端射頻單元的維護(hù)升級問題,提出一種FPGA固件遠(yuǎn)程升級方法。該方法采用CPRI接口的以太網(wǎng)信道傳輸固件數(shù)據(jù)、控制命令和狀態(tài)信息,利用FPGA內(nèi)部邏輯完成Flash的識別、擦除和寫入,并在Flash分區(qū)存儲的基礎(chǔ)上,通過控制FPGA加載起始地址實現(xiàn)遠(yuǎn)程升級和失敗回退。經(jīng)驗證,該方法具有易操作、可移植性強(qiáng)和可靠性高的特點。

當(dāng)前,TD-LTE無線通信系統(tǒng)憑借通信效率、抗干擾性以及QoS業(yè)務(wù)保證等方面的技術(shù)優(yōu)勢,成為城市軌道交通系統(tǒng)中CBTC、PIS和CCTV綜合業(yè)務(wù)承載的主要無線通信技術(shù)體制,得到了越來越廣泛的應(yīng)用。TD-LTE無線通信系統(tǒng)采用分布式架構(gòu)設(shè)計,將基帶處理單元集中部署在機(jī)房,而射頻單元通過光纖拉遠(yuǎn)后沿軌道線路部署,形成全線的無線信號覆蓋。雖然此種部署方式減少了射頻信號在傳輸過程中的衰減,提升了信號覆蓋的質(zhì)量,卻給壁掛于隧道內(nèi)或架高于塔架上的射頻單元在維護(hù)升級方面帶來一定困難,間接影響了軌道交通的運營效率和安全。因此,有必要設(shè)計一種針對射頻單元中FPGA固件的遠(yuǎn)程升級方法,降低維護(hù)難度,提高維護(hù)效率。

射頻單元遠(yuǎn)程升級示意圖

射頻單元遠(yuǎn)程升級示意圖如圖1所示。系統(tǒng)維護(hù)升級時,控制中心將新版本(1.2版)的FPGA固件通過網(wǎng)線和光纖介質(zhì)傳輸?shù)缴漕l單元。射頻單元將新版本固件更新到閃存,替換舊版本(1.1版)。升級成功后斷電重啟,射頻單元的FPGA將以新版本啟動。如果升級失敗,F(xiàn)PGA將以備份版本啟動。

硬件設(shè)計

硬件設(shè)計如圖2所示,主要包括三部分:微控制單元(MCU)、Xilinx 公司7系歹]FPGA以及SPI Flash。

射頻單元的FPGA通過CPRI協(xié)議接收上層傳來的以太網(wǎng)數(shù)據(jù)(包含控制命令、固件數(shù)據(jù)),并以媒體無關(guān)接口發(fā)送到MCU。MCU接收以太網(wǎng)數(shù)據(jù)并處理,再以本地總線(localbus)發(fā)送到FPGA。FPGA通過內(nèi)部邏輯完成SPI Flash的識別、擦除和寫入,并將狀態(tài)信息通過以太網(wǎng)信道反饋給上層。

SPI Flash采用Spansion公司的s25fl256,該芯片是串行NOR Flash。FPGA 采用Xilinx 公司的XC7K325T-2FFG900I,該芯片屬于Kntex7系列,具有高性價比、低功耗的特點。FPGA需要配置成主SPI加載模式,配置電路如圖3所示。

Flash分區(qū)設(shè)計

本文的FPGA遠(yuǎn)程升級方法具備升級失敗后自恢復(fù)的能力,設(shè)計思路是Flash存儲分區(qū)。如表1所示,SPI Flash的存儲區(qū)域分成三部分:FPGA加載地址控制區(qū)、備份區(qū)以及升級區(qū)。FPGA加載地址控制區(qū)存放一組用于IPROG命令的比特流,備份區(qū)存放備份固件,升級區(qū)存放升級固件。

Spansion公司的s25fl256存儲空間是32MByte,其扇區(qū)類型有2種規(guī)格,一種是統(tǒng)一64KyteB大小,另一種是統(tǒng)一256KByte大小,本文選取后者。FPGA芯片XC7K325T- 2FFG900I生成的固件大小約為11.9MByte,備份固件和升級固件可同時存放在s25fl256中。

首先分配IPROG命令比特流,如表2所示。

這組比特流中,“AA995566”是同步頭。FPGA只有在收到同步頭后才開始接收配置數(shù)據(jù),而同步頭之前的數(shù)據(jù)后被FPGA忽略。本方案把“AA995566”放到Flash第一個扇區(qū)的最后四個字節(jié)上。同步頭后的比特流按次序從Flash的第二個扇區(qū)開始位置存放并執(zhí)行16個字節(jié)對齊,不足的比特流用空操作指令填充。其中熱啟動起始地址(WBSA)是升級固件的起始地址,本方案確定該地址為0X00B40000。

IPROG命令比特流之后開始放置備份固件。備份固件結(jié)束之后升級固件開始之前的空間放置比特1。升級區(qū)從指定地址0X00B40000開始,并按512byte對齊,不足的比特填充‘1。升級區(qū)最后的32bit是CRC32校驗碼,計算升級區(qū)域所有比特的CRC32值,但不包括最后的32bit。

FPGA固件修改

初始化Flash

實現(xiàn)在線升級功能,需要初始化Flash,即用JTAG線把修改后的固件燒錄進(jìn)Flash。該初始化工作只需要執(zhí)行一次。修改后的固件包含IPROG命令比特流、備份固件比特流和升級固件比特流,它們的起始地址按Flash分區(qū)方案確定。

固件修改可由Matlab或C語言實現(xiàn),流程如下:

1.以寫模式打開一個init.bin文件,寫入0x3FFFC個“FF”,并在后面的四個字節(jié)寫入0x“AA995566”。

2.繼續(xù)寫入IPROG比特流,以16個字節(jié)對齊,不足的字節(jié)填充0x“20000000”。

3.讀取備份固件并寫入imt.bin,其后填充比特‘1直到0X00B40000前一個地址。

4.讀取升級固件按512byte對齊,不足的比特填充‘1直到最后4個字節(jié)。計算加填充的升級固件的CRC32值并放到最后4個字節(jié)。

5.寫入加CRC32校驗的升級固件到init.bin。

升級固件添加CRC32

FPGA從RS232接口接收修改后的升級固件,并寫入到Flash實現(xiàn)在線升級,該過程不再需要JTAG線。

改寫升級固件只需要添加CRC32,流程如下:

1.以寫模式打開一個update.bin文件。

2.讀取升級固件按512byte對齊,不足的比特填充‘1直到最后4個字節(jié)。計算加填充的升級固件的CRC32值并放到最后4個字節(jié)。

3.寫入加CRC32校驗的升級固件到update.bin。

FPGA邏輯設(shè)計

媒體無關(guān)接口

本文設(shè)計中,媒體無關(guān)接口(MII)是CPRI接口的一部分。CPRI采用Xilinx公司的IP核實現(xiàn),可實現(xiàn)同相/正交數(shù)據(jù)、廠商特定信息、以太網(wǎng)數(shù)據(jù)和高速數(shù)據(jù)鏈路控制的傳輸。MII接口在CPRI接口中的位置如圖4所示。

FPGA的MII接口與MCU的MII接口對接,實現(xiàn)以太網(wǎng)收發(fā)。

SPI Flash讀寫

SPI Flash讀寫模塊包含一個Flash編程器和一個基于SPI 協(xié)議的收發(fā)器,如圖5所示。Flash編程器的功能是識別、擦除和燒寫Flash,并通過MCU本地總線向?qū)影l(fā)送升級成功或失敗的指示信號。基于SPI協(xié)議的收發(fā)器功能是向SPI Flash發(fā)送命令或數(shù)據(jù),并從SPI Flash中接收數(shù)據(jù)。

Flash編程器實現(xiàn)在線升級的流程如下:

1.初始化。完成升級過程中指示信號的復(fù)位。

2.檢驗Flash ID并上報上位機(jī)是否正常。

3.擦除第一個扇區(qū)最后4個字節(jié)的同步頭0x“AA995566”。

4.擦除升級區(qū)。

5.燒寫升級區(qū)。

6.校驗升級區(qū),看CRC32余式是不是0x“C704DD7B”。

7.更新升級狀態(tài),指示升級成功或失敗。如果升級成功,第一扇區(qū)最后4個字節(jié)燒寫同步頭0x“AA995566”。失敗情況下,會給出錯誤類型,如超時或CRC校驗有誤,并不燒寫同步頭。

Flash編程器實現(xiàn)升級失敗返回備份配置的關(guān)鍵是對同步頭的控制。如果升級成功,F(xiàn)PGA掉電重啟,檢測到同步頭后,執(zhí)行后續(xù)的IPROG命令并跳轉(zhuǎn)到升級區(qū)的起始地址開始加載;如果升級失敗,F(xiàn)PGA無法檢測到同步頭,就會忽略預(yù)置的IPROG命令,從備份配置啟動。

測試驗證

采用多個不同的固件,在無線通信板卡上對本文方法做驗證,這些固件控制板卡上的指示燈以不同的方式閃爍。選取其中2個固件并制作imt.bm初始化Flash。選取其他的固件制作update.bin做在線升級。多次執(zhí)行在線升級并穿插進(jìn)行人為斷電操作。升級成功后,板卡上的指標(biāo)燈按新固件中的邏輯閃爍。人為斷電致使升級失敗,板卡上的指標(biāo)燈閃爍方式不變。上百次實驗中,沒有出現(xiàn)一次差錯,證明本文方法具有較高的可靠性。

本文方法操作簡單的特點體現(xiàn)在init.bin和update.bin制作上。兩個文件的制作只需要簡單的Matlab或C語言腳本即可實現(xiàn)。

本文方法的FPGA邏輯使用HDL語言編寫,移植時,只需修改與Flash和固件加載地址相關(guān)的部分,具有較強(qiáng)的可移植性。本方法的FPGA邏輯已成功移植到以Micron公司MT25Q25做為配置存儲芯片的xc7a200tfbg676-2上。

本文提出的射頻單元中FPGA固件遠(yuǎn)程升級方法,操作簡單、可移植性強(qiáng)和可靠性高,已成功應(yīng)用到多個TD-LTE無線通信系統(tǒng)產(chǎn)品上,為產(chǎn)品的升級維護(hù)帶來了便利。

主站蜘蛛池模板: 国产精品美女免费视频大全| 久久黄色一级视频| 国产精品尹人在线观看| 香蕉国产精品视频| 日韩国产无码一区| 国内a级毛片| 国产无码网站在线观看| 超碰91免费人妻| 日韩精品亚洲人旧成在线| 国产精品主播| 亚洲a级毛片| 久久香蕉国产线看观看亚洲片| 不卡视频国产| 国产视频自拍一区| 激情综合网址| 为你提供最新久久精品久久综合| WWW丫丫国产成人精品| 99人妻碰碰碰久久久久禁片| 国产sm重味一区二区三区| 国产成人无码Av在线播放无广告| 丁香六月激情综合| 日韩成人午夜| 国产丝袜无码精品| 亚洲婷婷六月| 精品无码一区二区在线观看| 精品国产一二三区| 日本伊人色综合网| 午夜毛片福利| 亚洲av成人无码网站在线观看| 日韩在线观看网站| 黄色福利在线| 亚洲欧洲日韩国产综合在线二区| 四虎永久免费地址在线网站| 亚洲精品国偷自产在线91正片| 成年午夜精品久久精品| 精品国产Ⅴ无码大片在线观看81| 免费女人18毛片a级毛片视频| 在线观看国产小视频| 无码在线激情片| a亚洲天堂| 美女裸体18禁网站| 国产丝袜91| 九九久久精品免费观看| 色哟哟国产精品| 久久6免费视频| 亚洲国产高清精品线久久| 91视频青青草| 国产成人亚洲毛片| 大香伊人久久| 香蕉视频国产精品人| 亚洲国产日韩一区| 97国产精品视频自在拍| 日韩精品专区免费无码aⅴ| 久久综合丝袜长腿丝袜| 亚洲一区毛片| 亚洲精品国产成人7777| 伊人大杳蕉中文无码| 专干老肥熟女视频网站| 福利一区在线| 制服丝袜一区| 国产亚洲精| 国产国语一级毛片在线视频| 国产91高清视频| 成人国产精品2021| 精品视频福利| 亚洲精品无码抽插日韩| 丁香六月激情婷婷| 国产69精品久久久久孕妇大杂乱 | 久久婷婷综合色一区二区| 亚洲综合专区| 久久无码免费束人妻| 国产凹凸一区在线观看视频| 99这里只有精品免费视频| 亚洲码在线中文在线观看| 在线免费看片a| 日本午夜影院| 久久香蕉国产线看观看精品蕉| 91毛片网| 国产97视频在线| 毛片免费在线视频| 国产精品流白浆在线观看| 99久久精品美女高潮喷水|