SOPC嵌入式系統(tǒng)基礎教程:第4章 Nios II外圍設備_第1頁
SOPC嵌入式系統(tǒng)基礎教程:第4章 Nios II外圍設備_第2頁
SOPC嵌入式系統(tǒng)基礎教程:第4章 Nios II外圍設備_第3頁
SOPC嵌入式系統(tǒng)基礎教程:第4章 Nios II外圍設備_第4頁
SOPC嵌入式系統(tǒng)基礎教程:第4章 Nios II外圍設備_第5頁
已閱讀5頁,還剩96頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第4章 Nios II 外圍設備-SOPC嵌入式系統(tǒng)基礎教程北京航空航天大學出版社出版周立功 等編著本章介紹了Nios II處理器常用外圍設備(Peripherals)內核的特點、配置以及軟件編程,供讀者在使用這些外設定制Nios II系統(tǒng)時查閱。這些外設都是以IP核的形式提供給用戶的,用戶可以根據(jù)實際需要把這些IP核集成到Nios II系統(tǒng)中去。主要介紹:硬件結構;內核的特性核接口;SOPC Builder中各內核的配置選項;軟件編程。主要內容第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5

2、 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.1 并行輸入/輸出內核并行輸入/輸

3、出內核(PIO內核)提供Avalon從控制器端口和通用I/O口間的存儲器映射接口。PIO內核提供簡單的I/O訪問用戶邏輯或外部設備,例如:控制LED讀取開關量控制顯示設備配置并且與片外設備通信說明:SOPC Builder中提供了PIO內核,可以很容易將PIO內核集成到SOPC Builder生成的系統(tǒng)中。通用I/O端口既連接到片內邏輯又連接到外部設備的FPGA I/O管腳。4.1 并行輸入/輸出內核PIO內核簡介最多32個I/O端口CPU內核PIO內核寄存器Nios II 系統(tǒng)PIO內核Pio31Pio30Pio29Pio3Pio2Pio1Pio0Pio7Pio6Pio5Pio4Pio3Pi

4、o2Pio1Pio0PIO內核端口數(shù)可設置每個Avalon接口的PIO內核可提供32個I/O端口且端口數(shù)可設置,用戶可以添加一個或多個PIO內核。CPU通過I/O寄存器控制I/O端口的行為。I/O口可以配置為輸入、輸出和三態(tài),還可以用來檢測電平事件和邊沿事件。CPU通過寄存器控制I/O端口行為PIO內核結構框圖4.1 并行輸入/輸出內核PIO內核寄存器描述偏移量寄存器名稱R/W(n-1)2100數(shù)據(jù)寄存器讀訪問R讀入輸入引腳上的邏輯電平值寫訪問W向PIO輸出口寫入新值1方向寄存器R/W控制每個I/O口的輸入輸出方向。0:輸入;1:輸出。2中斷屏蔽寄存器 R/W使能或禁止每個輸入端口的IRQ。1

5、:中斷使能;0:禁止中斷。3邊沿捕獲寄存器 R/W當邊沿事件發(fā)生時對應位置1。注: 該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無效。 寫任意值到邊沿捕獲寄存器將清除所有位為0。 “ 該寄存器是否存在取決于硬件的配置。如果該寄存器不存在,那么讀寄存器將返回未定義的值,寫寄存器無效。”4.1 并行輸入/輸出內核雙擊 PIO內核配置選項4.1 并行輸入/輸出內核 PIO內核配置選項Basic Settings 選項卡I/O口寬度:可設置為132的任何整數(shù)值。Direction中文描述Bidirectional(tri-state) ports雙向(三

6、態(tài))端口Input ports only僅為輸入端口Output ports only僅為輸出端口Both input and output ports輸入和輸出端口4.1 并行輸入/輸出內核 PIO內核配置選項Basic Settings 選項卡Direction中文描述Bidirectional(tri-state) ports雙向(三態(tài))端口Input ports only僅為輸入端口Output ports only僅為輸出端口Both input and output ports輸入和輸出端口4.1 并行輸入/輸出內核 PIO內核配置選項Input Options 選項卡邊沿捕獲寄存

7、器中斷寄存器Rising Edge:上升沿Falling Edge:下降沿Either Edge: 上升或下降沿Level:輸入為高電平且中斷使能,則PIO內核產(chǎn)生一個IRQ。Edge:邊沿捕獲寄存器相應位為1且中斷使能,則PIO內核產(chǎn)生一個IRQ。說明:當指定類型的邊沿在輸入端口出現(xiàn)時,邊沿捕獲寄存器對應位置1。說明:中斷只有高電平中斷,如果希望低電平時中斷,則需在該I/O輸入引腳前加一個“非”門。4.1 并行輸入/輸出內核 PIO內核配置選項Simulation 選項卡當需要對外進行仿真時,要設置simulation選項卡。4.1 并行輸入/輸出內核軟件編程PIO內核提供了對硬件進行寄存器

8、級訪問的文件。Altera_avalon_pio_regs.h該文件定義了內核的寄存器映射并提供硬件設備訪問宏定義??赏ㄟ^閱讀上述文件以熟悉PIO設備的軟件訪問方法,但不應該修改文件。第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.2 SDRAM控制器內核SDRAM控制器內核概述SDRA

9、M控制器內核提供一個連接片外SDRAM芯片的Avalon接口,并可以同時連接多個SDRAM芯片。SDRAM控制器內核具有不同數(shù)據(jù)寬度(8、16、32或64位)、不同內存容量和多片選擇等設置。SDRAM控制器不支持禁能的時鐘模式。SDRAM控制器使cke引腳永久地有效。4.2 SDRAM控制器內核SDRAM控制器內核概述PPL(片內鎖相環(huán)):通常用于調整SDRAM控制器內核與SDRAM芯片之間的相位差。Avalon三態(tài)橋:SDRAM控制器可與現(xiàn)有三態(tài)橋共用引腳,這用能減少I/O引腳使用,但將降低性能。 fMAX(最高時鐘頻率):目標FPGA的系列和整個硬件設計都會影響硬件設計可實現(xiàn)的最高時鐘頻率

10、。4.2 SDRAM控制器內核 SDRAM內核配置選項可直接選擇預定義的SDRAM芯片型號,對話框將自動改變下面兩個選項卡的值來匹配指定配置。Memory Profile :用于指定SDRAM的結構。4.2 SDRAM控制器內核數(shù)據(jù)寬度 允許值:8、16、32、64 默認值:32 描述:該值確定dq總線(數(shù)據(jù))和dqm總線(字節(jié)使能)的寬度。具體數(shù)值請查閱SDRAM數(shù)據(jù)手冊。4.2 SDRAM控制器內核結構設置片選 允許值:1、2、4、8 默認值:1 描述:獨立芯片的數(shù)目在SDRAM子系統(tǒng)中選擇。通過使用多個片選信號,SDRAM控制器可組合多個SDRAM芯片為一個存儲器子系統(tǒng)。4.2 SDRA

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

