通用異步收發器(Universal Asynchronous Receiver Transmitter,UART)是一種能同時支持短距離和長距離數據傳輸的串行通信接口,被廣泛應用于微機和外設之間的數據交換。像8251、NS8250、NS16550等都是常用的UART芯片,但是這些專用的串行接口芯片的缺點是數據傳輸速率比較慢,難以滿足高速率數據傳輸的場合,而更重要的就是它們都具有不可移植性,因此要利用這些芯片來實現PC機和FPGA芯片之間的通信,勢必會增加接口連線的復雜程度以及降低整個系統的穩定性和有效性。 本課題就是針對UART的特點以及FPGA設計具有可移植性的優勢,提出了一種基于FPGA芯片的嵌入式UART設計方法,其中主要包括狀態機的描述形式以及自頂向下的設計方法,利用硬件描述語言來編制UART的各個子功能模塊以及頂層模塊,之后將其集成到FPGA芯片的內部,這樣不僅能解決傳統UART芯片的缺點而且同時也使整個系統變得更加具有緊湊性以及可靠性。 本課題所設計的LIART支持標準的RS-232C傳輸協議,主要設計有發送模塊、接收模塊、線路控制與中斷仲裁模塊、Modem控制模塊以及兩個獨立的數據緩沖區FIFO模塊。該模塊具有可變的波特率、數據幀長度以及奇偶校驗方式,還有多種中斷源、中斷優先級、較強的抗干擾數據接收能力以及芯片內部自診斷的能力,模塊內分開的接收和發送數據緩沖寄存器能實現全雙工通信。除此之外最重要的是利用IP模塊復用技術設計數據緩沖區FIFO,采用兩種可選擇的數據緩沖模式。這樣既可以應用于高速的數據傳輸環境,也能適合低速的數據傳輸場合,因此可以達到資源利用的最大化。 在具體的設計過程中,利用Synplify Pro綜合工具、ModelSim仿真工具、ISE集成的軟件開發環境中對各個功能模塊進行綜合優化、仿真驗證以及下載實現。各項數據結果表明,本課題中所設計的UART滿足預期設計目標。
上傳時間: 2013-08-02
上傳用戶:rocketrevenge
隨著電子工業應用領域需求的增長,要實現復雜程度較高的數字電子系統,對數據處理能力提出越來越高的要求。定點運算已經很難滿足高性能數字系統的需要,而浮點數相對于定點數,具有表述范圍寬,有效精度高等優點,在航空航天、遙感、機器人技術以及涉及指數運算和信號處理等領域有著廣泛的應用。對浮點運算的要求主要體現在兩個方面:一是速度,即如何快速有效的完成浮點運算;二是精度,即浮點運算能夠提供多少位的有效數字。 計算機性價比的提高以及可編程邏輯器件的出現,對傳統的數字電子系統設計方法進行了變革。FPGA(Field Programmable Gate Array,現場可編程門陣列)讓設計師通過設計芯片來實現電子系統的功能,將傳統的固件選用及電路板設計工作放在芯片設計中進行。FPGA可以完成極其復雜的時序與組合邏輯電路功能,適用于高速、高密度,如運算器、數字濾波器、二維卷積器等具有復雜算法的邏輯單元和信號處理單元的邏輯設計領域。 鑒于FPGA技術的特點和浮點運算的廣泛應用,本文基于FPGA將浮點運算結合實際應用設計一個觸摸式浮點計算器,主要目的是通過VHDL語言編程來實現浮點數的加減、乘除和開方等基本運算功能。 (1)給出系統的整體框架設計和各模塊的實現,包括芯片的選擇、各模塊之間的時序以及控制、每個運算模塊詳細的工作原理和算法設計流程; (2)通過VHDL語言編程來實現浮點數的加減、乘除和開方等基本運算功能; (3)在Xilinx ISE環境下,對系統的主要模塊進行開發設計及功能仿真,驗證了基于FPGA的浮點運算。
上傳時間: 2013-04-24
上傳用戶:咔樂塢
數字圖像處理技術是信息科學中近幾十年來發展最為迅速的學科之一。目前,數字圖像處理技術被廣泛應用于航空航天、通信、醫學及工業生產等領域中。數字圖像處理的特點是處理的數據量大,處理非常耗時,本文研究了在FPGA上用硬件描述語言實現圖像處理算法,通過功能模塊的硬件化,解決了視頻圖像處理的速度問題。隨著微電子技術的高速發展,FPGA為數字圖像信號處理在算法、系統結構上帶來了新的方法和思路。 本文設計的基于FPGA的圖像處理系統,是一個具有視頻圖像采集、圖像處理、圖像顯示功能的圖像處理系統。該系統采用Altera公司FPGA芯片作為中央處理器,由視頻解碼模塊、圖像處理模塊、視頻編碼模塊組成。模擬視頻信號由CCD傳感器送入,經視頻解碼芯片SAA7113轉換成數字視頻信號后,圖像處理模塊完成中值濾波和邊緣檢測這兩種圖像處理算法,視頻編碼芯片SAA7121將數字視頻信號轉換成模擬視頻信號輸出。 整個設計及各個模塊都在Altera公司的開發環境QuartusⅡ以及第三方仿真軟件Modelsim上進行了仿真及邏輯綜合。仿真結果表明,使用FPGA硬件處理圖像數據不僅能夠獲得良好的處理效果,處理速度也遠遠高于軟件法處理的方法。
上傳時間: 2013-04-24
上傳用戶:han_zh
本課題是在課題組已實現的高速串行通信平臺的基礎上,進一步引伸,設計開源的PCI軟核通信模塊替代Xilinx公司提供的LogiCORE PCI核,力求在從模式下,做到占用資源更少,傳輸速度更快,也為以后實現更完整的功能提供平臺。 本文以此為背景,基于FPGA平臺,搭建以開源的PCI軟核為核心的串行通信接口平臺,使其成為PCI總線與用戶邏輯之間的橋梁,使用戶邏輯避開與復雜的PCI總線協議。本課題采用Spartan-II FPGA芯片XC2S200-6FG456C系統開發板作為串行通信接口的硬件實驗平臺,實現了支持配置讀/寫交易、單數據段讀/寫、突發模式讀/寫、命令/地址譯碼功能和數據傳送錯誤檢測與處理功能的PCI軟核。 本文主要闡述了以PCI軟核為核心的串行通信平臺的實現,首先介紹了PCI軟核的編程語言、軟件工具和硬件實驗平臺Spartan-II FPGA芯片XC2S200-6FG456C系統開發板。然后,介紹了PCI總線命令、PCI軟核所支持的功能、PCI軟核兩側信號的定義、PCI軟核配置模塊以及探討了PCI軟核的狀態機接收、發送數據等過程,分析了PCI軟核的數據收發功能仿真,主要包括配置讀/寫交易、單數據段模式讀/寫和突發模式讀/寫的仿真圖形,并闡述了管腳約束的操作流程。最后介紹PCI軟核模塊的WDM驅動,內容包括驅動程序簡介、驅動程序的開發、中斷處理、驅動程序與應用程序之間的通信以及應用程序操作。最后,對PCI軟核的各種性能進行了比較分析。整個模塊設計緊湊,完成在實驗平臺上的數據發送。 設計選用硬件描述語言VerilogHDL,在開發工具Xilinx ISE7.1中完成整個系統的設計、綜合、布局布線,利用Modelsim進行功能及時序仿真,使用DriverWorks為PCI軟核編寫WinXP下的驅動程序,用VC++6.0編寫相應的測試應用程序。之后,將FPGA設計下載到Spanan-II FPGA芯片XC2S200-6FG456C系統開發板中運行。 文章最后指出工作中的不足之處和需要進一步完善的地方。
上傳時間: 2013-04-24
上傳用戶:sc965382896
矩陣運算是描述許多工程問題中不可缺少的數學關系,矩陣運算具有執行效率好、速度快、集成度高等優點,并且隨著動態可配置技術的發展,靈活性也有了很大的提高。因此,尋找矩陣運算的高速實現方法是具有很大的現實意義,能夠為高速運算應用提供技術支持。 為了提高研究成果的實用性與商用性,本文主要針對某種體積小、運算速度和性能要求很高的特殊場合設計并實現基于FPGA的矩陣運算功能。通過系統地研究FPGA功能結構、設計原理、DSP接口、IEEE-754標準,深入學習浮點數及矩陣的基礎運算以及硬件編程語言等內容,根據矩陣運算的特點和原理,討論了硬件設計方面重點對具體核心器件結構、特點以及有關FPGA的設計流程和控制器Verilog HDL硬件編程語言代碼方面內容,確定了基于FPGA浮點運算及矩陣運算單元的Verilog HDL設計方法,在Quartus II平臺上對其仿真、記錄運算結果,并對采集到的數據結果進行了深入分析與總結。 本設計通過幾種矩陣算法利用FPGA和MATLAB分別進行了實現測試,驗證了設計結果的正確性,證明了本設計中矩陣運算速率的實用性與高效性,提高了系統資源利用率和系統可靠性,為今后在工程、軍事、通訊等生產生活各個領域應用打下良好基礎。
上傳時間: 2013-07-07
上傳用戶:xuanjie
現代的計算機追求的是更快的速度、更高的數據完整性和靈活性。無論從物理性能,還是從電氣性能來看,現今的并行總線都已出現了某些局限,無法提供更高的數據傳輸率。而SATA以其傳輸速率快、支持熱插拔、可靠的數據傳輸等特點,得到各行業越來越多的支持。 目前市場上的SATA IP CORE都是面向IC設計的,不利于在FPGA上集成,因此,本文在Xilinx公司的Virtex5系列FPGA上實現SATAⅡ協議,對SATA技術的推廣、國內邏輯IP核的發展都有一定的意義。 本文將SATAⅡ協議的FPGA實現劃分成物理層、鏈路層、傳輸層和應用層四個模塊。提出了物理層串行收/發器設計以及物理鏈路初始化方案。分析了鏈路層模塊結構,給出了作為SATAⅡ鏈路層核心的狀態機的設計。為滿足SATAⅡ協議3.0Gbps的速率,采用擴大數據處理位寬的方法,設計完成了鏈路層的16b/20b編碼模塊,同時為提高數據傳輸可靠性和信號的穩定性,分別實現了鏈路層CRC校驗模塊和并行擾碼模塊。在描述協議傳輸層的模塊結構的基礎上,給出了作為傳輸層核心的狀態機的設計,并以DMA DATA OUT命令的操作為例介紹了FIS在傳輸層中的處理過程。完成了命令層協議狀態機的設計,并實現了SATAⅡ新增功能NCQ技術,從而使得數據傳輸更加有效。最后為使本設計應用更加廣泛,設計了基于AHB總線的用戶接口。 本設計采用Verilog HDL語言對需要實現的電路進行描述,并使用Modelsim軟件仿真。仿真結果表明,本文設計的邏輯電路可靠穩定,與SATAⅡ協議定義功能一致。
上傳時間: 2013-06-16
上傳用戶:cccole0605
全球定位系統(Global Positioning System—GPS)是新一代衛星導航定位系統,具有全球、全天候、連續、高精度導航與定位功能,能夠為廣大用戶提供精確的三維坐標、速度和時間信息。因此,GPS系統被廣泛地應用于生活中的各個領域。GPS系統用戶主要是各種型號的接收機,而捕獲跟蹤技術是接收機的關鍵技術,同時也是一個技術難點。在GPS接收機中,導航電文是用戶定位和導航的數據基礎,為了得到導航電文必須要對GPS信號進行捕獲跟蹤。本文詳細研究了GPS信號捕獲跟蹤技術,并進行了FPGA設計。 @@ 本文首先概述了GPS系統信號結構和GPS接收機工作原理,對GPS信號調制機理進行詳細地闡述,重點分析了C/A碼生成原理和特性。 @@ 其次敘述了GPS信號捕獲的基礎理論,重點研究時域滑動相關捕獲方法,深入分析其算法和性能。用MATLAB中Simulink軟件包搭建了可自由修改參數的GPS中頻發生器,并在此平臺上,對GPS信號時域滑動相關捕獲算法進行仿真與分析。 @@ 接著重點研究了GPS信號跟蹤技術,系統分析碼跟蹤環路和載波跟蹤環路結構框圖以及算法。在碼跟蹤環路方面,選用并分析了能分離載波的非相干超前滯后碼鎖定環的工作機理。在載波跟蹤環路中選用對導航電文數據相位翻轉不敏感的科斯塔斯環,并用數學模型分析GPS信號的解調過程。之后對整個跟蹤環路進行MATLAB仿真,結果表明環路參數設計滿足要求,并能成功解調出GPS導航電文。 @@ 最后本文在QuartusII環境下完成對GPS信號捕獲跟蹤系統的FPGA設計。根據對相關器硬件結構框架,對算法中各個模塊的實現進行詳細的說明,包括頂層設計到CA碼、NCO等重要模塊設計,并給出了仿真結果。 @@關鍵詞:GPS接收機;捕獲;跟蹤;MATLAB仿真:FPGA
上傳時間: 2013-06-16
上傳用戶:jacking
隨著計算機及其外圍設備的發展,傳統的并行接口和串行接口在靈活性和接口擴展等方面存在的缺陷愈來愈不可回避,并逐漸成為計算機通信的瓶頸。在這種情況下,通用串行總線(Universal Serial Bus,USB)誕生了。USB由于具有傳輸速率高、價格便宜、使用方便、靈活性高、支持熱插拔、接口標準化和易于擴展等優點,目前已經成為計算機外設接口的主流技術,在計算機外圍設備和消費類電子領域正獲得越來越多的應用。 @@ 本文基于USB2.0協議規范,設計了一款支持高速和全速傳輸的USB2.0設備控制器IP核。文中著重介紹了這款設備控制器IP核的設計和FPGA驗證工作,詳細研究并分析了USB2.0規范,根據規范提出了一種USB2.0設備控制器整體構架方案,描述了各個功能子模塊硬件電路的功能及實現。從可重用的角度出發,對設備控制器模塊進行優化設計,增加多個靈活的配置選項,根據不同的應用對硬件進行配置,使其在滿足要求的情況下去除冗余電路,以減少占用面積和功耗,從而使其靈活地應用于各種USB系統。本文還研究了IP核的驗證方法,并對所設計的USB2.0設備控制器建立了功能完備的ModelSim仿真驗證環境,搭建了FPGA硬件驗證平臺,設計了具有AHB接口的設備控制器和帶有8051的設備控制器,并分別在FPGA平臺上進行了功能驗證。 @@ 本文所設計的USB2.0設備控制器IP核可配置性高,使用者可以自由配置所需端點的個數以及每個端點類型等,可以集成于多種USB系統中,適于各類USB設備的開發。本課題所取得的成果為USB2.0設備類的研究和開發積累了經驗,并為后來實驗室某項目測試芯片的USB數據采集提供了參考方案,也為未來USB3.0接口IP核的開發和應用奠定了基礎。 @@關鍵詞USB2.0控制器;IP核;FPGA;驗證
上傳時間: 2013-06-30
上傳用戶:nanfeicui
本文完成了對MIPS-CPU的指令集確定,流水線與架構設計,代碼編寫,并且在x86計算機上搭建了稱為gccmips_elf的仿真系統,完成了對MIPS-CPU硬件系統的模擬仿真,最終完成FPGA芯片的下載與實現。 @@ 本文完成了包含34條指令的MIPS-CPU指令集的制定,完成了整個MIPS-CPU的架構設計與5級流水線級數的確定。制定了整個CPU的主控制模塊的狀態轉移圖;根據MIPS-CPU的指令集的模式,完成了對不同模式下的指令的分析,給出了相應的取指,譯碼,產生新的程序存儲器尋址地址,執行,數據存儲器與寄存器文件回寫的控制信號,完成取指令模塊,譯碼模塊,執行模塊,數據回寫等模塊代碼的編寫,從而完成了流水線模塊的代碼設計。 @@ 重點分析了由于流水線設計而引入的競爭與冒險,分析了在不同流水線階段可能存在的競爭與冒險,對引起競爭與冒險的原因進行了確定,并通過增加一些電路邏輯來避免競爭與冒險的發生,完成了競爭與冒險檢測電路模塊以及數據回寫前饋電路模塊的代碼編寫,從而解決了競爭與冒險的問題,使設計的5級流水線得以暢順實現。 @@ 完成了MIPS-CPU的仿真系統平臺的搭建,該仿真器用來對應用程序進行編譯,鏈接與執行,生成相應匯編語言程序以及向量文件(16進制機器碼);并且同時產生相關的Modelsim仿真,及Quartus II下載驗證的文件。本設計利用該仿真系統來評估設計的MIPS-CPU的硬件系統,模擬仿真結果證明本文設計的MIPS-CPU可以實現正常功能。本論文課題的研究成功對今后從事專用RISC-CPU設計的同行提供了有益的參考。 @@ 最終將設計的MIPS-CPU下載到ALTERA公司的FPGA-EP1C6Q240芯片,并且借助ALTERA公司提供的Quartus II軟件進行了編譯與驗證,對設計的MIPS-CPU的資源使用,關鍵路徑上的時序,布線情況進行了分析,最終完成各個指標的檢查,并且借助Quartus II軟件內嵌的Signal Tap軟件進行軟硬件聯合調試,結果表明設計的MIPS-CPU功能正常,滿足約束,指標正確。 @@關鍵詞 MIPS;流水線;競爭與冒險;仿真器;FPGA
上傳時間: 2013-07-31
上傳用戶:gjzeus
自20世紀80年代以來,正交頻分復用技術不但在廣播式數字音頻和視頻領域得到廣泛的應用,而且已經成為無線局域網標準(例如IEEE802.11a和HiperLAN/2等)的一部分。OFDM由于其頻譜利用率高,成本低等原因越來越受到人們的關注。隨著人們對通信數據化、寬帶化、個人化和移動化需求的增強,OFDM技術在綜合無線接入領域將會獲得越來越廣泛的應用。人們開始集中越來越多的精力開發OFDM技術在移動通信領域的應用,本文也是基于無線通信平臺上的OFDM技術的運用。 本文的所有內容都是建立在空地數據無線通信系統下行鏈路FPGA實現基礎上的。本文作者的主要工作集中在鏈路接收端的FPGA實現和調試上。主要包括幀同步(時間同步)算法的研究與設計、OFDM頻率同步算法的研究與設計以及同步模塊、OFDM解調模塊、QAM解調模塊的FPGA實現。最終實現高速數字圖像傳輸系統下行鏈路在無線環境中連通。 對于無線移動通信系統而言,多普勒頻移、收發設備的本地載頻偏差均可能破壞OFDM系統子載波之間的正交性,從而導致ICI,影響系統性能。另外,由于OFDM系統大多采用IFFT/FFT實現調制解調,因此在接收方確定FFT的起點對數據的正確解調也至關重要。同步技術即是針對系統中存在的定時偏差、頻率偏差進行定時、頻偏的估計與補償,來減少各種同步偏差對系統性能的影響。在OFDM實現的關鍵技術中,同步技術是十分重要的一部分。本文花費了三個章節闡述了同步技術的原理、算法和實現方法。 目前OFDM系統的載波同步方案,可以歸納為三大類:輔助數據類,盲估計類和基于循環前綴的半盲估計類。本文首先分析了各種載波同步方案的優缺點,并舉例說明了各個載波同步方式的實現方法。然后具體闡述了本文在FPGA平臺上實現的OFDM接收端同步的同步方式,包括其具體算法和FPGA實現結構。本文所采用的幀同步和頻率同步方案都是采用輔助數據類的,在闡述其具體算法的同時對算法在不同參數和不同形式下的性能做出了仿真對比分析。 OFDM的解調采用FFT算法,在FPGA上的實現是十分方便的。本文主要闡述其實現結構,重點放在提取有效數據部分有效數據位置的推導過程。最后介紹了本文實現QAM軟解調的解調方法。 本文闡述算法采用先提出原理,然后給出具體公式,再根據公式中的系數和變量分析算法性能的方式。在闡述實現方式時首先給出實現框圖,然后對框圖中比較重要或者復雜的部分進行詳細闡述。在介紹完每個模塊實現方式之后給出了仿真或者上板結果,最后再給出整體測試結果。
上傳時間: 2013-06-26
上傳用戶:希醬大魔王