《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 基于LXT971A的嵌入式系統(tǒng)的網(wǎng)絡通訊設計

基于LXT971A的嵌入式系統(tǒng)的網(wǎng)絡通訊設計

2012-07-19
作者:楊悅梅 何 丹
來源:國外電子元器件
關(guān)鍵詞: 軟件 網(wǎng)絡通訊 LXT971A

   摘要:介紹LXT971A網(wǎng)絡通訊接口電路的內(nèi)部結(jié)構(gòu)和引腳功能,給出在嵌入式系統(tǒng)中采用LXT971A與MPC860型網(wǎng)絡通訊處理器進行網(wǎng)絡通訊的硬件接口實現(xiàn)方法,同時介紹基于嵌入式系統(tǒng)的服務器端的軟件編程。

    關(guān)鍵詞:嵌入式系統(tǒng) 網(wǎng)絡通訊 接口電路 處理器 服務器

1 概述

在嵌入式系統(tǒng)中,網(wǎng)絡通訊是非常重要而且必備的功能。為了充分發(fā)揮嵌入式系統(tǒng)中CPU的網(wǎng)絡控制功能,選擇一款合適 的網(wǎng)絡接口電路至關(guān)重要,LXT971A網(wǎng)絡通訊接口電路就是一個很好的選擇。LXT971A是Intel公司的網(wǎng)絡通訊接口電路,它符合IEEE標準,直接支持10Mb/s/100Mb/s雙絞線應用,也支持100Mb/s光纖接口;該電路提供的MII接口能很好的符合10/100Mb/s雙絞線應用,也支持100Mb/s光纖接口;該電路提供的MII接口能很好的符合10/100MACs。

圖1所示是LXT971A的內(nèi)部功能結(jié)構(gòu)框圖。

圖1

2 LXT971A的引腳功能

LXT971A具有64個引腳,其引腳排列如圖2所示。各引腳的功能如下:

·TXD0-TXD3是并行數(shù)據(jù)發(fā)送端口;

·TX_EN是發(fā)送使能端;

·TX_CLK是發(fā)送時鐘,速率為10Mb/s時為2.5MHz,速率為100Mb/s時為25MHz;

·TX_ER是錯誤數(shù)據(jù)發(fā)送端;

·RXD0-RXD3是并行數(shù)據(jù)接收端;

·RX_CLK是接收時鐘,速率為10Mb/s時為2.5MHz,速率為100Mb/s時為25MHz.

·RX_DV是接收數(shù)據(jù)正常指示端;

·COL是沖突檢測端;

·CRS是載波檢測端;

·MDDIS、MOC、MDIO、MDINT是MII控制信號端口;

·TPFOP、TPFON是網(wǎng)絡接口輸出正、負端口;

·TPFIP、TPFIN是網(wǎng)絡接口輸入正、負端口;

·SD/TP是TP選擇;

·TxSLEW0、TxSLEW1是TP驅(qū)動端;

·RESET是復位端;

·ADDR0-ADDR4是設備地址端口;

·RBIAS是偏置端;

·PAUSE是暫停端;

·SLEEP是休眠端;

·TEST0、TEST1是測試端,接地;

·REFCLK/XI、REFCLK/XO是晶振輸入、輸出端;

·TDI、TDO、TMS、TCK、TRST是JTAG測試端;

·LED/CFG1、LED/CFG2、LED/CFG3是LED驅(qū)動或配置輸入端。

3 硬件接口

在實際應用系統(tǒng)中,要實現(xiàn)LXT971A的網(wǎng)絡接口功能還要借助于MPC860型網(wǎng)絡通信處理器。LXT971網(wǎng)絡接口電路與MPC860網(wǎng)絡通信處理器是一種非常好的組合,以它們?yōu)楹诵呐玫木W(wǎng)絡產(chǎn)品有很好的實用性。筆者設計的硬盤錄像機和遠程電量采集器均是以MPC860為核心CPU,以LXT971為接口電路來實現(xiàn)的,實際應用中均取得了比較好的應用效果。

MPC860是Motorola公司推出的網(wǎng)絡通信處理器,其特點主要有:內(nèi)嵌PowerPC內(nèi)核;4kbyte指令緩沖和4kbyte數(shù)據(jù)緩沖;強有力的內(nèi)存控制和系統(tǒng)功能;高效的結(jié)構(gòu),可用一個獨立的RISC處理器處理通訊單元;可支持以太網(wǎng)、快速以太網(wǎng)、HDLC、ATM等;帶有8kB雙端口RAM;可提供50MHz、66MHz、80MHz頻率,采用357引腳BGA封裝;具有強大的第三方工具支持等。

SPC860與LXT971的接口采用標準的MII接口,SD/TP引腳接地,傳輸介質(zhì)可采用雙絞線。MPC860可通過MII接口初始化LXT971A,而不需要使用LXT971A中的JTAG口。它們的連接原理如圖3所示。

4 軟件設計

在筆者所開發(fā)的嵌入式系統(tǒng)中,MPC860所配置的操作系統(tǒng)為Nucleus PLUS實時嵌入式系統(tǒng)。該系統(tǒng)對網(wǎng)絡的出色支持能夠使MPC860與LXT971實現(xiàn)無縫連接,而軟件設計中,只需簡單調(diào)用操作系統(tǒng)中的MII_AutoNeg 0函數(shù)就可以完成初始化LXT971A的工作,進而快速地進行下一步的網(wǎng)絡應用編程。

該系統(tǒng)可支持TCP、UDP、RAW_IP3種接口編程方式。下面給出的是采用TCP方式的服務程序。

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

{

INT socketd,newsock; //套接字標識

Struct addr_struct *servaddr; //服務器地址結(jié)構(gòu)指針

unsigned int i;

VOID *pointer;

STATUS status;

Struct addr_struct client_addr;

NU_DEVICE devices[1];

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

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

if(NU_Init_Net(&Noncached_Memory=NUU_SUCC ESS) //初始化網(wǎng)絡模塊

{

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

}

memcpy(devices[0].dv_ip_addr,

serv_ip_addr,4);

//服務器IP地址拷貝到地址結(jié)構(gòu)中

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

//服務器子碼掩摸拷貝到地址結(jié)構(gòu)中

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

//服務器子碼掩拷貝到地址結(jié)構(gòu)中

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

//初始化網(wǎng)絡設備LXT971A

{

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

}

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

//創(chuàng)建套接字

{

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

//綁定服務器IP地址

{

status=NU_Listen(socketd,10);//偵聽

if(status==NU_SUCCESS)

{

for=(i=0;i

{

newsock=NU_Accept(socketd,&client_addr,0);//接地

if(newsock>=0)

{status=NU_Send_T0_Queue&socketQueue,(UNSIGNED*)&newsock,1,NU_SU SPEND}; //接收成功隊列發(fā)送

}

}

}

}

}

}

編程方式與Windows的網(wǎng)絡編程相似。

5 結(jié)束語

該設計應用廣泛,凡是對網(wǎng)絡通訊要求比較高的產(chǎn)品均可采用該設計。如用作監(jiān)控系統(tǒng)核心產(chǎn)品的硬盤錄像機DVR、10萬伏變電站上用的高端遠程電理采集器、電信網(wǎng)中的路由器等。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。