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

基于DSP28335 的FPGA 軟件在線升級方法

2024-02-27 12:16:36王濤錢昀瑩張鉚田旭
電子設計工程 2024年3期

王濤,錢昀瑩,張鉚,田旭

(1.中國電子科技集團公司第五十八研究所,江蘇無錫 214062;2.中國礦業大學(北京)機械與電氣工程學院,北京 100083)

數字信號處理器(Digital Signal Processor,DSP)內部采用程序和數據分開的哈佛結構,具有專門的硬件乘法器,采用流水線操作,可以快速實現各種數字信號處理算法;現場可編程邏輯門陣列(Field Programmable Gate Array,FPGA)由可編程邏輯塊、數字時鐘管理、輸入輸出等模塊組成,具有可編程靈活性高、開發周期短以及并行計算效率高的特點。鑒于DSP 和FPGA 的上述優點,DSP+FPGA 架構的實時信號處理系統已廣泛應用于網絡通信、數據中心、汽車電子、人工智能等領域[1-2]。

在DSP 和FPGA 軟件調試過程中,可以通過JTAG 接口將應用程序燒寫至相應的FLASH 或PROM中。然而,當產品使用出現問題或者產品功能升級時,需要打開產品外殼,通過電路板上JTAG 接口連接仿真器才能對DSP 和FPGA 軟件進行升級。由于一些產品已經交付使用或經過特殊工藝處理,不具備拆卸外殼進行軟件升級的條件。目前,DSP 和FPGA 產品軟件在線升級得到了廣泛的研究[3-16],DSP可以通過固化在內部BOOT ROM 中的引導程序(Bootloader)選擇不同的BOOT 模式,實現DSP 軟件在線升級[3-4]。針對FPGA 軟件在線升級[5-20],文獻[5]利用USB2.0 芯片CY7C68013A 設計了一種FPGA 程序在線升級的方法;文獻[6]通過1553B 總線實現了對FPGA 的在線升級;文獻[7]設計并實現了基于UDP 的FPGA 遠程升級系統。

然而,在DSP+FPGA 架構的嵌入式系統中利用DSP 在線升級FPGA 的方法并未見文獻論述。基于此,該文提出了一種基于TMS320F28335 的FPGA 軟件在線升級方法。該方法通過上位機將FPGA 代碼發送給DSP,DSP 通過GPIO 模擬符合IEEE1194.1 標準的JTAG 時序,完成對配置PROM 芯片的擦除、編程和校驗操作,實現FPGA 軟件的在線升級。實驗結果表明:該方法具有較好的可行性、穩定性和可靠性,可以實現DSP+FPGA 架構下不拆產品就可升級FPGA 軟件的目的。

1 總體方案

DSP+FPGA 架構下FPGA 軟件在線升級原理框圖如圖1 所示,主要由上位機和目標產品兩部分組成。上位機主要負責與DSP 通信,實現命令和數據的發送與接收。目標產品中DSP 芯片型號為TI 公司C2000 系列TMS320F28335,FPGA 芯片型號為Xilinx公司Virtex4 系列XC4VLX60-10FFG668,配置PROM芯片型號為XCF32PVOG48C。

圖1 在線升級原理框圖

上位機通過RS422 串口發送FPGA 軟件給DSP,DSP 接收到數據后將其存放在片內SRAM 中。DSP通過GPIO 模擬標準的JTAG 時序,將SRAM 中存放的數據燒寫到32P 芯片中,重復上述操作,直至FPGA 軟件燒寫完成。

FPGA 軟件燒寫完成后,上位機通過RS422 串口發送校驗命令,DSP 讀取32P 芯片中的數據并回傳給上位機,上位機進行數據校驗。若數據校驗全部正確,表明FPGA 軟件在線升級成功,否則重新執行在線升級過程。

2 硬件設計

DSP+FPGA 嵌入式系統硬件設計原理圖如圖2所示,DSP 與FPGA 通過XINTF 總線完成數據交互傳輸。將FPGA 的M0 和M1 管腳上拉、M2 管腳下拉,配置編程模式為主SelectMAP 模式,通過并行總線進行配置數據傳輸,數據寬度為8 位。JTAG 接口、FPGA和32P 采用菊花鏈的方式進行連接,即TMS、TCK 信號分別連在一起,JTAG 接口的TDI 信號與32P 的TDI 信號相連,32P 輸出的TDO 信號作為FPGA TDI的輸入,FPGA 的TDO 與JTAG 接口的TDO 相連,形成完整的回路。DSP 通過SCIA 串口與上位機進行數據收發,利用GPIO0~3 分別模擬JTAG 接口的TDO、TMS、TCK 和TDI 信號。

圖2 硬件原理圖

3 軟件實現

3.1 升級流程

在線升級軟件包括上位機軟件和DSP 升級軟件,在線升級軟件總體工作流程如圖3 所示。

