<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > DM9000A與基帶信號處理平臺的結合應用

DM9000A與基帶信號處理平臺的結合應用

作者: 時(shí)間:2011-11-25 來(lái)源:網(wǎng)絡(luò ) 收藏

引言

軟件無(wú)線(xiàn)電(SDR)技術(shù)近年來(lái)發(fā)展迅速,在無(wú)線(xiàn)通信中的數字接收機領(lǐng)域應用尤其廣泛。SDR中數據接口設計是關(guān)鍵的環(huán)節,以太網(wǎng)是目前最通用的數據接口之一,但是中低端的FPGA通常不具備以太網(wǎng)接口,這為FPGA在SDR中的應用造成了不便。如果為FPGA配置以太網(wǎng)接口,與外部網(wǎng)絡(luò )實(shí)現通信,將有利于SDR平臺的功能延伸,方便數據傳輸和與現有系統接口。

本文在自行設計開(kāi)發(fā)的SDR平臺上,為實(shí)現高速解調數據的實(shí)時(shí)遠程傳輸處理及接收機參數的遠程配置,提出了采用FPGA直接控制進(jìn)行以太網(wǎng)數據收發(fā)的設計思路,采用Xilinx系列XC2V1000 FPGA和芯片,實(shí)現了一種低成本、低功耗和高速率SDR平臺的網(wǎng)絡(luò )傳輸功能,最高傳輸速率可達100Mbps。

簡(jiǎn)介

主要特點(diǎn)

DM9000A實(shí)現以太網(wǎng)媒體介質(zhì)訪(fǎng)問(wèn)層(MAC)和物理層(PHY)的功能,包括MAC數據幀的組裝/拆分與收發(fā)、地址識別、CRC編碼/校驗、MLT-3編碼器、接收噪聲抑制、輸出脈沖成形、超時(shí)重傳、鏈路完整性測試、信號極性檢測與糾正等。

工作原理

DM9000A可以和微處理器以8位或16位的總線(xiàn)方式連接,并可根據需要以單工或全雙工等模式運行。在系統上電時(shí),處理器通過(guò)總線(xiàn)配置DM9000A內的網(wǎng)絡(luò )控制寄存器(NCR)、中斷寄存器(ISR)等,以完成DM9000A的初始化。隨后,DM9000A進(jìn)人數據收發(fā)等待狀態(tài)。

當處理器要向以太網(wǎng)發(fā)送數據幀時(shí),先將數據打包成UDP或IP數據包,并通過(guò)8位或16位總線(xiàn)逐字節發(fā)送到DM9000A的數據發(fā)送緩存中,然后將數據長(cháng)度等信息填充到DM9000A的相應寄存器內,隨后發(fā)送使能命令,DM9000A將緩存的數據和數據幀信息進(jìn)行MAC組幀,并發(fā)送出去。

當DM9000A接收到外部網(wǎng)絡(luò )送來(lái)的以太網(wǎng)數據時(shí),首先檢測數據幀的合法性,如果幀頭標志有誤或存在CRC校驗錯誤,則將該幀數據丟棄,否則將數據幀緩存到內部RAM,并通過(guò)中斷標志位通知處理器,處理器收到中斷后將DM9000A接收RAM的數據讀出進(jìn)行處理。

DM9000A自動(dòng)檢測網(wǎng)絡(luò )連接情況,根據網(wǎng)速設定內部的數據收發(fā)速率是10Mbps或100Mbps。同時(shí),DM9000A還能根據RJ45接口是采用對等還是交叉連接方式而改變數據收發(fā)引腳的方向,因此,無(wú)論外部網(wǎng)線(xiàn)采用對等還是交叉方式,系統均能正常通信。

基于DM9000A的SDR平臺網(wǎng)絡(luò )接口設計與實(shí)現

