0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式系统中LXT971A型网络通讯接口电路的应用分析

电子设计 来源:国外电子元器件 作者:杨悦梅,何丹 2021-06-22 14:21 次阅读

介绍LXT971A型网络通讯接口电路的内部结构和引脚功能,给出在嵌入式系统中采用LXT971A与MPC860型网络通讯处理器进行网络通讯的硬件接口实现方法,同时介绍基于嵌入式系统的服务器端的软件编程

1 概述

在嵌入式系统中,网络通讯是非常重要而且必备的功能。为了充分发挥嵌入式系统中CPU的网络控制功能,选择一款合适 的网络接口电路至关重要,LXT971A网络通讯接口电路就是一个很好的选择。LXT971A是Intel公司的网络通讯接口电路,它符合IEEE标准,直接支持10Mb/s/100Mb/s双绞线应用,也支持100Mb/s光纤接口;该电路提供的MII接口能很好的符合10/100Mb/s双绞线应用,也支持100Mb/s光纤接口;该电路提供的MII接口能很好的符合10/100MACs。

图1所示是LXT971A的内部功能结构框图。

2 LXT971A的引脚功能

LXT971A具有64个引脚,其引脚排列如图2所示。各引脚的功能如下:

*TXD0-TXD3是并行数据发送端口

*TX_EN是发送使能端;

*TX_CLK是发送时钟,速率为10Mb/s时为2.5MHz,速率为100Mb/s时为25MHz;

*TX_ER是错误数据发送端;

*RXD0-RXD3是并行数据接收端;

*RX_CLK是接收时钟,速率为10Mb/s时为2.5MHz,速率为100Mb/s时为25MHz.

*RX_DV是接收数据正常指示端;

*COL是冲突检测端;

*CRS是载波检测端;

*MDDIS、MOC、MDIO、MDINT是MII控制信号端口;

*TPFOP、TPFON是网络接口输出正、负端口;

*TPFIP、TPFIN是网络接口输入正、负端口;

*SD/TP是TP选择;

*TxSLEW0、TxSLEW1是TP驱动端;

*RESET是复位端;

*ADDR0-ADDR4是设备地址端口;

*RBIAS是偏置端;

%26;#183

AUSE是暂停端;

*SLEEP是休眠端;

*TEST0、TEST1是测试端,接地;

*REFCLK/XI、REFCLK/XO是晶振输入、输出端;

*TDI、TDO、TMS、TCK、TRST是JTAG测试端;

*LED/CFG1、LED/CFG2、LED/CFG3是LED驱动或配置输入端。

3 硬件接口

在实际应用系统中,要实现LXT971A的网络接口功能还要借助于MPC860型网络通信处理器。LXT971网络接口电路与MPC860网络通信处理器是一种非常好的组合,以它们为核心弄好的网络产品有很好的实用性。笔者设计的硬盘录像机和远程电量采集器均是以MPC860为核心CPU,以LXT971为接口电路来实现的,实际应用中均取得了比较好的应用效果。

MPC860是Motorola公司推出的网络通信处理器,其特点主要有:内嵌PowerPC内核;4kbyte指令缓冲和4kbyte数据缓冲;强有力的内存控制和系统功能;高效的结构,可用一个独立的RISC处理器处理通讯单元;可支持以太网、快速以太网、HDLC、ATM等;带有8kB双端口RAM;可提供50MHz、66MHz、80MHz频率,采用357引脚BGA封装;具有强大的第三方工具支持等。

SPC860与LXT971的接口采用标准的MII接口,SD/TP引脚接地,传输介质可采用双绞线。MPC860可通过MII接口初始化LXT971A,而不需要使用LXT971A中的JTAG口。它们的连接原理如图3所示。

4 软件设计

在笔者所开发的嵌入式系统中,MPC860所配置的操作系统为Nucleus PLUS实时嵌入式系统。该系统对网络的出色支持能够使MPC860与LXT971实现无缝连接,而软件设计中,只需简单调用操作系统中的MII_AutoNeg 0函数就可以完成初始化LXT971A的工作,进而快速地进行下一步的网络应用编程。

该系统可支持TCP、UDP、RAW_IP3种接口编程方式。下面给出的是采用TCP方式的服务程序。

Void TCP_Server_Task(UNSIGNED argc,VOID *argv) //TCP服务器端任务

