NiosII外圍設(shè)備--SOPC技術(shù)與應(yīng)用_第1頁(yè)
NiosII外圍設(shè)備--SOPC技術(shù)與應(yīng)用_第2頁(yè)
NiosII外圍設(shè)備--SOPC技術(shù)與應(yīng)用_第3頁(yè)
NiosII外圍設(shè)備--SOPC技術(shù)與應(yīng)用_第4頁(yè)
NiosII外圍設(shè)備--SOPC技術(shù)與應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩96頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第5章章 Nios II 外圍設(shè)備外圍設(shè)備-SOPC技術(shù)與應(yīng)用北京航空航天大學(xué)出版社出版周立功 等編著nL O GO主要內(nè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); 軟件編程。nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用F

2、lash)控制器內(nèi)核v 5.5 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.5 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶

3、Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.1 并行輸入/輸出內(nèi)核并行輸入/輸出內(nèi)核(PIO內(nèi)核)提供Avalon從控制器端口和通用I/O口間的存儲(chǔ)器映射接口。PIO內(nèi)核提供簡(jiǎn)單的I/O訪問(wèn)用戶邏輯或外部設(shè)備,例如: 控制LED 讀取開(kāi)關(guān)量 控制顯示設(shè)備 配置并且與片外設(shè)備通信說(shuō)明:說(shuō)明:nSOPC Builder中提供了PIO內(nèi)核,可以很容易將PIO內(nèi)核集成到SOPC Builder生成的系統(tǒng)中。1.通用I/O端口既連接到片內(nèi)邏輯又連接到外部設(shè)備的FPGA I/O管腳。nL O GO5.1 并行輸入/輸出內(nèi)核v PIO

4、內(nèi)核簡(jiǎn)介最多32個(gè)I/O端口CPU內(nèi)核PIO內(nèi)核寄存器Nios II 系統(tǒng)PIO內(nèi)核Pio31Pio30Pio29Pio3Pio2Pio1Pio0Pio7Pio6Pio5Pio5Pio3Pio2Pio1Pio0PIO內(nèi)核端口數(shù)可設(shè)置每個(gè)Avalon接口的PIO內(nèi)核可提供32個(gè)I/O端口且端口數(shù)可設(shè)置,用戶可以添加一個(gè)或多個(gè)PIO內(nèi)核。CPU通過(guò)I/O寄存器控制I/O端口的行為。I/O口可以配置為輸入、輸出和三態(tài),還可以用來(lái)檢測(cè)電平事件和邊沿事件。CPU通過(guò)寄存器控制I/O端口行為PIO內(nèi)核結(jié)構(gòu)框圖nL O GO5.1 并行輸入/輸出內(nèi)核v PIO內(nèi)核寄存器描述偏移量寄存器名稱R/W(n-1)2

5、100數(shù)據(jù)寄數(shù)據(jù)寄存器存器讀訪問(wèn)R讀入輸入引腳上的邏輯電平值寫訪問(wèn)W向PIO輸出口寫入新值1方向寄存器方向寄存器R/W控制每個(gè)I/O口的輸入輸出方向。0:輸入;1:輸出。2中斷屏蔽寄存器中斷屏蔽寄存器 R/W使能或禁止每個(gè)輸入端口的IRQ。1:中斷使能;0:禁止中斷。3邊沿捕獲寄存器邊沿捕獲寄存器 R/W當(dāng)邊沿事件發(fā)生時(shí)對(duì)應(yīng)位置1。注:注: 該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無(wú)效。 寫任意值到邊沿捕獲寄存器將清除所有位為0。 “ 該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無(wú)效?!眓L O

6、 GO5.1 并行輸入/輸出內(nèi)核v PIO內(nèi)核配置選項(xiàng)雙擊nL O GO5.1 并行輸入/輸出內(nèi)核v PIO內(nèi)核配置選項(xiàng)Basic Settings 選項(xiàng)卡I/O口寬度口寬度:可設(shè)置為132的任何整數(shù)值。Direction中文描述Bidirectional(tri-state) ports雙向(三態(tài))端口Input ports only僅為輸入端口Output ports only僅為輸出端口Both input and output ports輸入和輸出端口nL O GO5.1 并行輸入/輸出內(nèi)核v PIO內(nèi)核配置選項(xiàng)Basic Settings 選項(xiàng)卡Direction中文描述Bidire

7、ctional(tri-state) ports雙向(三態(tài))端口Input ports only僅為輸入端口Output ports only僅為輸出端口Both input and output ports輸入和輸出端口nL O GO5.1 并行輸入/輸出內(nèi)核v PIO內(nèi)核配置選項(xiàng)Input Options 選項(xiàng)卡邊沿捕獲寄存器中斷寄存器Rising Edge:上升沿Falling Edge:下降沿Either Edge: 上升或下降沿Level:輸入為高電平且中斷使能,則PIO內(nèi)核產(chǎn)生一個(gè)IRQ。Edge:邊沿捕獲寄存器相應(yīng)位為1且中斷使能,則PIO內(nèi)核產(chǎn)生一個(gè)IRQ。說(shuō)明:當(dāng)指定類型的邊

