FPGA開發板快速教程(一)

2020-12-08 電子產品世界

前言

FPGA在複雜邏輯電路以及數位訊號處理領域中扮演者越來越重要的角色,SOC(片上系統)以其低功耗,高性能,低成本,高可靠性等優點成為嵌入式系統的發展趨勢。作為一個簡明的教程,主要宗旨是讓初學者快速地了解FPGA/SOPC(可編程片上系統)開發的流程。目前IT技術的發展可以說是一日千裡,以本人的觀點來講,如果希望在電子設計領域有所作為,則必須具備快速掌握新技術的能力。電子設計最重要的是實踐的積累,我們只要具備了一定的基礎,應當馬上投入實踐,否則很多概念都無法真正理解。有不少人包括我,當下決心要成為一個合格的電子設計工程師的時候,總是想如果把有關電路方面的理論都掌握了才能所向披靡,有底氣參加實際項目設計。當然如果能做到「把有關理論都掌握了」這樣的境界,我想應該是很理想的,但經驗發現這並不實際。據我所知,我所認識的不少電子設計牛人,他們的理論知識可能都比不上我們的本科生,但很多不錯的產品都是從他們的手中開發出來的,有了實踐的經驗後,他們掌握新技術的速度相當驚人。有人跟我說:「新技術是拿來用的,不是拿來學的。」他們認為掌握新的設計技術應當儘快掌握它的設計流程。因此,我參考朋友給我的意見,寫了這個簡易的教程,以非常詳細的實例來讓初學者了解基於QuartusII和NiosII IDE的FPGA/SOPC開發的基本流程,目的是為了讓初學者儘快上手FPGA/SOPC的開發流程,儘快投入到實踐中。為了易於說明問題,本教程中的一些概念並不是很嚴謹,如果讀者對某些提法有異議,請參考相關資料和教材,並以相關資料和教材為準。通過該簡明教程,初學者能快速了解FPGA/SOPC的基本開發流程,很多技巧和深入理解都靠長期的經驗積累,因此初學者應該在了解了基本流程以後,思維不能局限於此,應在實踐中提高水平,並參考更全面和權威的資料。

本教程配套CT-SOPCx系列FPGA/SOPC開發學習板套件(對於該套件的相關內容請參考附錄。)以實踐為基礎,適合具備基本的數字電路設計基礎的初學者。第一章是CPLD/FPGA的基本知識,這部分內容摘自網際網路並稍加刪改,對於CPLD/FPGA知識為零的初學者應先了解這部分內容;對於已經有了一定基礎的同學可以跳過這部分內容。第二章以兩個例子來讓初學者了解FPGA的基本開發流程,並熟悉QuartusII軟體的使用。第三章以一個例子來讓初學者了解基於NiosII軟CPU核的SOPC設計流程,並熟識SOPC Builder和NiosII IDE的基本使用。附錄是本文所涉及的例子的學習板相關的內容。

由於本人水平有限,錯漏和不嚴謹之處在所難免,歡迎大家批評指正。

嵌入式控制研究室
             http://www.21control.com
2006年4月20日







目 錄



第一章PLD/FPGA的基本知識 ………………………………………………………………………



第二章 FPGA基本教程 ……………………………………………………………………………………

第一節 FPGA的基本開發流程 ………………………………………………………………………………

第二節 基於QuartusII的實例…………………………………………………………………………………

實驗一 實驗板上的KEY1按鈕控制FPGA核心板上的第一個LED燈介紹 ………………………………

實驗二 7段數碼管實驗 …………………………………………………………………………………

實驗三 用FPGA設計串口數據收發 …………………………………………………………………………



第三章 SOPC的基本開發流程 …………………………………………………………………………………

第一節 SOPC vs MCU、DSP和FPGA ………………………………………………………………………

第二節 基於QuantusII和NiosII的SOPC基本開發流程 ……………………………………………………

