一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

STM32+FPGA平臺(tái)構(gòu)建指南 | Allium's Blog

 aixuexidewau1 2019-10-08

STM32+FPGA平臺(tái)構(gòu)建指南

Posted on

前言

  如今的電子中央單元五花八門,一個(gè)電子工程師需要面對(duì)各種各樣的MCU、DSP、FPGA,小眾一點(diǎn),還有XMOS之類的器件,這也就是為什么用了中央單元這么一個(gè)牽強(qiáng)的詞匯。對(duì)于大部分?jǐn)?shù)字應(yīng)用來說,一個(gè)強(qiáng)大的MCU就足以應(yīng)付,實(shí)在不行就提高頻率,增加面積,一個(gè)不行就兩個(gè);這也是當(dāng)前的主流思路,畢竟軟件開發(fā)比硬件開發(fā)來得容易的多。當(dāng)然還是有少數(shù)應(yīng)用場(chǎng)景牢牢地被FPGA占據(jù),當(dāng)然空間也越來越少,這些少數(shù)的場(chǎng)景主要是高可靠性高性能要求的工業(yè)并行控制、通信行業(yè)、圖像處理行業(yè)等。

  當(dāng)然,不管怎么說,F(xiàn)PGA都是個(gè)很有趣的平臺(tái),能夠?qū)崿F(xiàn)任何你想實(shí)現(xiàn)的數(shù)字電路,不幸的是,F(xiàn)PGA的開發(fā)難度很高,特別針對(duì)串行邏輯設(shè)計(jì),雖然有軟核之類的IP,針對(duì)某些特定應(yīng)用效果也很好,但總有些別扭。當(dāng)然,現(xiàn)在有一種完美的選擇,SOC,以zynq為代表的ARM+FPGA的完美平臺(tái),不過無奈的是,完美意味著貴,zynq最低端的芯片也要一百多軟妹幣,硬件設(shè)計(jì)難度也很大。比較折中的一種實(shí)現(xiàn)就是MCU芯片+FPGA芯片,通過高速存儲(chǔ)通道進(jìn)行通信,這就是本文討論的主題。類似的平臺(tái)其實(shí)也不鮮見,應(yīng)用極其廣泛的DSP+FPGA就算是一個(gè)變種;當(dāng)然如果三者聯(lián)合起來,那就是一種更有趣的平臺(tái)了。

  當(dāng)然,一切以應(yīng)用為導(dǎo)向,MCU+FPGA平臺(tái)主要面向?qū)Σ⑿泻屯ㄐ哦加幸欢ㄒ蟮膱?chǎng)合,比如高可靠性的多電機(jī)控制。

器件選型

MCU選型

  如今的MCU也是五花八門,雖然ARM有點(diǎn)一家獨(dú)大的意思,MIPS、PPC甚至51也都還有一定的生存空間。從去年開始接觸MCU以來,一共也就接觸了AVR、STM8S、STM32三個(gè)類型五六種型號(hào)的芯片,接觸不算多,認(rèn)識(shí)可能還不夠。總的來說,AVR在STM32以前很是火了一把,用起來比較舒服,相對(duì)穩(wěn)定,但價(jià)格較高二解密簡(jiǎn)單,慢慢走向沒落,如今atmel已被收購,一代霸主悄然落幕。PIC沒有用過,網(wǎng)上的說法是極其穩(wěn)定,相對(duì)小眾。MSP系列主要面向低功耗,不過TI的開發(fā)環(huán)境個(gè)人覺得比較好。C8051系列只基本接觸過,了解不深,似乎沒有太大的特色。那么,現(xiàn)在到底應(yīng)該選擇哪一款MCU呢,沒錯(cuò),ST的;不過先說說缺點(diǎn),STM8系列并沒有使用ARM核心,開發(fā)環(huán)境比較麻煩,當(dāng)然,IAR for STM8S已經(jīng)有和諧了;早期的STM32和STM8系列的晶振電路都不穩(wěn)定,容易受干擾,雖然現(xiàn)在似乎沒有類似的抱怨,但總有些擔(dān)心;此外ST的產(chǎn)品體系還是比較大的,庫也比較大,資料較為分散,對(duì)于初學(xué)者和其他平臺(tái)轉(zhuǎn)型過來的開發(fā)者在最初并不是那么友好。再來說說優(yōu)點(diǎn),系列完整,可以用一個(gè)體系應(yīng)對(duì)基本所有MCU需求,調(diào)試器便宜(當(dāng)然是山寨的)且穩(wěn)定,僅此兩條就足以讓人動(dòng)心了,更何況其廣泛的群眾基礎(chǔ)以及低廉的價(jià)格。

  ST有兩個(gè)大系列,STM8和STM32,分別是8位和32位的MCU,前者應(yīng)該是ST自主研發(fā)的核心,后者是ARM核心。其實(shí)除了心里上的5V完全兼容和稍稍低廉的價(jià)格,STM8應(yīng)該已經(jīng)沒有多少市場(chǎng),當(dāng)然針對(duì)批量的極其低端的應(yīng)用還是可以考慮的。STM32系列大部分都能夠兼容5V電平,當(dāng)然心理上還是做個(gè)電平轉(zhuǎn)換比較安心,如今主流的電壓還是3.3V,針對(duì)不同的應(yīng)用,ST推出了不同等級(jí)的芯片。這里就從STM32系列中選擇一個(gè)目標(biāo)型號(hào)。

  由于不需要低功耗,首先排除STM32L系列,

