日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

FPGA 之 SOPC 系列(四)NIOS II 外围设备--标准系统搭建

發(fā)布時(shí)間:2023/12/14 windows 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPGA 之 SOPC 系列(四)NIOS II 外围设备--标准系统搭建 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

FPGA 之 SOPC 系列(四)NIOS II 外圍設(shè)備--標(biāo)準(zhǔn)系統(tǒng)搭建

今天給大俠帶來今天帶來FPGA 之 SOPC 系列第四篇,NIOS II 外圍設(shè)備--標(biāo)準(zhǔn)系統(tǒng)搭建,希望對(duì)各位大俠的學(xué)習(xí)有參考價(jià)值,話不多說,上貨。

本篇主要以一個(gè)標(biāo)準(zhǔn)硬件平臺(tái)的搭建為例,介紹了Nios II處理器常用外圍設(shè)備(Peripherals)內(nèi)核的特點(diǎn)、配置,供讀者在使用這些外設(shè)定制Nios II系統(tǒng)時(shí)查閱。這些外設(shè)都是以IP核的形式提供給用戶的,用戶可以根據(jù)實(shí)際需要把這些IP核集成到Nios II系統(tǒng)中去。

主要介紹:硬件結(jié)構(gòu);內(nèi)核的特性核接口;SOPC Builder中各內(nèi)核的配置選項(xiàng)。

以下為本篇的目錄簡介:

  • 4.1 并行輸入/輸出(PIO)內(nèi)核

  • 4.2 SDRAM控制器內(nèi)核

  • 4.3 ram/rom片上存儲(chǔ)

  • 4.4 EPCS控制器內(nèi)核

  • 4.5 定時(shí)器內(nèi)核

  • 4.6 UART內(nèi)核

  • 4.7 JTAG_UART內(nèi)核

  • 4.8 lcd控制器

  • 4.9 System ID內(nèi)核

  • 4.10 實(shí)戰(zhàn)訓(xùn)練

?

4.1 并行輸入/輸出(PIO)內(nèi)核

并行輸入/輸出內(nèi)核(PIO內(nèi)核①)提供Avalon從控制器端口和通用I/O口②間的存儲(chǔ)器映射接口。PIO內(nèi)核提供簡單的I/O訪問用戶邏輯或外部設(shè)備,例如:

  • 控制LED

  • 讀取開關(guān)量

  • 控制顯示設(shè)備

  • 配置并且與片外設(shè)備通信

說明:

SOPC Builder中提供了PIO內(nèi)核,可以很容易將PIO內(nèi)核集成到SOPC Builder生成的系統(tǒng)中。

通用I/O端口既連接到片內(nèi)邏輯又連接到外部設(shè)備的FPGA I/O管腳。

?

PIO內(nèi)核簡介

每個(gè)Avalon接口的PIO內(nèi)核可提供32個(gè)I/O端口且端口數(shù)可設(shè)置,用戶可以添加一個(gè)或多個(gè)PIO內(nèi)核。CPU通過I/O寄存器控制I/O端口的行為。I/O口可以配置為輸入、輸出和三態(tài),還可以用來檢測(cè)電平事件和邊沿事件。

PIO內(nèi)核寄存器描述:

注:

① 該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無效。該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無效。

② 寫任意值到邊沿捕獲寄存器將清除所有位為0。

PIO內(nèi)核配置選項(xiàng)操作如下:

Basic Settings 選項(xiàng)卡:

各個(gè)端口描述:

Input Options 選項(xiàng)卡:

Simulation 選項(xiàng)卡:

?