第三節 基於QuantusII和NiosII的SOPC實例 ……………………………………………………………

實驗一 核心板上的兩個LED交替閃爍 …………………………………………………………………

實驗二 4位7段數碼管IP core設計以及flash的燒寫教程 …………………………………

實驗三 LCD設備驅動開發 ………………………………………………………………………

實驗四 ALL_TEST綜合設計 ……………………………………………………………………………



第四章 FPGA開發板V3.0中嵌入Uclinux的步驟和方法……………………………………………………





第一章 CPLD/FPGA的基本知識

(一)可編程邏輯器件的歷史和概述
隨著數字電路應用越來越廣泛,傳統通用的數字集成晶片已經難以滿足系統的功能要求,而且隨著系統複雜程度的提高,所需通用集成電路的數量呈爆炸性增值,使得電路的體積膨大,可靠性難以保證。此外,現代產品的生命周期都很短,一個電路可能需要在很短的周期內作改動以滿足新的功能需求,對於採用通用的數字集成電路設計的電路系統來說即意味著重新設計和重新布線。因此,系統設計師們希望自己設計專用集成電路(ASIC)晶片,而且希望ASIC的設計周期儘可能短,最好是在實驗室裡就能設計出合適的ASIC晶片,並且立即投入實際應用之中,因而出現了現場可編程邏輯器件(FPLD),其中應用最廣泛的當屬現場可編程門陣列(FPGA)和複雜可編程邏輯器件(CPLD)。

早期的可編程邏輯器件只有可編程只讀存貯器(PROM)、紫外線可按除只讀存貯器(EPROM)和電可擦除只讀存貯器(EEPROM)三種。由於結構的限制,它們只能完成簡單的數字邏輯功能。

其後,出現了一類結構上稍複雜的可編程晶片,即可編程邏輯器件(PLD),它能夠完成各種數字邏輯功能。典型的PLD由一個「與」門和一個「或」門陣列組成,而任意一個組合邏輯都可以用「與一或」表達式來描述,所以, PLD能以乘積和的形式完成大量的組合邏輯功能。

這一階段的產品主要有PAL(可編程陣列邏輯)和GAL(通用陣列邏輯)。PAL由一個可編程的「與」平面和一個固定的「或」平面構成,或門的輸出可以通過觸發器有選擇地被置為寄存狀態。 PAL器件是現場可編程的,它的實現工藝有反熔絲技術、EPROM技術和EEPROM技術。還有一類結構更為靈活的邏輯器件是可編程邏輯陣列(PLA),它也由一個「與」平面和一個「或」平面構成,但是這兩個平面的連接關係是可編程的。 PLA器件既有現場可編程的,也有掩膜可編程的。 在PAL的基礎上,又發展了一種通用陣列邏輯GAL (Generic Array Logic),如GAL16V8,GAL22V10 等。它採用了EEPROM工藝,實現了電可按除、電可改寫,其輸出結構是可編程的邏輯宏單元,因而它的設計具有很強的靈活性,至今仍有許多人使用。 這些早期的PLD器件的一個共同特點是可以實現速度特性較好的邏輯功能,但其過於簡單的結構也使它們只能實現規模較小的電路。

為了彌補這一缺陷,20世紀80年代中期。 Altera和Xilinx分別推出了類似於PAL結構的擴展型 CPLD(Complex Programmab1e Logic Dvice)和與標準門陣列類似的FPGA(Field Programmable Gate Array),它們都具有體系結構和邏輯單元靈活、集成度高以及適用範圍寬等特點。這兩種器件兼容了PLD和通用門陣列的優點,可實現較大規模的電路,編程也很靈活。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設計開發周期短、設計製造成本低、開發工具先進、標準產品無需測試、質量穩定以及可實時在線檢驗等優點,因此被廣泛應用於產品的原型設計和小批量產品生產(一般在10,000件以下)之中。幾乎所有應用門陣列、PLD和中小規模通用數字集成電路的場合均可應用FPGA和CPLD器件。

