一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于ARM的FPGA嵌入式系統(tǒng)實(shí)現(xiàn)

FPGA設(shè)計(jì)論壇 ? 來(lái)源:未知 ? 2023-05-18 13:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


點(diǎn)擊上方藍(lán)字關(guān)注我們






基于ARMFPGA嵌入式系統(tǒng)實(shí)現(xiàn)



ARM(Advanced RISC Machines)既可以認(rèn)為是一個(gè)公司。也可以認(rèn)為是對(duì)一類微處理器的統(tǒng)稱,還可以認(rèn)為是一項(xiàng)技術(shù)?;贏RM技術(shù)的微處理器應(yīng)用約占據(jù)了32位 RISC微處理器75%以上的市場(chǎng)份額,ARM技術(shù)正在逐步滲入到人們生活的各個(gè)方面[1]。到目前為止,ARM微處理器及技術(shù)已經(jīng)廣泛應(yīng)用到各個(gè)領(lǐng)域,包括工業(yè)控制領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費(fèi)類電子產(chǎn)品、成像和安全產(chǎn)品等。
FPGA(Field Programmable Gate Array)是一種高密度現(xiàn)場(chǎng)可編程邏輯器件,其邏輯功能是通過(guò)把設(shè)計(jì)生成的數(shù)據(jù)文件配置到器件內(nèi)部的靜態(tài)配置數(shù)據(jù)存儲(chǔ)器(SRAM)來(lái)實(shí)現(xiàn)的。FPGA具有可重復(fù)編程性,能靈活實(shí)現(xiàn)各種邏輯功能。
基于SRAM工藝的FPGA具有易失性。系統(tǒng)掉電以后其內(nèi)部配置數(shù)據(jù)容易丟失,因此需要外接ROM保存其配置數(shù)據(jù),系統(tǒng)上電后必須重新配置數(shù)據(jù)才能正常工作。目前有兩種方案可以實(shí)現(xiàn),一種是使用專用的PROM,以Xilinx公司FPGA,XCFxx系列PROM為例,能夠提供FPGA的配置時(shí)序,上電時(shí)自動(dòng)加載PROM中的配置數(shù)據(jù)到FPGA的SRAM中;另一種是在含有微處理器的系統(tǒng)(如嵌入式系統(tǒng))中采用其他非易失性存儲(chǔ)器如E2PROM、 Flash存儲(chǔ)配置數(shù)據(jù),微處理器模擬FPGA的配置時(shí)序?qū)OM中的數(shù)據(jù)置入FPGA。與種方案相比,該方案節(jié)省成本、縮小系統(tǒng)體積。適用于對(duì)成本和體積苛刻要求的系統(tǒng)。
在便攜式虛擬儀器設(shè)計(jì)中,使用嵌入式系統(tǒng)和FPGA實(shí)現(xiàn)系統(tǒng)功能。嵌入式微處理器采用Samsung公司的ARM7TDMI系列處理器 S3C44BOX:FPGA采用Xilinx公司的Spartan-3E系列XC3S100E,采用S3C44BOX完成對(duì)XC3S100E的配置。取得了良好效果。
2 從串配置的原理
2.1從串配置原理
Xilinx公司的Spartan-3E系列FPGA產(chǎn)品是采用90 nm工藝的2.5 V低電壓FPGA器
件,具有高性能、低功耗、可無(wú)限次編寫(xiě)的特點(diǎn)。XC3S100E是Spartan-3E系列FPGA中的一款,總門(mén)數(shù)達(dá)10萬(wàn)門(mén),可采用從串、主串、從并、主并、JTAG等模式對(duì)其進(jìn)行配置[2]。XC3S100E與從串配置模式相關(guān)的主要引腳功能如下:
M[2:0]:配置模式選擇。M2、M1、M0均接上拉電阻,即M[2:0]:111時(shí)為從串模式;
CCLK:配置時(shí)鐘,微處理器提供時(shí)鐘源,且上升沿有效:
DIN:串行配置數(shù)據(jù)輸入:
DOUT:串行數(shù)據(jù)輸出,用于菊花鏈?zhǔn)脚渲茫?/span>
PROG_B:低電平異步復(fù)位FPGA內(nèi)部邏輯,內(nèi)部可配置:Memory完全復(fù)位后,該引腳指示高電平。
當(dāng)此引腳為高時(shí),才能配置FPGA:
INIT_B:由低電平到高電平跳變時(shí),采樣配置模式,即M[2:0]的值確定配置方式;配置過(guò)程中若出現(xiàn)配置錯(cuò)誤,INIT_B將呈現(xiàn)低電平;
DONE:復(fù)位時(shí)為低電平。若配置成功,則為高電平。
2.2微處理器從串配置:FPGA的時(shí)序
FPGA的配置過(guò)程如下:
系統(tǒng)上電后,將PROG_B拉低以復(fù)位FPGA內(nèi)部邏輯重新配置FPGA,充分復(fù)位內(nèi)部邏輯后(約100μs),將PROG_置高。
INIT_B為低電平,PROG_B拉高保持300 ns后,F(xiàn)PGA將INIT_B置高。在INIT_B由低向高跳變的瞬間,采樣配置模式M[2:0]。此系統(tǒng)采用從串配置模式。
在FPGA采樣配置模式后,微處理器就可以向FPGA配置時(shí)鐘CCLK和數(shù)據(jù),在CCLK的上升沿,傳輸數(shù)據(jù)至DIN,數(shù)據(jù)字節(jié)先發(fā)送低位,再發(fā)送高位。配置過(guò)程中若發(fā)生錯(cuò)誤,則INIT_B為低電平。
所有的配置數(shù)據(jù)傳送完成,CRC校驗(yàn)無(wú)誤。則DONE為高電平,否則為低電平。
DONE為高電平,F(xiàn)PGA釋放全局三態(tài)(GTS),激活I(lǐng)/O引腳,釋放全部置位復(fù)位(GSR)和全局寫(xiě)使能(GWE)有效,開(kāi)始執(zhí)行配置區(qū)的邏輯。
微處理器從串配置FPGA的時(shí)序如圖1所示。

