DM9000A原理及其与基带信号处理平台结合应用

发布时间:2010-6-19 18:05    发布者:zealot
关键词: DM9000A , 基带 , 信号处理
1 引言

软件无线电(SDR)技术近年来发展迅速,在无线通信中的数字接收机领域应用尤为广泛。FPGA(现场可编程门阵列)以其高集成度、高可靠性和灵活性,在软件无线电平台的设计中发挥着重要的核心作用。同时,SDR中的数据接口设计也是关键的环节。以太网是目前最通用的数据接口之一,但是中低端FPGA通常不具备以太网接口,这为FPGA在SDR中的应用造成了不便。如果为FPGA配置以太网接口,与外部网络实现通信,将有利于SDR平台的功能延伸,方便数据传输和与现有系统接口。

DM9000A是Davicom公司生产的一款功能强大的以太网控制器,支持10/100 M以太网速率,可与嵌入式微处理器(MPU)、单片机等以多种方式(如ISA总线等)接口,具有体积小、功耗低、配置灵活、使用简单等特点。但在传统应用中,很少有将DM9000A和FPGA直接结合应用的实例,为解决FPGA的以太网接口问题,通常的解决方案是采用单片机或者MPU在FPGA和以太网控制器之间进行数据转发,但弊端是成本提高和功耗增加。

本文在自行设计开发的OQPSK全数字接收机中,为实现高速解调数据的实时远程传输处理及接收机参数的远程配置,提出了采用FPGA直接控制DM9000A进行以太网数据收发的设计思路。采用Xilinx系列XC2V1000 FPGA和DM9000A,实现低成本、低功耗和高速率的SDR平台的网络传输功能,其最高传输速率可达100 Mb/s。

2 DM9000A工作原理

2.1 主要特性和总体结构

DM9000A的主要特性如下:

支持8/16位数据总线;
适用于10Base-T和100Base-T;
10/100 M自适应,适应不同的网络速率要求;
内置16 KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;
与IEEE 802.3u兼容,支持IEEE802.3x全双工,可同时收发;
具有睡眠模式,可降低功耗;
采用48引脚LQFP封装,缩小PCB面积。

DM9000A功能结构框图如图1所示,DM9000A实现以太网媒体介质访问层(MAC)和物理层(PHY)的功能,包括MAC数据帧的组装/拆分与收发、地址识别、CRC编码/校验、MLT-3编码器、接收噪声抑制、输出脉冲成形、超时重传、链路完整性测试、信号极性检测与纠正等。


2.2 工作原理

DM9000A可与微处理器以8 bit或16 bit的总线方式连接,并可根据需要以单工或全双工等模式运行。在系统上电时,处理器通过总线配置DM9000A内部网络控制寄存器(NCR)、中断寄存器(ISR)等,完成DM9000A的初始化。随后,DM9000A进入数据收发等待状态。

当处理器要向以太网发送数据帧时,先将数据打包成UDP或IP数据包,并通过8 bit或16 bit总线逐字节发送到DM9000A的数据发送缓存中,然后将数据长度等信息填充到DM9000A的相应寄存器内,随后发送使能命令。DM9000A将缓存的数据和数据帧信息进行MAC组帧,并发送出去。

当DM9000A接收到外部网络送来的以太网数据时,首先检测数据帧的合法性,如果帧头标志有误或存在CRC校验错误,则将该帧数据丢弃。否则将数据帧缓存到内部RAM,并通过中断标志位通知处理器,处理器收到中断后对DM9000A接收RAM的数据进行处理。

DM9000A自动检测网络连接情况,根据网速设置内部的数据收发速率为10 Mb/s或100 Mb/s。同时,DM9000A还能根据RJ45接口连接方式改变数据收发引脚的方向,因此无论外部网线是采用对等还是交叉方式,系统均能正常通信。

3 SDR接收机网络接口设计

在SDR接收机中,中频模拟信号经过A/D转换、数字下变频、抽取滤波等解调处理后,形成连续的解调数据流,其速率为10 Mb/s。在FPGA内部,解调输出的数据流和以太网接口部分通过FIFO进行缓冲,当解调数据达到规定的数据帧长度时,FPGA启动以太网发送程序,将解调数据发送到DM9000A,完成数据发送过程。在接收方向,网络工作站把控制指令按照一定的帧格式组帧发送到以太网,DM9000A接收到发给自身的以太网帧并通知FPGA启动以太网接收程序。FPGA将相应的数据从DM9000A的接收FIFO读至FPGA内部RAM中,利用数据中的控制命令配置接收机参数,完成网络对SDR接收机的远程控制。

3.1 与FPGA的数据接口和控制接口

DM9000A的外部总线符合ISA标准。可通过ISA总线直接与FPGA无缝连接。其硬件连接原理如图2所示。


DM9000A内部集成了PHY功能,因此与以太网接口可以无缝连接。如图3所示。


3.2 DM9000A的FPGA控制

3.2.1 初始化模块

DM9000A正常工作需要在上电后对内部寄存器进行初始化。该过程是通过FPGA对DM9000A外部控制总线和数据总线的读写操作完成的。具体流程如下:

