原创 基于ARM-LPC2368的网络接口的设计与实现

2008-6-28 11:21 2927 3 3 分类: MCU/ 嵌入式
 我们提供的开发板,已经做出来了,而本文只是从理论上探讨一下!

摘 要: 本文以微处理器LPC2368为核心、DP83848C为以太网物理层接口芯片,详细地介绍了嵌入式以太网接口的实现方法。 首先对微处理器LPC2368和物理层芯片DP83848C作了简单的介绍,然后给出了基于LPC2368的以太网接口的硬件设计,最后简述了其软件的实现过程。
关键词: 嵌入式系统,以太网,LPC2368,DP83848C


1 引言


随着Internet技术的迅速发展,人们对信息共享的要求也不断提高。目前,嵌入式系统已经渗透到我们生活的每个角落,它与网络的完美结合,为我们共享信息提供了很大的便利。PHILIPS公司的LPC2368是一款优秀的微处理器,基于它的嵌入式系统如果没有以太网接口,那么其应用价值也就会大打折扣。因此,就整个系统而言,以太网接口电路应是必不可少的,但同时也是相对较复杂的。


以太网接口电路主要由MAC控制器和物理层接口(Physical Layer,PHY)两大部分构成。LPC2368内嵌一个以太网控制器,支持精简的媒体独立接口(Reduced Media Independent Interface,RMII)和带缓冲DMA接口(Buffered DMA Interface,BDI),可在半双工和全双工模式下提供10M/100Mbps的以太网接入。因此,LPC2368内部实际上己经包含了以太网MAC控制,但并未提供物理层接口,所以,需要外接一片物理层芯片以提供以太网的接入通道。在这里选用National Semiconductor公司的DP83848C作为以太网物理层接口芯片,它提供了包括MII/RMII/SNI接口,可以很方便地与LPC2368连接。


 


LPC2368DP83848C的介绍


2.1 微处理器LPC2368


LPC2368是基于ARM7TDMI-S内核的32位微控制器,可在高达72MHz的频率下操作,其功能强大且成本效率高,支持 10/100Ethernet、全速(12Mbps)USB 2.0 和 CAN 2.0B;具有高达512KB的片内Flash、58KB的SRAM、10 位 A/D 和 D/A 转换器和一个 IRC 振荡器,还带有 SD 存储卡接口可供选择,100引脚LQFP封装(14×14×1.4mm)。广泛应用于工业控制、POS系统、协议转换、加密系统等领域[1]


2.2 物理层芯片DP83848C


DP83848C是一个10/100Mb/s单端低功耗物理层器件,有几种智能降功耗模式,包括有25MHz时钟输出,很容易通过外接变压器和双绞线媒体接口;支持两种IEEE 802.3u MII和RMII Rev 1.2,方便了设计;集成的亚层支持10BASE-T和100BASE-TX以太网协议;低功耗小于270mW、3.3V MAC接口;可配置的SNI接口;48引脚LQFP封装(7x7mm)。DP83848C作为一种以太网物理层收发器,广泛应用于高端外围设备、工业控制和工厂自动化操作、通用的嵌入式应用领域[2]


 


硬件部分设计


3.1 电路框图


 LPC2368与DP83848C连接比较简单,直接通过RMII接口连接即可。连接好后,DP83848C再通过网络隔离变压器和RJ45接口接入传输媒体,其电路框图如图1所示。


点击看大图


图 1  微控制器LPC2368与PHY芯片DP83848C的以太网接口电路框图


 


3.2 以太网接口实际电路原理图设计


DP83848C支持几种MAC接口方式:(1)MII;(2)RMII (Reduced MII);(3)10 Mb 串行网络接口(Serial Network Interface,SNI)。在这里我们使用的是RMII接口方式,通过设置引脚pin39和pin6来确定,如表1所示。


 


MII方式选择



MII_MODE (pin39)


SNI_MODE (pin6)


MAC Interface Mode


0


0或1


MII Mode


1


0


RMII Mode


1


1


10 Mb SNI Mode


 


由表1可以看出,pin39应接上高电平,pin6应接上低电平。同时因为在芯片内部pin6下拉,默认为0,所以只要设置pin39接上高电平即可,这样微处理器LPC2368就可以同PHY芯片DP83848C通过RMII接口方式连接。它们之间通过RMII接口连接,芯片和控制器连接所使用的引脚数目会比较少,且数据传送速率是每次2位,即频率50MHz,所以需要一个50MHz的晶体振荡器连接到pin34 X1脚。


在RMII方式下,主要使用到的引脚有:1串行管理:MDC(pin31)、MDIO(pin30); 2MAC数据:TX_EN(pin2)、TXD[1:0](pin4 pin3)、RX_ER(pin41)、CRS_DV(pin40)、RXD[1:0](pin44 pin43); 3时钟:X1(pin34 ,RMII 参考时钟是50MHz)、X2(pin33)。


Pin27置高使得DP83848C以100Mbps的速率工作, LED显示DP83848C的工作状态。16ST8515为网络隔离变压器,其主要是起信号传输、阻抗匹配、波形修复、杂波抑制以及高电压隔离等作用,以保护系统的安全。通过protel 99 SE画出电路原理图如图2所示。



点击看大图


 




图2 以太网接口实际电路原理图



 


4 软件实现过程


软件的实现主要有三个部分:系统的初始化、数据的发送和接收。


初始化部分完成以太网接口在使用之前的初始化工作,主要包括设置相关的寄存器、分配和初始化发送与接收缓冲区等。


4.1 以太网工作原理


在网络接口层对应的数据包是完整的以太网帧格式的,因此要实现数据的发送和接收就必须按以太网IEEE802.3协议来进行,该协议所定义的帧结构如表2所示。


 


2:标准的以太帧格式



同步位


分隔位


目的地址


源地址


帧类型


数据段


填充


校验位


56Bit


8Bit


48Bit


48Bit


16Bit


<1500Byte


可选


32Bit


 


每个网卡在出厂的时候有个全球固定的物理地址(MAC地址)。当总线上的一个节点发送一个数据帧,总线上其他的网络节点都拷贝该数据帧,每个节点检查数据帧的目的物理地址,如果和自己的物理地址匹配的话,该节点的网卡就接受该数据帧传给上层协议处理,反之如果不匹配,该节点就丢弃数据帧。


4.2 发送与接收数据帧


采用中断的方式发送和接收数据。


发送数据帧:将要发送的数据封装成以太帧,并写入发送缓冲区;检测网络中有无数据在传送,即上一个帧是否发送完毕,如果网络中仍有数据在传送,则暂时不能发送帧,若网络中没有数据,则可以立即发送此帧;在发送该帧时,可同时封装下一个数据帧,并将其写入第二个发送缓冲区;当中断服务程序检测到第一个数据帧发送完毕时,则可发送下一个数据帧。重复以上过程,直到所有数据帧都发送完毕。发送数据帧的流程图如图3所示。


接收数据帧:等待直到有数据帧到达,将此数据帧保存到FIFO缓存中,然后察看该数据帧的目的地址,若为NIC的MAC地址或广播地址,并且经检验没有出错,则把此数据传送到接收缓冲中,并向处理器提出中断,将接收到的数据帧从 NIC本地缓存连续读人到系统内存中。接收数据帧的流程图如图4所示。


080627102244943.jpg





图3 发送数据帧流程图


 


080627102244944.jpg


图4 接收数据帧流程图

 

5 结束语


本文讲到了利用微处理器LPC2368和PHY芯片DP83848C来设计以太网接口。由于微控制器LPC2368和物理层芯片DP83848C的优良性能,使得该接口电路具有结构简单、体积小、功耗低等许多优点,是实现嵌入式系统与网络连接的不错选择。


本文作者创新点:使用功能强大的微处理器LPC2368,通过精简的媒体独立接口与物理层芯片进行连接,在保证同样功能的情况下,使得布线更加简单,可以大大减小设计时的出错率。


 


参考文献


[1]. LPC2364/6/8/78 User manual.


[2]. DP83848C User manual.


[3]. ARM微控制器基础与实战[M].北京:北京航空航天大学出版社, 2005.


[4]. 付冲,陈英,马希敏,张永元.一种通用嵌入式系统以太网接口的设计与实现[J].山东大学学报,2005.6,35(3):93- 97.


[5]. 吕昌泰,罗永刚.嵌入式以太网接口的研究与设计[J].微计算机信息.2006,22(8-2):68- 70.


[6]. 葛永明, 林继宝.嵌入式系统以太网接口的设计[J].电子技术应用.2002,3:25- 27.


[7].微计算机信息-嵌入式与SOC(中旬)

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户441255 2013-5-25 23:56

学习了
相关推荐阅读
用户1318081 2012-11-22 08:47
Altera Quartus II软件12.1版借助强大的高级设计流程,加速系统开发
Altera公司 (Nasdaq: ALTR) 今天宣布,推出Quartus® II 软件12.1 版——在CPLD、FPGA、SoC FPGA和HardCopy® ASIC设计方面,性能和效能在...
用户1318081 2012-11-17 23:26
介绍28nm创新技术,超越摩尔定律
在工艺方法基础上,Altera利用FPGA创新技术超越了摩尔定律,满足更大的带宽要 求,以及成本和功耗预算。Altera Stratix® V FPGA通过28-Gbps高功效收发器突破 了带...
用户1318081 2012-11-17 23:22
Altera与Northwest Logic联合开发RLDRAM 3存储器接口解决方案
Altera公司 (NASDAQ: ALTR)与FPGA高性能知识产权(IP)内核领先供应商Northwest Logic今天宣布,开始提供硬件成熟的1,600 Mbps低延时DRAM (RLDR...
用户1318081 2012-11-17 23:21
Altera电机控制开发工作台前所未有的提高系统集成度、可扩展的性能和灵活性
Altera公司(NASDAQ: ALTR)今天宣布,新的电机控制开发工作台前所未有的提高了电机控制系统设计的系统集成度和灵活性,而且性能还可以扩展,同时大幅度缩短开发时间,降低风险。工作台包括一...
用户1318081 2012-11-07 11:05
Altera OpenCL统一的异构编程
观看OpenCL怎样为异构计算提供统一的平台。在这一演示中,我们将为GPU编写的NVIDIA代码重新定位到Stratix V FPGA上。  ...
用户1318081 2012-11-07 10:58
Altera宣布业界首款支持FPGA的OpenCL工具——进一步加速了FPGA在异构系统中的应用
Altera公司 (NASDAQ: ALTR)今天宣布,提供FPGA业界的第一款用于OpenCL™ 的软件开发套件(SDK) (开放计算语言) 的软件开发套件,它结合了FPGA强大的并行体系结构以...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条