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

        ?

        基于S3C2410的TFTP以太網(wǎng)通信設(shè)計與實現(xiàn)

        2008-04-12 00:00:00潘永才
        現(xiàn)代電子技術(shù) 2008年6期

        摘 要:網(wǎng)絡(luò)功能現(xiàn)在已成為嵌入式系統(tǒng)中不可或缺的一部分。首先對ARM芯片S3C2410與網(wǎng)絡(luò)物理層芯片CS8900A的硬件接口電路的設(shè)計進行講解,然后重點介紹在該硬件基礎(chǔ)上的驅(qū)動程序的實現(xiàn)方法,實現(xiàn)嵌入式設(shè)備與PC機之間的TFTP通信,提供的一種基于TCP/IP協(xié)議的嵌入式設(shè)備以太網(wǎng)通信的解決方案,在嵌入式系統(tǒng)的網(wǎng)絡(luò)應(yīng)用中有較好的應(yīng)用價值。

        關(guān)鍵詞:S3C2410;CS8900A;嵌入式設(shè)備;以太網(wǎng);TFTP

        中圖分類號:TP368 文獻標識碼:B

        文章編號:1004-373X(2008)06-080-03

        Dedign and Realization of TFTP Ethernet Communication Based on S3C2410

        TIAN Mao,PAN Yongcai

        (Faculty of Physics and Electronic Engineering,Hubei University,Wuhan,430062,China)

        Abstract:Network function has became important part of the embedded system.The paper explains the design of interface circuit based on the arm chip S3C2410 and network physical layer chip CS8900,realizes the communication of TFTP between embedded equipment and PC machine by the solution of the driver programe based on CS8900A and S3C2410,provides the solution of Ethernet communication of embedded equipment based on the TCP / IP protocol.This design has a good value in the application of embedded system network.

        Keywords:S3C2410;CS8900A;embedded equipment;Ethernet;TFTP

        隨著半導體技術(shù)的飛速發(fā)展,嵌入式產(chǎn)品已經(jīng)廣泛應(yīng)用于軍事、消費電子、網(wǎng)絡(luò)通信、工業(yè)控制等各個領(lǐng)域,網(wǎng)絡(luò)化是嵌入式系統(tǒng)發(fā)展的必然趨勢。本文提供一種基于32位三星ARM9處理器S3C2410和CS8900A的嵌入式系統(tǒng)以太網(wǎng)通信的方案,實現(xiàn)了嵌入式設(shè)備與PC機之間的TFTP通信。

        1 ARM芯片S3C2410簡介

        S3C2410是Samsung公司推出的16/32位RISC處理器,為手持設(shè)備和一般類型的應(yīng)用提供了低價格、低功耗、高性能小型微控制器的解決方案。S3C2410采用ARM920T內(nèi)核,工作主頻為203 MHz,具有豐富的片上資源,包括1個LCD控制器(支持STN和TFT帶有觸摸屏的液晶顯示器)、SDRAM控制器、3個通道的UART、4個通道的DMA、4個具有PWM功能的計時器和1個內(nèi)部時鐘、8通道的10位ADC、觸摸屏接口、I2C總線接口、1個USB主機接口,1個USB設(shè)備接口、2個SPI接口、SD接口和MMC卡接口、117個通用I/O口和24個外部中斷源。

        2 CS8900A簡介

        CS8900A是Cirrus Logic 公司提供的一款性能優(yōu)良的16位以太網(wǎng)控制器 ,除了具備其他以太網(wǎng)控制芯片所具有的一些基本功能外,還有他的獨特優(yōu)點:工業(yè)級溫度范圍(- 40~+80 ℃);3.3 V 工作電壓,功耗低;高度集成的設(shè)計,使用CS8900A可以將一個完整的以太網(wǎng)電路設(shè)計電路最小化,適合作為智能嵌入設(shè)備網(wǎng)絡(luò)接口;獨特的PacketPage 結(jié)構(gòu),可自動適應(yīng)網(wǎng)絡(luò)通信模式的改變,占用系統(tǒng)資源少,從而增加系統(tǒng)效率。在嵌入式系統(tǒng)網(wǎng)絡(luò)接口設(shè)計中,CS8900A 一般用作I/O 模式,其特點是占用系統(tǒng)資源少,硬件連接方便。

        2.1 I/O模式下的寄存器與尋址

        在I/O模式下,通過訪問8個16位的寄存器來訪問PacketPage結(jié)構(gòu),這8個寄存器被映射到2410地址空間的16個連續(xù)地址。當CS8900A上電后,寄存器默認的基址為0x300h。如表1所示。

        2.2 I/O模式下讀寫操作流程

        在讀寫操作過程中,AEN管腳必須設(shè)置為低電平。讀操作時,IOR管腳設(shè)置為低電平;寫操作時,IOW管腳設(shè)置為低電平。

        表1 I/O模式地址映射

        2.2.1 寫操作流程

        I/O模式的寫操作流程如下:

        (1) 將發(fā)送指令寫入TxCMD寄存器,將發(fā)送數(shù)據(jù)幀的長度寫入TxLength寄存器中;

        (2) 使用PacketPagePointer和PacketPageData Port寄存器訪問PacketPage結(jié)構(gòu)中的BusST寄存器,判斷發(fā)送緩沖區(qū)是否可用;

        (3) 使用Receive/Transmit Data Port寄存器,將待發(fā)送的數(shù)據(jù)幀寫入發(fā)送緩沖區(qū)。

        2.2.2 讀操作流程

        I/O模式的讀操作流程如下:

        (1)當CS8900收到數(shù)據(jù)幀時,觸發(fā)接收中斷更新對應(yīng)狀態(tài)寄存器;

        (2)使用Interrupt Status Queue寄存器訪問PacketPage結(jié)構(gòu)中對應(yīng)的狀態(tài)寄存器判斷接收狀態(tài);

        (3) 使用Receive/Transmit Data Port寄存器,讀出接收緩沖區(qū)的數(shù)據(jù)。

        3 網(wǎng)絡(luò)接口的實現(xiàn)

        由于S3C2410本身沒有集成網(wǎng)絡(luò)MAC模塊,所以用外擴CS8900A 網(wǎng)絡(luò)芯片完成網(wǎng)絡(luò)底層的數(shù)據(jù)傳輸,以實現(xiàn)TCP/IP協(xié)議中的數(shù)據(jù)鏈路層的功能。在此基礎(chǔ)上,根據(jù)TCP/IP協(xié)議編寫代碼解析數(shù)據(jù),完成網(wǎng)絡(luò)通信。

        硬件電路原理圖如圖1所示。

        3.1 數(shù)據(jù)鏈路層

        數(shù)據(jù)鏈路層由CS8900A實現(xiàn),完成底層數(shù)據(jù)的收發(fā)。

        CS8900A片選信號AEN連接到達到nGCS3,I/O模式下的nOE和nWE通過門電路連接到A24,中斷信號INTRQ0連接到EINT9。硬件原理圖決定在S3C2410的地址空間中,CS8900A的基地址為x19000000。在I/O模式下,CS8900A的內(nèi)部寄存器默認基地址為0x300h,在S3C2410的地址空間中的地址為 0x19000300。S3C2410通過操作這些寄存器,完成底層數(shù)據(jù)的接收和發(fā)送,實現(xiàn)數(shù)據(jù)鏈路層。CS8900的程序流程如圖2所示:

        3.2 網(wǎng)絡(luò)層

        網(wǎng)絡(luò)層實現(xiàn)IP協(xié)議,提供ARP地址解析協(xié)議,實現(xiàn)從IP地址到數(shù)據(jù)鏈路物理地址的映像。

        3.3 傳輸層

        實現(xiàn)UDP和TCP協(xié)議,讓網(wǎng)絡(luò)程序通過明確定義的數(shù)據(jù)結(jié)構(gòu)獲得數(shù)據(jù)。

        3.4 應(yīng)用層

        通過以太網(wǎng)和TCP/IP傳輸數(shù)據(jù),實現(xiàn)與Ethernet的數(shù)據(jù)終端的交互通信。

        4 TFTP的實現(xiàn)

        TFTP(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)是TCP/IP協(xié)議族中的一個用來在客戶機與服務(wù)器之間進行簡單文件傳輸?shù)膮f(xié)議,提供不復(fù)雜、開銷不大的文件傳輸服務(wù)。

        4.1 TFTP數(shù)據(jù)幀的格式簡介

        TFTP使用UDP,而UDP使用IP。因此一個TFTP包中會有以下幾段:本地媒介頭、IP頭、數(shù)據(jù)報頭、TFTP頭、TFTP數(shù)據(jù)。TFTP在IP頭中不指定任何數(shù)據(jù),但是他使用UDP中的源和目標端口以及包長度域。TFTP頭中包括2個字節(jié)的操作碼,這個碼指出了包的類型。其幀格式如圖3所示:

        4.2TFTP通信流程

        PC機與S3C2410的嵌入式設(shè)備的TFTP通信流程包括以下2個階段:

        (1) 發(fā)送寫請求階段

        PC機向嵌入式設(shè)備發(fā)出WRQ包,并在filename段指明要發(fā)送的文件名,在Mode段填充“OCTET”,表示用于傳輸文件,這種文件在源機上以8位格式存儲。

        嵌入式設(shè)備收到WRQ包后,向PC機發(fā)出ACK包,并在block number段填充0。

        (2) 數(shù)據(jù)傳輸階段

        PC機向嵌入式設(shè)備發(fā)出data包,在block number段填充數(shù)據(jù)包的數(shù)據(jù)塊號。在data段填充要發(fā)送的數(shù)據(jù)。如果數(shù)據(jù)域是512 B則他不是最后一個包,如果小于512 B則表示這個包是最后一個包。

        嵌入式設(shè)備收到data包后,向PC機發(fā)出ACK包。在block number段填充接收到的數(shù)據(jù)包的數(shù)據(jù)塊號,表示成功接收該數(shù)據(jù)包。

        4.3 TFTP數(shù)據(jù)的接收與解析

        CS8900收到包后調(diào)用net_handle函數(shù)將收到的包保存到內(nèi)存。根據(jù)包的幀結(jié)果,分別調(diào)用arp_rcv_packet和ip_rcv_packet處理數(shù)據(jù)包。net_handle函數(shù)的源碼如下所示:

        int net_handle(void)

        {

        Struct sk_buff *skb;

        Struct ethhdr *eth_hdr;

        Skb=alloc_skb(ETH_FRAME_LEN);

        if(eth_rcv(skb) !=-1 )

        {

        Eth_hdr = (struct ethhdr *)(skb->data);

        Skb_pull(skb,ETH_HLEN);

        If (ntohs(eth_hdr->h_proto)==ETH_P_ARP)

        arp_rcv_packet(skb);

        else if(ntohs(eth_hdr->h_proto)==ETH_P_IP)

        ip_rcv_packet(skb);

        }

        free_skb(skb);

        Return 0;

        }

        4.4 TFTP的實際測試

        將嵌入式設(shè)備與本地局域網(wǎng)聯(lián)通,并分配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é)議正常。

        5 結(jié) 語

        本文詳細介紹了基于S3C2410的 嵌入式設(shè)備的以太網(wǎng)通信方案,由于采用高性能的工業(yè)級以太網(wǎng)控制器CS8900A,網(wǎng)絡(luò)通訊快速可靠,具有很高的實時性。該方案通過直接操作CS8900A,完成了數(shù)據(jù)鏈路層功能,最終完全實現(xiàn)嵌入式設(shè)備使用TCP/IP協(xié)議接入到以太網(wǎng)。 方案的代碼可以為Linux或Wince等嵌入式操作系統(tǒng)的以太網(wǎng)驅(qū)動部分提供參考,便于嵌入式系統(tǒng)實現(xiàn)上網(wǎng)功能。在實際應(yīng)用中,該方案有較好的推廣價值。

        參考文獻

        [1]胥靜.嵌入式系統(tǒng)設(shè)計與開發(fā)詳解[M].北京:北京航空航天大學出版社,2005.

        [2]徐良賢.計算機網(wǎng)絡(luò)與互聯(lián)網(wǎng)[M].北京:電子工業(yè)出版社,1998.

        [3]Cirrus Logic,Inc.CS8900A Product Datasheet.2001.

        [4]SΛMSUNG Electronics,Inc.S3C2410X User′s Manual,2003.

        作者簡介 田 茂 講師, 碩士。主要研究方向為接口技術(shù)與嵌入式系統(tǒng)。

        免费的一级毛片| 亚洲av无码国产精品色午夜字幕| 黑人巨大精品欧美一区二区| 一级免费毛片| 伊人不卡中文字幕在线一区二区 | 一进一出一爽又粗又大| 国产精品高潮呻吟av久久无吗| 在线a人片免费观看高清| 日韩精品免费av一区二区三区 | 国产小视频一区二区三区| 免费一区二区三区女优视频| 国产午夜成人av在线播放| 久久精品日韩av无码| 国产在线观看精品一区二区三区| 亚洲不卡在线免费视频| 影音先锋男人av鲁色资源网| 在线观看欧美精品| 综合激情中文字幕一区二区| 中国人在线观看免费的视频播放| 亚洲精品乱码久久久久久金桔影视| 国产人成无码视频在线| 手机在线观看成年人视频| 超碰国产精品久久国产精品99| 人妻激情另类乱人伦人妻| 亞洲綜合一區二區三區無碼| 亚洲国产都市一区二区| 美女视频黄是免费| 国产乱人伦av在线无码| 色婷婷丁香综合激情| 在线成人影院国产av| 国产青榴视频在线观看| 96免费精品视频在线观看| 白白白色视频在线观看播放 | 国内精品久久久久久中文字幕| 国产在线欧美日韩精品一区二区 | 最新在线观看精品国产福利片| 精品人妻码一区二区三区红楼视频| 九九久久99综合一区二区| 国产高清无码在线| 日本一二三区在线视频观看 | 国产成av人在线观看|