1) 激活PHY
设置GPR(REG_1F) CEPI00 bit[0]=0;
由于复位后,DM9000A恢复默认的休眠状态以降低功耗,因此需要首先唤醒PHY。

2) 进行两次软复位,步骤如下:
设置NCR(REG_00)bit[2:0]=011;至少保持20μs;
清除NCR(REG_00)bit[2:0]=000;
设置NCR(REQ_00)bit[2:0]=011;至少保持20μs;
清除NCR(REG_00)bit[2:0]=000;

3) 配置NCR寄存器
设置NCR(REG_00)bit[2:1]=00;配置为正常模式。
通过改变该寄存器可以选择设置内部或者外部PHY、全双工或者半双工模式、使能唤醒事件等网络操作。

4) 清除发送状态
设置NSR(REG_01)bit[5]=1 bit[3]=l bit[2]=l;

5) 设置IMR寄存器(REG_FF)PAR bit[7]=l;启用RX/TX FIFO SRAM读/写地址指针自动返回功能。

6) 通过IMR寄存器(REG_FF)PRM bit[0]/PTM bit[1],对RX/TX中断使能。如果需要在一个数据帧发送完后产生一个中断,应将PTM bit[1]置为1,如果需要在接收到一帧新数据时产生一个中断,应将PRM bit[1]置为1;

7) 设置RCR寄存器,使能数据接收功能。

以上步骤完成后.可以通过LED指示灯观测DM9000A是否已成功完成初始化。

3.2.2 数据发送模块

DM9000A的发送缓冲区可同时存储两帧数据,按照先后顺序命名为帧I和帧II,DM9000A上电初始化后,发送缓存区的起始地址是00H,当前数据帧编号为帧I。两帧数据的状态控制字分别记录在DM9000A的状态寄存器03H和04H中。发送过程如下:

首先,FPGA利用写操作寄存器MWCMD(REG_F8)向DM9000A的发送缓存区中写入发送数据帧,写数据帧时需要先写入6字节的目的MAC地址,再写入6字节的源MAC地址,最后写入发送数据。

随后,FPGA利用写操作寄存器MWCMD(REG_F8)将数据帧长度写入寄存器FCH和FDH,数据长度为16位,将高8位写入寄存器FCH,低8位写入寄存器FDH。

最后,FPGA将发送控制寄存器TCR(REG_02)的bit[1]置为高电平,向DM9000A发出发送数据指令。DM9000A自动进行一些处理才将数据发送至以太网,包括:插入报头和帧起始分隔符;插入来自上层协议的数据,如果数据量小于64字节,则自动补齐64字节;根据目标地址、源地址、长度/类型和数据产生CRC校验序列,并插入校验序列位。这些处理都无需FPGA干预。处理完毕后,DM9000A即开始发送帧I。在帧I发送的同时,帧II的数据即可写入发送缓存区。在帧I发送完后,将帧II的数据长度写入寄存器FCH和FDH,最后将发送控制寄存器NSR(REG_01)的bit[1]置为高电平,即可开始帧II的发送。依此类推,下面发送的帧将会继续编号为帧I,帧II,帧I,帧II……按照同样的方式发送。

如果FPGA将中断屏蔽寄存器IMR(REG_FF)的bit[1]置为高电平,那么发送完毕后,DM9000A将会产生一个指示发送完成的中断信号。在发送过程中,FPGA可以查询寄存器标志位寄存器NSR(REG_01)中的TX1END bit[2]或者TX2END bit[3]得到数据帧的发送状态。

发送流程如图4所示。寄存器ISR中的PTS标志位是发送中断标志位,当一帧数据发送完毕,PTS=0,FPGA检测到该标志后,应清除标志位以便发送新的数据帧。这里需要注意的是,向FC、FD所写的帧长度应该是包含目的MAC地址段、源MAC地址段和有效数据的总长度。


3.2.3 接收模块

DM9000A中的接收缓存区是一个环形结构,初始化后的起始地址为0C00H,每帧数据都有4字节长的首部,然后是有效数据和CRC校验序列。首部4字节依次是01H、状态、长度低字节和长度高字节,帧结构如图5所示。


首部4字节含义如下:

第一个字节用于检测接收缓存区中是否有数据。如果这个字节是01 H,表明接收到了数据;如果为00H,则说明没有数据。但是如果第一个字节既不是01H,也不是00H,DM9000A就必须作一次软复位来从这种异常状态中恢复。
第二个字节存储以太网帧状态,由此可判断所接收帧是否正确。
第三和第四字节存储以太网帧长度。后续的字节就是有效数据。

接收过程如下:

查看中断状态寄存器。如果接收到新数据,寄存器ISR的PRS位将被置为0;
如果检测到PRS=0,清除PRS,FPGA开始读取接收缓存区数据。如果第一个字节是01H,则说明有数据;如果是00H,则说明无数据,需要进行复位;
根据获取的长度信息,判断是否读完一帧。如果读完,接着读下一帧,直到遇到首字节是00H的帧,说明接收数据已读完。FPGA可以重新查看中断状态寄存器,等待新的有效数据帧。接收流程如图6所示。