8、沿在輸入端口出現(xiàn)時(shí),邊沿捕獲寄存器對(duì)應(yīng)位置1。說(shuō)明:中斷只有高電平中斷,如果希望低電平時(shí)中斷,則需在該I/O輸入引腳前加一個(gè)“非”門。nL O GO5.1 并行輸入/輸出內(nèi)核v PIO內(nèi)核配置選項(xiàng)Simulation 選項(xiàng)卡當(dāng)需要對(duì)外進(jìn)行仿真時(shí),要設(shè)置simulation選項(xiàng)卡。nL O GO5.1 并行輸入/輸出內(nèi)核v 軟件編程PIO內(nèi)核提供了對(duì)硬件進(jìn)行寄存器級(jí)訪問(wèn)的文件。Altera_avalon_pio_regs.h該文件定義了內(nèi)核的寄存器映射并提供硬件設(shè)備訪問(wèn)宏定義??赏ㄟ^(guò)閱讀上述文件以熟悉PIO設(shè)備的軟件訪問(wèn)方法,但不應(yīng)該修改文件。nL O GO第5章 目錄v 5.1 并行輸入/輸出

9、(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.2 SDRAM控制器內(nèi)核v SDRAM控制器內(nèi)核概述SDRAM控制器內(nèi)核提供一個(gè)連接片外SDRAM芯片的Avalon接口,并可以同時(shí)連接多個(gè)SDRAM芯片。SDRAM控制器內(nèi)核具有不同數(shù)據(jù)寬度(8、16、32或65位)、不

10、同內(nèi)存容量和多片選擇等設(shè)置。SDRAM控制器不支持禁能的時(shí)鐘模式。SDRAM控制器使cke引腳永久地有效。nL O GO5.2 SDRAM控制器內(nèi)核v SDRAM控制器內(nèi)核概述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í)鐘頻率。nL O GO5.2 SDRAM控制器內(nèi)核n SDRAM內(nèi)核配置選項(xiàng)可直接選擇預(yù)定義的SDRAM芯片型號(hào),對(duì)話框?qū)⒆詣?dòng)改變下面兩個(gè)選項(xiàng)卡的值來(lái)

11、匹配指定配置。Memory Profile :用于指定SDRAM的結(jié)構(gòu)。nL O GO5.2 SDRAM控制器內(nèi)核數(shù)據(jù)寬度n 允許值:8、16、32、64n 默認(rèn)值:32n 描述:該值確定dq總線(數(shù)據(jù))和dqm總線(字節(jié)使能)的寬度。具體數(shù)值請(qǐng)查閱SDRAM數(shù)據(jù)手冊(cè)。nL O GO5.2 SDRAM控制器內(nèi)核結(jié)構(gòu)設(shè)置片選n 允許值:1、2、4、8n 默認(rèn)值:1n 描述:獨(dú)立芯片的數(shù)目在SDRAM子系統(tǒng)中選擇。通過(guò)使用多個(gè)片選信號(hào),SDRAM控制器可組合多個(gè)SDRAM芯片為一個(gè)存儲(chǔ)器子系統(tǒng)。nL O GO5.2 SDRAM控制器內(nèi)核結(jié)構(gòu)設(shè)置區(qū)n 允許值:2、4n 默認(rèn)值:4n 描述:區(qū)的數(shù)目,

12、該值確定連接到SDRAM的ba總線(區(qū)地址)寬度。具體數(shù)值請(qǐng)查閱SDRAM數(shù)據(jù)手冊(cè)。nL O GO5.2 SDRAM控制器內(nèi)核地址寬度設(shè)計(jì)行n 允許值:11、12、13、14n 默認(rèn)值:12n 描述:行地址位的數(shù)目。該值確定addr總線的寬度。具體數(shù)值請(qǐng)查閱SDRAM數(shù)據(jù)手冊(cè)。nL O GO5.2 SDRAM控制器內(nèi)核地址寬度設(shè)計(jì)列n 允許值:=8,且小于行的值n 默認(rèn)值:8n 描述:列地址位的數(shù)目。例如,SDRAM排列為4096行、512(29)列,所以列的值為9。具體數(shù)值請(qǐng)查閱SDRAM數(shù)據(jù)手冊(cè)。nL O GO5.2 SDRAM控制器內(nèi)核通過(guò)三態(tài)橋共用管腳n允許值:是、否n默認(rèn)值:否n 描