2.3 配置文件的產(chǎn)生方法
利用Xilinx公司提供的開(kāi)發(fā)工具ISE8.1,經(jīng)過(guò)綜合、映射、布局布線后可產(chǎn)生編程文件,編程文件含有.bit、.bin、.mcs、.tek、.hex等格式。其中,.bit格式用于JTAG,其他幾種格式用于專用PROM編程。首先按照產(chǎn)生專用 PROM編程文件的方法來(lái)產(chǎn)生.bin文件.然后將該.bin文件轉(zhuǎn)換成ASCⅡ碼文件的存儲(chǔ)形式,并且各個(gè)字節(jié)之間用逗號(hào)分隔。再將該配置數(shù)據(jù)存放在系統(tǒng)程序的一個(gè)頭文件的數(shù)組config_data_array[]中,作為系統(tǒng)程序源代碼的一部分,并和其他程序一起編譯。
3 硬件設(shè)計(jì)
嵌入式微處理器S3C44BOX內(nèi)置ARM7TDMI核,集成了豐富的外圍功能模塊,內(nèi)部8 kB Cache大大提高了性能。S3C44BOX可訪問(wèn)256MB的地址空間,工作頻率達(dá)66 MHz 。采用4 MB Flash作為程序存儲(chǔ)器,可用于存放系統(tǒng)運(yùn)行的代碼。XC3S100E從串配置程序和配置文件都固化于其中保存,該Flash支持低電壓(1.65 V~3.3 V)寫(xiě)操作。8 MB的SDRAM是程序的運(yùn)行空間,直接運(yùn)行Flash中的代碼,但速度非常慢。通常是將Flash中的代碼移至SDRAM中。S3C44BOX與 XC3S100E主要通過(guò)PROG_B、INIT_B、DONE、CCLK、DIN 5根信號(hào)線連接,如圖2所示。其中VCC33表示3.3 V,VCC25表示2.5 V。
4 軟件設(shè)計(jì)
軟件設(shè)計(jì)流程如圖3所示。配置軟件的編程要確保ARM完全按照配置信號(hào)的時(shí)序工作,關(guān)鍵問(wèn)題

