基于TMS320F28335和DM9000A芯片实现以太网接口的设计

网友投稿 451 2022-11-08

基于TMS320F28335和DM9000A芯片实现以太网接口的设计

1 总体设计

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

2 系统硬件设计

2.1 DM9000A功能结构

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

3.1 DM9000A驱动程序设计

3.1.1 DM9000A初始化

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

(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,使能数据包接收中断。

初始化流程如图4所示。

完成上述初始化步骤后,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位,判断此帧数据是否发送完。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:036集 数组的初始化和赋值以及随机化
下一篇:038集 数组运算符的深入探讨
相关文章

 发表评论

暂时没有评论,来抢沙发吧~