13、述:當(dāng)設(shè)為No時(shí),所有管腳都專用于SDRAM芯片。當(dāng)設(shè)為Yes時(shí),addr,dq和dqm管腳在系統(tǒng)內(nèi)可與三態(tài)橋共享。nL O GO5.2 SDRAM控制器內(nèi)核包括系統(tǒng)測(cè)試臺(tái)的功能存儲(chǔ)模塊n允許值:是、否n默認(rèn)值:是n 描述:當(dāng)打開(kāi)選項(xiàng)時(shí),SOPC Builder創(chuàng)建SDRAM芯片的功能仿真模型。該默認(rèn)的存儲(chǔ)器模型加速創(chuàng)建的過(guò)程和檢驗(yàn)使用SDRAM控制器的系統(tǒng)。nL O GO5.2 SDRAM控制器內(nèi)核n SDRAM內(nèi)核配置選項(xiàng)Timing :根據(jù)在SDRAM芯片數(shù)據(jù)手冊(cè)中提供的參數(shù)來(lái)設(shè)置芯片的時(shí)序規(guī)范nL O GO5.2 SDRAM控制器內(nèi)核CAS等待時(shí)間n允許值:1、2、3n默認(rèn)值:3n 描

14、述:從讀命令到數(shù)據(jù)輸出的等待時(shí)間(以時(shí)鐘周期計(jì)算)。nL O GO5.2 SDRAM控制器內(nèi)核初始化刷新周期n允許值:1-8n默認(rèn)值:2n 描述:復(fù)位后,該值指定SDRAM控制器將執(zhí)行多少個(gè)刷新周期作為初始化序列的一部分。nL O GO5.2 SDRAM控制器內(nèi)核每隔一段時(shí)間執(zhí)行一個(gè)刷新命令n允許值:-n默認(rèn)值:15.625usn 描述:該值指定SDRAM控制器多久刷新一次SDRAM。典型的SDRAM每65ms需要5,096刷新命令,通過(guò)每65ms/5,096=15.625us執(zhí)行一個(gè)刷新命令來(lái)符合這個(gè)要求。nL O GO5.2 SDRAM控制器內(nèi)核在初始化前、上電后延時(shí)n允許值:-n默認(rèn)值:

15、100usn 描述:從穩(wěn)定的時(shí)鐘和電源到SDRAM初始化的延時(shí)。nL O GO5.2 SDRAM控制器內(nèi)核刷新命令(t_rfc)的持續(xù)時(shí)間n允許值:-n默認(rèn)值:70nsn 描述:自動(dòng)刷新周期。nL O GO5.2 SDRAM控制器內(nèi)核預(yù)充電命令(t_rp)的持續(xù)時(shí)間n允許值:-n默認(rèn)值:20nsn 描述:預(yù)充電命令周期。nL O GO5.2 SDRAM控制器內(nèi)核ACTIVE到READ或WRITE延時(shí)n允許值:-n默認(rèn)值:20nsn 描述:ACTIVE到READ或WRITE延時(shí)。nL O GO5.2 SDRAM控制器內(nèi)核訪問(wèn)時(shí)間(t_ac)n允許值:-n默認(rèn)值:5.5nsn 描述:時(shí)鐘邊沿的訪問(wèn)

16、時(shí)間。該值由CAS的等待時(shí)間決定。nL O GO5.2 SDRAM控制器內(nèi)核寫恢復(fù)時(shí)間(t_wr,無(wú)自動(dòng)預(yù)充電)n允許值:-n默認(rèn)值:15nsn 描述:如果執(zhí)行了明確的預(yù)充電命令,寫恢復(fù)。該SDRAM控制器總是執(zhí)行明確的預(yù)充電命令。nL O GO5.2 SDRAM控制器內(nèi)核v 軟件編程當(dāng)通過(guò)Avalon接口訪問(wèn)時(shí),SDRAM控制器操作起來(lái)像簡(jiǎn)單的SRAM存儲(chǔ)器,沒(méi)有可配置的軟件設(shè)置,沒(méi)有存儲(chǔ)器映射的寄存器。處理器訪問(wèn)SDRAM控制器不需要軟件驅(qū)動(dòng)程序。nL O GO5.2 SDRAM控制器內(nèi)核v SDRAM應(yīng)用SDRAM控制器128Mbits16Mbytes32位數(shù)據(jù)寬度SDRAM器件Alte

17、ra FPGAAvalon從機(jī)接口到片內(nèi)邏輯addrCtlnCSData(32bit)一個(gè)帶32位數(shù)據(jù)總線的128Mbit SDRAM芯片nL O GO5.2 SDRAM控制器內(nèi)核v SDRAM應(yīng)用兩個(gè)帶16位數(shù)據(jù)總線的65Mbit SDRAM芯片SDRAM控制器64Mbits8Mbytes16位數(shù)據(jù)寬度SDRAM器件Altera FPGAAvalon從機(jī)接口到片內(nèi)邏輯addrCtlnCSData(32bit)64Mbits8Mbytes16位數(shù)據(jù)寬度SDRAM器件16bit16bitnL O GO5.2 SDRAM控制器內(nèi)核v SDRAM應(yīng)用兩個(gè)帶32位數(shù)據(jù)總線的128Mbit SDRAM芯

