亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        TFTP以太網(wǎng)通信

        2013-08-07 02:56:06張希遙
        赤峰學院學報·自然科學版 2013年16期
        關(guān)鍵詞:鏈路層以太網(wǎng)數(shù)據(jù)包

        張希遙

        (南京曉莊學院,江蘇 南京 211171)

        1 引言

        自上世紀80年代至今,嵌入式系統(tǒng)的發(fā)展歷史已經(jīng)將近四十多年.如今,嵌入式系統(tǒng)依然在逐漸滲入我們生活的各個領(lǐng)域,小到簡單的單片機控制系統(tǒng),大到復(fù)雜的工業(yè)控制工程.無論是在民用還是軍用領(lǐng)域,無論是在日常生活還是在工農(nóng)業(yè)生產(chǎn)中隨處可以發(fā)現(xiàn)嵌入式系統(tǒng)的身影.本文介紹了一種基于S3C2410芯片,通過外擴以太網(wǎng)控制器CS8900來實現(xiàn)嵌入式設(shè)備與PC間TFTP通信的目的.

        2 以太網(wǎng)簡介

        以太網(wǎng)(Ethernet)是一種由XEROS公司開發(fā)的,當前世界范圍內(nèi)廣泛使用,采用采用共享總線型傳輸媒體結(jié)構(gòu)的局域網(wǎng).它采用基帶局域網(wǎng)碰撞檢測(CSMA/CD)機制,即載波監(jiān)聽多路存取機制.以太網(wǎng)普遍從IEEE802.3規(guī)范.

        以太網(wǎng)的傳輸方法,也就是以太網(wǎng)的介質(zhì)訪問控制(MAC)技術(shù),稱為載波監(jiān)聽多路存取和沖突檢測(CSMA/CD).其工作原理大致分為載波監(jiān)聽、信道忙碌、信道空閑、沖突檢測、遇忙停發(fā)、多路存取幾個步驟.

        2.1 TCP/IP協(xié)議

        TCP/IP采用分層結(jié)構(gòu),共分為4層,每層獨立完成指定功能:應(yīng)用層(第四層)(TFTP層),傳輸層(第三層)(UDP層),互聯(lián)層(第二層)(IP層),網(wǎng)絡(luò)接口層(第一層).

        2.2 TFTP協(xié)議

        TFTP(Trivial File Transfer Protocol)是傳輸文件的簡單協(xié)議的一種,同時也是一個基于UDP協(xié)議而實現(xiàn)的簡化的TCP/IP傳輸協(xié)議.支持用戶從遠程主機接收或向遠程主機發(fā)送文件.由于TFTP協(xié)議是基于UDP,而UDP協(xié)議依托IP,因此一個TFTP包的包格式如下:本地媒介頭,IP頭,數(shù)據(jù)報頭,TFTP頭和TFTP數(shù)據(jù).TFTP在IP頭當中并不會指定任何的數(shù)據(jù),但是它使用UDP中的源和目標端口以及包長度域.因為TFTP使用的包標記(TID)在這里被用做端口,因此TID的范圍必須介于0到65535之間.

        3 嵌入式處理器S3C2410簡介

        S3C2410是Samsung公司開發(fā)的一款利用ARM920T內(nèi)核和0.18um CMOS工藝的16/32位RISC微處理器,它適用于低成本、低功耗、高性能的手持設(shè)備或其它電子產(chǎn)品.S3C2410的工作主頻為203MHz,片上資源比較豐富,它集成了以下的通用的系統(tǒng)外設(shè)和接口:外部的SDRAM存儲控制器,LCD控制器,4通道的DMA,3通道UART,117個通用I/O口,24個外部中斷源,4個PWM時鐘和1個內(nèi)部時鐘,1個IIC和1個IIS總線控制器,3端口USB接口和一個看門狗時鐘,8通道10位ADC和觸摸屏接口,SD接口和MMC接口.

        4 CS8900A簡介

        CS8900A是一款16位以太網(wǎng)控制器,由美國CIRRUS LOGIC生產(chǎn).CS8900A性能優(yōu)良,成本低廉,工業(yè)級溫度范圍較廣,大約在-40~+80攝氏度之間;工作電壓為3.3V,功耗較低;這種高度集成的設(shè)計,使其適合作為智能嵌入設(shè)備網(wǎng)絡(luò)接口;由于采用Packet page結(jié)構(gòu)作為高速緩存,占用系統(tǒng)資源少,從而增加系統(tǒng)效率.對于沒有集成MAC控制器的嵌入式處理器來說,實現(xiàn)以太網(wǎng)通信的更為通用的方法就是使用以太網(wǎng)控制器.

        CS8900A有兩種操作模式,一種是I/O訪問模式,一種是內(nèi)存訪問模式.網(wǎng)卡芯片復(fù)位后默認工作方式為I/O連接.I/O端口基址為300H.CS8900支持8位模式,當讀寫16位數(shù)據(jù)時,高位字節(jié)依次對應(yīng)奇地址,低位字節(jié)依次對應(yīng)偶地址.

        CS8900A通常被S3C2410外擴為以太網(wǎng)通信模塊,擁有10Mb/s的傳輸速率.在電路接口中,CS8900通常工作在16位模式下,網(wǎng)卡芯片復(fù)位默認工作方式通常為I/O工作模式,寄存器的默認基地址為300H.在I/O工作模式下,訪問8個16位寄存器進行尋址用以訪問Packet page結(jié)構(gòu),地址映射表如表1所示.

        表1 I/O模式地址映射

        5 基于S3C2410的TFTP通信的實現(xiàn)

        5.1 硬件電路接口的實現(xiàn)

        由于S3C2410自身并沒有集成網(wǎng)絡(luò)MAC模塊,若要實現(xiàn)TCP/IP協(xié)議中的數(shù)據(jù)鏈路層的功能,就必須外擴CS8900A網(wǎng)絡(luò)芯片完成網(wǎng)絡(luò)底層的數(shù)據(jù)傳輸,.再以此為基礎(chǔ),根據(jù)TCP/IP協(xié)議編寫代碼解析數(shù)據(jù),完成相應(yīng)的網(wǎng)絡(luò)通信.

        CS8900與S3C2410簡單電路框圖如下圖所示.CPU的nGCS3連接CS8900的CHIPSEL引腳提供片選信號的同時也連接到AEN引腳,當AEN置低電平保證能夠在I/O模式下讀寫操作有效;中斷信號EINT9引腳接在了CS8900的第一個中斷引腳INTERQ0上;內(nèi)存讀寫nMEMR/W與I/O讀寫nIOR/W分別通過門電路對應(yīng)想連接提供讀寫使能信號;同時當addr24=1時,可以確保CS8900 I/O模式有效,并且MEM模式有效.S3C2410_NET的nOE和nWE分別與門電路nOE及nWE相連構(gòu)成一個”或“門電路.nGCS3的起始地址為0x18000000,其中CS8900上電后的基地址默認為300H.addr24被用來控制I/O或者MEM模式進行讀寫操作,當addr24置1,可以確保CS8900 I/O模式有效,并且MEM模式有效.所以會有0x19000000如下:

        門電路

        S3C2410與CS8900簡單電路框圖

        5.2 CS8900A的網(wǎng)絡(luò)層實現(xiàn)

        數(shù)據(jù)鏈路層:數(shù)據(jù)鏈路層主要進行收發(fā)底層數(shù)據(jù),它具體由CS8900實現(xiàn).

        網(wǎng)絡(luò)層:網(wǎng)絡(luò)層由IP協(xié)議來實現(xiàn),包括了ARP地址解析協(xié)議,具體實現(xiàn)了從IP地址到數(shù)據(jù)鏈路MAC地址的映像.

        互聯(lián)層:互聯(lián)層主要通過UDP和TCP來實現(xiàn),其目的是讓網(wǎng)絡(luò)程序通過明確定義的數(shù)據(jù)結(jié)構(gòu)獲得數(shù)據(jù).

        應(yīng)用層:通過以太網(wǎng)和TCP/IP進行數(shù)據(jù)傳輸,實現(xiàn)與以太網(wǎng)數(shù)據(jù)終端之間的交互通信.

        5.3 CS8900A初始化及收發(fā)數(shù)據(jù)流程

        系統(tǒng)上電工作之后,網(wǎng)卡芯片首先初始化四個寫寄存器,分別為:RXCTL、LINTCTL、RCCFG和BUSCT.數(shù)據(jù)發(fā)送時,寫控制寄存器TXCMD,TXLENG中寫入發(fā)送數(shù)據(jù)的長度,然后將依次將數(shù)據(jù)寫入PORT0口中,第一個字節(jié)寫入300H,第二個字節(jié)寫入301H,第三個字節(jié)寫入302H,以此類推.CS8900芯片將數(shù)據(jù)封裝為鏈路層類型,然后向網(wǎng)絡(luò)中添加填充位和CRC校驗.CPU查詢ISO數(shù)據(jù),一旦有數(shù)據(jù)到來,就讀取接收到的數(shù)據(jù)幀.其初始化程序主要有檢測芯片,設(shè)置Mac地址,定義存儲模式和內(nèi)存基址,提供中斷及配置芯片等步驟.

        CS8900的收發(fā)數(shù)據(jù)主要通過函數(shù)int CS_ReceivePacket和int CS_TransmitPacket實現(xiàn).發(fā)數(shù)據(jù)時,對控制寄存器TXCMD進行寫操作,向長度寄存器TXLENG中寫入發(fā)送數(shù)據(jù)長度,然后把數(shù)據(jù)依次寫入PORT0口.網(wǎng)卡芯片將數(shù)據(jù)封裝為鏈路層類型并添加填充位和CRC校驗送到網(wǎng)絡(luò),然后處理器再對ISO的數(shù)據(jù)進行查詢.當有數(shù)據(jù)來到后,讀取接收到的數(shù)據(jù)幀,處理器在讀數(shù)據(jù)時依次讀地址.

        5.4 TFTP的通信流程

        發(fā)送請求:PC向主機發(fā)出WRQ請求,收到一個確認能夠?qū)懗龅臄?shù)據(jù)包.在一般情況下,被確認的包的包號就包含在該包中.每個數(shù)據(jù)包都有一個從1開始且連續(xù)的塊號.然而WRQ包則較為特殊,其包號是0,在收到錯誤包的同時該請求會被拒絕.如果發(fā)送成功,則在文件名段指明要發(fā)送的文件名,在模式段寫入“OCTET”,表示用于傳輸文件,這種文件在源機上以8位格式存儲.然后,嵌入式設(shè)備向PC機發(fā)出確認包(ACK),并在數(shù)據(jù)塊段填充0.

        數(shù)據(jù)傳輸:PC對嵌入式設(shè)備發(fā)數(shù)據(jù)包,在數(shù)據(jù)塊段填充數(shù)據(jù)包的數(shù)據(jù)塊號.在數(shù)據(jù)段填充要發(fā)送的數(shù)據(jù).TFTP協(xié)議每次發(fā)送512B,附帶四個字節(jié)的報文信息,若包小于516時就代表它是最后一個包.當嵌入式設(shè)備收到數(shù)據(jù)包包后,會向PC發(fā)出確認包(ACK).最后,只需在數(shù)據(jù)塊段填充觀察所接收到的數(shù)據(jù)包的數(shù)據(jù)塊號,就可知道是否成功接收到這個數(shù)據(jù)包.

        5.5 TFTP的數(shù)據(jù)接收

        CS8900在收到數(shù)據(jù)包后,芯片將接收的數(shù)據(jù)包保存到內(nèi)存,它主要通過調(diào)用數(shù)據(jù)處理函數(shù)net_handle來實現(xiàn).并根據(jù)包的幀結(jié)果,依次調(diào)用arp_rcv_packet和ip_rcv_packet處理數(shù)據(jù)包.

        其中net_handle函數(shù)源代碼如下所示:

        該函數(shù)實際上是一個中斷,當CS8900接收到數(shù)據(jù)包時則產(chǎn)生該中斷進入net_handle函數(shù)進行數(shù)據(jù)處理.

        5.6 TFTP的實際測試

        將開發(fā)平臺利用網(wǎng)線通過集線器與PC連接,分配MAC地址和IP地址,使用PC機的ping程序測試,若其連接正常,則說明ARP,IP和ICMP協(xié)議正常.利用TFTP命令,將本機的TXT文件發(fā)送到嵌入式設(shè)備內(nèi)存空間的0x30008000處.利用網(wǎng)絡(luò)抓包軟件,觀察網(wǎng)絡(luò)數(shù)據(jù)包,結(jié)果符合TFTP通信流程.在嵌入式設(shè)備的內(nèi)存地址0x30008000處觀察數(shù)據(jù),結(jié)果數(shù)據(jù)與TXT文件內(nèi)容一致,則說明TFTP執(zhí)行正確,UDP協(xié)議正常.

        6 結(jié)束語

        本文主要介紹了S3C2410嵌入式以太網(wǎng)通信,以及CS8900A這一實時性強且可靠的以太網(wǎng)控制器的使用和工作模式.通過對CS8900進行直接一系列操作,實現(xiàn)數(shù)據(jù)鏈路層功能,最終完成嵌入式開發(fā)平臺的使用以及TFTP協(xié)議連接到以太網(wǎng)進行文件傳輸?shù)哪康?該方案在實際應(yīng)用中有著一定的應(yīng)用價值.

        〔1〕王興亮,高利平,等.通信系統(tǒng)概論.西安電子科技大學出版社,2008.

        〔2〕楊鑄,唐攀.深入淺出嵌入式底層軟件開發(fā).北京航空航天大學出版社,2011.

        〔3〕王黎明,陳雙橋等.ARM9嵌入式系統(tǒng)開發(fā)與實踐.北京航空航天大學出版社,2008.

        〔4〕王學龍.嵌入式Linux系統(tǒng)設(shè)計與應(yīng)用[M].北京:清華大學出版社,2001.

        〔5〕Cirrus Logic,Inc.CS8900A Product Data sheet.2001.

        〔6〕EduKit3ARM9_UserGuide_V3.0_cn.

        猜你喜歡
        鏈路層以太網(wǎng)數(shù)據(jù)包
        網(wǎng)絡(luò)傳輸融合及網(wǎng)絡(luò)安全防控技術(shù)研究
        基于多空間內(nèi)存共享的數(shù)據(jù)鏈路層網(wǎng)絡(luò)包捕獲方法
        基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計與實現(xiàn)
        SmartSniff
        談實時以太網(wǎng)EtherCAT技術(shù)在變電站自動化中的應(yīng)用
        電子制作(2017年24期)2017-02-02 07:14:44
        一種90W高功率以太網(wǎng)供電系統(tǒng)的設(shè)計
        淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
        數(shù)據(jù)鏈路層的選擇重傳協(xié)議的優(yōu)化改進
        基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計與實現(xiàn)
        IEEE 1394事務(wù)層接口的設(shè)計與實現(xiàn)
        人妻少妇中文字幕,久久精品 | 精选二区在线观看视频| 日产国产精品亚洲高清| 亚洲s色大片在线观看| 人妻av中文字幕无码专区| 亚洲日韩欧美一区二区三区| 国产一区二区一级黄色片| 娇小女人被黑人插免费视频| 97精品一区二区视频在线观看| 日韩在线免费| 亚洲高清在线视频网站| 激情精品一区二区三区| 黑人巨大精品欧美一区二区| 成年女人免费v片| 蜜桃视频网站在线免费观看| 无遮挡很爽很污很黄的女同| 少妇无码av无码专区| 国产哟交泬泬视频在线播放| 精品在线亚洲一区二区三区| 日产乱码一二三区别免费l| 无码人妻丰满熟妇片毛片| 精品久久亚洲一级α| 日韩一二三四区在线观看| 亚洲av永久无码天堂网小说区 | 国产一精品一av一免费爽爽| a国产一区二区免费入口| 国产aⅴ丝袜旗袍无码麻豆 | 男女男在线精品免费观看| 在线视频国产91自拍| 久久久午夜精品福利内容| 久久精品亚洲精品毛片| av毛片亚洲高清一区二区| 亚洲精品成人网站在线播放| 久久香蕉国产精品一区二区三| 性感人妻一区二区三区| 国产精品会所一区二区三区| 无码av免费一区二区三区| 亚洲色拍拍噜噜噜最新网站| 阴唇两边有点白是怎么回事| 精品人妻伦九区久久aaa片| 欧美日韩国产在线观看免费|