基于DM9000A的DSP以太网接口设计与实现

发布者:太白山人最新更新时间:2014-07-13 来源: 21IC关键字:DM9000A  DSP  以太网接口  TCP/IP 手机看文章 扫描二维码
随时随地手机看文章

DSP(Digital Signal Processor)是一种独特的微处理器,是以数字信号来处理大量信息的器件。它强大的数据处理能力和高运行速度,是最值得称道的两大特色。随着网络技术的发展,在工业控制、智能仪器、智能家庭等领域,越来越多的DSP设备要求具有以太网通信功能,以便与外部网络设备进行数据通信。以太网控制芯片是以太网接口的核心器件,其性能是影响网络性能的关键因素之一,如何正确使用网络控制器是设计以太网接口的关键。本文采用处理器+以太网控制芯片+TCP/IP协议的DSP以太网接入方式,设计并实现了基于DSP的精简TCP /IP协议栈,并固化在DSP内,无需操作系统也可运行。

1 总体设计

本系统使用32位DSP处理器TMS320F28335和以太网控制芯片DM9000A为核心,DSP控制整个系统的运行,DM9000A实现网络传输的底层功能。并对TCP/IP协议栈自行裁剪,构成了DSP的以太网接口,实现了网络通信。其系统总体框图如图1所示。

基于DM9000A的DSP以太网接口设计与实现

2 系统硬件设计

2.1 DM9000A功能结构

DM9000A是DAVICOM公司推出的一款高度集成、低成本的快速以太网控制器,实现以太网媒体介质访问层(MAC)和物理层(PHY)的功能。该芯片具有通用的处理器接口,片内集成了10/100M自适应的PHY,内部含有16 KB SRAM用于接收/发送的FIFO缓存,3.3 V供电,并且支持IEEE 802.3以太网传输和8/16接口的两种主机工作模式协议。功能结构如图2所示。

基于DM9000A的DSP以太网接口设计与实现

2.2 接口电路的连接

接口电路主要由DSP、以太网控制芯片DM9000A、隔离变压器和RJ-45构成。DSP控制整个系统的运行,DM9000A实现以太网数据的底层传输。隔离变压器的主要作用:其一,可以增强信号,使其传输距离更远;其二,使芯片端与外部隔离,增强抗干扰能力,并对芯片端起保护作用;其三,当接到不同电平(如有的PHY芯片是2.5 V,有的PHY芯片是3.3 V)的网口时,不会对彼此设备造成影响。RJ-45接口可用于连接RJ-45接头,适用于由双绞线构建的网络,这种是最常见的以太网接口。DM9000A采用16位接口模式,数据地址复用总线D0~D15与DSP总线XD0~XD15相连;DM9000A的写信号引脚与DSP的XWE0n相连;读信号引脚与DSP的读引脚相连;DM9000A的片选信号引脚与DSP的CS0n相连;DM9000A的访问类型引脚CMD与DSP的普通I/O口GPIO61相连,高电平访问DM9000A的数据端口,低电平访问地址端口;DM9000A的复位引脚与DSP的GPIO 60相连;DM9000A的物理层接口TX+,TX-,RX+,RX-通过隔离变压器连接RJ-45至以太网。其以太网接口硬件连接如图3所示。

基于DM9000A的DSP以太网接口设计与实现

3 系统软件设计

网络接口的软件主要有DM9000A驱动程序设计和上层通信协议程序设计两个部分。DM9000A驱动程序设计主要是通过TMS320F28335控制总线配置DM9000A内部寄存器,完成对DM9000A初始化、以太网数据帧的发送和以太网数据帧的接收三部分。上层通信协议程序设计是对TCP/IP栈裁剪移植,主要完成对接收到的以太网数据帧进行解析并处理,并把要发送的数据封装成以太网数据,然后发送。

3.1 DM9000A驱动程序设计

3.1.1 DM9000A初始化

DM9000A正常工作需要在上电后对内部寄存器进行初始化,具体流程如下:

(1)启动PHY。设置通用寄存器GPR(1FH)的GEPIO0=0。

(2)进行两次软启动。设置网络控制寄存器NCR(00H)的RST=1,10μs后RST=0,同样的操作进行两次。

(3)选择网络模式。设置NCR的LBK=00,设置网络工作模式为正常模式。

(4)清除发送标志。设置网络状态寄存器NSR(01H)WAKEST=1,TX2END=1,TX1END=1。

(5)写6 B的以太网节点地址到物理地址寄存器PAR(10H~15H)中。

(6)设置中断屏蔽寄存器IMR(FFH)的PAR=1,使能指针自动跳回,当SRAM读/写指针超过SRAM的大小时,指针自动跳回起始位置;PRI=1,使能数据包接收中断。