18、片SDRAM控制器128Mbits16Mbytes32位數(shù)據(jù)寬度SDRAM器件Altera FPGAAvalon從機(jī)接口到片內(nèi)邏輯addrCtlnCS0Data(32bit)128Mbits16Mbytes32位數(shù)據(jù)寬度SDRAM器件32bit32bitnCS1nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核

19、n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.3 CFI控制器內(nèi)核v CFI控制器內(nèi)核綜述對(duì)于Nios II處理器,Altera為CFI控制器提供硬件抽象層(HAL)驅(qū)動(dòng)程序。驅(qū)動(dòng)程序提供了遵循CFI接口規(guī)范的Flash存儲(chǔ)器的通用訪問(wèn)函數(shù)。因此,用戶不需要寫任何代碼就可以訪問(wèn)遵循CFI接口規(guī)范的Flash器件。nL O GO5.3 CFI控制器內(nèi)核v CFI控制器內(nèi)核綜述片上外設(shè)Avalon三態(tài)橋Avalon主控制器(eg.CPU)MSSAvalon交換構(gòu)架SMMFlash其它ENBFlash儲(chǔ)存器S其它儲(chǔ)存器SShipSelectread_n,

20、write_nShipSelectread_n,write_nSAvalon主控制器接口Avalon從控制器接口Altera FPGA三態(tài)緩沖器CFI控制器框圖nL O GO5.3 CFI控制器內(nèi)核n CFI控制器內(nèi)核設(shè)置CFI控制器框圖Attributes :用于完成Presets、size和 Board Info這3個(gè)選項(xiàng)的設(shè)定。Presets :選擇預(yù)設(shè)好的CFI Flash。Size :n地址寬度:Flash地址總線寬度。n數(shù)據(jù)寬度:Flash數(shù)據(jù)總線寬度。Board Info :用于映射CFI控制器目標(biāo)系統(tǒng)板元件的已知芯片。nL O GO5.3 CFI控制器內(nèi)核n CFI控制器內(nèi)核設(shè)

21、置CFI控制器框圖Timing:用于完成時(shí)序設(shè)置,包括建立時(shí)間、等待周期、保持時(shí)間等。Setup:chipselect有效后,read或write信號(hào)有效前所需的時(shí)間。Wait:每次數(shù)據(jù)傳輸過(guò)程中,read或write信號(hào)需要保持的時(shí)間。Hold:write信號(hào)無(wú)效后,chipselect信號(hào)無(wú)效前所需要的時(shí)間。Units:用于Setup、Wait和Hold值的時(shí)間單位,可以是ns、us、ms和時(shí)鐘周期。nL O GO5.3 CFI控制器內(nèi)核v 軟件編程Avalon主控制器可以直接讀Flash芯片。對(duì)于Nios II處理器用戶,Altera提供HAL系統(tǒng)庫(kù)驅(qū)動(dòng)程序和API函數(shù)來(lái)支持對(duì)Flash

22、存儲(chǔ)器的擦除和寫操作。nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.5 EPCS控制器內(nèi)核v EPCS控制器內(nèi)核綜述Altera EPCS 串行配置器件(EPCS1和EPCS5),它可用于存儲(chǔ)程序代碼、非易失性程序數(shù)

23、據(jù)和FPGA配置數(shù)據(jù)。帶Avalon接口的EPCS設(shè)備控制器內(nèi)核(“EPCS控制器”)允許NiosII系統(tǒng)訪問(wèn)Altera EPCS串行配置器件。Altera提供集成到NiosII硬件抽象層(HAL)系統(tǒng)庫(kù)的驅(qū)動(dòng)程序,允許用戶使用HAL應(yīng)用程序接口(API)來(lái)讀取和編寫EPCS器件。nL O GO5.5 EPCS控制器內(nèi)核v EPCS控制器內(nèi)核綜述EPCS控制器可用于: 在EPCS器件中存儲(chǔ)程序代碼。 存儲(chǔ)非易失性數(shù)據(jù)。 管理FPGA配置數(shù)據(jù)。nL O GO5.5 EPCS控制器內(nèi)核v EPCS控制器內(nèi)核綜述EPCS控制器結(jié)構(gòu)框圖Boot-LoaderROMEPCS控制器配置存儲(chǔ)空間通用存儲(chǔ)空

24、間EPCS配置器件Avalon總線NiosIICPU片內(nèi)外設(shè)Altera FPGA存儲(chǔ)FPGA配置數(shù)據(jù)剩余空間可用于存儲(chǔ)用戶非易失性數(shù)據(jù)。1KB的片內(nèi)存儲(chǔ)器nL O GO5.5 EPCS控制器內(nèi)核v 軟件編程Altera提供的HAL Flash設(shè)備驅(qū)動(dòng)程序已經(jīng)完全屏蔽了Flash的硬件訪問(wèn)細(xì)節(jié),訪問(wèn)EPCS Flash的軟件編程和訪問(wèn)CFI Flash的軟件編程完全一樣。EPCS控制器提供了硬件的底層接口和HAL驅(qū)動(dòng)程序。nL O GO5.5 EPCS控制器內(nèi)核v 軟件編程定義集成到HAL系統(tǒng)庫(kù)所需的驅(qū)動(dòng)程序的頭文件和源文件。Altera_avalon_epcs_flash_controlle

