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

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

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

基于FPGA的數(shù)字電路設(shè)計(jì)

h1654155282.3538 ? 來源:電子迷 ? 作者:電子迷 ? 2020-08-16 12:03 ? 次閱讀

數(shù)字電路作為一門專業(yè)基礎(chǔ)課,除了介紹數(shù)字電路的理論知識外,更需要通過配套的實(shí)驗(yàn)平臺將理論知識和實(shí)踐環(huán)節(jié)相結(jié)合,培養(yǎng)學(xué)生的動手能力和實(shí)踐創(chuàng)新能力。為此,自主開發(fā)了基于 FPGA 的數(shù)字電路“口袋實(shí)驗(yàn)室”。該“口袋實(shí)驗(yàn)室”基于目前流行的FPGA 芯片開發(fā),已經(jīng)實(shí)際應(yīng)用于數(shù)字電路教學(xué)實(shí)踐中。

1總體設(shè)計(jì)

“口袋實(shí)驗(yàn)室”的電路包括電源、FPGA、下載電路、數(shù)碼管、VGA 接口、撥碼開關(guān)、按鍵、LED 燈和雙排針擴(kuò)展接口。其總體框圖見圖 1,實(shí)物圖見圖 2。

圖 1 系統(tǒng)總體框圖

圖 2 系統(tǒng)實(shí)物圖

XC6SLX9 是 Xilinx 公司的 Spartan 系列 FPGA, 采用 45 nm 工藝,共有 9 152 個(gè) Logic Cells、1 430 個(gè)Slices、90 kB 分布式 RAM,共有 144 個(gè)引腳,其中102 個(gè)是通用 I/O 口,資源相對豐富。XC6SLX9 內(nèi)核供電電壓為 1.2 V;I/O 口的電平可以設(shè)置為 LVTTL、LVCMOS、LVDS 等多種電壓標(biāo)準(zhǔn);內(nèi)置高性能的時(shí)鐘管理模塊,1 個(gè) CMT 包含 1 個(gè) PLL 和 2 個(gè) DCM, 能進(jìn)行分頻、倍頻;XC6SLX9 支持主動模式和被動模式,以及 SPI、BPI、JTAG 等多種配置方式。

設(shè)計(jì)中預(yù)留了 30 個(gè)擴(kuò)展接口,由雙排針引出,其中 24 個(gè)是 FPGA 的通用 I/O,3 個(gè) 3.3 V 引腳和 3 個(gè)地引腳。串行通信采用 CH340G 串口芯片,用于 FPGA 和 PC 機(jī)之間的通信。“口袋實(shí)驗(yàn)室”擁有 2 個(gè) 4 位共陽極數(shù)碼管、1 個(gè)無源蜂鳴器、1 個(gè)八位撥碼開關(guān)、1 個(gè) VGA 接口以及 10 顆 LED 燈和 6 個(gè)按鍵,可以滿足數(shù)字電路基本的實(shí)驗(yàn)需要。

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

2.1電源電路

電源系統(tǒng)為整個(gè)系統(tǒng)提供能量,是系統(tǒng)的基礎(chǔ)。采用 LM1085 芯片提供 3.3 V 電壓,采用 AMS1117 芯片提供 1.2 V 電壓。

考慮到XC6SLX9 的 3.3 V 電源和其他外設(shè)共用一個(gè)電源芯片,為保證其他外設(shè)電流突變時(shí)不影響XC6SLX9 的正常供電, 使用一個(gè)功率電感以隔離FPGA 和外設(shè)的電源。具體電路設(shè)計(jì)見圖 3。

圖 3 LM1085 電路和 AMS1117 電路

XC6SLX9 對電源的要求較高,電源引腳附近需要多個(gè)去耦電容,以減小電源瞬變,保證電源完整性。電源部分還設(shè)計(jì)有 1 顆LED 燈用于指示FPGA 電源是否正常。

2.2配置電路設(shè)計(jì)

配置電路一個(gè)是使用 JTAG 配置的電路,另一個(gè)是使用 FLASH 的主動 SPI 配置電路。

2.2.1JTAG 配置電路

JTAG 配置電路見圖 4。

圖 4 JTAG 配置電路

JTAG 的主要引腳 TMS、TCK、TDI、TDO 經(jīng) 4.7 kΩ

電阻上拉,以保護(hù)電路。JTAG 引腳在印刷電路板(PCB)上通過 14 針 2.0 mm 間距的簡易牛角座引出。簡易牛角座采用防反插設(shè)計(jì),以保證 JTAG 連接正確。

