保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

TM1300 DSP系统的以太网通信接口的设计与实现


可定义一个与网络接口层交互的接口,其中包括8个函数,分别是:ni_init(接口芯片初始化)、ni_broad-cast(发送广播分组)、ni_send(发送普通分组)、ni_getpkb(申请发送缓冲区)、ni_retpkb(归还接收缓冲区)、ni_ioctl(I/O控制操作)、ni_pool(统计量查询)、Announce(网络接口驱动调用它把接收到的数据包提交给pSOS)。其中网络接口层在本应用中就是Realtek8029的驱动程序,它通过硬件抽象层来驱动Realtek8029(硬件抽象层是PCI总线的配置读写和I/O读写指令集的总称)。
  
  软件执行的流程大致是:系统首先启动pSOS,并由它加载网络接口驱动程序,然后调用驱动程序的ni_init函数,同时初始化Realtek8029的PCI配置空间并设置Realtek8029的工作参数,之后启动用户任务。在这里,用户任务为H.263编码进程。它对VI口读入的源图像进行压缩编码后,将调用socket的接口函数sendto(sendto是UDP套接口专用的发送函数),然后把码流发送给pSOS由pSOS根据UDP协议进行封装后,再调用ni_send函数,并由ni_send完成数据包从系统主内存到Realtek8029片上RAM的拷贝,然后启动Realtek8029发送数据。在接收情况下,Realtek8029收到一个完整的数据包后会用中断通知CPU,然后由CPU执行中断服务程序。当中断服务程序将数据包从Realtek8029片上RAM中拷贝到系统的主内存后,系统将调用Announce函数并把数据块的指针、数据长度和其它信息提交pSOS,最后由pSOS将数据包沿协议栈一层层上传并作出相应的处理。
  
  软件的设计和pSOS操作系统的关系比较密切,限于篇幅,本文不对pSOS作详细介绍,。本文接下来重点介绍PCI配置空间的配置过程,这部分对于类似的设计有较普遍的参考意义。PCI配置空间有64个字节,PCI片内的这些寄存器存储了该芯片的厂商号、设备号、设备类型等重要代码,还包括命令寄存器、基地址寄存器等控制其总线行为的寄存器,它们必须在设备初始化时正确配置,否则设备不能工作。
  
  对Realtek8029PCI空间的配置需要三个步骤:
  
  首先是扫描总线,这一步的目的是找到Real-tek8029的配置地址,直观地讲,就是找到它的PCI_IDSEL引脚和哪根AD线相连,因为后续的配置写要根据这个地址来寻址。扫描总线时,要对AD〔11〕到AD〔31〕每根线进行一次扫描,如果哪根AD线连接了一个PCI设备的PCIIDSEL引脚,那么用配置读函数读取PCI配置空间的0号寄存器时,应该返回该设备的设备和厂商代码,如果这根线实际未连接设备,则返回值是0。已知Realtek8029的设备和厂商代码是“0x802910ec”,如果返回值与之相同,说明找到了Realtek8029,这时要记下这根AD线的序号。例如,在硬件上把Realtek8029的PCIIDSEL和AD〔20〕相连,则扫描到的序号就应该是“20”。
  
  其次,用配置写函数配置I/O读写使能,即在command寄存器中写入“0x1”。
  
  最后,用配置写函数配置I/O地址,也就是在I/OBaseAdddress寄存器写入分配给该设备的I/O地址(例如“0xe400”)。具体程序流程图如图4所示。
  
  4调试结果
  
 

《TM1300 DSP系统的以太网通信接口的设计与实现(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/176146.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。