毛片在线免费_三级黄色网_婷婷色五_国产精品va无码免费_男女下面一进一出好爽视频_天天操一操_日日噜噜夜夜狠狠久久丁香五月_亚洲人成网站观看在线播放_亚洲综合色区在线播放2019_亚洲老熟女av一区二区在线播放

【技術分享】基于FPGA的百變設計方案

日期:2021-10-19 作者:潤欣科技創研社 返回列表

FPGA方案


隨著一款產品在研發階段的日漸成熟,實現的功能也日趨復雜化和多樣化,對產品功能實現重定義的應用需求也在日益加大。產品功能重定義就是在不改動設備硬件設計的前提下,通過更改FPGA的程序文件,達到產品功能重定義的方法。

一般的產品在設計時,研發會按照產品的定義完成功能代碼的開發,然后用JTAG接口進行燒錄、調試,但是等產品上線時,所有的固件就會被固化,并且因為JTAG接口過于笨重,我們一般是不保留該接口;所以也無法在產品完成固化后進行重新燒錄進行重定義的操作。

目前也有一些應用方案會使用BLE/WIFI SOC+存儲芯片的架構,BLE/WIFI SOC負責存儲芯片的讀寫,存儲芯片作為FPGA的程序代碼存儲器,工作時,BLE/WIFI SOC將存儲芯片中的數據讀出,并按照特定時序(FPGA加載時序)發送到FPGA,此過程即為FPGA的數據加載流程,如果需要升級功能,通過無線進行遠程OTA升級。而本方案是無需其它芯片參與的情況下通過邏輯設計和UART口進行產品功能的重定義。


邏輯設計


本方案的核心就是雙啟動,其中區域1為固化區域,此區域非功能區域,而是負責區域2的管理,其中區域2為功能區域,每次的功能重定義就是對區域2的刷新。區域2的刷新通過PC和串口調試助手模擬上位機,傳輸工程的 Bin 文件到 fpga 啟動配置的Flash 中,實現兩個存儲到 flash 程序的跳轉完成固件升級操作。

3-02.png

設置兩個區域,第一個區域執行程序1,完成對區域2的管理和升級工作。第二個區域的程序2是我們用戶設計的功能程序或者說產品程序。在 FPGA 啟動中, 如果我們不升級區域 2 的程序,那么自動通過 ICap 接口跳轉到區域2的程序中。 區域1起始地址 0x0,區域2起始地址 0x0100000。

在本方案中,設計區域1的程序實現的功能為:上電后自動加載此程序,此時開始計時如果 20 秒內沒有檢測到串口發送的擦除指令,那么我們啟動 icap 跳轉,跳轉到區域 2 程序中。

如果希望再次升級的話必須重新給板卡上電使得程序回到區域1中。


流程圖如下:

2-02.png


頂層結構圖如下:

圖表-02.png


FPGA uart接收模塊,接收上位機發送的數據,并實現波特率為115200的uart協議的串行數據到并行數據的轉換,將數據發送至flash_ctrl模塊,Flash_ctrl模塊是flash的控制模塊,該模塊自定義了一個簡單的協議,根據uart指令來控制flash的擦除、讀、寫,協議包括三種數據包來對應相應的指令,再將數據發送至對應的模塊;而由flash擦除、讀、寫三個模塊處理的數據返回后經過uart_tx模塊返回上位機,本文中即返回PC機串口模塊。

返回列表
主站蜘蛛池模板: 蕉岭县| 饶阳县| 光山县| 油尖旺区| 陈巴尔虎旗| 永泰县| 福鼎市| 息烽县| 凉城县| 北辰区| 六枝特区| 甘洛县| 乐亭县| 康平县| 句容市| 禄丰县| 独山县| 长阳| 大同市| 珲春市| 永定县| 凤城市| 吴堡县| 石阡县| 上杭县| 贵定县| 海盐县| 吉木萨尔县| 张家川| 松溪县| 枣阳市| 柞水县| 固原市| 北宁市| 肃北| 洞口县| 闽侯县| 鄂伦春自治旗| 重庆市| 南漳县| 延寿县|