PROGRAM_B 引腳默認(rèn)上拉,通過按鍵接地,可以用于 FPGA 的軟復(fù)位。DONE 引腳上拉,且有 LED 指示 FPGA 是否配置完成。

2.2.2FLASH 電路

設(shè)計(jì)所選用的 FPGA 基于 SRAM 工藝,掉電后不能保存數(shù)據(jù),因此在重新上電之后必須從外部的配置存儲器加載配置。FLASH 電路見圖 5(a)。MODE0 和MODE1 的電平?jīng)Q定了 FPGA 的配置方式,當(dāng) MODE0 拉高以及 MODE1 拉低時(shí),F(xiàn)PGA 使用主動 SPI 配置模式。接口電路見圖 5(b)。

圖 5 FLASH 電路和 FPGA 的 FLASH 接口電路

2.3串口通信設(shè)計(jì)

選用 CH340G 作為 FPGA 和 PC 機(jī)之間通信的轉(zhuǎn)換芯片。CH340G 是常用的USB 轉(zhuǎn)串口的芯片,兼容 5 V 系統(tǒng)和 3.3 V 系統(tǒng),由于本設(shè)計(jì)中選用的 XC6SLX9 屬于 3.3 V 系統(tǒng),因此 CH340G 的供電電壓設(shè)置為3.3 V,如果供電電壓調(diào)整為 5 V,則串口通信將發(fā)生故障,數(shù)據(jù)不能通過串口發(fā)送至 PC 機(jī)。串口部分電路見圖 6。

圖 6 串口通信部分電路

2.4 擴(kuò)展接口設(shè)計(jì)

為保證“口袋實(shí)驗(yàn)室”的擴(kuò)展能力,在設(shè)計(jì)時(shí)將FPGA 的 24 個(gè)通用 I/O 口通過雙排排針在 PCB 上引出,可供使用者外接電路。

為了防止 FPGA 的 I/O 接口接入過高的電壓或者通過過大的電流而損壞 FPGA,設(shè)計(jì)中使用雙向電平轉(zhuǎn)換芯片 TXS0108E 對 FPGA 的 I/O 口和外部接口進(jìn)行隔離,以保護(hù) FPGA 芯片。

3實(shí)踐教學(xué)實(shí)例

3.1數(shù)碼管顯示實(shí)驗(yàn)

實(shí)驗(yàn)要求使用數(shù)碼管顯示時(shí)間精度為 100 ms 的秒表,最低位數(shù)字每 100 ms 加 1。

3.1.1實(shí)驗(yàn)硬件電路

“口袋實(shí)驗(yàn)室”選用的數(shù)碼管是 4 位共陽極數(shù)碼管,其中公共端使用三極管驅(qū)動,其余 A、B、C、D、E、F、G、DP 8 個(gè)引腳分別和 FPGA 的 I/O 口連接。電路如圖 7 所示。

圖 7 數(shù)碼管電路

3.1.2FPGA 代碼設(shè)計(jì)

FPGA 代碼設(shè)計(jì)思路如下:將系統(tǒng)的 50 MHz 時(shí)鐘分頻為 50 Hz 的逐位掃描時(shí)鐘和 10 Hz 的計(jì)數(shù)時(shí)鐘,最低位通過 10 Hz 的時(shí)鐘進(jìn)行計(jì)數(shù),計(jì)數(shù)使用8421BCD 碼表示,并轉(zhuǎn)化為數(shù)碼管顯示的 8 位二進(jìn)制代碼輸出。由于是共陽極數(shù)碼管,當(dāng)引腳公共端高電平,其他引腳為低電平時(shí),對應(yīng)的 LED 才會亮。數(shù)碼管二進(jìn)制碼的最高位為小數(shù)點(diǎn)位。實(shí)驗(yàn)仿真及實(shí)際運(yùn)行效果見圖 8。

圖 8 數(shù)碼管仿真時(shí)序圖與數(shù)碼管實(shí)驗(yàn)實(shí)際運(yùn)行圖

由于實(shí)際仿真時(shí)間過長, 因此在仿真時(shí)縮短了計(jì)數(shù)的時(shí)間。表 1 為 BCD 碼與數(shù)碼管二進(jìn)制碼對應(yīng)表。

表 1 數(shù)字的 BCD 碼與數(shù)碼管二進(jìn)制碼對應(yīng)表

3.2蜂鳴器控制實(shí)驗(yàn)

實(shí)驗(yàn)要求通過編程控制無源蜂鳴器,使之在輸入不同頻率的 PWM 波情況下,發(fā)出不同音調(diào)頻率的聲音。