(7)设置接收控制寄存器RCR(05H)的WTDIS=1,看门狗定时禁止;DSI_LONG=1,丢弃长数据包;DIS_CRC=1丢弃CRC校验错误的数据包;RXEN=1,使能接收功能。

初始化流程如图4所示。

基于DM9000A的DSP以太网接口设计与实现

完成上述初始化步骤后,DM9000A就处于正常工作状态,可以收发数据包。若有异常发生,就需要重复上述步骤,重启DM9000A以使芯片恢复到正常状态。

3.1.2 数据帧发送

DM9000A内部有16 KB的SRAM作为接收/发送数据的缓存区,其中前3 KB的空间,地址从0x0000H~0x0BFFH,用来缓存需要发送的数据。

数据发送的具体步骤如下:

(1)利用写操作寄存器MWCMD(F8H),将需要发送的数据帧写入DM9000A的发送缓存区。

(2)将数据帧长度写入长度寄存器TXPLL(FCH)和TXPLH(FDH)。

(3)设置发送控制寄存器TCR(02H),TXREQ=1,数据帧开始发送。

(4)检查网络状态寄存器NSR(01H)的TX2END和TX1END位,判断此帧数据是否发送完。

数据帧发送流程图如图5所示。基于DM9000A的DSP以太网接口设计与实现

3.1.3 数据帧接收

当DM9000A数据接收使能后,DM9000A就会自动接收数据。DM9000A接收到的数据先保存在地址从0x0C00~0x3FFF的13 KB内部SRAM缓存空间中,它是一个环形结构。

利用寄存器MRCMDX(FOH)和寄存器MRCMD(F2H)可获取缓存中的数据帧信息。接收到的数据帧格式如图6所示。

基于DM9000A的DSP以太网接口设计与实现

其中第1个字节是接收数据标志字节,表征接收到数据帧是否有效。第2个字节是接收数据帧的状态字节,其中的内容与接收状态寄存器RSR中的内容相同,可以用来判断所接收的数据帧是否正常。第3,4个字节是接收到数据的长度字节,其中低位在前,高位在后。从第5个字节开始的数据才是真正数据帧内容。

数据接收过程如下:

(1)检查中断状态寄存器:ISR(FEH),若PRS位为1,说明有新的数据帧接收,写1清除PRS位;若为0,说明无数据,直接返回。

(2)读取第1个字节,即接收数据标志字节。如果该字节为01,则表示接收下来的是有效数据帧;如果该位为00则表示没有数据到达,或数据已经接收完成;如果既不是01又不是00,则认为有异常发生,这时就要将DM9000A芯片重启以使芯片恢复到正常状态。

(3)读取第2个字节,即接收状态字节。根据接收状态字节判断所接收的数据帧是否正常。

(4)读取第3,4字节,即数据帧长度字节。

(5)读取真正的数据帧内容。

(6)根据获取的长度信息,判断是否读完一帧。如果读完,接着读下一帧,直到遇到首字节是00H的帧,说明接收数据已读完。

数据帧接收流程如图7所示。

基于DM9000A的DSP以太网接口设计与实现

3.2 上层通信协议程序设计

TCP/IP协议模型可以分为四个层次,从下到上依次为:链路层、网络层、传输层和应用层。每一层都有不同的功能,低一层为高一层提供服务。

标准的TCP/IP协议栈对处理器的计算、存储要求比较高,然而,DSP系统的计算资源和存储资源通常是非常有限,在DSP中实现标准的TCP/IP协议栈将占用大量系统资源,不利于DSP其他方面的应用,因此必须对它进行简化并优化,尽可能做到代码精简,降低存储开销。本系统设计和实现了TCP/IP通信协议的必要部分,包括:ARP,IP,ICMP,TCP,UDP等协议。

ARP(地址解析协议)为IP地址到对应的硬件地址之间提供动态映射。IP协议是TCP/IP协议的核心,所有的TCP,UDP,ICMP的数据都是以IP数据格式传输的。ICMP(网络控制报文)是用来传递差错报文以及其他需要注意的信息,有各种类型的ICMP报文,本文只用到ICMP的请求回显(类型字段为8、代码字段为0)。TCP提供一种面向连接的、可靠的字节流服务,交换数据之前必须先建立一个TCP连接,即“三次握手”UDP是一个简单的面向数据报的传输层协议,它把应用程序传给IP层的数据发送出去,但是并不保证他们能到达目的地。在链路层,当DM9000A完成一个以太网数据帧接收后,将其读入暂存数组,检查以太网帧类型字段,该字段值为0x0806,表示数据帧为ARP帧;该字段的值为0x0800,表示数据帧为IP帧。接着,分别交由ARP协议处理模块或IP协议处理模块。编程时使用框架如下:

