微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式Internet以太网接口的设计与实现

嵌入式Internet以太网接口的设计与实现

时间:02-03 来源:互联网 点击:

存器中的ALLOC INT位,直到该位被置为1,也可以设置中断掩码中的ALLOC INT位,然后等待硬件中断,这时MMU已经分配好存储空间。而且TX packet number放在Allocation Result寄存器中。

(3)将Allocation Result寄存器中的packet Number拷贝到Packet NUMBER寄存器中,设置Pointer寄存器(设置为TX、WR、AUTOINC,即0x4000)。然后将包的数据从upper layer发送队列传送到控制器的数据寄存器。要求依次写人Status Word、Byte Count、destination address、source address、packet size、packet data和control word。

(4)DSP向控制器发送“ENQUEUE PACKET NUMBER TO TX FIFO”命令(设置MMUCOM寄存器,通常设置为Ox00C0),该命令将Packet Number寄存器中的packet number拷贝到TX FIFO,说明发送的包已经放入队列中。同时设置传输控制寄存器中的TXENA位,启动transmitter。到目前为止,DSP的设置工作已完成,它可以空闲,直到接收到一个控制器产生的发送中断。

(5)当控制器传送完包以后,内存中的第1个字(16位)被CSMA/CD写入相应的状态字,然后将TX FIFO中的packet number移到TX completion FIFO,当TX completion FIFO不为空时产生中断。

(6)DSP接收到中断后,开始执行中断处理程序,它读入中断状态寄存器,如果产生发送中断,则从FIFO端口寄存器读入发送包的Packet Number,并将它写入Packet Number寄存器。然后从内存中读入状态字(包括设置Pointer寄存器为TX、RD、AUTOINC,即0x6000,然后从数据寄存器中读入包的状态字),它是EPH寄存器的镜像,根据状态字判断包发送是否成功。如果成功则DSP向控制器发布RELEASE命令(设置MMUCOM寄存器,设置为Ox00A0),控制器将释放发送包所使用的存储空间,同时设置TX INT Acknowledge寄存器,它将TX completion FIFO中的packet number清除。有二种产生发送中断的方案:①每发送一个包产生一个中断。②每发送一个序列的包产生一个中断。通过控制寄存器的Auto Release位来选择这二种方案,而且这二种方案所使用的发送中断位也有所不同。

TX INT:当TX completion FIFO不为空时置0;

TX EMPTY INT:当TX FIFO为空时置1;

AUTO RELEASE:如果置为1,发送包成功后,packet number不写到TX completion FIFO中,而且它所使用的存储空间被自动释放。

(7)选择使用“每发送一个包产生一个中断”方案:允许TX INT中断,AUTO RELEASE=0,这种方案的流程如上所示。

(8)选择使用“每发送一个序列的包产生一个中断”方案:允许TX EMPTY INT和TX INT,AUTO RELEASE=1,当发送完FIFO中的最后一个包后,产生TX EMPTY INT中断。当发生严重的发送错误时,产生TX INT中断,同时将发送失败的包的packet number保存到FIFO Ports寄存器,这样DSP就可以知道发送过程停止了。该方案可以减少DSP的负担,而且存储空间的释放也更迅速。当AUTO RELEASE=1时,DSP不能得到成功发送包的packet number。

3.2.3 接收数据包流程

(1)DSP设置接收控制寄存器中的RXEN位,允许接收包。

(2)含有正确地址的包被接收到,从MMU请求存储空间,并分派一个packet number,内部的DMA逻辑产生连续的地址,并将接收到的字写到内存中。如果超界,则包被丢弃,存储空间被释放。当检测到包结束时,状态字被写到接收包的最前面,byte count写到第2个字。如果CRC校验正确,则packet number被写到RX FIFO。当RX FIFO非空时,产生RCV INT中断;如果CRC校验不正确,则存储空间被释放,而且不产生中断。

(3)DSP接收到中断后开始执行中断处理程序,它读入中断状态寄存器,如果产生接收中断(RCV INT位为1),则可以从FIFO端口寄存器得到接收的包的packet number,而且可以从数据寄存器将接收包传送到DSP的内存或外存中。当处理结束时,DSP向处理器发布REMOVE AND RELEASE FROM TOP OF RX命令(即设置寄存器MMUCOM,设置为0x0060),释放使用的存储空间和packet number。

4 结束语

对以太网和快速以太网的自动协商模式使LAN 91C111具有很高的性价比,应用领域广泛。本设计利用LAN91C111和DSP芯片组成嵌入式以太网通信系统,能够正确地接入快速以太网,具备10M/100Mbps、全双工/半双工自适应等多种功能,符合IEEE802.3/802.3u-100Base-TX/lOBase-T规范,实现的嵌入式以太网接口支持RJ45和以太网的连接,可以通过以太网接入Internet,以实现从Internet上监控嵌入式设备。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top