{

INT socketd,newsock; //套接字标识

Struct addr_struct *servaddr; //服务器地址结构指针

unsigned int i;

VOID *pointer;

STATUS status;

Struct addr_struct client_addr;

NU_DEVICE devices;

CHAR serv_in_addrp[]={192.168.1.1};//服务器(本机)IP地址

CHAR subnet[]={255,255,255,0};//子码掩摸

if(NU_Init_Net(%26;amp;Noncached_Memory=NUU_SUCC ESS) //初始化网络模块

{

DEMO_Exit(0); //不成功退出

}

memcpy(devices[0].dv_ip_addr,

serv_ip_addr,4);

//服务器IP地址拷贝到地址结构中

memcpy(devices[0].dv_subnet_mask,subnet,4);

//服务器子码掩摸拷贝到地址结构中

memcpy(devices[0].dv_subnet_mask,subnet,4);

//服务器子码掩拷贝到地址结构中

if(UN_Init_Devices(devices,1)!=NU_SUCCESS)

//初始化网络设备LXT971A

{

DEMO_Exit(0); //不成功退出

}

if((socketd=NU_Socket(NU_FAMILY_IP,NU_TYPE_STREAM,0))》=0)

//创建套接字

{

if((NU_Bind(socketd,servaddr,0))》=0)

//绑定服务器IP地址

{

status=NU_Listen(socketd,10);//侦听

if(status==NU_SUCCESS)

{

for=(i=0;i=0)

{status=NU_Send_T0_Queue%26;amp;socketQueue,(UNSIGNED*)%26;amp;newsock,1,NU_SU SPEND}; //接收成功队列发送

}

}

}

}

}

}

编程方式与Windows的网络编程相似。

5 结束语

该设计应用广泛,凡是对网络通讯要求比较高的产品均可采用该设计。如用作监控系统核心产品的硬盘录像机DVR、10万伏变电站上用的高端远程电理采集器、电信网中的路由器等。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18244

    浏览量

    222033
  • 嵌入式
    +关注

    关注

    4981

    文章

    18269

    浏览量

    288244
  • 接口
    +关注

    关注

    33

    文章

    7629

    浏览量

    148435
收藏 人收藏

    评论

    相关推荐

    ARM9嵌入式系统设计与开发教程

    以太网基础知识7.1.1 以太网技术及其嵌入式应用7.1.2 嵌入式系统主要处理的网络协议7.2 以太网
    发表于 01-05 15:01

    嵌入式基础教程之嵌入式系统组成

      硬件层以嵌入式微处理器为核心,包括存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)等组成
    发表于 06-28 13:59

    嵌入式LINUX的WEB传感器网络网关的设计

    输入和输出数据的作用。由于LXT972和AT91RM9200具有的EMAC都支持MII接口功能,根据信号的定义相连接即可。信号的发送和接收端通过网络隔离变压器和RJ45接口接入传输媒体
    发表于 07-15 14:13

    以太网接口怎么实现嵌入式系统网络互连?

    本文介绍了一个基于三星ARM9芯片S3C2440嵌入式系统的以太网接口电路设计方案,采用了工业级以太网控制器DM9000AEP成功实现了嵌入式
    发表于 04-13 08:29

    如何在ARM9开发板上实现基于嵌入式网关的嵌入式系统网络通讯

    本设计已在ARM9开发板上实现了基于嵌入式网关的嵌入式系统网络通讯
    发表于 06-04 06:27

    如何去实现一种嵌入式系统网络通讯的设计?

    LXT971A的引脚功能有哪些?嵌入式系统网络通讯的硬件设计嵌入式系统
    发表于 06-04 06:05

    如何从LAN8720的程序修改为LXT971A的程序

    RMII),主要讲解整个修改的过程,我的PHY芯片是LXT971A(只支持MII),下面讲解如何从LAN8720的程序修改为LXT971A的程序。1.修改LAN8720驱动程序主要是引脚,时钟的...
    发表于 08-05 07:02

    怎样从LAN8720的程序修改为LXT971A的程序呢

    怎样从LAN8720的程序修改为LXT971A的程序呢?有哪些具体操作?
    发表于 10-25 06:16

    网络通讯技术在嵌入式系统的应用是什么

    网络通讯技术在嵌入式系统的应用一、嵌入式系统的由来1.1
    发表于 12-14 07:13

    OEM嵌入式通讯模块介绍

    1OEM嵌入式通讯模块介绍OEM嵌入式通讯模块是一款适用于工业以太网和现场总线协议的嵌入式IC模块,利用该模块可快速又轻松地把您的设备集成到
    发表于 12-20 07:19

    嵌入式通讯接口对比

    1. 嵌入式通讯接口嵌入式系统,我们熟知的通讯
    发表于 01-14 07:25

    VxWorks下基于多任务的网络通讯

    文章讨论了在嵌入式实时操作系统VxWorks下实现网络通讯的方法。开始讨论了VxWorks下的多任务编程接口,接着介绍了使用客户V服务器模式进行Socket
    发表于 03-25 10:44 28次下载

    基于XML的印刷设备网络通讯接口的设计

    文章在分析目前数字化印刷需求的情况下,提出了以基于XML(Extensible Markup Language 可扩展的标记语言)的JDF(Job Definition Format 活件定义格式)为基准的印刷设备网络通讯接口
    发表于 08-25 09:07 17次下载

    基于uCLinux的嵌入式通讯的设计

    介绍了如何在嵌入式操作系统uCLinux 上进行嵌入设备通信程序的编写。同时介绍基于JUPITER 高效双以太网处理器,并辅以LXT971A 为以太网物理层
    发表于 09-18 10:55 12次下载

    基于LXT971A嵌入式系统网络通讯设计

       介绍LXT971A网络通讯接口电路的内部结构和引脚功能,给出在嵌入式系统
    发表于 12-03 15:41 55次下载