4.2 SDRAM控制器內(nèi)核

  • SDRAM控制器內(nèi)核概述 SDRAM控制器內(nèi)核提供一個(gè)連接片外SDRAM芯片的Avalon接口,并可以同時(shí)連接多個(gè)SDRAM芯片。 SDRAM控制器內(nèi)核具有不同數(shù)據(jù)寬度(8、16、32或64位)、不同內(nèi)存容量和多片選擇等設(shè)置。 SDRAM控制器不支持禁能的時(shí)鐘模式。SDRAM控制器使cke引腳永久地有效。

  • PPL(片內(nèi)鎖相環(huán)):通常用于調(diào)整SDRAM控制器內(nèi)核與SDRAM芯片之間的相位差。

  • Avalon三態(tài)橋:SDRAM控制器可與現(xiàn)有三態(tài)橋共用引腳,這能減少I/O引腳使用,但將降低性能。

  • fMAX(最高時(shí)鐘頻率):目標(biāo)FPGA的系列和整個(gè)硬件設(shè)計(jì)都會(huì)影響硬件設(shè)計(jì)可實(shí)現(xiàn)的最高時(shí)鐘頻率。

  • SDRAM內(nèi)核配置選項(xiàng)操作如下: SDRAM芯片型號(hào):

Memory Profile:

數(shù)據(jù)寬度:

結(jié)構(gòu)設(shè)置--片選:

結(jié)構(gòu)設(shè)置--區(qū):

地址寬度設(shè)計(jì)--行:

地址寬度設(shè)計(jì)--行:

通過三態(tài)橋共用管腳:

包括系統(tǒng)測(cè)試臺(tái)的功能存儲(chǔ)模塊:

Timing:

CAS等待時(shí)間:

初始化刷新周期:

每隔一段時(shí)間執(zhí)行一個(gè)刷新命令:

在初始化前、上電后延時(shí):

刷新命令(t_rfc)的持續(xù)時(shí)間:

預(yù)充電命令(t_rp)的持續(xù)時(shí)間:

ACTIVE到READ或WRITE延時(shí):

訪問時(shí)間(t_ac):

寫恢復(fù)時(shí)間(t_wr,無自動(dòng)預(yù)充電):

  • SDRAM應(yīng)用 一個(gè)帶32位數(shù)據(jù)總線的128Mbit SDRAM芯片:

兩個(gè)帶16位數(shù)據(jù)總線的64Mbit SDRAM芯片:

兩個(gè)帶32位數(shù)據(jù)總線的128Mbit SDRAM芯片:

  • 添加外部sdram

  • 通常的系統(tǒng)都需要用戶指定一個(gè)空間,這個(gè)是指ram可以使片上的,也可以使片外的sdram或sram等。如果用戶程序較大,超出了所能定制的最大片上ram容量,則也可以將程序放在sdram中運(yùn)行。

?

4.3 ram/rom片上存儲(chǔ)

使用FPGA內(nèi)部RAM資源,可以構(gòu)成RAM或ROM,速度快,特別在調(diào)試時(shí)因?yàn)楹苌偈芡獠窟B線等因素的限制很有用。組件欄中選擇Legacy Components->On-Chip Memory打開界面,如圖:

?

4.4 EPCS控制器內(nèi)核

EPCS控制器內(nèi)核綜述

Altera EPCS 串行配置器件(EPCS1和EPCS4),它可用于存儲(chǔ)程序代碼、非易失性程序數(shù)據(jù)和FPGA配置數(shù)據(jù)。

帶Avalon接口的EPCS設(shè)備控制器內(nèi)核(“EPCS控制器”)允許NiosII系統(tǒng)訪問Altera EPCS串行配置器件。Altera提供集成到NiosII硬件抽象層(HAL)系統(tǒng)庫的驅(qū)動(dòng)程序,允許用戶使用HAL應(yīng)用程序接口(API)來讀取和編寫EPCS器件。

EPCS控制器可用于:

  • 在EPCS器件中存儲(chǔ)程序代碼。

  • 存儲(chǔ)非易失性數(shù)據(jù)。

  • 管理FPGA配置數(shù)據(jù)。

EPCS控制器結(jié)構(gòu)框圖如下:

