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

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

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

基于FPGA的百變設(shè)計(jì)方案分享

潤欣科技Fortune ? 來源:潤欣科技 ? 作者:潤欣科技Fortune ? 2021-10-19 16:16 ? 次閱讀

FPGA方案

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

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

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

邏輯設(shè)計(jì)

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

poYBAGFuNmeAGWHWAAApjpDSSHU371.png

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

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

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

流程圖如下:

pYYBAGFuNm6AAxuYAABL4KurHUE228.png

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

poYBAGFuNneAPQ8yAABWBOSaRsk117.png

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

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

    關(guān)注

    452

    文章

    50206

    瀏覽量

    420894
  • 上位機(jī)
    +關(guān)注

    關(guān)注

    27

    文章

    930

    瀏覽量

    54696
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用FPGA的無線通信收發(fā)模塊設(shè)計(jì)方案

    利用FPGA的無線通信收發(fā)模塊設(shè)計(jì)方案[hide][/hide]
    發(fā)表于 11-26 10:25

    靈鳥電路的設(shè)計(jì)方案

    靈鳥電路的設(shè)計(jì)方案電子技術(shù)綜合課程設(shè)計(jì)報(bào)告一、綜合設(shè)計(jì)的目的與要求:設(shè)計(jì)一百靈鳥電路,要求:A:在不同的光照下發(fā)出高低變化的鳴叫聲;B:周期性的鳴叫 T=2~3秒。
    發(fā)表于 12-16 11:47

    從ASIC到FPGA的轉(zhuǎn)換系統(tǒng)時(shí)鐘設(shè)計(jì)方案

    從ASIC到FPGA的轉(zhuǎn)換系統(tǒng)時(shí)鐘設(shè)計(jì)方案
    發(fā)表于 03-02 09:37

    FPGA設(shè)計(jì)大賽設(shè)計(jì)方案提交規(guī)則和截止時(shí)間須知

    各位FPGA設(shè)計(jì)大賽參賽者注意了:小編這里幫大家解釋一下設(shè)計(jì)方案提交規(guī)則和活動(dòng)時(shí)間安排 自4月23日比賽開始,參賽者報(bào)名之后即可提交設(shè)計(jì)方案。設(shè)計(jì)方案提交的截止日期是活動(dòng)結(jié)束,暨
    發(fā)表于 05-04 10:27

    FPGA典型設(shè)計(jì)方案精華匯總

    FPGA典型設(shè)計(jì)方案精華匯總
    發(fā)表于 08-16 16:29

    多種EDA工具的FPGA設(shè)計(jì)方案

    多種EDA工具的FPGA設(shè)計(jì)方案
    發(fā)表于 08-17 10:36

    基于FPGA的變頻器設(shè)計(jì)方案,利用simulink仿真

    上學(xué)時(shí)做的變頻器設(shè)計(jì)方案,利用simulink仿真,基于FPGA的變頻器設(shè)計(jì)方案
    發(fā)表于 09-10 10:40

    基于FPGA的數(shù)據(jù)無阻塞交換設(shè)計(jì)方案,不看肯定后悔

    基于FPGA的數(shù)據(jù)無阻塞交換設(shè)計(jì)方案,不看肯定后悔
    發(fā)表于 04-29 06:48

    多種EDA工具的FPGA設(shè)計(jì)方案

    多種EDA工具的FPGA設(shè)計(jì)方案 概述:介紹了利用多種EDA工具進(jìn)行FPGA設(shè)計(jì)的實(shí)現(xiàn)原理及方法,其中包括設(shè)計(jì)輸入、綜合、功能仿真、實(shí)現(xiàn)、時(shí)序仿真、配
    發(fā)表于 05-25 17:56 ?727次閱讀
    多種EDA工具的<b class='flag-5'>FPGA</b><b class='flag-5'>設(shè)計(jì)方案</b>

    基于FPGA的OLED真彩色顯示設(shè)計(jì)方案

    基于FPGA的OLED真彩色顯示設(shè)計(jì)方案
    發(fā)表于 01-18 20:35 ?25次下載

    基于FPGA的調(diào)焦電路設(shè)計(jì)方案資料下載

    基于FPGA的調(diào)焦電路設(shè)計(jì)方案資料下載
    發(fā)表于 05-07 15:53 ?10次下載

    基于FPGA的二進(jìn)制相移鍵控設(shè)計(jì)方案

    基于FPGA的二進(jìn)制相移鍵控設(shè)計(jì)方案
    發(fā)表于 05-28 09:36 ?12次下載

    基于CPLD/FPGA的半整數(shù)分頻器設(shè)計(jì)方案

    基于CPLD/FPGA的半整數(shù)分頻器設(shè)計(jì)方案
    發(fā)表于 06-17 09:37 ?21次下載

    基于FPGA的偽隨機(jī)數(shù)發(fā)生器設(shè)計(jì)方案

    基于FPGA的偽隨機(jī)數(shù)發(fā)生器設(shè)計(jì)方案
    發(fā)表于 06-28 14:36 ?4次下載

    基于CPLD/FPGA的多串口擴(kuò)展設(shè)計(jì)方案

    電子發(fā)燒友網(wǎng)站提供《基于CPLD/FPGA的多串口擴(kuò)展設(shè)計(jì)方案.pdf》資料免費(fèi)下載
    發(fā)表于 10-27 09:45 ?3次下載
    基于CPLD/<b class='flag-5'>FPGA</b>的多串口擴(kuò)展<b class='flag-5'>設(shè)計(jì)方案</b>