0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA的百變邏輯設(shè)計

gh_b555ac340b6b ? 來源:潤欣科技Fortune ? 作者: 潤欣科技創(chuàng)研社 ? 2021-10-21 15:11 ? 次閱讀

FPGA方案

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

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

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

邏輯設(shè)計

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

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

在本方案中,設(shè)計區(qū)域1的程序?qū)崿F(xiàn)的功能為:上電后自動加載此程序,此時開始計時如果 20 秒內(nèi)沒有檢測到串口發(fā)送的擦除指令,那么我們啟動 icap 跳轉(zhuǎn),跳轉(zhuǎn)到區(qū)域 2 程序中。

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

流程圖如下:

b3e57cb6-31fa-11ec-82a8-dac502259ad0.jpg

頂層結(jié)構(gòu)圖如下:

b442ad64-31fa-11ec-82a8-dac502259ad0.jpg

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

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1625

    文章

    21620

    瀏覽量

    601238
  • 芯片
    +關(guān)注

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420879
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4226

    瀏覽量

    85575

原文標題:【技術(shù)分享】基于FPGA的百變設(shè)計方案

文章出處:【微信號:gh_b555ac340b6b,微信公眾號:gh_b555ac340b6b】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于FPGA的除法器純邏輯設(shè)計案例

    前邊寫了很多關(guān)于板上外圍器件的評測文章,這篇是FPGA邏輯設(shè)計,是FPGA的另一部分——算法實現(xiàn),上篇文章做了HDC1000傳感器的使用,當時說FPGA是不支持小數(shù)的,本篇記述的是
    的頭像 發(fā)表于 06-17 10:17 ?7355次閱讀
    基于<b class='flag-5'>FPGA</b>的除法器純<b class='flag-5'>邏輯設(shè)計</b>案例

    FPGA培訓(xùn)--FPGA高級邏輯設(shè)計研修班

    及路線圖詳見報到通知)四、 課程簡介本課程為期三天,旨在幫助已經(jīng)掌握一定設(shè)計基礎(chǔ)的工程師進一步了解FPGA邏輯設(shè)計的方法與優(yōu)化技巧。講述了邏輯設(shè)計的驗證、高級狀態(tài)機的設(shè)計、基于FPGA
    發(fā)表于 07-24 13:13

    單片機與FPGA總線接口邏輯設(shè)計

    單片機與FPGA總線接口邏輯設(shè)計1、利用FPGA內(nèi)部RAM存儲256個字節(jié)數(shù)據(jù),并將數(shù)據(jù)發(fā)送到單片機并在串口調(diào)試工具顯示;2、通過串口調(diào)試工具經(jīng)單片機發(fā)送數(shù)據(jù)到FPGA,并通過LED顯
    發(fā)表于 03-04 13:09

    MCS-51單片機與FPGA接口的邏輯設(shè)計

    `MCS-51單片機與FPGA接口的邏輯設(shè)計.........`
    發(fā)表于 06-08 11:25

    急聘!FPGA邏輯設(shè)計部門經(jīng)理

    本帖最后由 daworencai 于 2016-1-21 14:46 編輯 崗位職責(zé):1.負責(zé)部門存儲系列產(chǎn)品的邏輯設(shè)計開發(fā)工作;2.負責(zé)存儲系列產(chǎn)品的BCH算法優(yōu)化、高速存儲技術(shù)實現(xiàn)等;負責(zé)
    發(fā)表于 01-21 14:42

    基于FPGA技術(shù)的RS 232接口的時序邏輯設(shè)計實現(xiàn)

    了如何通過FPGA實現(xiàn)RS 232接口的時序邏輯設(shè)計。關(guān)鍵詞:FPGA;時序電路;RS 232;串行通信
    發(fā)表于 06-19 07:42

    要使用哪種方法去驗證 FPGA邏輯設(shè)計?

    要使用哪種方法去驗證 FPGA邏輯設(shè)計?FPGA的優(yōu)缺點是什么?
    發(fā)表于 04-08 06:57

    FPGA邏輯設(shè)計中的常見問題有哪些

    圖像采集系統(tǒng)的結(jié)構(gòu)及工作原理是什么FPGA邏輯設(shè)計中的常見問題有哪些
    發(fā)表于 04-29 06:18

    FPGA邏輯設(shè)計中有哪些注意事項?

    請教各位,FPGA邏輯設(shè)計中有哪些注意事項?
    發(fā)表于 05-07 07:21

    如何利用FPGA芯片進行簡化的PCI接口邏輯設(shè)計?

    本文使用符合PCI電氣特性的FPGA芯片進行簡化的PCI接口邏輯設(shè)計,實現(xiàn)了33MHz、32位數(shù)據(jù)寬度的PCI從設(shè)備模塊的接口功能,節(jié)約了系統(tǒng)的邏輯資源,且可以將其它用戶邏輯集成在同一
    發(fā)表于 05-08 08:11

    如何去實現(xiàn)FPGA邏輯設(shè)計

    前言FPGA 可以實現(xiàn)高速硬件電路,如各種時鐘,PWM,高速接口,DSP計算等硬件功能。這是Cortex-M 處理器軟件無法比擬的。要實現(xiàn)FPGA邏輯設(shè)計,對于嵌入式系統(tǒng)工程師又是比較復(fù)雜和具有
    發(fā)表于 12-21 06:13

    基于FPGA的MDIO接口邏輯設(shè)計

    本文介紹了一種基于FPGA 的用自定義串口命令的方式實現(xiàn)MDIO 接口邏輯設(shè)計的方法,并對系統(tǒng)結(jié)構(gòu)進行了模塊化分解以適應(yīng)自頂向下的設(shè)計方法。所有功能的實現(xiàn)全部采用VHDL 進行描
    發(fā)表于 12-26 16:48 ?103次下載

    多分辨率圖像實時采集系統(tǒng)的FPGA邏輯設(shè)計

    多分辨率圖像實時采集系統(tǒng)的FPGA邏輯設(shè)計
    發(fā)表于 08-29 15:02 ?6次下載

    FPGA視頻教程之FPGA設(shè)計中時序邏輯設(shè)計要點的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是FPGA視頻教程之FPGA設(shè)計中時序邏輯設(shè)計要點的詳細資料說明免費下載。
    發(fā)表于 03-27 10:56 ?20次下載
    <b class='flag-5'>FPGA</b>視頻教程之<b class='flag-5'>FPGA</b>設(shè)計中時序<b class='flag-5'>邏輯設(shè)計</b>要點的詳細資料說明

    什么是數(shù)字邏輯設(shè)計?我應(yīng)該使用什么工具?

    上文中我們指出,不管我們是創(chuàng)建自定義 ASIC 芯片還是配置 FPGA,都可以使用相同的數(shù)字邏輯設(shè)計工具。
    的頭像 發(fā)表于 11-01 09:23 ?2084次閱讀