4 结束语

本文对以太网控制器DM9000A的原理和功能进行介绍,并结合自行开发的SDR接收机平台。基于FPGA设计实现了100 M以太网接口。其设计思路新颖,硬件连接简单。整体系统具有功耗低、体积小、运行稳定可靠等优点。SDR平台的开发融入网络设计理念,在应用中有广泛的前景,大大拓宽了SDR的功能。扩展了SDR的应用领域。
本文地址:https://www.eechina.com/thread-13277-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
axw_bab 发表于 2011-11-29 12:01:54
爱欣文科技有限公司
[了解我们]:爱欣文科技有限公司,长期从事国际最新集成电路(IC)代理销售业务.总公司下设香港公司和深圳公司及武汉公司,以及在内地各有关地区业务办事处等机构,构成了国际国内IC市场营销业务的立体网络,是一个国际集成电路(IC)专业化全球化的代理销售公司. 公司接受荣誉授权,全面代理台湾DAVICOM联杰国际﹑MAGCOM磁威、美国C2、TMC晶扬等国际知名1品牌集成电路(IC)及其相关的全线产品。
[网络系列集成电路专家]:DAVICOM(台湾联杰国际)网络芯片产品线
Davicom高速以太网路晶片(其"性价比"优于SMSC LAN9210,AX88796,CS8900A,RTL8019......) 
①10/100MB/S SWITCH和高速以太网络芯片 
        DM9006EP-64PIN LQFP,采用0.18工艺制成,2PORT SWTICH,支持远程唤醒,IGMP,STP协议功能
        DM9003EP-64PIN LQFP,采用0.25工艺制成,2PORT SWTICH,支持远程唤醒,HP 双绞线自适功能
        DM9000AEP LQFP48PIN,采用0.25工艺制成,低功耗供电电压2.5V-3.3V      
        DM9000CEP LQFP48PIN,采用0.18工艺制成,低功耗供电电压1.8v-2.5v,支持AUOT-MIX功能.
        DM9000CIEP_工规网络芯片(工作温度-45--80度)
        DM9000E - (SMSC LAN91C111 Equivalent)ISA接口高速以太网络三合一单芯片(含 MII / RMII 接口).       
②10MB/S 以太网络芯片 
        DM9008AE - 0.25工艺制成,LOCAL BUS接口以太网络三合一单芯片
③10/100MB/S 高速以太网络实体层收发器 
        DM9161B - 低功率, 高速以太网络实体层收发器. 48-pin 0.35um. 
        DM9161A - 低功率, 高速以太网络实体层收发器. Auto-MDIX. 48-pin 0.25um.
        DM9161C  -- 低功率, 高速以太网络实体层收发器
        DM9161E 
        DM9161BIEP-工业级物理层PHY芯片(工作温度-45--80度)        DM8203EP - FAST Ethernet Switch,内置IGMP,STP功能。
④DAVICOM¬¬¬--MODEM芯片:DM562P/DM562AP,性价比优异,该款IC由 两个芯片组成DM6588和DM6580 ,同异步兼容,內置驱动器,支持FSK和DTMF来电显示,同时,也8支持56K V.90 DATA /14.4-33.6K 彩色FAX/Voice/Speaker Phone For Embedded System

[强大的免费技术支持]: 我公司为国内总代理商,免费为客户提供网络部分整套的产品生产解决方案,在产品生产过程中如果遇到技术上的问题我们可以免费提供下列服务:
①提供完整的开发资料及强大的技术支援,成熟可靠的产品方案.
②芯片的数据手册,原理图,驱动.
③Layoeut(布板指南).
④编程指南.可以提供各种产品方案,由原厂工程师解决各种技术问题。
[产品应用领域]:它是以嵌入式系统为核心, 其网络产品广泛应用在IPTV,DVB-C+IP,DVR/DVS, VOD、IPCAMERA VOIP,金融POS及商务终端,安防监控,门禁,税控机和工业控制,功能控制及监控,智能抄表系统,教学实验装置,网络网络器件,网络产品,上网本EPC等Embedded Production领域!
[联系我们]:如需开发资料的请与我联系,谢谢!
电话:0755-86677600 传真:0755-86677606  地址:深圳南山区高新北区新西路2号东方信息港综合楼5楼503号
联系人:任先生   电话:134 2896 8359   在线QQ:1870232565   E-Mail:bab_ren@axwdragon.com
qftek 发表于 2012-11-30 15:44:50
STM32系列CPU配套网络芯片  DM9161A  DM9161C  及 DM9000C
CPU有MAC接口用DM9161C   DM9161N
CPU无MAC接口通过FSMC总线与DM9000A BUS总线连接扩展网口

深圳市侨峰科技有限公司 (DAVICOM中国区总代理)
嵌入式以太网络接口芯片供应商,软件及硬件设计服务与咨询
联络方式:Jonny.chu#qftek#com  电#话:13554902206
DM9000A  DM9000C  DM9161A  DM9161C DM8203 DM9620 DM9162N
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表