本書使用Altera公司的Cyclone Ⅳ FPGA器件,由淺入深地引領讀者從嵌入式系統設計的大處著手,玩轉軟核處理器Nios Ⅱ。基于特定的FPGA實驗平臺,既有足夠的理論知識深度作支撐,也有豐富的例程進行實踐學習,并且穿插著筆者多年FPGA學習和開發過程中的各種經驗和技巧。
對于希望快速入手嵌入式系統軟硬件開發的初學者,以及希望從系統層面提升嵌入式開發能力的學習者,本書都是很好的選擇。
本書作者吳厚航(網名 特權同學)出版了多本FPGA方面的圖書,深受讀者的好評。本書使用Altera公司的Cyclone IV FPGA器件,采用Quartus Ⅱ的Qsys平臺,由淺入深地引領讀者從嵌入式系統設計的大處著手,玩轉軟核處理器NIOS II。
配套資源豐富,提供PPT課件和源碼,作者還有配套的開發板,同時可通過網站論壇和書友會與作者互動,為您的后續學習提供強有力的支持!
吳厚航,[網名 特權同學]:從事FPGA開發設計與板級硬件設計工作,專注于FPGA在數據采集、實時控制、傳輸協議實現、嵌入式系統等方面的應用。擅長記錄、分析并總結經驗及技巧。個人技術博客在業內有的口碑。在著名電子網站EDN China創建的FPGA/CPLD助學小組成員過萬,提供了眾多適合入門和進階的FPGA/CPLD實驗例程以及相關資料,幫助眾多的初學者邁入FPGA開發的殿堂。
第1章基于Nios Ⅱ處理器的嵌入式系統
1.1片上系統概述
1.2Nios Ⅱ的優勢在哪里
1.3基于Nios Ⅱ處理器的FPGA開發流程
第2章實驗平臺“勇敢的芯”板級電路詳解
2.1板級電路整體架構
2.2電源電路
2.3復位與時鐘電路
2.3.1關于FPGA器件的時鐘
2.3.2關于FPGA器件的復位
2.3.3實驗平臺電路解析
2.4FPGA下載配置電路
2.5SRAM接口電路
2.6ADC/DAC芯片電路
2.7UART接口電路
2.8RTC接口電路
2.94×4矩陣按鍵電路
2.10VGA顯示接口電路
2.11蜂鳴器、數碼管、流水燈、撥碼開關電路
2.12超聲波接口、外擴LCD接口電路
第3章Qsys系統創建
3.1Qsys系統概述
3.2Qsys總線互連
3.3Quartus Ⅱ工程創建
3.4進入Qsys系統
3.5Qsys界面簡介
3.6新建Qsys系統
3.7保存Qsys系統
3.8加載Qsys系統
勇敢的芯伴你玩轉Nios Ⅱ
第4章Qsys通用組件添加與互連
4.1時鐘組件添加與設置
4.2Nios Ⅱ處理器添加與設置
4.3RAM組件添加與配置
4.4Nios Ⅱ處理器復位向量與異常向量地址設置
4.5System ID組件添加與配置
4.6JTAG UART組件添加與配置
4.7Timer組件添加與配置
4.8UART組件添加與配置
4.9蜂鳴器PIO組件添加與配置
4.10撥碼開關PIO組件添加與配置
第5章Qsys互連總線概述
5.1嵌入式系統的總線
5.2AvalonMM總線
5.2.1AvalonMM總線寫數據操作實例解析
5.2.2AvalonMM總線讀數據操作實例解析
5.3AvalonST總線
第6章Qsys自定義組件設計
6.1數碼管組件
6.1.1功能概述
6.1.2配置寄存器說明
6.1.3組件創建與配置
6.1.4組件添加與配置
6.1.5組件互連與引出
6.2ADC組件
6.2.1功能概述
6.2.2配置寄存器說明
6.2.3組件創建與配置
6.2.4組件添加與配置
6.2.5組件互連與引出
6.3DAC組件
6.3.1功能概述
6.3.2配置寄存器說明
6.3.3組件創建與配置
6.3.4組件添加與配置
6.3.5組件互連與引出
6.4超聲波測距組件
6.4.1功能概述
6.4.2配置寄存器說明
6.4.3組件創建與配置
6.4.4組件添加與配置
6.4.5組件互連與引出
6.5RTC組件
6.5.1功能概述
6.5.2配置寄存器說明
6.5.3組件創建與配置
6.5.4組件添加與配置
6.5.5組件互連與引出
6.6矩陣按鍵組件
6.6.1功能概述
6.6.2配置寄存器說明
6.6.3組件創建與配置
6.6.4組件添加與配置
6.6.5組件互連與引出
第7章Qsys系統生成
7.1中斷連接
7.2地址分配
7.3系統生成
7.4Qsys系統例化模板
第8章Quartus Ⅱ工程設計實現
8.1Verilog頂層文件設計
8.2語法檢查
8.3引腳分配
8.4系統編譯
第9章軟件開發工具EDS
9.1EDS軟件開啟
9.2BSP工程創建
9.3開啟BSP Editor
9.4BSP Editor設置
9.5BSP工程編譯
9.6工程創建
9.7C代碼源文件創建
9.8軟件應用工程編譯
9.9移除當前工程
9.10加載工程
9.11移植工程
第10章軟件實驗例程
10.1Nios Ⅱ實例之Hello NIOS II
10.1.1軟件功能概述
10.1.2軟件代碼解析
10.1.3板級調試
10.2Nios Ⅱ實例之System ID與Timestamp
10.2.1軟件功能概述
10.2.2軟件代碼解析
10.2.3板級調試
10.3Nios Ⅱ實例之蜂鳴器定時鳴叫
10.3.1軟件功能概述
10.3.2軟件代碼解析
10.3.3板級調試
10.4Nios Ⅱ實例之撥碼開關輸入GIO控制
10.4.1軟件功能概述
10.4.2軟件代碼解析
10.4.3板級調試
10.5Nios Ⅱ實例之秒定時數碼管顯示
10.5.1軟件功能概述
10.5.2軟件代碼解析
10.5.3板級調試
10.6Nios Ⅱ實例之DAC遞增輸出
10.6.1軟件功能概述
10.6.2軟件代碼解析
10.6.3板級調試
10.7Nios Ⅱ實例之ADC采集打印
10.7.1軟件功能概述
10.7.2軟件代碼解析
10.7.3板級調試
10.8Nios Ⅱ實例之UART收發
10.8.1軟件功能概述
10.8.2軟件代碼解析
10.8.3板級調試
10.9Nios Ⅱ實例之RTCUART時間打印
10.9.1軟件功能概述
10.9.2軟件代碼解析
10.9.3板級調試
10.10Nios Ⅱ實例之RTCUART時間重置
10.10.1軟件功能概述
10.10.2軟件代碼解析
10.10.3板級調試
10.11Nios Ⅱ實例之超聲波測距
10.11.1軟件功能概述
10.11.2軟件代碼解析
10.11.3板級調試
10.12Nios Ⅱ實例之倒車雷達
10.12.1軟件功能概述
10.12.2軟件代碼解析
10.12.3板級調試
10.13Nios Ⅱ實例之矩陣按鍵值采集
10.13.1軟件功能概述
10.13.2軟件代碼解析
10.13.3板級調試
10.14Nios Ⅱ實例之矩陣按鍵可調的ADC/DAC實例
10.14.1軟件功能概述
10.14.2軟件代碼解析
10.14.3板級調試
10.15Nios Ⅱ實例之計算器
10.15.1軟件功能概述
10.15.2軟件代碼解析
10.15.3板級調試
第11章FPGA器件的代碼固化
11.1嵌入式軟件HEX文件生成
11.2程序存儲器初始化文件加載
11.3JIC燒錄文件生成
11.4JTAG燒錄配置