圖3 升級流程圖

首先,打開上位機軟件,設置串口號和串口波特率并打開串口,加載FPGA 待燒寫的BIN 格式軟件。上位機通過RS422 串口給DSP 發送升級命令,DSP讀取32P 芯片的IDCODE,若IDCODE 不匹配,則退出在線升級;若讀取的IDCODE 值為0xF5059093,表示匹配成功,繼續執行32P 芯片的編程使能操作,包括使能PROGRAM 操作以及UNLOCK、ERASE 用戶寄存器和數據寄存器等。然后,上位機給DSP 發送BIN 文件數據,DSP 接收到數據后將其存放在片內SRAM 中,通過GPIO0~3 模擬標準的JTAG 時序,將SRAM 中存放的數據燒寫到32P 芯片中,并回傳軟件燒寫進度給上位機。重復上述操作,直到FPGA 軟件全部燒寫完成。燒寫完成后,執行32P 芯片的編程禁止操作,結束在線升級。

3.2 上位機軟件

上位機軟件使用C#語言完成界面開發,界面如圖4 所示,包含串口設置、升級命令、BIN 文件選擇以及升級進度等部分。用戶通過操作上位機進行FPGA 軟件在線升級,上位機對FPGA 軟件進行數據預處理,并通過RS422 串口與DSP 建立連接和數據交互,部分握手協議如表1 所示。

表1 部分握手協議

圖4 上位機界面

3.3 DSP軟件

3.3.1 SVF文件解析

串行矢量格式(Serial Vector Format,SVF)是一種標準文件格式,用來記錄JTAG 操作,包括JTAG 指令代碼、指令寄存器(Instruction Register,IR)和數據寄存器(Data Register,DR)的長度及內容等,其中IR的長度通常大于2 個比特。SVF 文件可以利用Xilinx iMPACT 軟件直接生成,文件內容為ASCII 文本。

所有JTAG 操作都通過32P 的測試訪問端口(Test Access Port,TAP)進行控制,其中TAP 控制器是一個16 狀態的有限狀態機,如圖5 所示。TAP 控制器包含了TMS、TDI、TDO 和TCK 四種信號,這些信號通過TAP 控制器與32P 進行數據交互。所有JTAG 操作是將數據移入或者移出IR 和DR 寄存器,通過SHIFT-IR 狀態訪問IR 寄存器,通過SHIFT-DR狀態訪問DR 寄存器。在SHIFT-IR 和SHIFT-DR 狀態期間,在TCK 的上升沿采樣TDI 輸入信號,在TCK的下降沿更新TDO 輸出值。

圖5 有限狀態機

利用Xilinx iMPACT 軟件對圖2 硬件原理圖中的32P 芯片進行編程操作,生成了完整的SVF 文件。當執行SHIFT-IR 命令時,需要將TIR、SIR 和HIR 的數值和長度按照TIR+SIR+HIR 的順序合并為新的數值和長度;當執行SHIFT-DR 命令時,需要將TDR、SDR和HDR 的數值和長度按照TDR+SDR+HDR 的順序合并為新的數值和長度,SVF 文件解析后的部分指令代碼和長度如表2 所示。

表2 JTAG指令

3.3.2 DSP軟件開發

DSP 系統工作頻率設置為150 MHz,GPIO0 配置為輸入,GPIO1~3 配置為輸出,GPIO28 和29 配置為串口SCIA,并進行相應的初始化操作。根據圖5 所示TAP 控制器有限狀態機的操作順序,編寫了TAP復位、SIR 數據發送、SDR 數據發送等底層驅動接口函數。根據SVF 文件及解析后的指令代碼和長度,編寫了32P 擦除、編程打開、編程禁止等驅動函數,其中32P 擦除驅動代碼如下:

DSP 通過SCIA 串口與上位機進行數據收發,并利 用GPIO0~3 分別模擬JTAG 接口的TDO、TMS、TCK 和TDI 信號,實現對32P 的擦除、編程和校驗操作,其中對32P 編程操作的軟件流程如圖6 所示。

圖6 32P編程軟件流程

執行32P 編程操作時,上位機首先給DSP 發送0x32 和0xCD 兩個字節的數據,若DSP 接收到正確數據,則執行32P 編程使能操作并回復ACK 數據,否則回復NACK 數據。回復ACK 數據后,DSP 等待接收0x31 和0xCE 兩個字節的數據,若接收正確,則回復ACK 數據并繼續接收4 個字節的起始地址和一個字節的校驗值。如果接收到的地址有效且異或校驗結果正確,則DSP 回復ACK 數據并重復執行如下操作:

1)獲取待接收數據的字節數N;

2)接收N個字節的數據以及校驗值;

3)將接收的數據寫入32P 中。

上位機發送完FPGA 軟件所有數據后,發送0x33 和0xCC 兩個字節數據,若DSP 接收正確,則執行32P 編程禁止操作并回復ACK 數據,結束32P 編程操作。