if(完成以太网数据帧接收)

{ if(以太网类型字段==0x0806)

{ARP处理模块}

if(以太网类型字段==0x0800)

{IP处理模块}

}

网络层收到的为ARP数据报,ARP根据操作字段(ARP请求为1,ARP应答为2),或者发送ARP应答或者更新ARP地址映射表。若为IP数据报,IP协议处理模块对数据包解析后,IP首部协议字段若为1就将数据交给ICMP协议处理模块,若为6则交给TCP处理模块,若为17则交给UDP处理模块。传输层得到UDP的报文后,按照UDP协议中的端口,分别送给不同的应用层序。若传输层得到的是TCP报文,则要根据TCP的状态转换图进行处理。在TCP或UDP的处理模块中,根据目的端口号,分别将数据送往不同的用户应用程序。其工作流程如图8所示。

基于DM9000A的DSP以太网接口设计与实现

4 结语

本文把高度集成、低成本的快速以太网控制器DM9000A与数据处理能力强大、高运行速度的DSP(TMS320F28335)相结合,设计出了一种DSP的以太网接口。实验结果表明,DSP系统可以通过该接口实现以太网数据通信,经自行裁剪的TCP/IP协议栈,不仅实现了IP,ARP,ICM P,TCP和UDP协议,而且提高了数据传输效率。该接口具有硬件接口简单、外围器件少、运行稳定可靠、性价比高等特点,同时也能够满足测试、采集等高速数据传输系统的要求,符合当今DSP设备趋于网络化发展的方向。

关键字:DM9000A  DSP  以太网接口  TCP/IP 引用地址:基于DM9000A的DSP以太网接口设计与实现

上一篇:基于ARM11和DSP协作视频流处理技术的3G视频安全帽设计
下一篇:DSP56F807在交流随动系统中的应用

推荐阅读最新更新时间:2024-05-02 23:05

Tensilica授权瑞萨电子ConnX BBE16 DSP IP
   Tensilica日前宣布,瑞萨电子购买了Tensilica ConnX BBE16 DSP(数字信号处理)IP(知识产权)核,用于即将上市的数字电视芯片的设计。 Tensilica基带业务部门副总裁兼总经理Eric Dewannain表示:“瑞萨电子是先进半导体解决方案的领先供应商,拥有开发数字电视芯片的成功经验。通过大规模的技术评估鉴定,瑞萨电子选用了Tensilica业界流行的ConnX BBE16 DSP内核,我们深感荣幸。ConnX BBE16 DSP是一款超高性能的16-MAC(乘数累加器)DSP引擎,是家庭无线网络、多标准广播接收器和数字电视解调器的理想选择。”  
[工业控制]
基于TCP/IP的浮标网络通信系统设计
引言 水声信道匹配基础研究是建立在水声学、海洋物理声学以及现代信号处理技术基础上的新兴研究领域。为满足研究需要而构建的局部海域水声信道测量平台(图 1),能够实现环境信息和信道参量的系统采集和实时传递,对信道宽容匹配方法的可行性进行检验。 浮标系统以它的灵活、高效、自身干扰小等特点,在水声信道研究中发挥着其它设备不可替代的作用。现有的浮标系统大多采用直接序列扩频电台直接进行水面通讯,这种方式往往不使用网络协议或使用自定义的网络协议。而采用无线网桥进行水面通讯,以TCP/IP作为网络协议,将大大增强浮标系统网络化。同时由于TCP/IP协议是目前最为成熟的网络协议之一,浮标网络的稳定性、可扩展性都得以提高,甚至通过互联网直接控
[单片机]
基于DSP嵌入式技术的智能刹车控制系统研究
1 引言   赛车刹车系统是赛车系统上具有相对独立功能的子系统,其作用是承受赛车的静态重量、动态冲击载荷以及吸收赛车刹车时的动能,实现赛车的制动与控制。其性能的好坏直接影响到赛车的快速反应、安全制动和生存能力,进而影响赛车的整体性能。本文设计了赛车全电防滑刹车控制器的硬件和软件,最后研究了适合于赛车刹车的控制律。 2 系统硬件电路设计   本赛车刹车控制器是由防滑控制器和电机驱动控制器组成。两个控制器都是以DSP芯片为核心。防滑控制器主要是以滑移率为控制对象,输出给定的刹车压力,以DSP芯片为CPU,外加赛车和机轮速度信号调理电路等。电机驱动控制器主要是调节刹车压力大小,并且控制电动机电流大小,也是以DSP芯片为CPU,再加
[汽车电子]
基于<font color='red'>DSP</font>嵌入式技术的智能刹车控制系统研究
基于DSP的无刷直流电动机的模糊控制系统研究
   0 引言   无刷直流电动机作为一种新型的无级变速电动机,不仅具有交流电机的体积小、重量轻、惯量小等特点,而且还有直流电动机优良的调速性能,但又没有机械换向器的缺点,因此得到了广泛的应用。无论在数控机床、机器人等制造加工领域,还是家用电器如洗衣机、电脑硬盘等场合都日益受到重视。以往的无刷直流电机多由单片机附加许多种接口设备构成。不仅复杂,而且速度也受到限制,难于实现从位置环到速度、电流环的全数字控制,也不方便扩展。而应用数字信号处理器(DSP)实现的电机伺服系统却可以只用芯片DSP就可以替代单片机和各种接口,且由于DSP芯片的快速运算能力,可以实现更复杂、更智能化的算法;可以通过高速网络接口进行系统升级和扩展;可以实现位置