(二)FPGA、CPLD 概述

FPGA(現場可編程門陣列)與 CPLD(複雜可編程邏輯器件)都是可編程邏輯器件,它們是在PAL,GAL等邏輯器件的基礎之上發展起來的。同以往的PAL,GAL等相比較,FPGA/CPLD的規模比較大,它可以替代幾十甚至幾千塊通用IC晶片。這樣的FPGA/CPLD實際上就是一個子系統部件。這種晶片受到世界範圍內電子工程設計人員的廣泛關注和普遍歡迎。經過了十幾年的發展,許多公司都開發出了多種可編程邏輯器件。比較典型的就是Altera公司和Xilinx公司的CPLD器件系列和FPGA器件系列,它們開發較早,佔用了較大的PLD市場。通常來說,在歐洲用Xilinx的人多,在日本和亞太地區用ALTERA的人多,在美國則是平分秋色。全球PLD/FPGA產品60%以上是由Altera和Xilinx提供的。可以講Altera和Xilinx共同決定了PLD技術的發展方向。當然還有許多其它類型器件,如:Lattice,Vantis,Actel,Quicklogic,Lucent等。 (99年Lattice收購了Vantis,成為第三大PLD供應商。

本文引用地址:http://www.eepw.com.cn/article/201706/349482.htm
表1.2.1 1998年世界十大PLD公司

儘管FPGA,CPLD和其它類型PLD的結構各有其特點和長處,但概括起來,它們是由三大部分組成的:(1)一個二維的邏輯塊陣列,構成了PLD器件的邏輯組成核心;(2)輸入/輸出塊;(3)連接邏輯塊的互連資源,由各種長度的連線線段組成,其中也有一些可編程的連接開關,它們用於邏輯塊之間、邏輯塊與輸入/輸出塊之間的連接。

對用戶而言,雖然CPLD與FPGA的內部結構稍有不同,但其用法都一樣,所以多數情況下,不加以區分。FPGA/CPLD晶片都是特殊的ASIC晶片,它們除了具有ASIC的特點之外,還具有以下幾個優點:

(1) 隨著VlSI(Very Large Scale IC,超大規模集成電路)工藝的不斷提高單一晶片內部可以容納上百萬個電晶體, FPGA/CPLD晶片的規模也越來越大,其單片邏輯門數已達到上百萬門,它所能實現的功能也越來越強,同時也可以實現系統集成,即片上系統SOC。

(2) FPGA/CPLD晶片在出廠之前都做過百分之百的測試,不需要設計人員承擔投片風險和費用,設計人員只需在自己的實驗室裡就可以通過相關的軟硬體環境來完成晶片的最終功能設計。所以, FPGA/CPLD的資金投入小,節省了許多潛在的花費。

(3) 用戶可以反覆地編程、擦除、使用或者在外圍電路不動的情況下用不同軟體就可實現不同的功能。所以,用FPGA/PLD 試製樣片,能以最快的速度佔領市場。 FPGA/CPLD軟體包中有各種輸入工具和仿真工具,及版圖設計工具和編程器等全線產品,電路設計人員在很短的時間內就可完成電路的輸入、編譯、優化、仿真,直至最後晶片的製作。當電路有少量改動時,更能顯示出FPGA/CPLD的優勢。電路設計人員使用FPGA/CPLD進行電路設計時,不需要具備專門的IC(集成電路)深層次的知識, FPGA/CPLD軟體易學易用,可以使設計人員更能集中精力進行電路設計,快速將產品推向市場。

(4) 在線可編程技術(ISP)使得使用CPLD/FPGA的產品可以做到遠程升級。

(以上內容參照西電《CPLD技術及其應用》,有改動)

(三)PLD/FPGA 結構與原理初步

一. 基於乘積項(Product-Term)的PLD結構

採用這種結構的PLD晶片有:Altera的MAX7000,MAX3000系列(EEPROM工藝),Xilinx的XC9500系列(Flash工藝)和Lattice,Cypress的大部分產品(EEPROM工藝)。我們先看一下這種PLD的總體結構(以MAX7000為例,其他型號的結構與此都非常相似):

這種PLD可分為三塊結構:宏單元(Marocell),可編程連線(PIA)和I/O控制塊。 宏單元是PLD的基本結構,由它來實現基本的邏輯功能。圖1.3.1中陰影部分是多個宏單元的集合(因為宏單元較多,沒有一一畫出)。可編程連線負責信號傳遞,連接所有的宏單元。I/O控制塊負責輸入輸出的電氣特性控制,比如可以設定集電極開路輸出,擺率控制,三態輸出等。圖1.3.1 左上的INPUT/GCLK1,INPUT/GCLRn,INPUT/OE1,INPUT/OE2 是全局時鐘,清零和輸出使能信號,這幾個信號有專用連線與PLD中每個宏單元相連,信號到每個宏單元的延時相同並且延時最短。宏單元的具體結構見下圖:

左側是乘積項陣列,實際就是一個與或陣列,每一個交叉點都是一個可編程熔絲,如果導通就是實現「與」邏輯。後面的乘積項選擇矩陣是一個「或」陣列。兩者一起完成組合邏輯。圖右側是一個可編程D觸發器,它的時鐘,清零輸入都可以編程選擇,可以使用專用的全局清零和全局時鐘,也可以使用內部邏輯(乘積項陣列)產生的時鐘和清零。如果不需要觸發器,也可以將此觸發器旁路,信號直接輸給PIA或輸出到I/O腳。

二. 乘積項結構PLD的邏輯實現原理

下面我們以一個簡單的電路為例,具體說明PLD是如何利用以上結構實現邏輯的,電路如下圖:

假設組合邏輯的輸出(AND3的輸出)為f,則f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我們以!D表示D的「非」)

