熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于S3C44B0X的嵌入式網絡通信研究

基于S3C44B0X的嵌入式網絡通信研究

時間:2008-06-16 10:14:00來源:ronggang

導語:?本文采用該處理器,使用到廣泛應用的源代碼公開的uClinux操作系統,實現CPU處理器與RTL8019AS以太網控制器網絡通信。對于網絡通信工程在嵌入式設備中的應用有很好的借鑒意義
摘要:S3C44B0X作為一款以ARM7TDMI為內核的微處理器,得到了廣泛的應用。本文采用該處理器,使用到廣泛應用的源代碼公開的uClinux操作系統,實現CPU處理器與RTL8019AS以太網控制器網絡通信。對于網絡通信工程在嵌入式設備中的應用有很好的借鑒意義。 關鍵詞:嵌入式系統; S3C44B0X;ARM 1.引言   ARM7TDMI是一種高性能,低功耗的RISC處理器核。采用該內核的S3C44B0X是一款集成了許多外圍設備的芯片,同時其性能價格比也是非常高的,非常適合做嵌入式產品的處理器。在眾多的嵌入式操作系統中,uClinux由于代碼開放性,適用于多種CPU和多種硬件平臺,以及強大的網絡功能,在中低端的嵌入式設備中有廣泛應用。   本文采用基于ARM核的S3C44B0X處理器,使用到廣泛應用的源代碼公開的uClinux操作系統,實現CPU處理器與RTL8019AS以太網控制器網絡通信。 2.以太網接口電路的設計思路與實現   從硬件的角度看,以太網接口電路主要由MAC控制器和物理層接口(Physical Layer, PHY)兩大部分構成。   RTL8019AS是臺灣readlted公司生產的以太網控制器,支持IEEE802.3;支持8位或16位數據總線;它內部集成了兩塊RAM,一塊16KB,地址為0x4000~0x7FFF;一塊32字節,地址為0x0000~0x001F。16K的RAM用作收發數據的緩沖區,一般將0x4000~0x46FF作為發送緩沖區,0x4700~0x7FFF作為接收緩沖區。全雙工模式時,收發同時達到10Mbps;支持10Base5、10Base2、10BaseT,并能自動檢測所連接的介質。   RTL8019AS與主機的接口模式有三種,(1)跳線模式 這種模式與早期的網絡控制器兼容。RTL8019AS的端口基地址、中斷口等都由開關或跳線器決定。跳線模式簡單,但配置資源麻煩。(2)PnP模式 與微軟的PnP協議兼容。在這種模式下,RTL8019AS的端口基地址、中斷口等都由EEPROM93C46設定,但需要進行PnP芯片的識別,不便與ARM接口。(3)RT模式為了避免PnP模式下的PnP芯片識別和配置過程, readlted公司提供RT模式。在RT模式下,RTL8019AS的端口基地址、中斷口等也是由EEPROM93C46決定的。   S3C4510B內嵌一個以太網控制器,支持MII和BDI接口,可在半雙工或全雙工模式下提供10M/100Mbps的以太網接入。在半雙工模式下,控制器支持CSMA/CD協議,在全雙工模式下支持IEEE802.3MAC控制層協議。因此,S3C4510B內部實際上已包含了以太網MAC控制,但并未提供物理層接口,故需外接一片物理層芯片,以提供以太網的接入通道。   物理層接口(PHY)完成所有輸入輸出數據的編碼解碼,10Base-T采用Manchester編碼;100Base-X采用4B/5B編碼;100Base-T4采用8B/6T編碼。在接收數據時,MII接收從前綴到末尾CRC的原始數據包。在發送數據時,MII給數據包加上前綴和末尾的CRC。MAC層同時還產生填充數據并傳給PHY。
圖1 以太網接口電路
  網絡電路如圖1所示,S3C44B0X使用nGCS2和數據地址總線訪問rtl8019的內部寄存器和緩沖區。TS6121是隔離變壓器,RJ45是網絡接口。 3. 協議分析   Linux下的TCP/IP網絡協議棧的各層之間是通過一系列互相連接層的軟件來實現Internet地址族的。INET socket為基于IP的協議TCP和UDP管理傳輸端點。UDP(用戶數據報協議)是一個無連接協議,而TCP(傳輸控制協議)是一個可靠的端對端協議。傳輸UDP包的時候,Linux不知道也不關心它們是否安全到達了目的地。TCP則不同。在TCP連接的兩端都需要加上一個編號,以保證傳輸的數據被正確接收。在IP層,實現了Internet協議代碼,這些代碼要給傳輸的數據加上一個IP頭,并且知道如何把傳入的IP包送給TCP或者UDP協議。在IP層以下,就是網絡設備來支持所有的Linux網絡工作,結構層次圖如圖2所示。