25、r.h通過(guò)直接控制EPCS設(shè)備來(lái)進(jìn)行讀寫操作的頭文件和源文件。Altera_avalon_epcs_flash_controller.cepcs_commands.hepcs_L O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO

26、5.5 定時(shí)器內(nèi)核v 定時(shí)器內(nèi)核綜述定時(shí)器是掛載在Avanlon總線上的32位定時(shí)器,特性如下: 兩種計(jì)數(shù)模式:?jiǎn)未螠p1和連續(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í)器中斷。nL O GO5.5 定時(shí)器內(nèi)核v 定時(shí)器內(nèi)核綜述EPCS控制器結(jié)構(gòu)框圖StatusControlPeriodhPeriodlSnaphSnapl控制邏輯計(jì)數(shù)器寄存器文件Timeout pulseIRQReset數(shù)據(jù)總線地址總線(看門狗)Avanlon

27、總線從機(jī)接口到內(nèi)核邏輯nL O GO5.5 定時(shí)器內(nèi)核v 定時(shí)器內(nèi)核綜述定時(shí)器可進(jìn)行的基本操作如下所述: Avalon主控制器通過(guò)對(duì)控制寄存器執(zhí)行不同的寫操作來(lái)控制: 啟動(dòng)和停止定時(shí)器 使能/禁能IRQ 指定單次減1計(jì)數(shù)或連續(xù)減1計(jì)數(shù)模式 處理器讀狀態(tài)寄存器獲取當(dāng)前定時(shí)器的運(yùn)行信息。 處理器可通過(guò)寫數(shù)據(jù)到periodl和periodh寄存器來(lái)設(shè)定定時(shí)器周期。nL O GO5.5 定時(shí)器內(nèi)核v 定時(shí)器內(nèi)核綜述定時(shí)器可進(jìn)行的基本操作如下所述: 內(nèi)部計(jì)數(shù)器計(jì)數(shù)減到0,立即從周期寄存器開(kāi)始重新裝載。 處理器可以通過(guò)寫snapl或snaph獲取計(jì)數(shù)器的當(dāng)前值。 當(dāng)計(jì)數(shù)器計(jì)數(shù)到達(dá)0時(shí): 如果IRQ被使能,

28、則產(chǎn)生一個(gè)IRQ (可選的)脈沖發(fā)生器輸出有效持續(xù)一個(gè)時(shí)鐘周期 (可選的)看門狗輸出復(fù)位系統(tǒng)nL O GO5.5 定時(shí)器內(nèi)核v定時(shí)器寄存器描述偏移量名稱R/W位描述15532100statusRW*RUNTO1controlRW*STOPSTART CONT ITO2periodlRW超時(shí)周期1(位15.0)3periodhRW超時(shí)周期1(位31.16)5snaplRW計(jì)數(shù)器快照(位15.0)5snaphRW計(jì)數(shù)器快照(位31.16)EPCS控制器結(jié)構(gòu)框圖RUNTOSTOPSTART CONT ITOperiodlPeriodhsnaplsnaph注:注:*表示該位保留,讀取值未定義。表示該位

29、保留,讀取值未定義。nL O GO5.5 定時(shí)器內(nèi)核n 定時(shí)器內(nèi)核配置選項(xiàng)CFI控制器框圖Initial perod:用于預(yù)設(shè)硬件生成后的定時(shí)器周期,即perodl和periodh寄存器的值。nL O GO5.5 定時(shí)器內(nèi)核n 定時(shí)器內(nèi)核配置選項(xiàng)CFI控制器框圖Preset Configurations:可選擇的預(yù)定義的硬件配置。nL O GO5.5 定時(shí)器內(nèi)核n 定時(shí)器內(nèi)核配置選項(xiàng)CFI控制器框圖Writeable perod:n 使能:主控制器可通過(guò)寫period而改變向下計(jì)數(shù)周期。n 禁能:向下計(jì)數(shù)周期由Timeout Period確定,且period寄存器不在硬件中存在。Readabl

30、e snapshot:n 使能:主控制器可讀當(dāng)前向下計(jì)數(shù)器的值。n 禁能:計(jì)數(shù)器的狀態(tài)僅通過(guò)狀態(tài)寄存器或IRQ信號(hào)來(lái)檢測(cè)。Snap寄存器不在硬件中存在。Start/Stop control bits:n 使能:主控制可通過(guò)寫START和STOP位來(lái)啟動(dòng)和停止定時(shí)器。n 禁能:定時(shí)器連續(xù)運(yùn)行。nL O GO5.5 定時(shí)器內(nèi)核n 定時(shí)器內(nèi)核配置選項(xiàng)CFI控制器框圖Timeout pulse:n 使能:定時(shí)器到0時(shí),timeout_pulse輸出一個(gè)時(shí)鐘周期的高電平。n 禁能:timeout_out信號(hào)不存在。System reset on timeout:n 使能: 定時(shí)器到0時(shí), resetre