4 實驗結果與分析

為了驗證基于TMS320F28335 的FPGA 軟件在線升級方法的可行性,參照圖2 所示硬件原理圖搭建了系統實物。將DSP 在線升級程序固化至TMS320F28335 芯片的片內FLASH 中,上電后自動執行升級程序。設計了一個調試成功的FPGA 軟件,其功能為LED 指示燈以1 Hz 的頻率閃爍。通過在線升級的方式更新配置芯片32P 中的軟件,若系統重新上電后FPGA 運行狀態與測試程序功能一致,則表明軟件在線升級成功。

在圖4 所示上位機軟件中設置串口號為COM1、串口波特率為115 200 bps 并打開串口,加載LED 測試軟件,將所選LED 軟件通過TMS320F28335 芯片燒寫至配置芯片32P 中,燒寫32P 的同時利用邏輯分析儀軟件采集TMS、TCK、TDI、TDO 四種信號的數據。

通過對比LED 測試軟件BIN 文件和采集結果的數據,可以看出LED 測試軟件傳輸無誤。升級結束后,斷電重啟FPGA,FPGA 自動加載32P 中更新后的程序,可以看到電路板上LED 指示燈以1 Hz 的頻率閃爍,說明LED 測試軟件已成功燒寫至配置芯片32P 中。

為進一步驗證所提升級方法的穩定性和可靠性,多次修改LED 測試軟件,改變LED 指示燈閃爍的頻率,執行上述升級流程。大量實驗結果顯示,FPGA 重新上電后從32P 加載新程序,每次的運行狀態均與測試軟件功能一致,表明基于TMS320F28335的FPGA 軟件在線升級方法具有較好的可行性、穩定性和可靠性。

5 結論

由于在DSP+FPGA 架構的嵌入式系統中利用DSP 在線升級FPGA 的方法未見文獻論述,提出了一種基于TMS320F28335 的FPGA 軟件在線升級方法。在理論分析的基礎上,給出了所提方法的硬件原理圖和軟件實現流程。大量的實驗結果表明,該方法具有較好的可行性、穩定性和可靠性,可以實現DSP+FPGA 架構下不拆產品就可升級FPGA 軟件的目的。

主站蜘蛛池模板: 青青草原国产av福利网站| 免费无遮挡AV| 久久久久88色偷偷| 在线免费观看AV| 久久亚洲高清国产| 亚洲天堂.com| 免费一看一级毛片| 亚洲一区二区三区在线视频| 好久久免费视频高清| 久久免费看片| av一区二区三区在线观看| 97影院午夜在线观看视频| 青青青伊人色综合久久| 久久综合色视频| 精品一区二区三区水蜜桃| 国产成年无码AⅤ片在线| 国产在线视频欧美亚综合| 99热在线只有精品| 国产成人一区二区| 国产精品久久久久久久伊一| 国产麻豆另类AV| 日韩人妻无码制服丝袜视频| 日韩精品一区二区深田咏美| 国产亚洲高清在线精品99| 免费看一级毛片波多结衣| 91欧洲国产日韩在线人成| 超碰91免费人妻| 91视频首页| 亚洲乱伦视频| 国产乱子伦精品视频| 97视频在线精品国自产拍| 国产9191精品免费观看| 久久精品丝袜高跟鞋| 在线国产毛片手机小视频| www成人国产在线观看网站| 综合色婷婷| 夜夜爽免费视频| 日韩AV无码一区| 啊嗯不日本网站| 国产91精品调教在线播放| www.91在线播放| 免费观看男人免费桶女人视频| 日韩天堂在线观看| 国产精品yjizz视频网一二区| 三级国产在线观看| 国产69精品久久| 无码人中文字幕| 欧美日韩在线第一页| 精品国产aⅴ一区二区三区| 9久久伊人精品综合| 97影院午夜在线观看视频| 欧美成人二区| 中文字幕免费在线视频| 久久香蕉国产线看精品| www亚洲天堂| 夜夜操天天摸| 亚洲国产理论片在线播放| 精品国产污污免费网站| 欧美特黄一级大黄录像| 亚洲国产欧美国产综合久久 | 国产精品视频第一专区| 精品久久久久无码| 国产国产人成免费视频77777| 无码有码中文字幕| 呦女亚洲一区精品| a毛片免费在线观看| 日韩欧美综合在线制服| 亚洲综合婷婷激情| 国产香蕉一区二区在线网站| 欧美三级视频在线播放| 99久久精品视香蕉蕉| av一区二区三区高清久久| 精品福利网| 2021国产精品自产拍在线观看 | 免费女人18毛片a级毛片视频| 国产99精品久久| 国产成人AV综合久久| 亚洲天堂啪啪| 亚洲精品无码在线播放网站| 欧美一级在线看| 伊人色综合久久天天| 91麻豆久久久|