FPGA選型

  FPGA基本現(xiàn)在就兩大陣營(yíng),X家和A家,Altera如今已經(jīng)被Intel收購,兩家如今都把心思放在中高端市場(chǎng),都在大力發(fā)展SOC技術(shù)。隨著MCU等通用處理器的性能越來越強(qiáng),特別是在ARM大行其道的背景之下,F(xiàn)PGA的前景越來越不明朗,中低端市場(chǎng)逐漸成為MCU的天下,F(xiàn)PGA的圈子越來越小,對(duì)于學(xué)習(xí)來說,這當(dāng)然是個(gè)不幸的消息,如今的FPGA器件基本都采用了BGA封裝,這對(duì)于沒有條件的初學(xué)者來說是個(gè)很大的障礙??偟膩碚f,F(xiàn)PGA選型并不是一個(gè)很困難的事,可選芯片相比MCU來說要少得多。對(duì)于剛剛開始FPGA開發(fā)或者沒有加工條件的開發(fā)者來說,選擇一款QFP型的芯片能減輕不少困難;但對(duì)于FPGA來說,容量和管腳數(shù)目是最重要的指標(biāo),貼片類型的芯片極大限制了管腳數(shù)目,相應(yīng)的也限制了邏輯量。針對(duì)普通應(yīng)用來說,低端的貼片型芯片也可以滿足要求。由于對(duì)Xilinx不是很熟悉,這里選擇了Altera的Cyclone IV中的EP4CE10E22C8N的芯片作為目標(biāo)芯片。

電路設(shè)計(jì)

  選定芯片之后就需要針對(duì)實(shí)際需求進(jìn)行電路設(shè)計(jì),主要包括主芯片接口設(shè)計(jì)和外圍電路設(shè)計(jì)。由于STM32更加適合串行邏輯設(shè)計(jì),而FPGA更加適合并行邏輯設(shè)計(jì),因此把STM32用作與外界通信、復(fù)雜邏輯管理以及浮點(diǎn)型運(yùn)算,F(xiàn)PGA用作并行擴(kuò)展和底層驅(qū)動(dòng)。

FPGA與STM32通訊

  FPGA與STM32各司其職,但作為系統(tǒng),兩者之間需要進(jìn)行簡(jiǎn)單高速的通信,簡(jiǎn)單即邏輯簡(jiǎn)單,通訊接口不能和網(wǎng)絡(luò)接口那樣復(fù)雜,通訊不需要復(fù)雜的協(xié)議和可靠性保證(板上傳輸相對(duì)可靠,無須復(fù)雜機(jī)制)。此外,兩者之間需要告訴通信以保證良好的延時(shí)和一定的帶寬。最常見的手段就是將FPGA模擬成SRAM,MCU或者DSP通過告訴存儲(chǔ)接口訪問FPGA的數(shù)據(jù),如果配合類似SDRAM的接口,則兩者之間的地址可以擴(kuò)展到很高。對(duì)STM32來說,使用FSMC或者FMC接口與FPGA通訊是首選,如果增加一個(gè)IO作為FPGA的中斷,則能保證極好的雙向通訊延時(shí)。當(dāng)然,在FPGA的管腳不是很富裕的情況下,也可以通過SPI甚至USRT之類的進(jìn)口進(jìn)行通訊,當(dāng)然串行會(huì)影響極限的通訊速率,而且邏輯也會(huì)更加復(fù)雜。當(dāng)然還有一種選擇是在MCU具備LVDS之類差分串行接口時(shí),使用差分串行接口能保證極高的通訊速率和較低的管腳開銷。