?

4.5 定時(shí)器內(nèi)核

  • 定時(shí)器內(nèi)核綜述: 定時(shí)器是掛載在Avanlon總線上的32位定時(shí)器,特性如下: — 兩種計(jì)數(shù)模式:單次減1和連續(xù)減1計(jì)數(shù)模式 — 定時(shí)器到達(dá)0時(shí)產(chǎn)生中斷請(qǐng)求(IRQ); — 可選擇設(shè)定為看門狗定時(shí)器,計(jì)算到達(dá)0時(shí)復(fù)位系統(tǒng); — 可選擇輸出周期性脈沖,在定時(shí)器計(jì)算到達(dá)0時(shí)輸出脈沖; — 可由軟件啟動(dòng)、停止或復(fù)位定時(shí)器; — 可由軟件使能或屏蔽定時(shí)器中斷。

EPCS控制器結(jié)構(gòu)框圖如下:

  • 定時(shí)器可進(jìn)行的基本操作如下所述: Avalon主控制器通過對(duì)控制寄存器執(zhí)行不同的寫操作來控制:

  • 啟動(dòng)和停止定時(shí)器

  • 使能/禁能IRQ

  • 指定單次減1計(jì)數(shù)或連續(xù)減1計(jì)數(shù)模式

  • 處理器讀狀態(tài)寄存器獲取當(dāng)前定時(shí)器的運(yùn)行信息。

  • 處理器可通過寫數(shù)據(jù)到periodl和periodh寄存器來設(shè)定定時(shí)器周期。

  • 定時(shí)器可進(jìn)行的基本操作如下所述:

  • 內(nèi)部計(jì)數(shù)器計(jì)數(shù)減到0,立即從周期寄存器開始重新裝載。

  • 處理器可以通過寫snapl或snaph獲取計(jì)數(shù)器的當(dāng)前值。

  • 當(dāng)計(jì)數(shù)器計(jì)數(shù)到達(dá)0時(shí):

  • 如果IRQ被使能,則產(chǎn)生一個(gè)IRQ

  • (可選的)脈沖發(fā)生器輸出有效持續(xù)一個(gè)時(shí)鐘周期

  • (可選的)看門狗輸出復(fù)位系統(tǒng)

  • 定時(shí)器寄存器描述:

注:*表示該位保留,讀取值未定義。

  • 定時(shí)器內(nèi)核配置選項(xiàng)操作如下: CFI控制器框圖如下:

Initial perod:

Preset Configurations:

Writeable perod、Readable snapshot及Start/Stop control bits:

Timeout pulse 和 System reset on timeout:

?

在組件欄中雙擊選擇Other->Interval timer進(jìn)入配置界面,我們選用Full feature,1ms一次溢出事件。

?

4.6 UART內(nèi)核

UART內(nèi)核綜述

UART內(nèi)核(通用異步接收器/發(fā)送器內(nèi)核)執(zhí)行RS-232協(xié)議時(shí)序,并提供可調(diào)整的波特率。用戶可配置奇偶校驗(yàn)位、停止位和數(shù)據(jù)位,以及可選的RTS/CTS流控制信號(hào)。

內(nèi)核提供一個(gè)簡單的Avalon從控制器接口,該接口允許Avalon主控制器(例如NiosII處理器)通過讀寫寄存器與UART內(nèi)核進(jìn)行通訊。

UART內(nèi)核的結(jié)構(gòu)框圖如下圖所示:

RS-232接口 發(fā)送邏輯 接收邏輯 波特率生成

UART內(nèi)核的寄存器描述:

UART內(nèi)核配置頁:

在組件選擇欄中選擇Communication->UART(RS232 series port)配置UART:

?

4.7 JTAG_UART內(nèi)核

JTAG_UART內(nèi)核綜述