[嵌入式]
基于DSP的中文语音合成系统设计
引言 本文介绍的就是一种基于DSP的中文语音合成系统的实现方法。随着语音信号处理技术的不断发展与成熟,语音合成正逐步成为信息技术中人机接口的关键技术。DSP芯片,即数字信号处理器,是专门为快速实现各种信号处理算法而设计的、具有特殊结构的微处理器,其处理速度比最快的CPU还快10~50 倍。   1 系统总体方案 语音合成的最大特点就是要从有限的存储单元中合成出无限字汇的连续语句来 。为了做到这一点,本系统设计了由(1)前端预处理模块将输入文本文件转换成系统可以处理的标准格式;(2)韵律规则库给出当前语言环境下各个音节的韵律特征参数;(3)语音合成器根据给定的韵律特征参数对原始语音库中相应语音单元的声学参数进行调整;(4)将经
[嵌入式]
基于<font color='red'>DSP</font>的中文语音合成系统设计
一种基于PCI总线和DSP技术的虚拟仪器设计
传统的虚拟仪器由一块基于PCI总线的直接利用A/D和D/A芯片构成的数据采集板卡和相应的软件组成,但随着计算机网络技术的迅速发展,越来越多的数据需要由计算机处理、存储和传输,由于通用计算机本身的特点,它们通常不适于进行实时性要求很高的数字信号处理,因此这种虚拟仪器不能满足现实应用对数据实时处理能力、数据传输能力以及数据管理能力所提出的越来越高的要求。   与此同时,随着数字信号处理器(DSP)性价比的不断提高,其应用领域飞速扩展,从而使基于PCI总线和DSP技术的新型虚拟仪器应运而生。   系统的基本框架   笔者设计的基于PCI总线和DSP技术的虚拟仪器的基本框架如图1所示。   整个系统是基于模块化的设计理念来实现的,
[工业控制]
一种基于PCI总线和<font color='red'>DSP</font>技术的虚拟仪器设计
ADS8O3与DSP构成的供电诊断系统
引 言 飞机供电系统是个需要高可靠性的复杂系统,其工作环境非常恶劣,强震动,变负载,且电源品质要求非常高。某型飞机采用单台发电机电源系统,集中配电方式,开式供电网。l台12kW直流起动发电机、2台锌银蓄电池和地面电源插座均直接向电源舱汇流条供电,电源舱汇流条上接有大容量用电设备。目前,供电系统只靠发电机故障信号灯指示故障,缺乏实时的机载故障检测和数据记录系统,不利于实时掌握供电情况和及时进行地面检查。 1 供电系统构成 机载供电系统由以下几部分组成:①发电机、②发电机激磁绕组、③反流割断器、④炭片式电压调节器、⑤稳定变压器、⑥发电机电门、⑦航空蓄电池、⑧用电设备。其原理图如图1。 2 机载供电系统使用现状
[应用]
基于DSP的ARINC429通信板的研制
    摘要: 数字信号处理器(DSP在很多领域都已获得广泛的应用,ARINC 429数字信息传输规范是航空电子设备通信标准。介绍了用DSP芯片TMS320F206和高性能的数据通信芯片HS-3282开发ARINC 429通信板的一种方法。     关键词: 数字信号处理器(DSP)  ARINC429数字传输规范     在现代民用飞机上,系统与系统之间,系统与部件之间需要传输大量信息,随着数字技术的发展和微型电子计算机的出现,越来越多的航空电子设备已采用数字化技术。ARINC规范是为了在航空电子设备之间传输数字数据信息而制定的一个航空运输的工业标准。早期用单片机开发的ARI
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved