亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于NiosII的DMA傳輸及調(diào)試

        2010-09-14 08:59:12覃洪英
        石油管材與儀器 2010年3期
        關(guān)鍵詞:外設(shè)存儲器端口

        覃洪英

        (長江大學(xué)電子信息學(xué)院 湖北荊州)

        基于NiosII的DMA傳輸及調(diào)試

        覃洪英

        (長江大學(xué)電子信息學(xué)院 湖北荊州)

        文章通過波碼開關(guān)上的數(shù)據(jù)向SDRAM的DMA傳輸,介紹了基于NiosII進(jìn)行DMA傳輸?shù)倪^程及調(diào)試方法。在定制一個(gè)包含DMA控制器的SOPC系統(tǒng)時(shí),需對DMA控制器硬件進(jìn)行相關(guān)參數(shù)配置;在軟件編程時(shí)需根據(jù)DMA傳輸中源地址和目的地址是外設(shè)和存儲器的不同,分別選擇開啟發(fā)送和接收通道;在NiosIIIDE中加載μC/OS-II操作系統(tǒng),指定了文件的存放路徑,則可在文件中觀察傳輸?shù)臄?shù)據(jù)。

        NiosII;DMA傳輸;波碼開關(guān);SDRAM

        0 引 言

        在一般的程序控制傳送方式(包括查詢與中斷方式)下,數(shù)據(jù)從存儲器送到外設(shè)、或從外設(shè)送到存儲器,都要經(jīng)過CPU的累加器中轉(zhuǎn),再加上檢查是否傳送完畢以及修改內(nèi)存地址等操作都由程序控制,要花費(fèi)不少時(shí)間。采用DMA傳送方式是讓存儲器與外設(shè)、存儲器與存儲器之間直接交換數(shù)據(jù),不需要經(jīng)過累加器,減少了中間環(huán)節(jié),并且內(nèi)存地址的修改,傳送完畢的結(jié)果報(bào)告都由硬件完成,因此大大提高了傳輸速度。隨著信息技術(shù)的發(fā)展,處理和傳輸?shù)臄?shù)據(jù)量越來越大,DAM傳輸在視頻采集、處理和傳輸及通信等領(lǐng)域具有十分重要的應(yīng)用價(jià)值[1]。

        1 NiosII上的DMA傳輸

        NiosII是Altera公司推出的第二代軟核嵌入式處理器,除NiosII處理器外,Altera公司還提供了基于該處理器進(jìn)行SOPC系統(tǒng)開發(fā)的串行接口核、三態(tài)橋、SRAM控制器、DM9000A網(wǎng)絡(luò)控制器等標(biāo)準(zhǔn)外圍設(shè)備。為滿足大量數(shù)據(jù)的快速傳輸,Altera公司在SOPC Builder中還提供了DMA控制器核。同時(shí),為了方便用戶編程,NiosIIIDE還在HAL中為用戶提供了包括DMA控制器等標(biāo)準(zhǔn)外設(shè)的驅(qū)動(dòng)程序?;谶@些外圍設(shè)備或自定制外設(shè),則可進(jìn)行SOPC系統(tǒng)開發(fā),以實(shí)現(xiàn)視頻控制、網(wǎng)絡(luò)控制、DMA傳輸?shù)裙δ躘2、3]。

        1.1 SOPC系統(tǒng)配置

        在SOPCBuilder中定制包含DMA控制器的SOPC系統(tǒng),添加NiosIICPU、添加連接片外8MSDRAM的SDRAM控制器、連接片外4Mflash的cfi-flash控制器、系統(tǒng)標(biāo)識符sysid、實(shí)現(xiàn)PC和NiosII系統(tǒng)間串行通信的調(diào)試接口jtag_uart、通用異步收發(fā)器uart、系統(tǒng)定時(shí)器time_0和 time_1、連接cfi_flash控制器的 tristate_bridge及發(fā)光二極管、撥碼開關(guān)switch_pio等常用的標(biāo)準(zhǔn)外圍設(shè)備。

        DMA控制器通過2個(gè)主端口和1個(gè)從端口來控制DMA傳輸。從端口為Avalon從端口,負(fù)責(zé)與Avalon總線通過地址線、數(shù)據(jù)線、控制線、中斷等相連接;2個(gè)主端口為主設(shè)備讀端口和主設(shè)備寫端口,負(fù)責(zé)DMA傳輸?shù)臄?shù)據(jù)讀/寫操作。

        在SOPCBuilder中添加DMA控制器核,使用DMA控制器配置向?qū)?。硬件配置的參?shù)如下:

        ①DMA長度寄存器 該參數(shù)值可選范圍為1~32位,表示單次DMA傳輸數(shù)據(jù)的最大值。這里可以使用缺省值32位,即滿足所有從外設(shè)的傳輸要求。

        ②主設(shè)備讀/寫端口間的FIFO緩沖器實(shí)現(xiàn)方式

        考慮到如使用從寄存器構(gòu)建FIFO,當(dāng)DMA控制器數(shù)據(jù)寬度較大(如32位)時(shí),將對邏輯資源的占用有很大影響。因此選擇從存儲塊來構(gòu)建FIFO,由FPGA中的嵌入式存儲塊實(shí)現(xiàn)。

        ③DMA硬件支持的數(shù)據(jù)傳送寬度 在DMA傳輸中,根據(jù)需要選擇合適的傳輸寬度,沒有必要進(jìn)行其他數(shù)據(jù)寬度的傳輸,因此在配制向?qū)У腁dvanced選項(xiàng)卡中勾選需傳輸?shù)臄?shù)據(jù)寬度,禁止其他數(shù)據(jù)寬度的傳輸,這樣可以節(jié)省邏輯資源。

        這里考慮利用DMA傳輸將波碼開關(guān)上的數(shù)據(jù)傳輸?shù)絊DRAM,以觀察DMA的傳輸過程。故在SOPC Builder中需將DMA的read_master連接到switch_pio;將DMA的write_master連接到sdram。整個(gè)SOPC硬件系統(tǒng)的系統(tǒng)時(shí)鐘是100MHz,SDRAM時(shí)序要求將DE2所提供的50MHz時(shí)鐘延時(shí)3ns或者相位延遲60°處理之后作為 SDRAM的時(shí)鐘輸入DRAM_CLK。這個(gè)時(shí)鐘延遲可以用鎖相環(huán)產(chǎn)生。

        1.2 數(shù)據(jù)的DMA傳輸

        DMA傳輸不需要CPU的參與,源和目標(biāo)可以是內(nèi)存也可以是設(shè)備,在NiosII中通過基于 HAL編程完成,即三種基本的DMA傳輸:設(shè)備到存儲器傳輸、存儲器到存儲器的傳輸和存儲器到設(shè)備的傳輸。

        在NiosII的HALDMA設(shè)備模式中,DMA傳輸被分為兩類:transmit和receive。NiosII提供兩種設(shè)備驅(qū)動(dòng)實(shí)現(xiàn)transmitchannels和 receivechannels。transmit channels把緩沖區(qū)數(shù)據(jù)發(fā)送到目標(biāo)設(shè)備,receivechannels讀取設(shè)備數(shù)據(jù)存放到緩沖區(qū)。

        在數(shù)據(jù)從源地址到目標(biāo)地址的傳送中。對于地址的操作方式,一種是地址自增,另一種是地址固定。就是說DMA控制器讀或?qū)懲暌粋€(gè)數(shù)據(jù)后,對地址增加模式,下次讀寫下一個(gè)地址;對地址固定模式,下次還是讀寫同一個(gè)地址。由于地址固定模式一般是用在外設(shè),所以在Nios的文檔中,使用地址固定模式的一方就稱為設(shè)備(Peripheral),而使用地址自增模式的一方則稱為存儲器(Memory)。

        在HAL的API中,對于地址自增一方,需要打開一個(gè)接收或發(fā)送的Channel,然后配置地址;而如果是地址固定的一方,則不需要打開一個(gè)Channel,只需要用alt_dma_rxchan_ioctl()的ALT_DMA_RX_ONLY_ON 或ALT_DMA_TX_ONLY_ON參數(shù)設(shè)置,并配置地址即可。

        2 DMA傳輸?shù)恼{(diào)試和分析

        2.1 調(diào)試過程和方法

        將波碼開關(guān)上的數(shù)據(jù)通過DMA傳輸?shù)絊DRAM的過程屬于設(shè)備到存儲器的傳輸,應(yīng)用程序的設(shè)計(jì)需要打開DMA設(shè)備、開啟DMA接收通道、發(fā)送接收請求,從而實(shí)現(xiàn)波碼開關(guān)上的數(shù)據(jù)通過DMA設(shè)備向SDRAM的傳輸。為了觀察傳輸?shù)絊DRAM的數(shù)據(jù),這里在NiosⅡIDE的文件系統(tǒng)屬性設(shè)置中加上μC/OS-Ⅱ操作系統(tǒng)[4]。當(dāng)指定大小的數(shù)據(jù)傳輸完成后,可以利用μC/OS-Ⅱ操作系統(tǒng)的文件管理系統(tǒng)將SDRAM中的數(shù)據(jù)以二進(jìn)制的形式寫到指定的文件中。要完成此功能,需在NiosⅡIDE中按圖1對指定文件的掛載點(diǎn)進(jìn)行設(shè)置,然后在應(yīng)用程序代碼中增加如下語句:

        最后利用相關(guān)的軟件(如WinHex)打開 switch_pio.bin文件,則可觀察到傳輸數(shù)據(jù)的十六進(jìn)制形式。

        圖1 讀寫文件的位置設(shè)定

        2.2 調(diào)試結(jié)果分析

        圖2 所示是在μC/OS-II操作系統(tǒng)下控制波碼開關(guān)上的數(shù)據(jù)通過DMA向SDRAM傳輸?shù)膽?yīng)用程序調(diào)試結(jié)果,從運(yùn)行結(jié)果可看到,DMA接收通道已成功開啟,且存儲在SDRAM中的數(shù)據(jù)已成功寫入到switch_pio.bin文件中。根據(jù)圖1所示讀寫文件的掛載點(diǎn)可知,switch_pio.bin文件與應(yīng)用程序在同一路徑下。

        圖2 μC/OS-II操作系統(tǒng)下波碼開關(guān)數(shù)據(jù)通過DMA向SDRAM傳輸?shù)能浖{(diào)試結(jié)果

        DE2開發(fā)板上波碼開關(guān)SW17~SW0設(shè)定的數(shù)據(jù)是11_1010_0100_0100_1111,系統(tǒng)調(diào)試后,在WinHex軟件中打開switch_pio.bin文件,觀察到圖3所示數(shù)據(jù),比較可知圖3中的數(shù)據(jù)與波碼開關(guān)的初始設(shè)定值完全一致。這說明波碼開關(guān)上的數(shù)據(jù)到SDRAM的DMA傳輸成功,且數(shù)據(jù)傳輸正確。

        3 結(jié) 論

        圖3 switch_pio.bin文件中的數(shù)據(jù)

        在NiosII上使用DMA可實(shí)現(xiàn)海量數(shù)據(jù)的嵌入式處理,在模式識別、視頻控制等領(lǐng)域中具有重要的應(yīng)用價(jià)值。基于NiosII的DMA傳輸根據(jù)源地址和目的地址是外設(shè)和存儲器的不同,分外設(shè)到存儲器、存儲器到外設(shè)和存儲器到存儲器三種傳輸方式。外設(shè)到存儲器的傳輸需開啟接收通道,存儲器到外設(shè)的傳輸需開啟發(fā)送通道,存儲器到存儲器的傳輸既要開啟發(fā)送通道,又要開啟接收通道。利用QuartusII中的邏輯分析儀可觀察到DAM傳輸數(shù)據(jù)的波形,要將傳輸?shù)臄?shù)據(jù)寫入文件,通過打開文件來觀察更多的數(shù)據(jù),則需要在NiosIIIDE中加載μC/OS-II操作系統(tǒng),并指定文件的存放路徑。

        [1] 劉樂善.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用[M].武漢:華中科技大學(xué)出版社,2000

        [2] 周立功,等.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2006

        [3] 楊 進(jìn),邱兆坤.SOPC中自定義FIFO接口與DMA數(shù)據(jù)傳輸[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008,(8)

        [4] Altera.NiosIISoftwareDeveloper′sHandbook[DB/OL].May2008.http://www.Altera.com

        TN919.6

        B

        1004-9134(2010)03-0087-03

        2009-10-21 編輯:劉雅銘)

        覃洪英,女,1979年生,碩士,講師,長江大學(xué)電子信息學(xué)院工作,主要研究方向:視頻通信。郵編:434023

        猜你喜歡
        外設(shè)存儲器端口
        靜態(tài)隨機(jī)存儲器在軌自檢算法
        一種端口故障的解決方案
        端口阻塞與優(yōu)先級
        初識電腦端口
        電腦迷(2015年6期)2015-05-30 08:52:42
        生成樹協(xié)議實(shí)例探討
        存儲器——安格爾(墨西哥)▲
        基于Nand Flash的高速存儲器結(jié)構(gòu)設(shè)計(jì)
        Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
        貼身呵護(hù) 必不可少的PSP外設(shè)
        外設(shè)天地行情
        亚洲中文乱码在线观看| 亚洲国产成人精品无码区在线观看| 中国农村妇女hdxxxx| 欧美疯狂做受xxxx高潮小说| 精品国产a∨无码一区二区三区| japanesehd中国产在线看 | 色综合久久久无码中文字幕| 少妇无码太爽了在线播放| 久久不见久久见免费影院国语| 亚洲国产成人精品无码区二本| 亚洲h在线播放在线观看h| 日韩无套内射视频6| 亚州精品无码久久aV字幕| 国产精品女同学| 亚洲国产成人va在线观看天堂| 日本美女中文字幕第一区| 插插射啊爱视频日a级| 国产99在线 | 亚洲| 天天爽夜夜爽夜夜爽| 首页动漫亚洲欧美日韩| 福利一区视频| 按摩师玩弄少妇到高潮hd| 亚洲成人av一区免费看| 色哟哟亚洲色精一区二区| 精品伊人久久大香线蕉综合| 日产精品久久久久久久性色| 囯产精品无码va一区二区| 青青青草国产熟女大香蕉| 青青草在线免费观看视频| 精品国产一区二区三区av| 人妻体体内射精一区二区| 亚洲精品国产精品国自产观看| 亚洲七七久久综合桃花| 亚洲色AV性色在线观看| 亚洲最大av免费观看| 国产又大大紧一区二区三区 | 亚洲自拍偷拍色图综合| 国产成人av乱码在线观看| 亚洲欧美日韩人成在线播放| 亚洲美女影院| 91中文字幕精品一区二区|