在电子设备日趋网络的背景下,目前广泛使用的以太网及TCP/IP协议已经成为事实上最常用的网络标准之一,它的高速、可靠、分层及可扩充性使得它在各个领域的应用越来越灵活,很多情况下运用以太网和TCP/IP能够简化结构和降低成本。目前关于嵌入式以太网的设计方案不是很多,其中大多是基于单片机的,缺点是速度慢、成本太高。DSP作为一种特殊的嵌入式微处理器系统,具有嵌入的协处理器和用于快速数据处理的并行数据通道,在嵌入式网络设备中引入DSP技术可以使嵌入式以太网变得更快、更便宜、更容易进行功能扩充。本文介绍了基于TMS320LF2407型的嵌入式系统与LAN91C111型自适应10Mb/s/100Mb/s嵌入式以太网控制芯片的接口电路和实现方法。
1 LAN91C111嵌入式以太网控制器芯片
LAN91C111是SMSC公司推出的为嵌入式应用系统设计的第三代快速以太网控制器。在LAN91C111芯片上集成了CSMA/CD协议的媒体层(MAC)和物理层(PHY),其系统结构图如图1所示。该以太网控制器的主要功能特性如下。
(1)自适应地选择传输速率,支持10M/100Mbps。
(2)8KB的内部存储器用于接收和发送的缓存。
(3)支持突发数据传输。
(4)提前发送和接收功能。
(5)支持总线8位、16位和32位的CPU访问。
该以太网控制器遵循的标准与协议为IEEE颁布的802.3以太网传输协议。8~32位数据总线接口单元由控制总线、地址总线和数据总线与外部的CPU控制芯片相连。该单元还集成了E2PROM接口,所有内部寄存器的初始值可先放在E2PROM中,自举时通过E2PROM接口输入到芯片中,实现自动初始化。总线仲裁器(Arbiter)监视以太网总线的数据交流情况,一旦发生阻塞,一方面通过总线接口单元与外部CPU联系,另一方面控制内存控制单元(MMU),实现总线数据协调。内存控制单元控制8KB动态SRAM的存储情况,实现与DMA控制器之间的数据联络。DMA控制器与总线控制器一起控制数据在DMA与以太网协议处理器(EPH)之间的交换。由以太网协议处理器输出的数据最终经过10M/100M的物理层直接到达以太网总线。
2 硬件电路组成
出于性价比的考虑,采用了DSP控制器作为主CPU。TMS320LF2407是TI公司发布的240X系列中功能最强的一种控制器,有很大的存储空间(高达32K字的Flash程序存储器,可扩展外部64K字存储器和64K字I/O寻址空间),非常适合于处理复杂的TCP/IP协议。
由于LAN91C111是为嵌入式系统设计,其外围电路相对比较简单,其硬件接口框图如图2所示。LANC91C111内部寄存器可通过地址线A0~A15来访问。地址总线A1~A15与DSP的A1~A15相连,A0没有被悬空;数据总线D0~D15与DSP的D0~D15相连,可以传输16位数据。D16~D32悬空(因为LF2407是16位数据总线);LAN91C111的片选信号AEN由DSP的外部I/O接口选通信号IS提供。二元件的读电平RD和写电平WR分别相连。LAN91C111端的中断输出信号INTR0送入DSP的外部中断脚XINT1触发中断。TG110-S050N2是针对10M/100M以太网的变压滤波器。LAN91C111模块的Protel原理图。
3 软件设计
编写控制以太网接口程序的步骤如下
3.1μC/OSⅡ实时操作系统的移植
μC/OSⅡ是一种开放源码的实时嵌入式操作系统,具有很好的实时性。它是可移植、可裁减、可固化的占先式多任务操作系统,其大部分源码由ANSIC语言编写。
移植工作包括以下几个内容:
(1)用汇编语言改写OS_CPU_A.ASM。
(2)用C语言改写OS_CPU_C。C。
(责任编辑:武林网)
新闻热点
疑难解答