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

发布者:码农创想家最新更新时间:2012-08-27 来源: 微计算机信息 关键字:LPC2368  网络接口  ARM  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 软件实现过程

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

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

4.1 以太网工作原理

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

2:标准的以太帧格式

同步位

分隔位

目的地址

源地址

帧类型

数据段

填充

校验位

56Bit

8Bit

48Bit

48Bit

16Bit

<1500Byte

可选

32Bit

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

4.2 发送与接收数据帧

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

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

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

图3 发送数据帧流程图

图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(中旬)

关键字:LPC2368  网络接口  ARM  DP83848C 引用地址:基于ARM-LPC2368的网络接口的设计与实现

上一篇:LPC2131基于CPLD的CAN接口设计
下一篇:基于LPC2132的U盘软硬件系统设计

推荐阅读最新更新时间:2024-03-16 13:06

基于ARM Cortex—M3的无线通信系统电路模块设计
  设计一个可以实现短信收发与数据无线传输的模块的要求,本文采用了ARM Cortex—M3内核的主流产品STM32作为主控芯片,采用SIMCom公司的SIM900A作为通信芯片。在查阅大量相关文献以及相关芯片的数据手册之后,本文设计了一个远程无线通信模块。该模块在实验室试运行一周后,没有出现掉线的情况,数据收发的速度也很快。该模块具有性能稳定,外形小巧,性价比高等优点。厂方投入使用之后,反应良好。   无线通信模块整体设计方案   模块主要有电源部分、主控部分、通信部分、数据传输部分4个部分组成。通信模块采用SIM900A进行无线通信。主控模块采用STM32作为主控芯片,来控制短信的收发与数据传输的顺利进行。远程终端可以是手
[单片机]
基于<font color='red'>ARM</font> Cortex—M3的无线通信系统电路模块设计
ARM常用的伪指令
1、 AREA AREA 伪指令用于定义一个代码段或数据段。 语法格式: AREA 段名 属性 1 ,属性 2 ,…… 其中,段名若以数字开头,则该段名需用 “ | ” 括起来,如 |1_test| 。 属性字段表示该代码段(或数据段)的相关属性,多个属性用逗号分隔。常用的属性如下: — CODE 属性:用于定义代码段,默认为 READONLY 。 — DATA 属性:用于定义数据段,默认为 READWRITE 。 — READONLY 属性:指定本段为只读,代码段默认为 READONLY 。 — READWRITE 属性:指定本段为可读可写,数据段的默认属性为 READWRITE 。 — ALI
[单片机]
评论:英特尔支持Android之举打乱微软阵脚
  英特尔已将Google的Android手机软件栈用于基于Atom微处理器的智能手机设计,这一消息也可能是打破Windows和ARM处理器僵局的一个信号。   也许英特尔这一举动已让微软措手不及,或者是英特尔在回应微软某种未公开的举动?但英特尔和谷歌Android拿什么与微软全面的Windows操作系统和ARM来抗衡?我似乎听到了读者的疑问?   往常人们都认为英特尔和微软彼此之间有默契:英特尔不会支持Android,只要微软公司不扩展对ARM硬件的支持。   这样的默契是否合法呢?在过去,我们已经看到太多起诉市场垄断的诉讼案例,但我现在不能肯定这一点。如果没有白纸黑字写下来、没有正式的协议,这似乎也没有问题。   但是
[手机便携]
ARM笔记: NAND Flash程序
.text .global _start _start: ldr sp,=4096 bl disable_watch_dog bl memsetup bl nand_init ldr r0,=0x30000000 mov r1,#4096 mov r2,#2048 bl nand_read ldr sp,=0x34000000 ldr lr,=halt_loop ldr pc,=main halt_loop: b
[单片机]
ARM汇编:左移shl、右移shr指令用法!
shl和shr是逻辑移位指令。 1.shl是逻辑左移指令,它的功能为: (1)将一个寄存器或内存单元中的数据向左移位; (2)将最后移出的一位写入CF中; (3)最低位用0补充。 指令: mov al,01001000b shl al,1 ;将al中数据左移一位 执行后(al)=10010000b,CF=0。 注意: 如果移动位数大于1时,必须将移动位数放在cl中。 比如,指令: mov al,01010001b mov cl,3 shl al,cl 执行后(al)=10001000b,因为最后移出的一位是0,所以CF=0。 2.shr是逻辑右移指令,它和shl所进
[单片机]
基于ARM和加速度传感器的电子画笔设计
  《电子技术应用》2007年第3期王 玺1, 李伟为 2   西南科技大学 制造学院党政办, 四川 绵阳 6210102008-01-18    摘 要: 介绍了当前不同类型的电子笔,比较了它们之间的优缺点并应用微控制器ADuC7022、三轴低量级加速度传感器MA7260Q和无线USB接口芯片CYRF6934实现了基于空间加速度计算的无线电子画笔的设计。    关键词: ADuC7022 加速度 无线USB 电子笔      随着计算机的普及,电子笔作为新兴的人机交互工具发展迅速。在国内,汉王公司在手写识别方面一直居领先地位,引领着国内电子笔的发展。国外则将笔迹与办公软件关联起来,建立了数字墨水的概念。2001年6月,
[工业控制]
ARM Cortex-M3 学习笔记(6)
最近在学ARM Cortex-M3,找了本号称很经典的书 An Definitive Guide to The ARM Cortex-M3 在看。这个系列学习笔记其实就是在学习这本书的过程中做的读书笔记。 第六章 Cortex-M3的全景概貌 这一章的内容大体有个了解就行了,后面章节中会对这里讲到的各个部分深入讲解。 3级流水线,流水线的3个级分别是:取指,解码和执行 Cortex M3 内部构成可以用下面的这个框图来说明。 图 1 Cortex-M3内部框图 各个部件的简单介绍如下。 NVIC:嵌套向量中断控制器 SYSTICK Timer:一个简易的周期定时器,用于提供时基,亦被操作系统所使用
[单片机]
<font color='red'>ARM</font> Cortex-M3 学习笔记(6)
基于ARM的医用数据采集系统的人机接口设计
引言   医用数据采集系统能够为医务人员及时有效的提供患者的第一手数据,有助于加强医院的现代化信息管理和提高工作效率。而在家庭保健方面,它能够满足人们在快节奏的工作生活中及时准确的获知自身及家人的健康状况。在设备的日常使用中,良好的人机 接口 设计,也将为设备使用人员节约大量的时间并提供极大的便捷。本文主要以 LM3S3748 为核心,并采用TFT液晶作为系统的显示设备,而用 触摸屏 和手柄控制器作为系统的控制设备,介绍了其人机接口的设计方法。 1 系统硬件设计   系统人机接口主要包括TFT液晶、触摸屏和手柄控制器,其结构框图如图1所示。其中TFT液晶亮度好,对比度高,层次感强,颜色鲜艳,因此,在不考虑耗电的情况下,T
[医疗电子]
基于<font color='red'>ARM</font>的医用数据采集系统的人机<font color='red'>接口</font>设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved