FPGA學習嵌入式硬件最小系統搭建(一)(NIOS II處理器設置)
本期學習目的:利用NIOS II系統點亮LCD1602屏及5.7寸LCD(8080接口)。
前言概述
上篇文章介紹了嵌入式硬件系統概述,並提到了基於FPGA的嵌入式系統是能夠充當微處理器的系統,那麼一個未處理器系統它需要哪些器件呢?
首先是最核心的MCU處理器,因此Altera就提供了一個軟核處理器NIOS核,該系列軟核是32位RISC嵌入式處理器,具有超過200DMIP的性能,手冊上列舉了一大堆優勢,具體詳見手冊。
這裏最核心關鍵的就是Altera提供了NIOS II開發包,裏面包含了一套通用的外設和接口庫,部分IP和接口如下表所示,具體資料詳見《Embedded Peripheral IP User Guide》手冊。
而且用戶還可以自定義自己需要的具有特殊要求外設。
因爲本期學習中NIOS II開發包中就存在LCD1602的組件IP核,因此就不需要自定義IP核了,在點亮LCD1602後將會點亮5.7寸大屏,因此在那裏將會重點學習如何去自定義個人專屬的IP核。
NIOS II 最小系統開發流程
首先先建立工程,然後直接打開Qsys菜單,老版Quartus顯示爲SOPC Builder。
然後可以看出Qsys整體頁面佈局,在左邊就是組件IP核庫,右邊空白部分就是我們要搭建最小系統的區域,實際上搭建最小系統,就是調用組件IP核庫裏的器件,然後將這些器件連連線,分配一下時鐘和地址等等操作。
NIOS軟核處理器介紹
在組件庫搜索NIOS會出現NIOS processor組件,
【core Nios II】
我們先將器件首頁需要配置的首頁編好序號。
先從【select a nios ii core】【序號2】開始介紹:這裏列舉了Nios II系統的三種內核及特性
這裏選擇NIOS II/f,默認即可。
【序號3】就是Hardware Arithmetic Operation即硬件算術運算,這裏可以選擇嵌入式乘法器和邏輯元素兩個選項。
這兩種有何不同呢?
還可以選擇是否勾選Hardware divide硬件除法器。
【序號4】代表的是復位向量【Reset Vector】
上圖看出該復位向量設置有3個選項。
查閱手冊得知,復位向量其實是在爲系統選擇哪一個非易失性存儲模塊重置代碼。
【序號5】表示異常向量【Exception Vector】
結合手冊解讀出該設置異常向量存儲器列表是選擇了異常向量存儲器模塊,例如在典型的系統中,爲異常代碼選擇一個低延遲內存模塊。
【序號6】表示是否啓用“包括MMU”,該設置會將Nios II MMU包含在Nios II硬件系統中。
但是在手冊備註中一般不選擇啓用MMU,除非操作系統(linux系統)要求,因此一般我們也不需要選擇設置。
【Caches and Memory Interfaces】【緩存和內存接口】
該頁包括指令緩存和數據緩存的設置,
【Instruction Master】
下面兩張圖片介紹了了Instruction master的三個設置項主要功能和如何配置。
【Data Master】
在【Data Master】有6個選項,含義分別如下:
Omit data master port---------從Nios II處理器中刪除Avalon-MM數據主端口。 僅當“數據緩存”設置爲“無”並且緊密耦合的數據主端口的數量大於零時,才能成功刪除該端口。儘管Nios II處理器可以完全在緊密耦合的內存中運行,而不需要Avalon-MM指令或數據主機,但是,如果省略Avalon-MM指令或數據主機,則無法進行軟件調試。
data cache---------指定數據緩存的大小。 有效大小爲512字節至64 KB,或無。
根據數據緩存指定的值,又有以下選項設置:
data cache line size---------有效大小爲4字節,16字節或32字節
Burst transfers---------Nios II處理器可以使用突發傳輸來填充其數據高速緩存行。 通常,當處理器數據存儲在DRAM中時,啓用處理器數據總線上的突發,而當處理器數據存儲在SRAM中時,禁用突發。
向DRAM突發通常可以改善內存帶寬,但可能會消耗額外的FPGA資源。 請注意,啓用突發後,對從站的訪問可能會通過其他硬件(稱爲突發適配器)進行,這可能會降低fMAX。
僅對於大於4個字節的數據高速緩存行啓用突發。 對於16字節的行大小,突發長度爲4;對於32字節的行大小,突發長度爲8。 數據高速緩存突發始終在高速緩存行邊界上對齊。 例如,對於32字節的Nios II數據高速緩存行,對地址8的高速緩存未命中會導致具有以下地址序列的突發:0、4、8、12、16、20、24和28。
Number of tightly coupled data master port(s) (Include tightly coupled data master port(s))---------爲Nios II處理器指定1-4個緊密耦合的數據主端口。 在Qsys中,從“緊密耦合的數據主端口的數量”列表中選擇數字。 緊密耦合的內存端口出現在Qsys系統內容標籤上的Nios II處理器的連接面板上。 您必須將每個端口正確連接到系統中的一個內存組件。(跟【Instruction Master】設置一致。)
【Advanced Features Tab】【高級功能選項卡】
該頁是NIOS II processer高級功能選項卡,可以啓用Nios II處理器的特殊功能。一般也沒管過,具體有啥高級功能自行查閱.
【MMU and MPU Settings】該頁設置選項卡用於Nios II處理器上配置MMU和MPU。 在簡易最小系統中默認即可。
【JTAG Debug Module】
可以看出JTAG Debug Module有四個等級,而且不同級別的調試消耗不同的片上資源。
由於SDRAM及RAM等存儲器未設置,因此在最小系統開始選好NIOS II處理器後,選項設置默認即可,等後期存儲資源添加後再來設置。