PLD將以下面的方式來實現組合邏輯f:

A,B,C,D由PLD晶片的管腳輸入後進入可編程連線陣列(PIA),在內部會產生A,A反,B,B反,C,C反,D,D反8個輸出。圖中每一個叉表示相連(可編程熔絲導通),所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。這樣組合邏輯就實現了。 圖3電路中D觸發器的實現比較簡單,直接利用宏單元中的可編程D觸發器來實現。時鐘信號CLK由I/O腳輸入後進入晶片內部的全局時鐘專用通道,直接連接到可編程觸發器的時鐘端。可編程觸發器的輸出與I/O腳相連,把結果輸出到晶片管腳。這樣PLD就完成了圖1.3.3所示電路的功能。(以上這些步驟都是由軟體自動完成的,不需要人為幹預)。

圖1.3.3的電路是一個很簡單的例子,只需要一個宏單元就可以完成。但對於一個複雜的電路,一個宏單元是不能實現的,這時就需要通過並聯擴展項和共享擴展項將多個宏單元相連,宏單元的輸出也可以連接到可編程連線陣列,再做為另一個宏單元的輸入。這樣PLD就可以實現更複雜邏輯。

這種基於乘積項的PLD基本都是由EEPROM和Flash工藝製造的,一上電就可以工作,無需其他晶片配合。

三. 表(Look-Up-Table)的原理與結構

採用這種結構的PLD晶片我們也可以稱之為FPGA:如altera的ACEX,APEX系列,xilinx的Spartan,Virtex系列等。


查找表(Look-Up-Table)簡稱為LUT,LUT本質上就是一個RAM。 目前FPGA中多使用4輸入的LUT,所以每一個LUT可以看成一個有4位地址線的16x1的RAM。當用戶通過原理圖或HDL語言描述了一個邏輯電路以後,PLD/FPGA開發軟體會自動計算邏輯電路的所有可能的結果,並把結果事先寫入RAM,這樣,每輸入一個信號進行邏輯運算就等於輸入一個地址進行查表,找出地址對應的內容,然後輸出即可。