31、quest信號(hào)輸出一個(gè)時(shí)鐘周期的高電平使系統(tǒng)復(fù)位。n 禁能: resetrequest信號(hào)不存在。nL O GO5.5 定時(shí)器內(nèi)核v 軟件編程Altera為NiosII處理器用戶提供硬件抽象層(HAL)系統(tǒng)庫(kù)驅(qū)動(dòng)程序,允許用戶使用HAL應(yīng)用程序接口(API)函數(shù)來(lái)訪問(wèn)定時(shí)器內(nèi)核。 HAL系統(tǒng)庫(kù)支持 系統(tǒng)時(shí)鐘驅(qū)動(dòng)程序 時(shí)間標(biāo)記驅(qū)動(dòng)程序1. 軟件文件nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)

32、核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.6 UART內(nèi)核v 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è)簡(jiǎn)單的Avalon從控制器接口,該接口允許Avalon主控制器(例如NiosII處理器)通過(guò)讀寫寄存器與UART內(nèi)核進(jìn)行通訊。nL O GO5.6 UART內(nèi)核v UART內(nèi)核綜述波特率除數(shù)接收寄存器發(fā)送寄存器

33、狀態(tài)寄存器數(shù)據(jù)包結(jié)束符控制寄存器移位寄存器移位寄存器clkAddrDataIRQendofpacketdataavailablereadfordatauart clkTXDRXDRTSCTSAvalon總線接口RS232接口UART內(nèi)核的結(jié)構(gòu)框圖nL O GO5.6 UART內(nèi)核v UART內(nèi)核綜述 RS-232接口 發(fā)送邏輯 接收邏輯1. 波特率生成nL O GO5.6 UART內(nèi)核v UART內(nèi)核的寄存器描述偏移量寄存器名稱R/W描述/寄存器位1513 12111098765532100接收數(shù)據(jù)(rxdata)RO接收數(shù)據(jù)1發(fā)送數(shù)據(jù)(txdata)WO發(fā)送數(shù)據(jù)2狀態(tài)(status) RWe

34、opctsdctserrdytrdytmt toe roe brkfepe3控制(control)RWieoprtsidctstrbkieirrdyitrdyitmt itoe iroe ibrk ifeipe5除數(shù)(divisor) RW波特率除數(shù)5數(shù)據(jù)包結(jié)束符(endopacket) RW數(shù)據(jù)包結(jié)束符值UART內(nèi)核寄存器映射發(fā)送數(shù)據(jù)(txdata)接收數(shù)據(jù)(rxdata)狀態(tài)(status)控制(control)除數(shù)(divisor) 數(shù)據(jù)包結(jié)束符(endopacket) nL O GO5.6 UART內(nèi)核n UART內(nèi)核配置頁(yè)Baud Rate:波特率設(shè)置數(shù)據(jù)位設(shè)置數(shù)據(jù)位設(shè)置流控制流控制

35、流數(shù)據(jù)控制流數(shù)據(jù)控制nL O GO5.6 UART內(nèi)核v 軟件編程 HAL系統(tǒng)支持 驅(qū)動(dòng)程序選項(xiàng) Ioctl()操作1. 軟件文件nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.7 JTAG_UART內(nèi)核v JTAG_

36、UART內(nèi)核綜述JTAG UART內(nèi)核通過(guò)Avalon從控制器接口連接到Avalon總線。JTAG UART內(nèi)核包含2個(gè)32位寄存器(數(shù)據(jù)和控制),它們可通過(guò)Avalon從控制器端口進(jìn)行存取。Avalon主控制器訪問(wèn)寄存器來(lái)控制內(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è)置。nL O GO5.7 JTAG_UART內(nèi)核v JTAG_UART內(nèi)核綜述數(shù)據(jù)寄存器控制寄存器讀FI

37、FO寫FIFOJTAG集線器接口寄存器組JTAG集線器JTAG控制器Altera FPGA 內(nèi)置特性由QuartusII自動(dòng)生成IRQ使用JTAG接口的其它節(jié)點(diǎn)JTAG接口JTAG UART內(nèi)核Avalon從設(shè)備接口Altera FPGAUART內(nèi)核寄存器映射nL O GO5.7 JTAG_UART內(nèi)核v JTAG_UART的寄存器描述偏移量 寄存器名稱R/W位描述3116151511109872100數(shù)據(jù)RWRAVAILRVALID保留DATA1控制RWWSPACE保留ACWIRI保留WRUART內(nèi)核寄存器映射數(shù)據(jù)控制nL O GO5.7 JTAG_UART內(nèi)核n JTAG-UART配置選項(xiàng)

