新闻中心

EEPW首页 > 模拟技术 > 设计应用 > 网络控制器DM9000A在嵌入式系统中的应用

网络控制器DM9000A在嵌入式系统中的应用

—— The Application of Ethernet Controller DM9000A In Embedded System
作者:贾东耀 广州聚晖电子公司(广州510665) 彭树林 新太科技股份有限公司(广州510665)时间:2008-08-14来源:电子产品世界

摘要:介绍网络接口芯片与ARM处理器AT91RM9200之间的硬件接口设计,实现了在嵌入式系统中开发。

本文引用地址:http://www.eepw.com.cn/article/86945.htm

关键词:

  贾东耀:工程师,研究方向为、计算机测控技术。

引言

  目前,网络技术在电子产品中的应用越来越广,更多的嵌入式设备需要提供网络接口,以方便与外部互联通讯。现在流行的大多数嵌入式CPU(如ARM、PPC)都提供了此类接口,但对于一些相对复杂的来说,可能需要扩展以太网口,以满足网络通讯需要。本文介绍一种新款网络接口芯片,它可以很方便的实现与嵌入式CPU的接口,实现扩展以太网口的功能。

DM9000A

  DM9000A是中国台湾DAVICOM公司推出的一款高速以太网接口芯片,其基本特征是:集成10/100M物理层接口;内部带有16K字节SRAM用作接收发送的FIFO缓存;支持8/16bit两种主机工作模式;通过HP认证的AUTO-Mdix(支持直接互连自动翻转)功能;支持TCP/IP加速(IPV4 check sum offload)减轻CPU负担,提高整机效能;10ns I/O读写时间。DM9000A以太网控制器遵循IEEE颁布的802.3以太网传输协议。该电路还集成了EEPROM接口,自举时通过EEPROM接口输入到芯片中,从而实现自动初始化。

硬件接口设计

  DM9000A可以很方便的与目前主流的嵌入式CPU以8位或16位的总线方式连接,本文设计的系统CPU为AT91RM9200,它是一个采用ARM核的32位微处理器。二者的接口设计如图1。


图1  DM9000A与AT91RM9200硬件连接

  系统上电时,AT91RM9200通过总线配置DM9000A内部网络控制寄存器(NCR)、中断寄存器(ISR)等,完成DM9000A的初始化。随后,DM9000A进入数据收发等待状态。当AT91RM9200向以太网发送数据时,先将数据打包成UDP或IP数据包,并通过16 bit总线发送到DM9000A的数据发送缓存中,然后将数据长度等信息填充到DM9000A的相应寄存器内,使能发送。当DM9000A接收到外部网络送来的以太网数据时,首先检测数据帧的合法性,如果帧头标志有误或存在CRC校验错误,则将该帧数据丢弃。否则将数据帧缓存到内部RAM,并通过中断标志位通知AT91RM9200,由AT91RM9200对DM9000A接收到的数据进行处理。

驱动实现

  Linux体系结构
  在Linux操作系统中的设备驱动,根据各类外围I/O设备的不同,分为三类,即字符设备(如键盘、LCD) 驱动、块设备(如硬盘、CF卡) 驱动和网络设备(如网卡) 驱动。 Linux网络设备驱动程序结构上由四部分组成(图2):网络协议接口,网络设备接口,设备驱动功能层及网络设备介质。


图2  Linux网络驱动体系结构

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论

技术专区

关闭