圖書簡介
本書分基本理論和實踐兩大部分。基本理論部分介紹了FPGA和SoPC的基本理論,Quartus Ⅱ軟體的使用方法、基於FPGA的開發技術、Nios Ⅱ嵌入式系統開發過程、Nios Ⅱ的常用組件與編程和SoPC技術的套用。實踐部分結合常用的開發實例介紹IDE Quartus Ⅱ的設定,新建工程或檔案、編譯和下載檔案的過程、方法及技巧。SOPC Builder設計流程、NiosⅡ軟核處理器、NiosⅡ軟核處理器的配置方法。講述了Nios Ⅱ嵌入式軟核處理器設計、SoPC的軟/硬體結合開發流程、NiosⅡ的開發平台和集成開發環境(IDE)特點和 NiosⅡ的外圍接口等。本書適合作為大學二年級以上的電子類、計算機類、自動化類和機電類等專業的本科生的教材或教學參考書,也可作為專業技術人員的培訓參考資料。
圖書前言
隨著微電子技術和計算機技術的發展,可程式邏輯器件、EDA技術、嵌入式系統、SoC、SoPC和IP核等新概念和新技術層出不窮,新技術的套用迅速滲透到電子、通信、信息、機械製造、儀器儀表、航空航天及家用電器等領域,有力地推動了社會生產力的發展和社會信息化程度的提高。微電子技術(即大規模積體電路加工技術)的發展是現代電子技術發展的基礎。目前,在矽片單位面積上集成的電晶體數量越來越多,原來需要成千上萬隻電子元器件組成的電子設備電路,現在僅用幾片或單片超大規模積體電路就可以實現。
嵌入式系統是將先進的計算機技術、半導體技術、電子技術與各個行業的具體套用相結合後的產物,這一特點決定了它是一個技術密集、高度分散、不斷創新的知識集成系統。嵌入式系統課程又是一門多學科交叉的課程,涉及微機原理與接口、計算機組成原理、作業系統、編譯技術、網路通信、人機互動、軟體測試、軟硬體協同設計等諸多知識點,授課內容概括性強。現在是後PC時代,作為電子信息技術、計算機專業,掌握嵌入式系統是一門必需的技術。嵌入式系統是IT行業中重要的套用領域。為了適應新形勢的要求,以與時俱進的教學理念進行教學實踐。
由於近幾年來,眾多的嵌入式系統新產品不斷問世,國內外各大IT公司紛紛投入巨資加緊研發,後PC時代的來臨,促進了科技進步和經濟發展。伴隨著通信網路、計算機技術和微電子技術的高速發展,嵌入式系統已成為IT業的一個焦點。同時在數字信息技術和網路技術高速發展的後PC時代,嵌入式系統因其體積小、可靠性高、功能強、靈活方便等諸多優點,已滲透到工業、軍事、醫療以及日常生活等各個領域,對各行各業的技術改造、產品更新換代、加速自動化進程和提高生產率等方面起到了極其重要的推動作用。
另外,嵌入式領域的迅速發展,使得FFGA作為主晶片的嵌入式套用方向已被逐漸接受,在國內高校之中已有部分高校開設了FPGA和SoPC的課程; 但是嵌入式領域又是以實驗為中心任務的,因此在FPGA和SoPC的教學中不應死讀教材而應該通過大量的實驗練習,才能快速理解基本的理論知識,並提高動手能力。
SoPC(System on a Programmable Chip)稱為可程式片上系統,它基於可程式邏輯器件(FPGA或CPLD)可重構的片上系統(SoC)。SoPC集成了硬核或軟核CPU、DSP、鎖相環(PLL)、存儲器、I/O接口及可程式邏輯,可以靈活高效地解決SoC方案,而且設計周期短,設計成本低。目前,SoPC技術已成為備客群多中小企業、研究所和大專院校青睞的設計技術,是實現嵌入式系統的最高形式。SoC設計技術將是21世紀的技術發展趨勢,是現在高校和社會嵌入式培訓班必需的內容和亮點。目前,SoPC技術已成為備客群多企業、研究所和大專院校青睞的設計技術(國內有近60幾所高效開展了Verilog語言課程和基於Altera SoPC的(聯合實驗室)實驗教學)。
EDA/SoPC技術是進入21世紀以來發展最迅猛的電子設計技術之一,以其設計靈活、可裁剪、軟硬體可程式等特點和優勢,備受設計者關注。隨著信息技術的發展普及以及市場強有力的驅動,設計需求日趨多樣化,系統設計越來越複雜,開發時間越來越緊迫。利用已有IP核是快速實現套用系統,縮短產品開發周期的有效途徑。Altera的Nios Ⅱ是用戶可以隨意配置核構建的32位嵌入式處理器IP核,採用Avalon匯流排結構通信接口,包含由FS2
(First Silicon Solutions公司。FS2公司專門致力於晶片智慧財產權(IP)、設計服務和針對SoC、SoPC、FPGA、ASSP和ASIC器件的編程、測試、調試和嵌入式跟蹤片上儀器的開發工具)
開發的基於JTAG的片內設備核心。使用Nios Ⅱ處理器的用戶可以根據他們的需要來調整嵌入式系統的特性、性能以及成本,快速使得產品推向市場,擴展產品的生命周期,並且避免處理器的更新換代。
SoPC的整體解決方案以及Nios軟核概念的提出,徹底顛覆了傳統嵌入式系統的設計理念,從硬體和軟體整體設計上將嵌入式系統的設計進行了極大地推動,使得嵌入式系統的硬體設計更加簡單高效、易於理解,軟體設計更加可視化、可移植性更強。嵌入式學習必須以實驗為中心,因此應該在FPGA及SoPC的教學中通過大量的實驗練習才能快速理解理論知識。
本書使用的是Quartus Ⅱ9.0 Free版精選了幾個有代表性的實驗,通過練習不僅可以掌握工具的使用,還可以達到掌握基於FPGA及SoPC技術的嵌入式系統設計的理論知識的目的。首先基於當前流行的集成開發環境ADS,使讀者漸漸進入角色,同時以實例的形式掌握C語言與彙編的混合編程編譯與調試,在練習的過程中掌握工具的使用、硬體知識及軟體編程方法。本書力圖在總體結構和內容編排上具有系統性、啟發性和實用性,做到由淺入深、循序漸進、易於入門,便於自學和適於教學。在做實驗的過程中,領會和掌握基本理論知識,在完成實驗後爭取達到理論的升華。一本教材同時也應該是一本好的參考書,能夠提供許多的資源。綜合創新實驗則以基本實驗為基礎與實際套用相結合,由學生自行設計,自由發揮。旨在注重培養學生的動手能力,發現問題和解決問題的能力。目的是培養複合型、創新性新世紀人才。“創新是一個民族進步的靈魂,是一個國家興旺發達的不竭動力”。
“微機原理與接口技術”、“嵌入式系統”、DSP及SoPC等系列實踐教程是圍繞甘肅省教學成果“嵌入式系統課程群建設及創新型人才培養”而展開的。非常感謝我的導師馬義德教授的引導、幫助和鼓勵,以及其他老師和同仁的幫助和指導。
作者
2011年6月
圖書目錄
第1部分基 本 理 論
第1章緒論
1.1嵌入式系統簡介
1.2FPGA簡介
1.3SoPC技術簡介
1.4硬體描述語言及其程式的基本架構
1.5基於FPGA/SoPC實現嵌入式系統概述
第2章Altera可程式器件與Quartus Ⅱ軟體套用
2.1Altera可程式邏輯器件
2.2Quartus Ⅱ簡介
2.3Quartus Ⅱ的安裝過程與使用
2.4Quartus Ⅱ設計流程
第3章Avalon匯流排與Nios Ⅱ處理器
3.1Avalon匯流排
3.2Nios Ⅱ嵌入式處理器
3.3Nios Ⅱ體系架構
第4章基於SoPC的Nios Ⅱ處理器設計
4.1SOPC Builder簡介
4.2SOPC Builder的組成與功能
4.3基於SOPC Builder解決嵌入式處理器外設設計面臨的挑戰
4.4參數模組庫的使用
4.5基礎預備實驗示例
第2部分基 本 實 驗
第5章Quartus Ⅱ和SignalTap Ⅱ的使用
5.1實驗預備
5.2實驗目的
5.3實驗內容
5.4實驗原理
5.5實驗步驟
思考題
第6章Hello_word實驗及SoPC設計基礎
6.1實驗目的
6.2實驗內容
6.3實驗原理
6.4實驗步驟
思考題
第7章LED實驗
7.1實驗目的
7.2實驗內容
7.3實驗原理
7.4實驗步驟
第8章自定義IP核——點陣驅動
8.1實驗目的
8.2實驗內容
8.3實驗原理
8.4實驗步驟
第9章軟硬體結合設計
9.1實驗目的
9.2實驗內容
9.3實驗原理
9.4實驗步驟
第10章基於實時作業系統μC/OS Ⅱ多任務系統
10.1實驗目的
10.2實驗內容
10.3實驗原理
10.4實驗步驟
第11章工程實踐項目——基於DDS的正弦信號發生器
11.1實驗目的
11.2實驗內容
11.3實驗原理
11.4實驗步驟
第12章基於MCU51IP軟核的嵌入式系統設計
12.1實驗目的
12.2實驗內容
12.3實驗原理
12.4實驗步驟
第3部分創新與自主設計
第13章自主設計鞏固與提高
13.1Exercise 1流水燈實驗
13.2Exercise 2關於JTAG UART通信
13.3Exercise 3 LCD MODULE(LCM)顯示實驗
第14章自主設計實例方案
14.1基於FPGA技術的實時視頻監控系統
14.2基於FPGA技術的電子相冊設計
14.3基於FPGA技術的MP3音樂播放器
14.4基於FPGA技術的軟體無線電平台
14.5基於FPGA技術的對講機設計
附錄A網路資源及專業網站、FPGA開發部落格信息
附錄B實驗中常見錯誤及處理辦法
參考文獻
後記