12、:否 描述:當設為No時,所有管腳都專用于SDRAM芯片。當設為Yes時,addr,dq和dqm管腳在系統(tǒng)內可與三態(tài)橋共享。4.2 SDRAM控制器內核包括系統(tǒng)測試臺的功能存儲模塊允許值:是、否默認值:是 描述:當打開選項時,SOPC Builder創(chuàng)建SDRAM芯片的功能仿真模型。該默認的存儲器模型加速創(chuàng)建的過程和檢驗使用SDRAM控制器的系統(tǒng)。4.2 SDRAM控制器內核 SDRAM內核配置選項Timing :根據(jù)在SDRAM芯片數(shù)據(jù)手冊中提供的參數(shù)來設置芯片的時序規(guī)范4.2 SDRAM控制器內核CAS等待時間允許值:1、2、3默認值:3 描述:從讀命令到數(shù)據(jù)輸出的等待時間(以時鐘周期計算

13、)。4.2 SDRAM控制器內核初始化刷新周期允許值:1-8默認值:2 描述:復位后,該值指定SDRAM控制器將執(zhí)行多少個刷新周期作為初始化序列的一部分。4.2 SDRAM控制器內核每隔一段時間執(zhí)行一個刷新命令允許值:-默認值:15.625us 描述:該值指定SDRAM控制器多久刷新一次SDRAM。典型的SDRAM每64ms需要4,096刷新命令,通過每64ms/4,096=15.625us執(zhí)行一個刷新命令來符合這個要求。4.2 SDRAM控制器內核在初始化前、上電后延時允許值:-默認值:100us 描述:從穩(wěn)定的時鐘和電源到SDRAM初始化的延時。4.2 SDRAM控制器內核刷新命令(t_r

14、fc)的持續(xù)時間允許值:-默認值:70ns 描述:自動刷新周期。4.2 SDRAM控制器內核預充電命令(t_rp)的持續(xù)時間允許值:-默認值:20ns 描述:預充電命令周期。4.2 SDRAM控制器內核ACTIVE到READ或WRITE延時允許值:-默認值:20ns 描述:ACTIVE到READ或WRITE延時。4.2 SDRAM控制器內核訪問時間(t_ac)允許值:-默認值:5.5ns 描述:時鐘邊沿的訪問時間。該值由CAS的等待時間決定。4.2 SDRAM控制器內核寫恢復時間(t_wr,無自動預充電)允許值:-默認值:14ns 描述:如果執(zhí)行了明確的預充電命令,寫恢復。該SDRAM控制器總

15、是執(zhí)行明確的預充電命令。4.2 SDRAM控制器內核軟件編程當通過Avalon接口訪問時,SDRAM控制器操作起來像簡單的SRAM存儲器,沒有可配置的軟件設置,沒有存儲器映射的寄存器。處理器訪問SDRAM控制器不需要軟件驅動程序。4.2 SDRAM控制器內核SDRAM應用一個帶32位數(shù)據(jù)總線的128Mbit SDRAM芯片4.2 SDRAM控制器內核SDRAM應用兩個帶16位數(shù)據(jù)總線的64Mbit SDRAM芯片4.2 SDRAM控制器內核SDRAM應用兩個帶32位數(shù)據(jù)總線的128Mbit SDRAM芯片第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI

