亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA片內(nèi)Flash實現(xiàn)數(shù)據(jù)的動態(tài)加載和讀取*

        2019-05-31 03:19:40曹健輝
        通信技術(shù) 2019年3期
        關(guān)鍵詞:應(yīng)用層寄存器命令

        周 剛,曹健輝,彭 勃

        (中國電子科技集團(tuán)公司第三十研究所,四川 成都 610041)

        0 引 言

        本項目中涉及到4個通道的射頻發(fā)射電路,頻段覆蓋225~400 MHz,射頻輸出幅度會隨著頻率的變化而變化。由于DA輸出屬于模擬電路,加之元器件的個體差異,常會導(dǎo)致相同電路、不同頻率射頻輸出幅度不一致。每個通道的輸出功率均有平坦度要求,因此每臺設(shè)備的4個通道均需根據(jù)實際輸出功率調(diào)整射頻輸出的衰減量,確定4個通道的衰減量后,編譯生成本臺設(shè)備的下載文件。根據(jù)經(jīng)驗,一般1 MHz頻率內(nèi)對應(yīng)一個校正值。例如,175 MHz范圍只需175個矯正值即可。此種方式導(dǎo)致每臺設(shè)備的調(diào)試測試均需要重新編譯FPGA工程文件,工作量大且不利于FPGA程序的歸檔和使用。

        考慮兩種改進(jìn)方案。

        方案一為傳統(tǒng)的FPGA+SPI Flash或者FPGA+CPLD+Flash設(shè)計方案。由于硬件已經(jīng)開發(fā)完成,此方案的缺點在于需要修改硬件電路,增加單獨的Flash芯片或者CPLD芯片,因此實現(xiàn)難度較大,不建議采用。

        方案二為直接利用Xilinx公司Spartan-3AN系列FPGA內(nèi)含F(xiàn)lash進(jìn)行設(shè)計改進(jìn)。此FPGA內(nèi)含16 MB內(nèi)存的Flash,在PC中開發(fā)參數(shù)配置軟件,通過串口下載配置文件至FPGA中的片內(nèi)Flash。因為FPGA自帶串行外圍設(shè)備接口(Serial Peripheral Interface,SPI),F(xiàn)PGA每次開機(jī)后自動讀取片內(nèi)Flash的配置文件,也可以根據(jù)需要從FPGA的片內(nèi)Flash中讀取配置文件。

        1 Spartan-3AN

        1.1 Spartan-3AN主要特點

        Spartan-3AN FPGA平臺是Xilinx公司于2007年推出的非易失性FPGA解決方案,基于成熟的90 nm工藝的低成本FPGA構(gòu)架,融合了SRAM技術(shù)和可靠的非易失性閃存技術(shù)。

        以XC3S1400AN-4FGG676I為例,Spartan-3AN FPGA平臺的主要特點如下[1]:

        (1)工作溫度范圍:-40~100 ℃(結(jié)溫);

        (2)門數(shù)/乘積項:1 400 000門;

        (3)最高工作頻率:250 MHz;

        (4)傳輸延遲時間≤1.21 ns;

        (5)最大用戶I/O數(shù):502個;

        (6)電源電壓:1.2 V;

        (7)I/O端電壓:1.1~3.6 V;

        (8)邏輯單元:25 344個;

        (9)片內(nèi)Flash容量:16 MB。

        1.2 Spartan-3AN片內(nèi)Flash特點

        Flash又稱為閃存,具有可電擦寫、掉電后數(shù)據(jù)不丟失的特性,且容量大、功耗低、速度快,在現(xiàn)代電子產(chǎn)品中應(yīng)用廣泛[2]。

        以XC3S1400AN-4FGG676I為例,Spartan-3AN系列FPGA中片內(nèi)Flash的主要特點如下[1]:

        (1)片內(nèi)Flash容量:16 MB;

        (2)SRAM頁面緩沖區(qū):2個;

        (3)較小的空間(264 B或528 B)存儲非易失性數(shù)據(jù);

        (4)隨機(jī)存取,二進(jìn)制地址可設(shè)置;

        (5)最大66 MHz連續(xù)數(shù)據(jù)傳輸;

        (6)支持全部擦除、塊擦除和扇區(qū)擦除;

        (7)重點區(qū)域數(shù)據(jù)具備保護(hù)功能和防護(hù)措施;

        (8)128 B安全存儲空間;

        (9)支持100 000次擦寫;

        (10)Flash數(shù)據(jù)可保存20年;

        (11)支持多種Flash使用方式。

        Spartan-3AN系列FPGA內(nèi)部結(jié)構(gòu),如圖1所示[3]。

        圖1 Spartan-3AN系列FPGA內(nèi)部結(jié)構(gòu)

        Spartan-3AN系列FPGA中片內(nèi)Flash的配置接口,如圖2所示。

        圖2 Spartan-3AN系列FPGA中片內(nèi)Flash的配置接口

        1.3 SPI接口

        SPI是由Motorola公司推出的一種高速、全雙工的同步串行通信總線,可以使MCU與各種外圍設(shè)備以串行方式進(jìn)行通信并交換信息。SPI接口主要有4根信號線:時鐘信號線(CLK)、主輸出/從機(jī)輸入數(shù)據(jù)線(MISI)、主輸入/從機(jī)輸出數(shù)據(jù)線(MISO)和片選信號線(CSB)[4]。SPI接口框圖如圖3所示[5]。

        圖3 SPI接口

        目前,Spartan-3AN等FPGA內(nèi)含F(xiàn)lash模塊,支持SPI接口。對于Spartan-3AN,F(xiàn)PGA是SPI主器件,SPI Flash PROM是從器件。

        2 系統(tǒng)架構(gòu)

        本文構(gòu)建了一個通過SPI接口實現(xiàn)FPGA片內(nèi)Flash數(shù)據(jù)動態(tài)加載和讀取的系統(tǒng),系統(tǒng)架構(gòu)如圖4所示。

        圖4 系統(tǒng)架構(gòu)

        系統(tǒng)校正值寫入流程,如圖5所示。

        圖5 校正值寫入流程

        系統(tǒng)校正值讀取流程,如圖6所示。

        圖6 校正值讀取流程

        2.1 ISF Flash控制

        SPI_ACCESS原語用來連接FPGA應(yīng)用層和系統(tǒng)Flash。使用中,F(xiàn)PGA應(yīng)用層是主,系統(tǒng)Flash是從。該原語包括MISO、MOSI、CSB和CLK四個管腳。

        MISO:主入從出,串行數(shù)據(jù)從系統(tǒng)Flash存儲空間中輸出至FPGA應(yīng)用層邏輯;

        MOSI:主出從入,串行數(shù)據(jù)從FPGA應(yīng)用層邏輯中輸出至系統(tǒng)Flash存儲空間;

        CSB:系統(tǒng)Flash片選使能信號,低電平有效;

        CLK:系統(tǒng)Flash操作時鐘,由FPGA應(yīng)用層邏輯給出。

        SPI_ACCESS原語屬性定義包括以下內(nèi)容:

        (1)SIM_DVICE:用來定義目標(biāo)芯片類型,type為String,本實現(xiàn)中賦值“3S1400AN”;

        (2)SIM_USE_ID:用來定義SPI存儲器安全寄存器中的編程用戶ID,type為16進(jìn)制數(shù)據(jù),本實現(xiàn)中賦值“0XFF”;

        (3)SIM_MEM_FILE:用來指定存儲初始化值的文件,type為String,本實現(xiàn)中賦值“NONE”;

        (4)SIM_FACTORY_ID:用來指定安全寄存器中的用戶識別號,type為16進(jìn)制數(shù)據(jù),本實現(xiàn)中賦值“0X00”;

        (5)SIM_DELAY_TYPE:用來指定仿真延時類型,type為String,本實現(xiàn)中賦值“SCALED”。

        2.2 ISF Flash地址分配策略

        XC3S1400AN內(nèi)部SPI FLASH基礎(chǔ)構(gòu)成是page。page是系統(tǒng)FPGA中的最小可擦除單元,每個page包含528個字節(jié),8個page可組成一個block,32個block組成一個sector。

        應(yīng)用層可針對page、block和sector單獨進(jìn)行擦除操作,并且可對sector單獨進(jìn)行鎖住和保護(hù)。內(nèi)部SPI Flash存儲結(jié)構(gòu)如圖7所示。

        圖7 內(nèi)部SPI Flash存儲結(jié)構(gòu)

        XC3S1400AN系列FPGA的默認(rèn)尋址方式,如圖8所示[5],本文即采用這種默認(rèn)地址分配模式。

        2.3 ISF Flash讀寄存器

        狀態(tài)寄存器讀取命令時序,如圖9所示[5]。

        圖8 XC3S1400AN FPGA默認(rèn)尋址方式

        圖9 狀態(tài)寄存器讀取命令時序

        (1)在開始發(fā)送讀取命令前,CSB必須開始拉低,并在整個讀取過程中一直保持低電平;

        (2)讀取狀態(tài)寄存器命令為0XD7,并伴隨時鐘下降沿以二進(jìn)制形式“11010111”傳至MOSI;

        (3)系統(tǒng)Flash伴隨時鐘上升沿捕捉傳來的數(shù)據(jù);

        (4)在狀態(tài)結(jié)果輸出之前,MISO一直保持高電平;

        (5)在讀取命令傳輸完畢后,系統(tǒng)存儲器伴隨時鐘下降沿將狀態(tài)寄存器內(nèi)的內(nèi)容一一輸出,高位在前,低位在后;

        (6)FPGA應(yīng)用層伴隨時鐘上升沿捕捉系統(tǒng)存儲器的狀態(tài)信息;

        (7)在系統(tǒng)存儲器狀態(tài)信息讀取完畢后,將CSB拉高,結(jié)束讀取過程。

        2.4 ISF Flash讀數(shù)據(jù)命令

        系統(tǒng)Flash讀取命令有多種讀取方式,包括快速讀取、自由讀取、頁緩存至Buffer讀取和Buffer讀取等。本應(yīng)用采取自由讀取,原因是快速讀取適合小數(shù)據(jù)量、自由讀?。蛔x取數(shù)據(jù)無延時,讀取時鐘可達(dá)33 MHz,滿足本系統(tǒng)的使用需求。

        讀取命令格式及要求如表1所示。

        表1 讀取命令格式及要求

        注意事項:

        (1)讀取輸出數(shù)據(jù)無延時;

        (2)當(dāng)CSB保持低電平時,MISO數(shù)據(jù)隨時鐘下降沿串行輸出,高位先出,地址會自動增加,無需人為控制;

        (3)當(dāng)CSB拉高時,結(jié)束數(shù)據(jù)讀取操作。

        讀取命令的Chipscope截圖,如圖10所示。

        2.5 ISF Flash寫數(shù)據(jù)命令

        系統(tǒng)Flash讀取命令有多種讀取方式,包括Buffer寫、頁擦除Buffer寫、頁不擦除Buffer寫、頁Buffer寫、頁Buffer比對和自動頁寫。本應(yīng)用采取頁Buffer寫,原因是頁Buffer寫是將Buffer寫和Buffer頁擦除合二為一,用一條指令就完成了兩個操作,減少了命令條數(shù),簡化了操作步驟,降低了出錯概率,提高了寫數(shù)據(jù)的效率。

        寫數(shù)命令格式及要求如表2所示。

        表2 寫數(shù)命令格式及要求

        寫數(shù)命令的Chipscope截圖,如圖11所示。

        圖11 寫數(shù)命令的Chipscope截圖

        2.6 ISF Flash擦除命令

        擦除有三種擦除模式:頁擦除、block擦除和sector擦除。為防止sector誤擦除和非授權(quán)的擦除,可實現(xiàn)sector保護(hù)和sector鎖住。

        頁擦除、block擦除和sector擦除命令格式及要求如表3所示。

        表3 擦除命令格式及要求

        擦除完畢后,相應(yīng)擦除存儲空間里的數(shù)據(jù)為0XFF。

        2.7 ISF Flash Sector保護(hù)命令

        Sector保護(hù)寄存器狀態(tài)讀?。合鄳?yīng)的命令控制字為0X32。

        Sector保護(hù)寄存器擦除:相應(yīng)的命令控制字為0X3D+0X2A+0X7F+0XCF。

        Sector保護(hù)寄存器擦除格式如表4所示。

        表4 Sector保護(hù)寄存器擦除格式

        擦除Sector保護(hù)寄存器后,Sector保護(hù)寄存器每個字節(jié)的值變?yōu)?XFF,代表所有的Sector均被保護(hù)。

        Sector保護(hù)寄存器寫入:相應(yīng)的命令控制字為0X3D+0X2A+0X7F+0XFC。

        Sector保護(hù)寄存器寫入格式如表5所示。

        表5 Sector保護(hù)寄存器寫入格式

        Sector保護(hù)寄存器讀出:相應(yīng)的命令控制字為0X32。

        Sector保護(hù)寄存器讀取格式如表6所示。

        表6 Sector保護(hù)寄存器讀取格式

        Sector保護(hù)寄存器使能:相應(yīng)的命令控制字為0X3D+0X2A+0X7F+0XA9。

        Sector保護(hù)寄存器寄存器使能格式如表7所示。

        表7 Sector保護(hù)寄存器使能格式

        Sector保護(hù)寄存器禁用:相應(yīng)的命令控制字為0X3D+0X2A+0X7F+0X9A。

        Sector保護(hù)寄存器禁用格式如表8所示。

        表8 Sector保護(hù)寄存器禁用格式

        2.8 參數(shù)配置軟件

        參數(shù)配置軟件布置于一臺普通PC中,通過串口與射頻控制模塊的FPGA相連,實現(xiàn)COM選擇、通道選擇、參數(shù)文件的讀取和存儲。參數(shù)配置軟件截圖如圖12所示。

        圖12 參數(shù)配置軟件截圖

        3 實現(xiàn)過程

        制備顯控小軟件一個,該軟件具備以下功能:能通過RS232協(xié)議與FPGA應(yīng)用層進(jìn)行通信;可下發(fā)系統(tǒng)Flash擦除、寫入、回讀和sector保護(hù)功能等;可將要寫入的數(shù)據(jù)和地址一一對應(yīng)保存在文本文件中;待寫入完畢后,進(jìn)行寫入數(shù)據(jù)回讀并一一比對,判定是否寫入成功。若寫入成功,則結(jié)束燒寫;失敗則再重寫,直到燒寫成功。

        系統(tǒng)FPGA應(yīng)用軟件一套,該軟件具備以下功能:能通過RS232協(xié)議與FPGA應(yīng)用層進(jìn)行通信,能正確接收顯控下發(fā)的命令信息,執(zhí)行相應(yīng)的系統(tǒng)Flash擦除、寫入、回讀和sector保護(hù)等操作。在系統(tǒng)上電后,該系統(tǒng)運行后稍做延時,會執(zhí)行從Flash讀數(shù)據(jù)的操作,根據(jù)系統(tǒng)需要將讀取到的數(shù)據(jù)保存至雙口RAM,待程序需要該數(shù)據(jù)時會根據(jù)索引從相應(yīng)的RAM地址中讀取數(shù)據(jù)并使用,增加了系統(tǒng)應(yīng)用的靈活性。

        當(dāng)系統(tǒng)程序控制DA發(fā)射射頻時,系統(tǒng)會根據(jù)發(fā)射頻率計算應(yīng)該取雙口RAM哪個地址中的矯正值。例如,發(fā)射頻率范圍為200~400 MHz,則200~201 MHz對應(yīng)的矯正值保存在第1個地址中,201~202 MHz對應(yīng)的矯正值保存在第2個地址中;以此類推,399~400 MHz對應(yīng)的矯正值保存在第200個地址中,400 MHz對應(yīng)的矯正值保存在第201個地址中。具體實現(xiàn)中,讀校正值地址可通過addr=(Freqence-200 000 000)/1 000 000計算,即對結(jié)果取整獲取所需的地址值;其他的讀操作邏輯控制相應(yīng)的給出,即可正確讀出校正值。然后,矯正值被提出并轉(zhuǎn)化為對應(yīng)頻率的功率補(bǔ)償,進(jìn)而實現(xiàn)DA輸出幅度的平坦性。

        4 試驗驗證

        參數(shù)配置軟件寫入截圖,如圖13所示。

        參數(shù)配置軟件讀取截圖,如圖14所示。

        5 結(jié) 語

        本文設(shè)計并實現(xiàn)了一種基于FPGA片內(nèi)Flash進(jìn)行數(shù)據(jù)加載和讀取的方法:以裝在普通PC中的參數(shù)配置軟件作為配置主控制器,通過串口對FPGA片內(nèi)的Flash進(jìn)行控制,成功實現(xiàn)了對FPGA的數(shù)據(jù)動態(tài)加載和讀取。

        在應(yīng)用該系統(tǒng)前,需根據(jù)每個頻率測量求得一個校正值,并將校正值寫入系統(tǒng)應(yīng)用程序中。這樣做的缺點是:針對每臺設(shè)備校正值不同,需要重新修改源代碼中相應(yīng)的校正值,并對源代碼進(jìn)行編譯燒寫。這樣不便于程序的版本控制,需對每臺設(shè)備準(zhǔn)備一套與之對應(yīng)的版本程序,給設(shè)備后期維護(hù)帶來了較大不便,尤其當(dāng)設(shè)備大批量生產(chǎn)時。

        圖13 寫入截圖

        圖14 讀取截圖

        應(yīng)用該系統(tǒng)后,程序版本只需要一個版本,矯正值會存入Flash中,并可以根據(jù)DA發(fā)射頻率將校正值讀取出使用。后期設(shè)備維修維護(hù)時只需讀出Flash中的校正值并保存至文本文件。硬件更換后,根據(jù)需要修改更換后硬件部分對應(yīng)的校正值,并再次保存歸檔。當(dāng)新的矯正數(shù)據(jù)寫入完畢后,還可通過回讀命令自動進(jìn)行校正值的回讀和比對,確保矯正值完全讀寫正確,提高了設(shè)備的穩(wěn)定性,簡化了操作的復(fù)雜性,節(jié)省了大量人力,尤其在設(shè)備大批量生產(chǎn)時。

        猜你喜歡
        應(yīng)用層寄存器命令
        只聽主人的命令
        Lite寄存器模型的設(shè)計與實現(xiàn)
        移防命令下達(dá)后
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        基于分級保護(hù)的OA系統(tǒng)應(yīng)用層訪問控制研究
        新一代雙向互動電力線通信技術(shù)的應(yīng)用層協(xié)議研究
        這是人民的命令
        物聯(lián)網(wǎng)技術(shù)在信息機(jī)房制冷系統(tǒng)中的應(yīng)用
        Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
        藍(lán)色命令
        青青草原亚洲在线视频| 亚洲精品黑牛一区二区三区| 少妇高潮喷水正在播放| 91日本在线精品高清观看| av在线一区二区三区不卡| 在线观看特色大片免费视频| 日本阿v网站在线观看中文| 亚洲色偷拍一区二区三区| av男人的天堂第三区| 免费看美女被靠到爽的视频| 中文字幕日韩精品无码内射| 无码一区二区三区不卡AV| 在线久草视频免费播放| 婷婷五月深深久久精品| 一本大道久久香蕉成人网| 久久国产精品免费一区六九堂| 国产一级内射一片视频免费| 色婷婷亚洲一区二区三区| 熟妇与小伙子matur老熟妇e| 国产av精国产传媒| 国产一级黄色录像| 日韩亚洲一区二区三区在线| 亚洲成a人v欧美综合天堂| 国产午夜视频在线观看| 一区二区三无码| 国产av在线观看一区二区三区| 精品人妻无码视频中文字幕一区二区三区| 五月天久久国产你懂的| 狼人狠狠干首页综合网| 18禁在线永久免费观看| 免费人成视频在线观看网站| 国产激情电影综合在线看 | 人妻少妇偷人精品免费看| 国产精品无码av天天爽| 97SE亚洲国产综合自在线不卡| 国产我不卡在线观看免费| 国产精品日本一区二区在线播放| 米奇777四色精品人人爽| 无码av在线a∨天堂毛片| 中文字幕精品人妻丝袜| 欧美村妇激情内射|