圖2 結構層次
4 socket編程   常用的socket類型有兩種:流式socket和數據報式socket。兩者的區別在于:前者對應于TCP服務,后者對應于UDP服務,主要包括以下函數:  ?。?) socket函數   Int socket( int family, int type, int protocol )   family指明協議族;type是套接口的類型; protocol通常設置為0;函數成功時返回一個小的非負整數值。   (2)connect函數   Int connect( int sockfd, const struct sockaddr* servaddr, socklen_t addrlen )   Sockfd由socket函數返回數值,servaddr是一個套接口地址結構的指針,addrlen是該結構的大小,該結構必須含有服務器的IP地址和端口號。   (3)bind函數   Int bind( int sockfd, const struct sockaddr* myaddr, socklen_t addrlen )   myaddr指向特定于協議地址結構的指針,addrlen是該地址結構的長度。對于TCP,調用函數bind可以指定一個端口,指定一個IP地址??梢詢烧叨贾付?,也可以一個也不指定。   (4)listen函數   Int listen( int sockfd, int backlog )   backlog規定了內核為此套接口排隊的最大連接個數,函數listen將未連接的套接口轉換成被動套接口,指示內核應接受指向此套接口的連接請求。根據TCP狀態轉換調用函數listen導致套接口從CLOSED狀態轉換到LISEN狀態。   (5)accept函數   int accept( int sockfd, struct sockaddr* cliaddr, socklen_t* addrlen )   cliaddr是返回的客戶端的協議地址, addrlen返回套接口地址結構的長度   accept函數由TCP服務器調用,從已完成連接隊列頭返回下一個已完成連接。若已完成連接隊列為空,則進程睡眠。   系統流程圖如圖3所示:
圖3 系統流程圖
5.結束語   本文理論聯系實際,主要介紹了RTL8019AS與S3C44B0X的網絡接口硬件電路的搭建,并實現了嵌入式系統下的軟件程序的設計,且通過驗證是正確的。對于在嵌入式設備中,特別是Linux的系統中網絡通信應用有重要的參考意義。 本文作者創新點:   1.硬件電路中采用RTL8019作為網絡接口,并實現了Linux下的網卡程序設計,且通過驗證是正確的   2.軟件系統模塊化,有很好的可移植性和擴展性。 參考文獻:   [1] 李崴巍.基于圖像的虛擬現實技術在駕駛模擬器中的應用[J]. 微計算機信息.2006,第9-2期. P230-232.   [2] 姜沫歧,林偉. Protel2004原理圖與PCB設計實例[M]. 機械工業出版社,2005.   [3] 吳明暉.基于ARM的嵌入式系統開發與應用[M].人們郵電出版社,2004.

標簽:

點贊

分享到:

上一篇:一起220kV母差保護故障分析

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 泰顺县| 饶平县| 临朐县| 新疆| 荣昌县| 灌阳县| 太和县| 金湖县| 琼中| 贡觉县| 桐庐县| 东明县| 姚安县| 营口市| 宽甸| 廉江市| 无极县| 罗甸县| 福泉市| 涟源市| 井冈山市| 忻州市| 宿州市| 老河口市| 泸定县| 稻城县| 福建省| 隆子县| 柳州市| 元朗区| 南乐县| 芦山县| 康保县| 应城市| 紫阳县| 尼玛县| 丹棱县| 惠东县| 沂南县| 胶州市| 朝阳市|