是采用S3C44BOX的通用I/O口GPF0、GPF1、GPF2、GPF3、GPF4模擬DIN、CCLK、DONE、INIT_B、PROG_B的時(shí)序。
在S3C44BOX中,大多數(shù)引腳都是多功能引腳,可以通過(guò)端口配置寄存器選擇相應(yīng)的引腳功能。
以端口F為例,控制寄存器rPCONF用作設(shè)定引腳的輸入、輸出或特殊功能;數(shù)據(jù)寄存器rPDATF[0:8]對(duì)應(yīng)于GPF0~GPF8引腳上的數(shù)據(jù)。讀寫(xiě)寄存器rPDATF的各個(gè)位對(duì)應(yīng)于引腳的讀或?qū)憽@?,CCLK上升沿時(shí)序是向GPF1先寫(xiě)0,再寫(xiě)1得到,延時(shí)程序則由for循環(huán)實(shí)現(xiàn)。

則一直循環(huán)等待
CCLK在每個(gè)上升沿把1 bit的數(shù)據(jù)置入DIN中,先將GPF1置低,在GPF0準(zhǔn)備好1 bit數(shù)據(jù),再將GPF1置高即可,以此循環(huán)將config_data_array[]中的每個(gè)字節(jié)按先低位再高位的次序?qū)懭隖PGA。
Xilinx的FPGA配置文件大小相同,與FPGA內(nèi)部邏輯設(shè)計(jì)的復(fù)雜度無(wú)關(guān)。以Spartan_3E系列的10萬(wàn)門(mén)FPGA XC3S100E為例,它的配置文件固定為581 344 bit,若CCLK的時(shí)鐘周期置為2μs,配置時(shí)間約為1.2 s。
5 實(shí)驗(yàn)結(jié)果驗(yàn)證
驗(yàn)證環(huán)境:硬件采用自行開(kāi)發(fā)的實(shí)驗(yàn)板和武漢創(chuàng)維特公司的:JTAG硬件仿真器;軟件則使用Xilinx公司的開(kāi)發(fā)工具ISE8.1和武漢創(chuàng)維特公司的集成開(kāi)發(fā)環(huán)境ADT 1000(支持ARM7,ARM9)。
利用Verilog HDL編寫(xiě)程序led.v在七段數(shù)碼管上循環(huán)顯示0~F,采用:ISE8.1編譯、綜合、映射、布局布線。生成用于編程專用PROM的led.bin文件。用一個(gè)簡(jiǎn)單的C程序?qū)?bin文件轉(zhuǎn)換成ASCⅡ碼文件,再將ASCⅡ碼文件復(fù)制到配置數(shù)據(jù)數(shù)組config_data_array[]中,然后在 ADT環(huán)境下編譯配置程序、配置數(shù)據(jù)和系統(tǒng)程序,將生成的.bin文件通過(guò)JTAG口燒寫(xiě)到Flash中。重新上電后,F(xiàn)PGA配置正常,實(shí)驗(yàn)結(jié)果與預(yù)設(shè)相一致。
6 結(jié)束語(yǔ)
基于ARM的FPGA從串配置方案結(jié)構(gòu)簡(jiǎn)單、接線容易、軟件編程簡(jiǎn)單,非常適用于嵌入式系統(tǒng)設(shè)計(jì)。雖然該控制電路是為Xilinx公司 Spartan-3E系列的FPGA設(shè)計(jì)的,但稍加修改也可用于其他系列FPGA器件,故具有一定的通用性。另外,由于FPGA具有可重復(fù)配置的靈活性,在嵌入式系統(tǒng)中可通過(guò)串口、網(wǎng)口遠(yuǎn)程燒寫(xiě)Flash,重構(gòu)系統(tǒng)功能,這種在線重構(gòu)技術(shù)為設(shè)備的智能化在線維護(hù)、功能重組和在線升級(jí)等提供了可能,而且靈活性很強(qiáng)。本文提出的方案對(duì)數(shù)字系統(tǒng)設(shè)計(jì)具有借鑒意義,有著廣闊的應(yīng)用前景。