16、(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.3 CFI控制器內核CFI控制器內核綜述對于Nios II處理器,Altera為CFI控制器提供硬件抽象層(HAL)驅動程序。驅動程序提供了遵循CFI接口規(guī)范的Flash存儲器的通用訪問函數(shù)。因此,用戶不需要寫任何代碼就可以訪問遵循CFI接口規(guī)范的Flash器件。4.3 CFI控制器內核CFI控制器內核綜述CFI控制器框圖4.3

17、 CFI控制器內核 CFI控制器內核設置CFI控制器框圖Attributes :用于完成Presets、size和 Board Info這3個選項的設定。Presets :選擇預設好的CFI Flash。Size :地址寬度:Flash地址總線寬度。數(shù)據(jù)寬度:Flash數(shù)據(jù)總線寬度。Board Info :用于映射CFI控制器目標系統(tǒng)板元件的已知芯片。4.3 CFI控制器內核 CFI控制器內核設置CFI控制器框圖Timing:用于完成時序設置,包括建立時間、等待周期、保持時間等。Setup:chipselect有效后,read或write信號有效前所需的時間。Wait:每次數(shù)據(jù)傳輸過程中,re

18、ad或write信號需要保持的時間。Hold:write信號無效后,chipselect信號無效前所需要的時間。Units:用于Setup、Wait和Hold值的時間單位,可以是ns、us、ms和時鐘周期。軟件編程Avalon主控制器可以直接讀Flash芯片。對于Nios II處理器用戶,Altera提供HAL系統(tǒng)庫驅動程序和API函數(shù)來支持對Flash存儲器的擦除和寫操作。4.3 CFI控制器內核第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG

19、_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.4 EPCS控制器內核EPCS控制器內核綜述Altera EPCS 串行配置器件(EPCS1和EPCS4),它可用于存儲程序代碼、非易失性程序數(shù)據(jù)和FPGA配置數(shù)據(jù)。帶Avalon接口的EPCS設備控制器內核(“EPCS控制器”)允許NiosII系統(tǒng)訪問Altera EPCS串行配置器件。Altera提供集成到NiosII硬件抽象層(HAL)系統(tǒng)庫的驅動程序,允許用戶使用HAL應用程序接口(API)來讀取和編寫EPCS器件。4.4 E

20、PCS控制器內核EPCS控制器內核綜述EPCS控制器可用于:在EPCS器件中存儲程序代碼。存儲非易失性數(shù)據(jù)。管理FPGA配置數(shù)據(jù)。4.4 EPCS控制器內核EPCS控制器內核綜述EPCS控制器結構框圖Boot-LoaderROMEPCS控制器配置存儲空間通用存儲空間EPCS配置器件Avalon總線NiosIICPU片內外設Altera FPGA存儲FPGA配置數(shù)據(jù)剩余空間可用于存儲用戶非易失性數(shù)據(jù)。1KB的片內存儲器4.4 EPCS控制器內核軟件編程Altera提供的HAL Flash設備驅動程序已經(jīng)完全屏蔽了Flash的硬件訪問細節(jié),訪問EPCS Flash的軟件編程和訪問CFI Flash

21、的軟件編程完全一樣。EPCS控制器提供了硬件的底層接口和HAL驅動程序。4.4 EPCS控制器內核軟件編程定義集成到HAL系統(tǒng)庫所需的驅動程序的頭文件和源文件。Altera_avalon_epcs_flash_controller.h通過直接控制EPCS設備來進行讀寫操作的頭文件和源文件。Altera_avalon_epcs_flash_controller.cepcs_commands.hepcs_commands.c第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UAR

22、T內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.5 定時器內核定時器內核綜述定時器是掛載在Avanlon總線上的32位定時器,特性如下:兩種計數(shù)模式:單次減1和連續(xù)減1計數(shù)模式定時器到達0時產(chǎn)生中斷請求(IRQ);可選擇設定為看門狗定時器,計算到達0時復位系統(tǒng);可選擇輸出周期性脈沖,在定時器計算到達0時輸出脈沖;可由軟件啟動、停止或復位定時器;可由軟件使能或屏蔽定時器中斷。4.5 定時器內核定時器內核綜述EPCS控制器結構框圖StatusControlPeri

23、odhPeriodlSnaphSnapl控制邏輯計數(shù)器寄存器文件Timeout pulseIRQReset數(shù)據(jù)總線地址總線(看門狗)Avanlon總線從機接口到內核邏輯4.5 定時器內核定時器內核綜述定時器可進行的基本操作如下所述:Avalon主控制器通過對控制寄存器執(zhí)行不同的寫操作來控制:啟動和停止定時器使能/禁能IRQ指定單次減1計數(shù)或連續(xù)減1計數(shù)模式處理器讀狀態(tài)寄存器獲取當前定時器的運行信息。處理器可通過寫數(shù)據(jù)到periodl和periodh寄存器來設定定時器周期。4.5 定時器內核定時器內核綜述定時器可進行的基本操作如下所述:內部計數(shù)器計數(shù)減到0,立即從周期寄存器開始重新裝載。處理器可

24、以通過寫snapl或snaph獲取計數(shù)器的當前值。當計數(shù)器計數(shù)到達0時:如果IRQ被使能,則產(chǎn)生一個IRQ(可選的)脈沖發(fā)生器輸出有效持續(xù)一個時鐘周期(可選的)看門狗輸出復位系統(tǒng)4.5 定時器內核定時器寄存器描述偏移量名稱R/W位描述15432100statusRW*RUNTO1controlRW*STOPSTARTCONTITO2periodlRW超時周期1(位15.0)3periodhRW超時周期1(位31.16)4snaplRW計數(shù)器快照(位15.0)5snaphRW計數(shù)器快照(位31.16)EPCS控制器結構框圖RUNTOSTOPSTARTCONTITOperiodlPeriodhsn

25、aplsnaph注:*表示該位保留,讀取值未定義。4.5 定時器內核 定時器內核配置選項CFI控制器框圖Initial perod:用于預設硬件生成后的定時器周期,即perodl和periodh寄存器的值。4.5 定時器內核 定時器內核配置選項CFI控制器框圖Preset Configurations:可選擇的預定義的硬件配置。4.5 定時器內核 定時器內核配置選項CFI控制器框圖Writeable perod: 使能:主控制器可通過寫period而改變向下計數(shù)周期。 禁能:向下計數(shù)周期由Timeout Period確定,且period寄存器不在硬件中存在。Readable snapshot:

26、 使能:主控制器可讀當前向下計數(shù)器的值。 禁能:計數(shù)器的狀態(tài)僅通過狀態(tài)寄存器或IRQ信號來檢測。Snap寄存器不在硬件中存在。Start/Stop control bits: 使能:主控制可通過寫START和STOP位來啟動和停止定時器。 禁能:定時器連續(xù)運行。4.5 定時器內核 定時器內核配置選項CFI控制器框圖Timeout pulse: 使能:定時器到0時,timeout_pulse輸出一個時鐘周期的高電平。 禁能:timeout_out信號不存在。System reset on timeout: 使能: 定時器到0時, resetrequest信號輸出一個時鐘周期的高電平使系統(tǒng)復位。

27、禁能: resetrequest信號不存在。4.5 定時器內核軟件編程Altera為NiosII處理器用戶提供硬件抽象層(HAL)系統(tǒng)庫驅動程序,允許用戶使用HAL應用程序接口(API)函數(shù)來訪問定時器內核。HAL系統(tǒng)庫支持系統(tǒng)時鐘驅動程序時間標記驅動程序軟件文件第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 S

28、ystem ID內核4.6 UART內核UART內核綜述UART內核(通用異步接收器/發(fā)送器內核)執(zhí)行RS-232協(xié)議時序,并提供可調整的波特率。用戶可配置奇偶校驗位、停止位和數(shù)據(jù)位,以及可選的RTS/CTS流控制信號。內核提供一個簡單的Avalon從控制器接口,該接口允許Avalon主控制器(例如NiosII處理器)通過讀寫寄存器與UART內核進行通訊。4.6 UART內核UART內核綜述UART內核的結構框圖4.6 UART內核UART內核綜述RS-232接口發(fā)送邏輯接收邏輯波特率生成4.6 UART內核UART內核的寄存器描述偏移量寄存器名稱R/W描述/寄存器位1513121110987

29、65432100接收數(shù)據(jù)(rxdata)RO接收數(shù)據(jù)1發(fā)送數(shù)據(jù)(txdata)WO發(fā)送數(shù)據(jù)2狀態(tài)(status) RWeopctsdctserrdytrdytmttoeroebrkfepe3控制(control)RWieoprtsidctstrbkieirrdyitrdyitmtitoeiroeibrkifeipe4除數(shù)(divisor) RW波特率除數(shù)5數(shù)據(jù)包結束符(endopacket) RW數(shù)據(jù)包結束符值UART內核寄存器映射發(fā)送數(shù)據(jù)(txdata)接收數(shù)據(jù)(rxdata)狀態(tài)(status)控制(control)除數(shù)(divisor) 數(shù)據(jù)包結束符(endopacket) 4.6 UA

30、RT內核 UART內核配置頁Baud Rate:波特率設置數(shù)據(jù)位設置流控制流數(shù)據(jù)控制4.6 UART內核軟件編程HAL系統(tǒng)支持驅動程序選項Ioctl()操作軟件文件第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.7 JTAG_UART內核JTAG_UART內核綜述JTAG UART內核通

31、過Avalon從控制器接口連接到Avalon總線。JTAG UART內核包含2個32位寄存器(數(shù)據(jù)和控制),它們可通過Avalon從控制器端口進行存取。Avalon主控制器訪問寄存器來控制內核并在JTAG連接上傳輸數(shù)據(jù)。JTAG UART內核提供高電平有效的中斷輸出,該輸出在讀FIFO幾乎為滿或寫FIFO幾乎為空時申請一個中斷。有讀寫FIFO也是JTAG UART內核與UART內核的不同點之一。FIFO可以改善JTAG連接的帶寬。FIFO深度可由用戶設置。4.7 JTAG_UART內核JTAG_UART內核綜述UART內核寄存器映射4.7 JTAG_UART內核JTAG_UART的寄存器描述偏

32、移量寄存器名稱R/W位描述3116151411109872100數(shù)據(jù)RWRAVAILRVALID保留DATA1控制RWWSPACE保留ACWIRI保留WRUART內核寄存器映射數(shù)據(jù)控制4.7 JTAG_UART內核 JTAG-UART配置選項卡JATG_UART配置選項卡Write FIFO:寫FIFO設置Read FIFO:讀FIFO設置4.8 SPI內核SPI內核綜述SPI內核框圖SPI發(fā)送邏輯SPI接收邏輯4.8 SPI內核SPI內核綜述SPI內核框圖主控制器模式端口配置名稱方向描述MOSI輸出輸出數(shù)據(jù)到從控制器MISO輸入從控制器輸入數(shù)據(jù)sclk輸出所有從控制器的同步時鐘ss_nM輸出

33、從控制器選擇信號,其中M為0到15之間的數(shù)。4.8 SPI內核SPI內核綜述SPI內核框圖從控制器模式端口配置名稱方向描述MOSI輸入從主控制器輸入數(shù)據(jù)MISO輸出輸出數(shù)據(jù)到主控制器sclk輸入同步時鐘ss_nM輸入選擇信號4.8 SPI內核SPI內核的寄存器描述UART內核寄存器映射內部地址寄存器名稱1511109876543200rxdata接收數(shù)據(jù) (n-1.0)1txdat發(fā)送數(shù)據(jù) (n-1.0)2statusERRDYTRDYTMTTOEROE3controlsso IEIRRDYITRDYITOEIROE4保留5slaveselect從控制器選擇屏蔽txdatstatuscontr

34、ol保留slaveselectrxdata接收數(shù)據(jù)寄存器發(fā)送數(shù)據(jù)寄存器狀態(tài)寄存器控制寄存器從控制器選擇寄存器4.8 SPI內核 SPI配置選項卡SPI配置選項卡Master&Slave:主控制器/從控制器設置Generate Select Signals:通用選擇信號SPI Clock Rate:SPI時鐘率Specify Delay:指定延時Data Register:數(shù)據(jù)寄存器設置Timing:時序設置Waveforms:波形顯示4.8 SPI內核軟件編程Altera提供一個訪問SPI的函數(shù)alt_avalon_spi_command(),該函數(shù)為配置生成主控制器的SPI內核提供通用訪問。

35、第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.9 DMA內核DMA內核綜述帶Avalon接口的直接存儲器存取控制器(DMA控制器)替代Avalon主控制器執(zhí)行儲存器對儲存器或者儲存器與IO設備間的批量數(shù)據(jù)傳輸。當DMA控制器執(zhí)行數(shù)據(jù)傳輸任務時,主控制器可自由執(zhí)行其它并行的任務。4.9

36、DMA內核DMA內核綜述DMA控制器結構框圖4.9 DMA內核DMA寄存器描述偏移量寄存器名稱讀/寫31111098765432100狀態(tài) RW(2)LENWEOPREOPBUSYDONE1源地址RW讀取數(shù)據(jù)的起始地址2目的地址RW數(shù)據(jù)寫入的起始地址3長度RWDMA傳輸長度(以字節(jié)為單位)4-保留(3)5-保留(3)6控制RW(2)(4)(5)WCONRCONLEENWEENREENI_ENGOWORDHWBYTE7-保留(3)DMA控制器結構框圖源地址目的地址長度控制狀態(tài)4.9 DMA內核 DMA配置選項卡SPI配置選項卡Transfer Size:DMA長度寄存器的寬度Burst Tran

37、sactions:允許突發(fā)傳輸FIFO Implementation:FIFO的構成4.9 DMA內核 DMA配置選項卡SPI配置選項卡高級選項4.9 DMA內核軟件編程Ioctl()操作軟件文件第4章 目錄4.1 并行輸入/輸出(PIO)內核4.2 SDRAM控制器內核4.3 CFI(通用Flash)控制器內核4.4 EPCS控制器內核4.5 定時器內核4.6 UART內核4.7 JTAG_UART內核4.8 SPI內核4.9 DMA內核4.10 帶Avalon接口的互斥內核4.11 帶Avalon接口的郵箱內核4.12 System ID內核4.10 帶Avalon接口的互斥內核互斥內核描

38、述偏移量寄存器名稱R/W位描述311615100mutexRWOWNERVALUE1resetRW-RESET互斥內核描述4.10帶Avalon接口的互斥內核互斥內核配置選項硬件設計者可利用互斥內核的SOPC Builder配置向導來設定內核的硬件特性。配置向導提供了以下設置:Initial Value復位后VALUE字段的初始值。如果Initial Value設置成非零值,還必須設定Initial Owner。Initial Owner復位后OWNER字段的初始值。當Initial Owner被設定時,此時的互斥體擁有者必須在互斥體被其它擁有者占用之前將互斥體釋放。4.10帶Avalon接口

39、的互斥內核軟件編程對于Nios處理器用戶,Altera提供了可用來訪問互斥內核硬件的驅動程序,利用驅動程序可以直接對低層的硬件進行操作。互斥內核不能通過HAL API或ANSIC標準庫來訪問。在Nios處理器系統(tǒng)中,處理器通過將它的cpuid控制寄存器的值寫入mutex寄存器的OWNER字段來鎖定互斥體。Altera為互斥內核提供下列驅動程序文件:altera_avalon_mutex_regs.haltera_avalon_mutex.haltera_avalon_mutex.c4.10帶Avalon接口的互斥內核軟件編程函數(shù)名稱描述altera_avalon_mutex_open( )獲取

40、互斥體的句柄,使所有其它函數(shù)可訪問互斥內核。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( )復位后測試互斥體是否已被釋放。硬件互斥體函數(shù)4.11 帶Avalon接口的郵箱內核郵箱內核配置選項More Settings選項卡提供以下選項:Memory module指定哪個存儲器用作郵箱緩沖區(qū)。如果所需的共享存儲器沒有包含Memory module列表,那么存儲器在系統(tǒng)中不能正確連接。Shared Mailbox Memory Offset指定存儲器中的偏移量。郵箱消息緩沖區(qū)從該偏移量處開始。4.11 帶Avalon接口的郵箱內核郵箱內核配置選項More Settings選項卡提供以下選項:Mailbox Size (bytes)指定用于郵箱消息緩沖區(qū)的字節(jié)數(shù)。Altera提供的NiosII驅動程序軟件使用8

溫馨提示

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

評論

0/150

提交評論