38、卡JATG_UART配置選項(xiàng)卡Write FIFO:寫寫FIFO設(shè)置設(shè)置Read FIFO:讀讀FIFO設(shè)置設(shè)置nL O GO5.8 SPI內(nèi)核vSPI內(nèi)核綜述SPI時(shí)鐘分頻器*接收數(shù)據(jù)發(fā)送數(shù)據(jù)狀態(tài)寄存器控制寄存器從機(jī)選擇*移位寄存器移位寄存器sclkMISOMOSIss_n0ss_n1ss_n15|IRQclkDataAddr*不在從器件上出現(xiàn)Avalon總線從機(jī)接口SPI內(nèi)核框圖SPI發(fā)送邏輯發(fā)送邏輯SPI接收邏輯接收邏輯nL O GO5.8 SPI內(nèi)核vSPI內(nèi)核綜述SPI時(shí)鐘分頻器*接收數(shù)據(jù)發(fā)送數(shù)據(jù)狀態(tài)寄存器控制寄存器從機(jī)選擇*移位寄存器移位寄存器sclkMISOMOSIss_n0ss

39、_n1ss_n15|IRQclkDataAddr*不在從器件上出現(xiàn)Avalon總線從機(jī)接口SPI內(nèi)核框圖主控制器模式端口配置主控制器模式端口配置名稱方向描述MOSI輸出輸出數(shù)據(jù)到從控制器MISO輸入從控制器輸入數(shù)據(jù)sclk輸出所有從控制器的同步時(shí)鐘ss_nM輸出從控制器選擇信號(hào),其中M為0到15之間的數(shù)。nL O GO5.8 SPI內(nèi)核vSPI內(nèi)核綜述SPI時(shí)鐘分頻器*接收數(shù)據(jù)發(fā)送數(shù)據(jù)狀態(tài)寄存器控制寄存器從機(jī)選擇*移位寄存器移位寄存器sclkMISOMOSIss_n0ss_n1ss_n15|IRQclkDataAddr*不在從器件上出現(xiàn)Avalon總線從機(jī)接口SPI內(nèi)核框圖從控制器模式端口配置

40、從控制器模式端口配置名稱方向描述MOSI輸入從主控制器輸入數(shù)據(jù)MISO輸出輸出數(shù)據(jù)到主控制器sclk輸入同步時(shí)鐘ss_nM輸入選擇信號(hào)nL O GO5.8 SPI內(nèi)核v SPI內(nèi)核的寄存器描述UART內(nèi)核寄存器映射內(nèi)部地址寄存器名稱 1511109876553200rxdata接收數(shù)據(jù) (n-1.0)1txdat發(fā)送數(shù)據(jù) (n-1.0)2statusERRDYTRDY TMTTOEROE3controlsso IE IRRDY ITRDYITOE IROE5保留5slaveselect從控制器選擇屏蔽txdatstatuscontrol保留slaveselectrxdata接收數(shù)據(jù)寄存器接收數(shù)

41、據(jù)寄存器發(fā)送數(shù)據(jù)寄存器發(fā)送數(shù)據(jù)寄存器狀態(tài)寄存器狀態(tài)寄存器控制寄存器控制寄存器從控制器選擇寄存器從控制器選擇寄存器nL O GO5.8 SPI內(nèi)核n SPI配置選項(xiàng)卡SPI配置選項(xiàng)卡Master&Slave:主控制器主控制器/從控制器設(shè)置從控制器設(shè)置Generate Select Signals:通用選擇信號(hào)SPI Clock Rate:SPI時(shí)鐘率Specify Delay:指定延時(shí)Data Register:數(shù)據(jù)寄存器設(shè)置Timing:時(shí)序設(shè)置Waveforms:波形顯示nL O GO5.8 SPI內(nèi)核v 軟件編程Altera提供一個(gè)訪問(wèn)SPI的函數(shù)alt_avalon_spi_co

42、mmand(),該函數(shù)為配置生成主控制器的SPI內(nèi)核提供通用訪問(wèn)。nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.9 DMA內(nèi)核vDMA內(nèi)核綜述帶Avalon接口的直接存儲(chǔ)器存取控制器(DMA控制器)替代Avalon主

43、控制器執(zhí)行儲(chǔ)存器對(duì)儲(chǔ)存器或者儲(chǔ)存器與IO設(shè)備間的批量數(shù)據(jù)傳輸。當(dāng)DMA控制器執(zhí)行數(shù)據(jù)傳輸任務(wù)時(shí),主控制器可自由執(zhí)行其它并行的任務(wù)。nL O GO5.9 DMA內(nèi)核vDMA內(nèi)核綜述狀態(tài)寄存器控制寄存器源地址寄存器目的地址寄存器數(shù)據(jù)長(zhǎng)度寄存器控制端口主控制器讀端口主控制器寫端口寄存器文件DMA 控制器AddrDataControlIRQAvalon從控制器端口獨(dú)立的Avalon主控制器端口DMA控制器結(jié)構(gòu)框圖nL O GO5.9 DMA內(nèi)核vDMA寄存器描述偏移量寄存器名稱讀/寫31111098765532100狀態(tài) RW(2)LENWEOPREOPBUSY DONE1源地址RW讀取數(shù)據(jù)的起始地址