下面以SDR平臺的網(wǎng)絡(luò )接口實(shí)現為例,給出DM9000A與FPGA的硬件設計和軟件配置方法。在SDR基帶信號處理平臺上,全數字接收機的中頻模擬信號經(jīng)過(guò)A/D轉換、數字下變頻、抽取濾波等解調處理后,形成連續的解調數據流,其速率為10Mbps。在FPGA內部,解調輸出的數據流和以太網(wǎng)接口部分通過(guò)FIFO進(jìn)行緩沖,當解調數據達到規定的數據幀長(cháng)度時(shí),FPGA啟動(dòng)以太網(wǎng)發(fā)送程序,將解調數據發(fā)送到DM9000A,完成數據發(fā)送過(guò)程。在接收方向,網(wǎng)絡(luò )工作站把控制指令按照一定的幀格式組幀發(fā)送到以太網(wǎng),DM9000A接收到發(fā)給自己的以太網(wǎng)幀并通知FPGA啟動(dòng)以太網(wǎng)接收程序,FPGA將相應的數據從DM9000A的接收FIFO讀到FPGA內部RAM中,利用數據中的控制命令配置接收機參數,完成網(wǎng)絡(luò )對全數字接收機的遠程控制。

與FPGA的數據接口和控制接口

DM9000A的外部總線(xiàn)符合ISA標準??赏ㄟ^(guò)ISA總線(xiàn)直接與FPGA無(wú)縫連接。其硬件連接原理如圖1所示。

DM9000A內部集成了PHY功能,因此可與以太網(wǎng)接口無(wú)縫連接。

DM9000A的FPGA控制

初始化模塊

DM9000A正常工作需要在上電后對內部寄存器進(jìn)行初始化,該過(guò)程通過(guò)FPGA對DM9000A外部控制總線(xiàn)和數據總線(xiàn)的讀寫(xiě)操作完成。具體流程如下所示:

>激活PHY

設置GPR(REG_1F)CEPIO0bit[0]=0;

復位后,DM9000A恢復默認的休眠狀態(tài),以降低功耗,因此需要首先喚醒PHY。

>進(jìn)行兩次軟復位,步驟如下:

設置NCR(REG_00)bit[2:0]=011,至少保持20μs;

清除NCR(REG_00)bit[2:0]=000;

設置NCR(REG_00)bit[2:0]=011,至少保持20μs;

清除NCR(REG_00)bit[2:0]=000;

>配置NCR寄存器;

設置NCR(REG_00)bit[2:1]=00;配置為正常模式。

通過(guò)改變該寄存器可以選擇設置內部或者外部PHY、全雙工或者半雙工模式、使能喚醒事件等網(wǎng)絡(luò )操作。

>清除發(fā)送狀態(tài);

設置NSR(REG_01)bit[5]=1bit[3]=1 bit[2]=1;

>設置IMR寄存器(REG_FF)PAR bit[7]=1,以肩用RX/TX FIFOSRAM讀/寫(xiě)地址指針自動(dòng)返回功能;

>通過(guò)IMR寄存器(REG_FF)PRM bit[0]/PTM bit[1],對RX/TX中斷使能。如果需要在一個(gè)數據幀發(fā)送完后產(chǎn)生一個(gè)中斷,就應該將PTM bit[1]置1,如果需要在接收到一幀新數據時(shí)產(chǎn)生一個(gè)中斷,就應該將PRM bit[1]置1;

>設置RCR寄存器,使能數據接收功能。

通過(guò)以上步驟,可以通過(guò)LED指示燈觀(guān)測到DM9000A是否已成功初始化。

數據發(fā)送模塊

DM9000A中的發(fā)送緩沖區可以同時(shí)存儲兩幀數據,可以按照先后順序命名為幀I和幀II。DM9000A上電初始化后,發(fā)送緩存區的起始地址是00H,當前數據幀編號為幀I。兩幀數據的狀態(tài)控制字分別記錄在DM9000A的狀態(tài)寄存器03H和04H中。發(fā)送過(guò)程如下:

首先,FPGA利用寫(xiě)操作寄存器MWCMD(REG_F8)向DM9000A的發(fā)送緩存區中寫(xiě)入發(fā)送數據幀,即需要先寫(xiě)入6字節的目的MAC地址,再寫(xiě)入6字節的源MAC地址,最后再寫(xiě)入發(fā)送數據。

隨后,FPGA利用寫(xiě)操作寄存器MWCMD(REG_F8)將數據幀長(cháng)度寫(xiě)入寄存器FCH和FDH,數據長(cháng)度為16位,將高8位寫(xiě)入寄存器FCH,低8位寫(xiě)入寄存器FDH。

