FPGA 之 SOPC 系列(四)NIOS II 外围设备--标准系统搭建
FPGA 之 SOPC 系列(四)NIOS II 外圍設備--標準系統搭建
今天給大俠帶來今天帶來FPGA 之 SOPC 系列第四篇,NIOS II 外圍設備--標準系統搭建,希望對各位大俠的學習有參考價值,話不多說,上貨。
本篇主要以一個標準硬件平臺的搭建為例,介紹了Nios II處理器常用外圍設備(Peripherals)內核的特點、配置,供讀者在使用這些外設定制Nios II系統時查閱。這些外設都是以IP核的形式提供給用戶的,用戶可以根據實際需要把這些IP核集成到Nios II系統中去。
主要介紹:硬件結構;內核的特性核接口;SOPC Builder中各內核的配置選項。
以下為本篇的目錄簡介:
-
4.1 并行輸入/輸出(PIO)內核
-
4.2 SDRAM控制器內核
-
4.3 ram/rom片上存儲
-
4.4 EPCS控制器內核
-
4.5 定時器內核
-
4.6 UART內核
-
4.7 JTAG_UART內核
-
4.8 lcd控制器
-
4.9 System ID內核
-
4.10 實戰訓練
?
4.1 并行輸入/輸出(PIO)內核
并行輸入/輸出內核(PIO內核①)提供Avalon從控制器端口和通用I/O口②間的存儲器映射接口。PIO內核提供簡單的I/O訪問用戶邏輯或外部設備,例如:
-
控制LED
-
讀取開關量
-
控制顯示設備
-
配置并且與片外設備通信
說明:
SOPC Builder中提供了PIO內核,可以很容易將PIO內核集成到SOPC Builder生成的系統中。
通用I/O端口既連接到片內邏輯又連接到外部設備的FPGA I/O管腳。
?
PIO內核簡介
每個Avalon接口的PIO內核可提供32個I/O端口且端口數可設置,用戶可以添加一個或多個PIO內核。CPU通過I/O寄存器控制I/O端口的行為。I/O口可以配置為輸入、輸出和三態,還可以用來檢測電平事件和邊沿事件。
PIO內核寄存器描述:
注:
① 該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無效。該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無效。
② 寫任意值到邊沿捕獲寄存器將清除所有位為0。
PIO內核配置選項操作如下:
Basic Settings 選項卡:
各個端口描述:
Input Options 選項卡:
Simulation 選項卡:
?
4.2 SDRAM控制器內核
-
SDRAM控制器內核概述 SDRAM控制器內核提供一個連接片外SDRAM芯片的Avalon接口,并可以同時連接多個SDRAM芯片。 SDRAM控制器內核具有不同數據寬度(8、16、32或64位)、不同內存容量和多片選擇等設置。 SDRAM控制器不支持禁能的時鐘模式。SDRAM控制器使cke引腳永久地有效。
-
PPL(片內鎖相環):通常用于調整SDRAM控制器內核與SDRAM芯片之間的相位差。
-
Avalon三態橋:SDRAM控制器可與現有三態橋共用引腳,這能減少I/O引腳使用,但將降低性能。
-
fMAX(最高時鐘頻率):目標FPGA的系列和整個硬件設計都會影響硬件設計可實現的最高時鐘頻率。
-
SDRAM內核配置選項操作如下: SDRAM芯片型號:
Memory Profile:
數據寬度:
結構設置--片選:
結構設置--區:
地址寬度設計--行:
地址寬度設計--行:
通過三態橋共用管腳:
包括系統測試臺的功能存儲模塊:
Timing:
CAS等待時間:
初始化刷新周期:
每隔一段時間執行一個刷新命令:
在初始化前、上電后延時:
刷新命令(t_rfc)的持續時間:
預充電命令(t_rp)的持續時間:
ACTIVE到READ或WRITE延時:
訪問時間(t_ac):
寫恢復時間(t_wr,無自動預充電):
-
SDRAM應用 一個帶32位數據總線的128Mbit SDRAM芯片:
兩個帶16位數據總線的64Mbit SDRAM芯片:
兩個帶32位數據總線的128Mbit SDRAM芯片:
-
添加外部sdram
-
通常的系統都需要用戶指定一個空間,這個是指ram可以使片上的,也可以使片外的sdram或sram等。如果用戶程序較大,超出了所能定制的最大片上ram容量,則也可以將程序放在sdram中運行。
?
4.3 ram/rom片上存儲
使用FPGA內部RAM資源,可以構成RAM或ROM,速度快,特別在調試時因為很少受外部連線等因素的限制很有用。組件欄中選擇Legacy Components->On-Chip Memory打開界面,如圖:
?
4.4 EPCS控制器內核
EPCS控制器內核綜述
Altera EPCS 串行配置器件(EPCS1和EPCS4),它可用于存儲程序代碼、非易失性程序數據和FPGA配置數據。
帶Avalon接口的EPCS設備控制器內核(“EPCS控制器”)允許NiosII系統訪問Altera EPCS串行配置器件。Altera提供集成到NiosII硬件抽象層(HAL)系統庫的驅動程序,允許用戶使用HAL應用程序接口(API)來讀取和編寫EPCS器件。
EPCS控制器可用于:
-
在EPCS器件中存儲程序代碼。
-
存儲非易失性數據。
-
管理FPGA配置數據。
EPCS控制器結構框圖如下:
?
4.5 定時器內核
-
定時器內核綜述: 定時器是掛載在Avanlon總線上的32位定時器,特性如下: — 兩種計數模式:單次減1和連續減1計數模式 — 定時器到達0時產生中斷請求(IRQ); — 可選擇設定為看門狗定時器,計算到達0時復位系統; — 可選擇輸出周期性脈沖,在定時器計算到達0時輸出脈沖; — 可由軟件啟動、停止或復位定時器; — 可由軟件使能或屏蔽定時器中斷。
EPCS控制器結構框圖如下:
-
定時器可進行的基本操作如下所述: Avalon主控制器通過對控制寄存器執行不同的寫操作來控制:
-
啟動和停止定時器
-
使能/禁能IRQ
-
指定單次減1計數或連續減1計數模式
-
處理器讀狀態寄存器獲取當前定時器的運行信息。
-
處理器可通過寫數據到periodl和periodh寄存器來設定定時器周期。
-
定時器可進行的基本操作如下所述:
-
內部計數器計數減到0,立即從周期寄存器開始重新裝載。
-
處理器可以通過寫snapl或snaph獲取計數器的當前值。
-
當計數器計數到達0時:
-
如果IRQ被使能,則產生一個IRQ
-
(可選的)脈沖發生器輸出有效持續一個時鐘周期
-
(可選的)看門狗輸出復位系統
-
定時器寄存器描述:
注:*表示該位保留,讀取值未定義。
-
定時器內核配置選項操作如下: CFI控制器框圖如下:
Initial perod:
Preset Configurations:
Writeable perod、Readable snapshot及Start/Stop control bits:
Timeout pulse 和 System reset on timeout:
?
在組件欄中雙擊選擇Other->Interval timer進入配置界面,我們選用Full feature,1ms一次溢出事件。
?
4.6 UART內核
UART內核綜述
UART內核(通用異步接收器/發送器內核)執行RS-232協議時序,并提供可調整的波特率。用戶可配置奇偶校驗位、停止位和數據位,以及可選的RTS/CTS流控制信號。
內核提供一個簡單的Avalon從控制器接口,該接口允許Avalon主控制器(例如NiosII處理器)通過讀寫寄存器與UART內核進行通訊。
UART內核的結構框圖如下圖所示:
RS-232接口 發送邏輯 接收邏輯 波特率生成
UART內核的寄存器描述:
UART內核配置頁:
在組件選擇欄中選擇Communication->UART(RS232 series port)配置UART:
?
4.7 JTAG_UART內核
JTAG_UART內核綜述
JTAG UART內核通過Avalon從控制器接口連接到Avalon總線。JTAG UART內核包含2個32位寄存器(數據和控制),它們可通過Avalon從控制器端口進行存取。Avalon主控制器訪問寄存器來控制內核并在JTAG連接上傳輸數據。JTAG UART內核提供高電平有效的中斷輸出,該輸出在讀FIFO幾乎為滿或寫FIFO幾乎為空時申請一個中斷。
有讀寫FIFO也是JTAG UART內核與UART內核的不同點之一。FIFO可以改善JTAG連接的帶寬。FIFO深度可由用戶設置。
JTAG-UART配置選項卡:
在組件欄中選擇Communication->JTAG UART,彈出JTAG UART配置界面如下:
?
4.8 lcd控制器
The LCD controller core consists of two user-visible components:
-
Eleven signals that connect to pins on the Optrex 16207 LCD panel—These signals are defined in the Optrex 16207 data sheet.
-
E—Enable (output)
-
RS—Register Select (output)
-
R/W—Read or Write (output)
-
DB0 through DB7—Data Bus (bidirectional)
-
An Avalon Memory-Mapped (Avalon-MM) slave interface that provides access to 4 registers.
使用標準16027字符型液晶顯示器,在display->character lcd,如圖:
?
4.9 System ID內核
System ID寄存器描述:
系統ID內核提供只讀的Avalon從控制器接口。
使用系統ID內核有兩種基本的方法:
-
其一,在下載新的軟件到系統之前驗證系統ID。
-
其二,復位后檢查系統ID。
添加SYSTEM ID:
?
4.10 實戰訓練
完成一個包含以下外設的標準硬件平臺:
-
PIO(BUTTON、LED)
-
Sdram
-
片上存儲
-
EPCS
-
定時器
-
UART內核
-
JTAG_UART內核
-
lcd控制器
-
System ID內核
實現步驟:
-
建立工程
-
添加NIOS系統(nios選擇E型)
-
添加系統到工程
-
配置管腳綜合
系統結果:
平臺結果:
注意這里有一個復位延時模塊,如下所示:
FPGA 之 SOPC 系列第四篇就到這里結束,下一篇將帶來第五篇,Nios II軟件使用與程序開發(一)等相關內容。各位大俠,下篇見!
?
【QQ交流群】
群號:173560979,進群暗語:FPGA技術江湖粉絲。
多年的FPGA企業開發經驗,各種通俗易懂的學習資料以及學習方法,濃厚的交流學習氛圍,QQ群目前已有1000多名志同道合的小伙伴,無廣告純凈模式,給技術交流一片凈土,從初學小白到行業精英業界大佬等,從軍工領域到民用企業等,從通信、圖像處理到人工智能等各個方向應有盡有。
?
【微信交流群】
現微信交流群已建立08群,人數已達數千人,歡迎關注“FPGA技術江湖”微信公眾號,可獲取進群方式。
完
后續會持續更新,帶來Vivado、 ISE、Quartus II 、candence等安裝相關設計教程,學習資源、項目資源、好文推薦等,希望大俠持續關注。
江湖偌大,繼續闖蕩,愿大俠一切安好,有緣再見!
總結
以上是生活随笔為你收集整理的FPGA 之 SOPC 系列(四)NIOS II 外围设备--标准系统搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 多选数据类型_【多选题】My
- 下一篇: Mac Grapher(图形软件)