44、2目的地址RW數(shù)據(jù)寫入的起始地址3長(zhǎng)度RWDMA傳輸長(zhǎng)度(以字節(jié)為單位)5-保留(3)5-保留(3)6控制RW(2)(5)(5) WCON RCON LEEN WEEN REENI_ENGOWORDHWBYTE7-保留(3)DMA控制器結(jié)構(gòu)框圖源地址目的地址長(zhǎng)度控制狀態(tài)nL O GO5.9 DMA內(nèi)核n DMA配置選項(xiàng)卡SPI配置選項(xiàng)卡Transfer Size:DMA長(zhǎng)度寄存器的寬度Burst Transactions:允許突發(fā)傳輸FIFO Implementation:FIFO的構(gòu)成nL O GO5.9 DMA內(nèi)核n DMA配置選項(xiàng)卡SPI配置選項(xiàng)卡高級(jí)選項(xiàng)高級(jí)選項(xiàng)nL O GO5.9 D

45、MA內(nèi)核v 軟件編程 Ioctl()操作1. 軟件文件nL O GO第5章 目錄v 5.1 并行輸入/輸出(PIO)內(nèi)核v 5.2 SDRAM控制器內(nèi)核v 5.3 CFI(通用Flash)控制器內(nèi)核v 5.4 EPCS控制器內(nèi)核v 5.5 定時(shí)器內(nèi)核v 5.6 UART內(nèi)核v 5.7 JTAG_UART內(nèi)核v 5.8 SPI內(nèi)核v 5.9 DMA內(nèi)核n5.10 帶Avalon接口的互斥內(nèi)核n5.11 帶Avalon接口的郵箱內(nèi)核n5.12 System ID內(nèi)核nL O GO5.10 帶Avalon接口的互斥內(nèi)核v互斥內(nèi)核描述偏移量偏移量寄存器名稱寄存器名稱R/W位描述位描述311615100

46、mutexRWOWNERVALUE1resetRW-RESET互斥內(nèi)核描述nL O GO5.10帶Avalon接口的互斥內(nèi)核v互斥內(nèi)核配置選項(xiàng)硬件設(shè)計(jì)者可利用互斥內(nèi)核的SOPC Builder配置向?qū)?lái)設(shè)定內(nèi)核的硬件特性。配置向?qū)峁┝艘韵略O(shè)置: Initial Value復(fù)位后VALUE字段的初始值。如果Initial Value設(shè)置成非零值,還必須設(shè)定Initial Owner。 Initial Owner復(fù)位后OWNER字段的初始值。當(dāng)Initial Owner被設(shè)定時(shí),此時(shí)的互斥體擁有者必須在互斥體被其它擁有者占用之前將互斥體釋放。nL O GO5.10帶Avalon接口的互斥內(nèi)核v軟

47、件編程對(duì)于Nios處理器用戶,Altera提供了可用來(lái)訪問(wèn)互斥內(nèi)核硬件的驅(qū)動(dòng)程序,利用驅(qū)動(dòng)程序可以直接對(duì)低層的硬件進(jìn)行操作?;コ鈨?nèi)核不能通過(guò)HAL API或ANSIC標(biāo)準(zhǔn)庫(kù)來(lái)訪問(wèn)。在Nios處理器系統(tǒng)中,處理器通過(guò)將它的cpuid控制寄存器的值寫入mutex寄存器的OWNER字段來(lái)鎖定互斥體。Altera為互斥內(nèi)核提供下列驅(qū)動(dòng)程序文件:altera_avalon_mutex_regs.haltera_avalon_mutex.haltera_avalon_L O GO5.10帶Avalon接口的互斥內(nèi)核v 軟件編程函數(shù)名稱描述altera_avalon_mutex_open( )獲取互斥體的句

48、柄,使所有其它函數(shù)可訪問(wèn)互斥內(nèi)核。altera_avalon_mutex_trylock( )嘗試鎖定互斥體。如果該函數(shù)不能鎖定互斥體,則立即返回。altera_avalon_mutex_lock( )鎖定互斥體。直至該函數(shù)成功得到互斥體才返回altera_avalon_mutex_unlock( )解除鎖定互斥體。altera_avalon_mutex_is_mine( )確定該CPU是否具有互斥體。altera_avalon_mutex_first_lock( ) 復(fù)位后測(cè)試互斥體是否已被釋放。硬件互斥體函數(shù)nL O GO5.11 帶Avalon接口的郵箱內(nèi)核v郵箱內(nèi)核配置選項(xiàng)More Settings選項(xiàng)卡提供以下選項(xiàng): Memory module指定哪個(gè)存儲(chǔ)器用作郵箱緩沖區(qū)。如果所需的共享存儲(chǔ)器沒(méi)有包含Memory module列表,那么存儲(chǔ)器在系統(tǒng)中不能正確連接。 Shared Mailbox Memory Offset指定

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論