往期推薦
  • 至芯科技-FPGA就業(yè)培訓(xùn)來(lái)襲!你的選擇開(kāi)啟你的高薪之路!5月6號(hào)北京中心開(kāi)課、歡迎咨詢!

  • 英特爾兩個(gè)重要發(fā)布加速FPGA應(yīng)用開(kāi)發(fā)

  • 簡(jiǎn)談FPGA 有符號(hào)數(shù)、無(wú)符號(hào)數(shù)



掃碼二維碼

獲取更多精彩

FPGA設(shè)計(jì)論壇


喜歡就點(diǎn)個(gè)在看再走吧





原文標(biāo)題:基于ARM的FPGA嵌入式系統(tǒng)實(shí)現(xiàn)

文章出處:【微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    1645

    文章

    22012

    瀏覽量

    616669

原文標(biāo)題:基于ARM的FPGA嵌入式系統(tǒng)實(shí)現(xiàn)

文章出處:【微信號(hào):gh_9d70b445f494,微信公眾號(hào):FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    怎么結(jié)合嵌入式,Linux,和FPGA三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    嵌入式領(lǐng)域,不少人都懷揣著讓嵌入式、Linux 和 FPGA 三個(gè)方向實(shí)現(xiàn)均衡發(fā)展的夢(mèng)想,然而實(shí)踐中卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程師稚暉君,他從大學(xué)玩單片機(jī)起步,憑借將智能算
    的頭像 發(fā)表于 06-25 10:08 ?263次閱讀
    怎么結(jié)合<b class='flag-5'>嵌入式</b>,Linux,和<b class='flag-5'>FPGA</b>三個(gè)方向達(dá)到一個(gè)均衡發(fā)展?

    運(yùn)行在嵌入式系統(tǒng)上的emApps

    在當(dāng)今快節(jié)奏的嵌入式系統(tǒng)世界中,靈活性和適應(yīng)性是嵌入式系統(tǒng)實(shí)現(xiàn)的關(guān)鍵。SEGGER推出了其最新創(chuàng)新:Embedded apps(emApps
    的頭像 發(fā)表于 06-18 09:53 ?272次閱讀
    運(yùn)行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>上的emApps

    嵌入式開(kāi)發(fā),如何選擇適合的系統(tǒng)

    嵌入式ARM開(kāi)發(fā)中,面對(duì)多種操作系統(tǒng)的選擇,如何做出最適合項(xiàng)目的決策?本文將為您梳理常見(jiàn)系統(tǒng)的特性,幫助您快速了解它們的優(yōu)缺點(diǎn),以便更好地選擇適合的
    的頭像 發(fā)表于 05-20 11:32 ?305次閱讀
    <b class='flag-5'>嵌入式</b>開(kāi)發(fā),如何選擇適合的<b class='flag-5'>系統(tǒng)</b>?

    Linux系統(tǒng)中通過(guò)預(yù)留物理內(nèi)存實(shí)現(xiàn)ARMFPGA高效通信的方法

    嵌入式系統(tǒng)開(kāi)發(fā)中,ARMFPGA 之間的通信可以使用 ARM 側(cè)的 DDR 作為通道。由于 FP
    的頭像 發(fā)表于 04-16 13:42 ?629次閱讀
    Linux<b class='flag-5'>系統(tǒng)</b>中通過(guò)預(yù)留物理內(nèi)存<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>ARM</b>與<b class='flag-5'>FPGA</b>高效通信的方法

    ARM架構(gòu)嵌入式主板特點(diǎn)

    極其廣泛。ARM架構(gòu)嵌入式主板有什么特點(diǎn)呢?一、工作時(shí)間及環(huán)境:ARM主板不受時(shí)間限制,可常開(kāi)機(jī),無(wú)需人員維護(hù)。在有電源調(diào)節(jié)的情況下,只要接通電源,就會(huì)自動(dòng)啟動(dòng),
    的頭像 發(fā)表于 12-31 16:03 ?967次閱讀
    <b class='flag-5'>ARM</b>架構(gòu)<b class='flag-5'>嵌入式</b>主板特點(diǎn)

    ARM嵌入式通信協(xié)議及應(yīng)用

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)在各個(gè)領(lǐng)域扮演著越來(lái)越重要的角色。ARM處理器因其高性能、低功耗的特點(diǎn),在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。通信協(xié)議
    的頭像 發(fā)表于 12-28 09:18 ?894次閱讀

    ARM嵌入式編程高效技巧

    隨著物聯(lián)網(wǎng)和智能設(shè)備的快速發(fā)展,ARM嵌入式系統(tǒng)的應(yīng)用越來(lái)越廣泛。從智能手機(jī)到智能家居,再到工業(yè)自動(dòng)化,ARM處理器幾乎無(wú)處不在。因此,掌握ARM
    的頭像 發(fā)表于 12-28 09:17 ?640次閱讀

    ARM嵌入式實(shí)時(shí)操作系統(tǒng)比較

    嵌入式系統(tǒng)領(lǐng)域,實(shí)時(shí)操作系統(tǒng)(RTOS)是確保任務(wù)按時(shí)完成的關(guān)鍵技術(shù)。ARM架構(gòu)因其低功耗、高性能的特點(diǎn),在嵌入式
    的頭像 發(fā)表于 12-28 09:15 ?1327次閱讀

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)和物聯(lián)網(wǎng)(IoT)已經(jīng)成為現(xiàn)代技術(shù)領(lǐng)域的重要組成部分。嵌入式系統(tǒng)是指嵌入到設(shè)備或
    的頭像 發(fā)表于 11-06 10:23 ?1055次閱讀

    ARM開(kāi)發(fā)板與FPGA的結(jié)合應(yīng)用

    大的功能和更高的靈活性,滿足各種復(fù)雜應(yīng)用的需求。 二、ARM開(kāi)發(fā)板與FPGA的優(yōu)勢(shì) 高性能:ARM處理器具有高性能的特點(diǎn),可以處理復(fù)雜的算法和任務(wù)。FPGA則可以
    的頭像 發(fā)表于 11-05 11:42 ?1431次閱讀

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運(yùn)行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計(jì)算機(jī)的硬件和軟件
    的頭像 發(fā)表于 10-16 10:14 ?2527次閱讀

    為何嵌入式控制器首選ARMxy?深度解析

    嵌入式ARM控制器是一種基于ARM架構(gòu)的嵌入式系統(tǒng)控制器,廣泛應(yīng)用于各種嵌入式
    的頭像 發(fā)表于 09-21 10:09 ?670次閱讀
    為何<b class='flag-5'>嵌入式</b>控制器首選ARMxy?深度解析

    嵌入式系統(tǒng)的未來(lái)趨勢(shì)有哪些?

    智能家居領(lǐng)域,嵌入式系統(tǒng)可以集成語(yǔ)音識(shí)別和自然語(yǔ)言處理技術(shù),去實(shí)現(xiàn)智能家電的語(yǔ)音控制。 2. 更強(qiáng)大的處理能力 在未來(lái)的嵌入式系統(tǒng)將具備更加
    發(fā)表于 09-12 15:42

    ARM MCU嵌入式開(kāi)發(fā) | 基于國(guó)產(chǎn)GD32F10x芯片+嵌入的開(kāi)始

    指令完成復(fù)雜任務(wù)。現(xiàn)代處理器常采用混合指令集,結(jié)合CISC與RISC的優(yōu)勢(shì),以優(yōu)化性能和編程便利性。 在嵌入式系統(tǒng)領(lǐng)域,ARM架構(gòu)因其基于RISC的高效性和廣泛應(yīng)用而備受推崇。ARM
    發(fā)表于 09-09 14:48

    嵌入式系統(tǒng)怎么學(xué)?

    、C++或者Python。這些語(yǔ)言在嵌入式系統(tǒng)開(kāi)發(fā)中都被廣泛應(yīng)用。 3、微處理器/微控制器架構(gòu):學(xué)習(xí)常見(jiàn)的微處理器和微控制器架構(gòu),如ARM、AVR、PIC等,了解其特性和應(yīng)用場(chǎng)景。 4、
    發(fā)表于 07-02 10:10