JTAG UART內(nèi)核通過Avalon從控制器接口連接到Avalon總線。JTAG UART內(nèi)核包含2個(gè)32位寄存器(數(shù)據(jù)和控制),它們可通過Avalon從控制器端口進(jìn)行存取。Avalon主控制器訪問寄存器來控制內(nèi)核并在JTAG連接上傳輸數(shù)據(jù)。JTAG UART內(nèi)核提供高電平有效的中斷輸出,該輸出在讀FIFO幾乎為滿或?qū)慒IFO幾乎為空時(shí)申請(qǐng)一個(gè)中斷。

有讀寫FIFO也是JTAG UART內(nèi)核與UART內(nèi)核的不同點(diǎn)之一。FIFO可以改善JTAG連接的帶寬。FIFO深度可由用戶設(shè)置。

JTAG-UART配置選項(xiàng)卡:

在組件欄中選擇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.

使用標(biāo)準(zhǔn)16027字符型液晶顯示器,在display->character lcd,如圖:

?

4.9 System ID內(nèi)核

System ID寄存器描述:

系統(tǒng)ID內(nèi)核提供只讀的Avalon從控制器接口。

使用系統(tǒng)ID內(nèi)核有兩種基本的方法:

  • 其一,在下載新的軟件到系統(tǒng)之前驗(yàn)證系統(tǒng)ID。

  • 其二,復(fù)位后檢查系統(tǒng)ID。

添加SYSTEM ID:

?

4.10 實(shí)戰(zhàn)訓(xùn)練

完成一個(gè)包含以下外設(shè)的標(biāo)準(zhǔn)硬件平臺(tái):

  • PIO(BUTTON、LED)

  • Sdram

  • 片上存儲(chǔ)

  • EPCS

  • 定時(shí)器

  • UART內(nèi)核

  • JTAG_UART內(nèi)核

  • lcd控制器

  • System ID內(nèi)核

實(shí)現(xiàn)步驟:

  • 建立工程

  • 添加NIOS系統(tǒng)(nios選擇E型)

  • 添加系統(tǒng)到工程

  • 配置管腳綜合

系統(tǒng)結(jié)果:

平臺(tái)結(jié)果:

注意這里有一個(gè)復(fù)位延時(shí)模塊,如下所示:

FPGA 之 SOPC 系列第四篇就到這里結(jié)束,下一篇將帶來第五篇,Nios II軟件使用與程序開發(fā)(一)等相關(guān)內(nèi)容。各位大俠,下篇見!

?

【QQ交流群】

群號(hào):173560979,進(jìn)群暗語:FPGA技術(shù)江湖粉絲。

多年的FPGA企業(yè)開發(fā)經(jīng)驗(yàn),各種通俗易懂的學(xué)習(xí)資料以及學(xué)習(xí)方法,濃厚的交流學(xué)習(xí)氛圍,QQ群目前已有1000多名志同道合的小伙伴,無廣告純凈模式,給技術(shù)交流一片凈土,從初學(xué)小白到行業(yè)精英業(yè)界大佬等,從軍工領(lǐng)域到民用企業(yè)等,從通信、圖像處理到人工智能等各個(gè)方向應(yīng)有盡有。

?

【微信交流群】

現(xiàn)微信交流群已建立08群,人數(shù)已達(dá)數(shù)千人,歡迎關(guān)注“FPGA技術(shù)江湖”微信公眾號(hào),可獲取進(jìn)群方式。

后續(xù)會(huì)持續(xù)更新,帶來Vivado、 ISE、Quartus II 、candence等安裝相關(guān)設(shè)計(jì)教程,學(xué)習(xí)資源、項(xiàng)目資源、好文推薦等,希望大俠持續(xù)關(guān)注。

江湖偌大,繼續(xù)闖蕩,愿大俠一切安好,有緣再見!

總結(jié)

以上是生活随笔為你收集整理的FPGA 之 SOPC 系列(四)NIOS II 外围设备--标准系统搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。