网络控制器DM9000A在嵌入式系统中的应用
发布时间:2008/8/22 0:00:00 访问次数:410
引言
目前,网络技术在电子产品中的应用越来越广,更多的嵌入式设备需要提供网络接口,以方便与外部互联通讯。现在流行的大多数嵌入式cpu(如arm、ppc)都提供了此类接口,但对于一些相对复杂的嵌入式系统来说,可能需要扩展以太网口,以满足网络通讯需要。本文介绍一种新款网络接口芯片dm9000a,它可以很方便的实现与嵌入式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网络驱动体系结构
在linux操作系统中的设备驱动,根据各类外围i/o设备的不同,分为三类,即字符设备(如键盘、lcd) 驱动、块设备(如硬盘、cf卡) 驱动和网络设备(如网卡) 驱动。 linux网络设备驱动程序结构上由四部分组成(图2):网络协议接口,网络设备接口,设备驱动功能层及网络设备介质。
图2 linux网络驱动体系结构
欲知详情,请登录维库电子市场网(www.dzsc.com)
引言
目前,网络技术在电子产品中的应用越来越广,更多的嵌入式设备需要提供网络接口,以方便与外部互联通讯。现在流行的大多数嵌入式cpu(如arm、ppc)都提供了此类接口,但对于一些相对复杂的嵌入式系统来说,可能需要扩展以太网口,以满足网络通讯需要。本文介绍一种新款网络接口芯片dm9000a,它可以很方便的实现与嵌入式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网络驱动体系结构
在linux操作系统中的设备驱动,根据各类外围i/o设备的不同,分为三类,即字符设备(如键盘、lcd) 驱动、块设备(如硬盘、cf卡) 驱动和网络设备(如网卡) 驱动。 linux网络设备驱动程序结构上由四部分组成(图2):网络协议接口,网络设备接口,设备驱动功能层及网络设备介质。
图2 linux网络驱动体系结构
欲知详情,请登录维库电子市场网(www.dzsc.com)