下面是一個4輸入與門的例子:

四. 基於查找表(LUT)的FPGA的結構

altera的FLEX/ACEX等晶片的結構如下圖:

邏輯單元(LE)內部結構

FLEX/ACEX的結構主要包括LAB,I/O塊,RAM塊(未表示出)和可編程行/列連線。在FLEX/ACEX中,一個LAB包括8個邏輯單元(LE),每個LE包括一個LUT,一個觸發器和相關的相關邏輯。LE是FLEX/ACEX晶片實現邏輯的最基本結構(altera其他系列,如APEX、CYCLONE等的結構與此基本相同,具體請參閱數據手冊)。

五.查找表結構的FPGA邏輯實現原理

我們還是以這個電路的為例:

A,B,C,D由FPGA晶片的管腳輸入後進入可編程連線,然後作為地址線連到到LUT,LUT中已經事先寫入了所有可能的邏輯結果,通過地址查找到相應的數據然後輸出,這樣組合邏輯就實現了。該電路中D觸發器是直接利用LUT後面D觸發器來實現。時鐘信號CLK由I/O腳輸入後進入晶片內部的時鐘專用通道,直接連接到觸發器的時鐘端。觸發器的輸出與I/O腳相連,把結果輸出到晶片管腳。這樣PLD就完成了圖1.3.3所示電路的功能。(以上這些步驟都是由軟體自動完成的,不需要人為幹預)。

這個電路是一個很簡單的例子,只需要一個LUT加上一個觸發器就可以完成。對於一個LUT無法完成的的電路,就需要通過進位邏輯將多個單元相連,這樣FPGA就可以實現複雜的邏輯。

由於LUT主要適合SRAM工藝生產,所以目前大部分FPGA都是基於SRAM工藝的,而SRAM工藝的晶片在掉電後信息就會丟失,一定需要外加一片專用配置晶片,在上電的時候,由這個專用配置晶片把數據加載到FPGA中,然後FPGA就可以正常工作,由於配置時間很短,不會影響系統正常工作。也有少數FPGA採用反熔絲或Flash工藝,對這種FPGA,就不需要外加專用的配置晶片。

六.選擇PLD還是FPGA?

根據上述PLD的結構和原理可以知道,PLD分解組合邏輯的功能很強,一個宏單元就可以分解十幾個甚至20-30多個組合邏輯輸入。而FPGA的一個LUT只能處理4輸入的組合邏輯,因此,PLD適合用於設計解碼等複雜組合邏輯。但FPGA的製造工藝確定了FPGA晶片中包含的LUT和觸發器的數量非常多,往往都是幾千上萬,PLD一般只能做到512個邏輯單元,而且如果用晶片價格除以邏輯單元數量,FPGA的平均邏輯單元成本大大低於PLD。所以如果設計中使用到大量觸發器,例如設計一個複雜的時序邏輯,那麼使用FPGA就是一個很好選擇。