電源設(shè)計(jì)

  由于如今的集成電路主頻越來越高,核心電壓也越來越小,STM32的IO采用了3.3V的電壓(大部分IO能夠容忍5V電壓),而FPGA普遍采用了寬電壓兼容,但最高只能支持到3.3V;FPGA的電源相對(duì)MCU來說要復(fù)雜,除了IO電壓還需要提供核心電壓、PLL電壓等不同標(biāo)準(zhǔn)的電壓(可能是通用型的考慮,F(xiàn)PGA并沒有內(nèi)建電源轉(zhuǎn)換模塊,至少Altera是這樣);此外,F(xiàn)PGA對(duì)于電源穩(wěn)定性有著更高的要求,當(dāng)然根據(jù)負(fù)載不同應(yīng)該有較大的浮動(dòng)空間,當(dāng)然,更為麻煩的是有些FPGA對(duì)于上電順序有一定的要求,比如zynq的兩種邏輯部分上電順序有一定時(shí)許要求。

  對(duì)于一個(gè)一般的系統(tǒng)來說,比如我們的目標(biāo)系統(tǒng),我們需要3.3V、2.5V、1.2V三種電源。其中,3.3V主要供給STM32和FPGA的IO;2.5V是輔助電源,直接相關(guān)的是JTAG電路,1.2V是核心電壓以及PLL電源。相對(duì)來說3.3V和1.2V電源電流要求比較大;當(dāng)然,如果有DDR之類的差分信號(hào),IO電源為2.5V的話,2.5V的電流也會(huì)要求比較高。對(duì)于一般應(yīng)用來說,用個(gè)AMS1117就能完成所有電壓要求,但如果要求高,那么使用小型DCDC會(huì)有比較好的效果,比如MP2144,配合一體成型電感會(huì)有很好的電路面積。

STM32外圍電路設(shè)計(jì)

FPGA外圍電路設(shè)計(jì)

程序設(shè)計(jì)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    在线免费观看黄色美女| 日韩1区二区三区麻豆| 亚洲美女国产精品久久| 国产内射一级一片内射高清视频 | 欧美国产在线观看精品| 国产在线观看不卡一区二区| 国产欧美日韩综合精品二区| 少妇人妻一级片一区二区三区| 99秋霞在线观看视频| 制服丝袜美腿美女一区二区| 国产精品大秀视频日韩精品| 男人大臿蕉香蕉大视频| 中文字幕有码视频熟女| 国产精品久久三级精品| 91午夜少妇极品福利| 九九热这里只有精品哦 | 午夜福利精品视频视频| 91超频在线视频中文字幕| 九九热视频经典在线观看| 亚洲中文字幕三区四区| 亚洲妇女作爱一区二区三区| 亚洲天堂国产精品久久精品| 好吊妞视频这里有精品| 亚洲性日韩精品一区二区| 国产伦精品一区二区三区高清版| 国产91人妻精品一区二区三区| 日韩欧美国产亚洲一区| 欧美中文字幕日韩精品| 国产美女精品午夜福利视频| 国产欧美韩日一区二区三区| 日韩美成人免费在线视频| 国产精品国三级国产专不卡| 亚洲欧美日韩在线看片| 亚洲一区二区三区av高清| 国产极品粉嫩尤物一区二区| 激情五月激情婷婷丁香| 99福利一区二区视频| 99久久成人精品国产免费| 亚洲精品中文字幕欧美| 国内胖女人做爰视频有没有| 亚洲欧美日韩在线看片|