最后,FPGA將發(fā)送控制寄存器TCR(REG_02)的bit[1]置為高電平,向DM9000A發(fā)出發(fā)送數據指令。DM9000A會(huì )自動(dòng)做一些處理才將數據發(fā)往以太網(wǎng),這包括:插入報頭和幀起始分隔符;插入來(lái)自上層協(xié)議的數據,如果數據量小于64字節,則自動(dòng)補齊64字節;根據目標地址、源地址、長(cháng)度/類(lèi)型和數據產(chǎn)牛CRC校驗序列,并插入校驗序列位。這些處理都無(wú)需FPGA干預。處理完畢后,DM9000A即開(kāi)始發(fā)送幀I,在幀I發(fā)送的同時(shí),幀II的數據即可寫(xiě)入發(fā)送緩存區。在幀I發(fā)送完后,將幀II的數據長(cháng)度寫(xiě)入寄存器FCH和FDH,最后將發(fā)送控制寄存器NSR(REG_01)的bit[1]置為高電平,即可開(kāi)始幀II的發(fā)送。依此類(lèi)推,下面發(fā)送的幀將會(huì )繼續編號為幀I、幀II、幀I、幀II……按照同樣的方式發(fā)送。

如果FPGA將中斷屏蔽寄存器 IMR(REG_FF)的bit[1]置為高電平,那么發(fā)送完畢后,DM9000A將會(huì )產(chǎn)生一個(gè)指示發(fā)送完成的中斷信號。在發(fā)送過(guò)程中,FPGA可以查詢(xún)寄存器標志位寄存器NSR(REG_01)中的TX1END bit[2]或者TX2END bit[3],得到數據幀的發(fā)送狀態(tài)。

發(fā)送流程如圖2所示,寄存器ISR中的PTS標志位是發(fā)送中斷標志位,當一幀數據發(fā)送完畢,PTS=0,FPCA檢測到該標志后,應清除標志位以便發(fā)送新的數據幀。這里需要注意的是,向FC、FD所寫(xiě)的幀長(cháng)度應該包含目的MAC地址段、源MAC地址段和有效數據的總長(cháng)度。

接收模塊

DM9000A中的接收緩存區是一個(gè)環(huán)形結構,初始化后的起始地址為0C00H,每幀數據都有4字節長(cháng)的首部,然后是有效數據和CRC校驗序列。首部4字節依次是01H、狀態(tài)、長(cháng)度低字節和長(cháng)度高字節。

首部4字節含義如下:

第一個(gè)字節用來(lái)檢測接收緩存區中是否有數據,如果這個(gè)字節是01H,表明接收到了數據;如果為00H,則說(shuō)明沒(méi)有數據。但是,如果第一個(gè)字節既不是01H,也不是00H,DM9000A就必須作一次軟復位來(lái)從這種異常狀態(tài)中恢復。

第二個(gè)字節存儲著(zhù)以太網(wǎng)幀狀態(tài),由此可判斷所接收幀是否正確。

第三和第四字節存儲著(zhù)以太網(wǎng)幀長(cháng)度。后續的字節就是有效數據。

接收過(guò)程如下:

查看中斷狀態(tài)寄存器,如果接收到新數據,寄存器ISR的PRS位將被置為0;

如果檢測到PRS=0,清除PRS,FPGA開(kāi)始讀接收緩存區數據。如果第一字節是01H,則說(shuō)明有數據,00H說(shuō)明無(wú)數據,否則要進(jìn)行復位;

根據獲取的長(cháng)度信息,判斷是否讀完一幀,如果讀完,接著(zhù)讀下一幀,直到遇到首字節是00H的幀,說(shuō)明接收數據已讀完。FPGA可以重新查看中斷狀態(tài)寄存器,等待新的有效數據幀。

結語(yǔ)

本文對以太網(wǎng)控制器DM9000A進(jìn)行了原理和功能介紹,并結合自行開(kāi)發(fā)的SDR基帶信號處理平臺,基于FPGA設計實(shí)現了100M以太剛接口,其設計思路新穎,硬件連接簡(jiǎn)單。整體系統具有功耗低,體積小,運行穩定可靠等優(yōu)點(diǎn)。



關(guān)鍵詞: DM9000A 基帶信號處理

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>