相關焦點

  • 小梅哥和你一起深入學習FPGA之點亮LED燈(上)
    本文引用地址:http://www.eepw.com.cn/article/270853.htm  一、 實驗目的  實現4個LED燈的亮滅控制  二、 實驗原理  LED燈的典型電路如下2-1所示,我們控制led燈的亮滅,實質就是去控制FPGA的IO輸給LED負極一個低電平或者高電平。
  • 賽靈思推出Spartan-6 FPGA系列
    這一業界最新的低功耗FPGA系列專為豐富的連接功能和降低功耗而優化設計,支持系統開發人員滿足市場對新功能的需求,同時還可通過降低多達50%的功耗來降低系統成本,從而提供更加綠色的產品。這一平臺可幫助電子系統生產商利用集成硬體和軟體可編程能力來迎接當前經濟形勢下所面臨的財務、市場和技術挑戰。 每個系列都包括針對數位訊號處理(DSP)、高速連接功能以及嵌入式系統應用的開發工具和賽靈思技術服務(Xilinx Engineering Services)支持。
  • 為什麼開發板不能在室內使用GPS定位?
    至此,開發者應該可以明白為什麼手機可以定位,而開發板無法定位了。PS:如果有手機同樣的預算,開發板也能做到同樣的「室內定位」效果。今天的內容就講到這裡,如有疑問或建議,請聯絡公眾號人工客服或後臺留言給我們吧~合宙商城福利大放送,1元團購、限量特價,超值活動送驚喜,不要錯過哦!!!
  • 新的LatticeECP4系列重新定義低成本、低功耗FPGA
    LatticeECP4通信引擎組合包括針對PCI Express2.1、多個10千兆乙太網MAC和三速乙太網MAC,以及串行快速I / O(SRIO)2.1的解決方案。 SERDES / PCS和通信引擎的結合是完成基於複雜串行協議的設計的理想選擇,具有較低的成本,功耗和小尺寸的特點,同時加快了產品的上市時間。
  • 中國移動進軍物聯網的一把利劍——麒麟座開發板測評
    中國移動以極快的速度推出了兩款開發板麒麟座與麒麟座mini,開發板使用的都是中國移動開放雲平臺OneNET為雲伺服器,為各種跨平臺物聯網應用、行業解決方案提供簡便的海量連接、雲端存儲、消息分發和大數據分析等優質服務,從而降低物聯網企業和個人(創客)的研發、運營和運維成本,使物聯網企業和個人(創客)更加專注於應用。
  • 【案例教程】【TinkerNode NB-IoT物聯網開發板】戶外水質監測項目
    這次將製作一個遠程採集水質參數的裝置,它可以用來採集湖水的溫度、pH、TDS值以及設備電量,並使用TinkerNode開發板的NB-IoT功能,將數據上傳至阿里雲平臺。項目視頻為了方便大家進行學習,我們為大家提供了視頻版本的項目教程,會在近期更新。
  • 基於Arduino UNO開發板無線連接伺服電機方案設計
    基於Arduino UNO開發板無線連接伺服電機方案設計 風箏 發表於 2021-01-09 11:47:36 在機器人中使用伺服電機進行精確控制很常見。
  • arm開發板與樹莓派有什麼區別
    我第一次聽說樹莓派時,並沒有對它產生任何興趣,因為對我來說這並不是一款新產品。在更早之前,我玩過 arm11 的開發板(S3C6410 系列,見下圖),雖然和樹莓派還是有區別的,比如體積更大、沒有 HDMI 接口、自帶觸控螢幕、價錢比樹莓派稍貴等等,但我當時認為沒有本質的不同,甚至性能和性價比上也不相上下。
  • 用FPGA實現FFT算法
    快速傅立葉變換(Fast Fourier Transformation,簡稱FFT)使DFT運算效率提高1~2個數量級。其原因是當N較大時,對DFT進行了基4和基2分解運算。FFT算法除了必需的數據存儲器ram和旋轉因子rom外,仍需較複雜的運算和控制電路單元,即使現在,實現長點數的FFT仍然是很困難。
  • arduino開發板有什麼用
    Arduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬體(各種型號的Arduino板)和軟體(Arduino IDE)。由一個歐洲開發團隊於2005年冬季開發。   總有一款適合你——Arduino開發板終極盤點。不同的Arduino開發板有不同的功能!   以下為大家介紹。
  • 最詳細FPGA/CPLD開發流程快速入門指南-基於Altera QuartusII(1)
    一、概述本文以簡單的26位分頻器工程實例為藍本,從頭至尾演示工程建立的所有細節及注意事項,以便新手用戶快速掌握QuartusII的入門操作知識二、聲明本文以ALTERA QuartusII11.0版本進行演示,雖然是針對CPLD EPM240T100開發平臺所做的入門指導書,但這些流程對於FPGA設計是完全通用的。
  • 基於FPGA的無損圖像壓縮系統設計
    編者按:  摘要:本文簡要介紹了圖像壓縮的重要性和常用的無損圖像壓縮算法,分析了快速高效無損圖像壓縮算法(FELICS)的優勢,隨後詳細分析了該算法的編碼步驟和硬體實現方案,最後公布了基於該方案的FPGA性能指標。
  • ...發布優化意法半導體STM32開發板的新版NanoEdge™ AI Studio
    ●   從機器學習設計到庫編譯、部署和目標板上驗證,新版NanoEdge AI Studio為STM32開發板用戶帶來完整AI開發體驗本文引用地址
  • 麒麟座迷你開發板
    聯網功能作為物聯網方面的開發板,麒麟座迷你開發板通過板載WIFI模塊進行聯網,模塊型號為ESP8266_01,通過串口與單片機通信,接入簡單方便,資料齊全。當然,用戶想用其他的方式聯網,也可以通過擴展IO進行擴展。
  • 基於FPGA高精度浮點運算器的FFT設計與仿真
    關鍵詞 快速傅立葉變換;浮點;蝶形運算;VHDL FFT作為數位訊號處理中的重要的手段之一,主要在數字通信、語音信號處理、圖像處理、功率譜估計、仿真、系統分析、雷達理論、光學、醫學、地震以及數值分析等方面得到廣泛應用。基於FPGA實現FFT,具有軟體編程的靈活性及電路擴展性強等優點。
  • STM32F469開發板-黑科技助推圖形顯示
    此次愛板網也有幸第一時間體驗到了基於STM32F469系列MCU的STM32F469 Discovery開發板,一起來見識一下吧。 STM32F469 Discovery開發板 STM32F469同樣採用的是STM32F系列經典的蝴蝶包裝,但不同的是,第一眼看到並不僅僅是一塊簡單的開發板,而是一整塊大黑屏幕,竟然有點息屏美學的意味,忍不住讚嘆一番。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    3.3.1 語音信號的預加重和加窗 預加重處理主要是去除聲門激勵和口鼻輻射的影響,預加重數字濾波h(z)=1一kz-1,其中是為預加重係數,接近1,本系統中k取0.95。對語音序列x(n)進行預加重,得到預加重後的語音序列x(n): x(n)=x(n)一kx(n一1) (1) 系統採用一個有限長度的漢明窗在語音序列上進行滑動,用以截取幀長為20 ms,幀移設為10 ms的語音信號,採用漢明窗可以有效減少信號特徵的丟失。
  • SiFive為HiFive Unmatched開發板升級內存
    致力於RISC-V市場發展的初創企業SiFive在10月公布一款名叫HiFive Unmatched的開發板,採用集成四個U74-MC內核+一個S7嵌入式內核組成的FU740 SoC,是目前最好的RISC-V開發板之一。
  • 基於fpga二維小波變換核的實時可重構電路
    項目背景及可行性分析本文引用地址:http://www.eepw.com.cn/article/266432.htm  2.1 項目名稱及摘要:  基於fpga二維小波變換核的實時可重構電路  現場可編程門陣列為可進化設計提供了一個理想的模板
  • 基於FPGA的RCN226絕對式編碼器通信接口設計
    為了減小體積,絕對式編碼器一般採用串行通信方式輸出絕對編碼,針對伺服電機控制等高端場合,為了滿足快速的電流環、速度環、位置環的控制需要,編碼輸出的速度又應該非常快,這些不利因素都對絕對式編碼的接收增加了難度。 絕對式編碼器廠家大多為其編碼器配套了接收晶片,實現串行編碼到並行編碼的轉換,便於控制器的讀取操作。