3.2.1實(shí)驗(yàn)硬件電路

無源蜂鳴器的硬件電路設(shè)計(jì)見圖 9。

圖 9 蜂鳴器電路圖

3.2.2FPGA 代碼設(shè)計(jì)

無源蜂鳴器輸入不同頻率的 PWM 會發(fā)出不同頻率的聲音,頻率和音調(diào)對應(yīng)見表 2。

表 2 頻率和音調(diào)對應(yīng)表

通過 ISE 的 Clock Wizard 將 50 MHz 的系統(tǒng)時(shí)鐘頻率分頻為 12 MHz,然后通過計(jì)數(shù)輸出不同的頻率, 計(jì)數(shù)的上限值由撥碼開關(guān)和按鍵控制,撥碼開關(guān)用于選擇 3 個(gè)音調(diào),按鍵用于選擇各個(gè)音調(diào)下的 7 個(gè)不同頻率,以此實(shí)現(xiàn)輸出不同音調(diào)頻率的聲音。圖 10 為蜂鳴器控制仿真圖。

圖 10 蜂鳴器控制仿真圖

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

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598880
  • 數(shù)字電路
    +關(guān)注

    關(guān)注

    193

    文章

    1578

    瀏覽量

    80175
收藏 人收藏

    評論

    相關(guān)推薦

    數(shù)字電路可以處理模擬信號嗎

    數(shù)字電路主要處理數(shù)字信號,即離散的、二進(jìn)制的信號。然而,在某些情況下,數(shù)字電路也可以處理模擬信號,即連續(xù)的、非二進(jìn)制的信號。 數(shù)字電路與模擬信號 數(shù)
    的頭像 發(fā)表于 08-11 11:08 ?433次閱讀

    數(shù)字電路是對什么信號進(jìn)行傳輸?shù)?/a>

    數(shù)字電路是一種電子系統(tǒng),它使用數(shù)字信號進(jìn)行信息傳輸和處理。數(shù)字信號是由離散的電壓水平或電流水平表示的信號,通常用二進(jìn)制代碼表示。與模擬電路不同,數(shù)字
    的頭像 發(fā)表于 08-11 11:00 ?421次閱讀

    數(shù)字電路中的亞穩(wěn)態(tài)是什么

    數(shù)字電路的設(shè)計(jì)與實(shí)現(xiàn)中,亞穩(wěn)態(tài)是一個(gè)不可忽視的現(xiàn)象。它可能由多種因素引發(fā),對電路的穩(wěn)定性和可靠性產(chǎn)生嚴(yán)重影響。本文將深入探討數(shù)字電路中亞穩(wěn)態(tài)的概念、產(chǎn)生原因、影響以及應(yīng)對策略,以期為讀者提供全面而深入的理解。
    的頭像 發(fā)表于 05-21 15:29 ?791次閱讀

    數(shù)字電路和模擬電路的區(qū)別與聯(lián)系

    數(shù)字電路和模擬電路是電子電路的兩個(gè)主要分支,它們在電子技術(shù)中具有不同的應(yīng)用和工作原理。本文將詳細(xì)討論數(shù)字電路和模擬電路的區(qū)別與聯(lián)系。 首先,
    的頭像 發(fā)表于 04-21 10:29 ?2165次閱讀

    數(shù)字電路仿真元件符號是什么

    數(shù)字電路仿真元件通常用符號來表示。這些符號是通過簡潔和易于理解的圖形來表示元件的特性和功能。符號是數(shù)字電路設(shè)計(jì)和仿真過程中非常重要的一部分,幫助工程師和設(shè)計(jì)者有效地溝通和理解電路的功能。在本文
    的頭像 發(fā)表于 04-21 09:20 ?1268次閱讀

    數(shù)字電路與邏輯設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《數(shù)字電路與邏輯設(shè)計(jì).ppt》資料免費(fèi)下載
    發(fā)表于 03-11 09:21 ?3次下載

    兩位格雷碼減法器數(shù)字電路設(shè)計(jì)

    目前,針對數(shù)字電路研究的主要目標(biāo)都是為了提高電路的運(yùn)算速度、降低電路的功耗和減少電路邏輯輸出的誤差,因此延時(shí)、功耗和誤差是數(shù)字電路三個(gè)最重要
    的頭像 發(fā)表于 02-19 13:36 ?794次閱讀
    兩位格雷碼減法器<b class='flag-5'>數(shù)字電路設(shè)計(jì)</b>

    數(shù)字電路設(shè)計(jì)有哪些仿真驗(yàn)證流程

    數(shù)字電路設(shè)計(jì)的仿真驗(yàn)證流程是確保設(shè)計(jì)能夠正確運(yùn)行的重要步驟之一。在現(xiàn)代電子設(shè)備中,數(shù)字電路被廣泛應(yīng)用于各種應(yīng)用領(lǐng)域,如計(jì)算機(jī)、通信設(shè)備、汽車電子等等。因此,設(shè)計(jì)師必須通過仿真驗(yàn)證來確保電路能夠按照
    的頭像 發(fā)表于 01-02 17:00 ?1017次閱讀

    對話國產(chǎn)EDA和IP廠商,如何攻克大規(guī)模數(shù)字電路設(shè)計(jì)挑戰(zhàn)?

    隨著先進(jìn)制程不斷推進(jìn),以及AI、大數(shù)據(jù)、云計(jì)算等一系列新技術(shù)的快速發(fā)展,數(shù)字電路的處理能力越來越強(qiáng),電路規(guī)模越來越大,對大規(guī)模數(shù)字芯片的需求也越來越多。因此,如何加速大規(guī)模數(shù)字電路設(shè)計(jì)
    的頭像 發(fā)表于 12-28 08:23 ?987次閱讀
    對話國產(chǎn)EDA和IP廠商,如何攻克大規(guī)模<b class='flag-5'>數(shù)字電路設(shè)計(jì)</b>挑戰(zhàn)?

    EDA+IP,攻克大規(guī)模數(shù)字電路設(shè)計(jì)挑戰(zhàn)的“不二法門”

    ,對大規(guī)模數(shù)字芯片提出了更多需求,系統(tǒng)愈加復(fù)雜,設(shè)計(jì)挑戰(zhàn)越來越大。因此,在當(dāng)前行業(yè)現(xiàn)狀和發(fā)展趨勢下,如何加速大規(guī)模數(shù)字電路設(shè)計(jì),就成為了業(yè)內(nèi)芯片設(shè)計(jì)公司關(guān)注的焦點(diǎn)。
    的頭像 發(fā)表于 12-16 08:23 ?964次閱讀
    EDA+IP,攻克大規(guī)模<b class='flag-5'>數(shù)字電路設(shè)計(jì)</b>挑戰(zhàn)的“不二法門”

    數(shù)字電路和模擬電路的工作各有何特點(diǎn)?

    數(shù)字電路和模擬電路電路設(shè)計(jì)和控制中兩種主要的電路類型。雖然它們都是電路的基本組成部分,但它們在工作原理、特點(diǎn)和應(yīng)用方面有很大的區(qū)別。 首先
    的頭像 發(fā)表于 12-08 10:06 ?2081次閱讀

    硬件電路設(shè)計(jì)之晶體與晶振電路設(shè)計(jì)

      晶體與晶振在電路設(shè)計(jì)中的應(yīng)用十分廣泛,對于數(shù)字電路,一個(gè)穩(wěn)定的時(shí)鐘信號,是系統(tǒng)穩(wěn)定的前提。
    的頭像 發(fā)表于 11-22 10:44 ?1745次閱讀
    硬件<b class='flag-5'>電路設(shè)計(jì)</b>之晶體與晶振<b class='flag-5'>電路設(shè)計(jì)</b>

    FPGA/CPLD數(shù)字電路設(shè)計(jì)經(jīng)驗(yàn)分享

    電子發(fā)燒友網(wǎng)站提供《FPGA/CPLD數(shù)字電路設(shè)計(jì)經(jīng)驗(yàn)分享.pdf》資料免費(fèi)下載
    發(fā)表于 11-21 11:03 ?3次下載
    <b class='flag-5'>FPGA</b>/CPLD<b class='flag-5'>數(shù)字電路設(shè)計(jì)</b>經(jīng)驗(yàn)分享

    數(shù)字電路是什么

    數(shù)字電路是什么? 數(shù)字電路不同與模擬電路的連續(xù)信號,它是離散信號,在使用中只有兩種波形,一種是高的,一種是低的。它具有邏輯運(yùn)算和邏輯處理功能,所以又被叫做數(shù)字邏輯
    的頭像 發(fā)表于 11-06 17:25 ?2068次閱讀
    <b class='flag-5'>數(shù)字電路</b>是什么

    建立/保持時(shí)間對數(shù)字電路的影響

    建立/保持時(shí)間對數(shù)字電路的影響 數(shù)字電路是指使用數(shù)字信號進(jìn)行連接和處理信息的電路。數(shù)字電路是由一系列數(shù)字
    的頭像 發(fā)表于 10-29 14:21 ?543次閱讀