999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

TFTP以太網通信

2013-08-07 02:56:06張希遙
赤峰學院學報·自然科學版 2013年16期
關鍵詞:嵌入式

張希遙

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

1 引言

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

2 以太網簡介

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

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

2.1 TCP/IP協議

TCP/IP采用分層結構,共分為4層,每層獨立完成指定功能:應用層(第四層)(TFTP層),傳輸層(第三層)(UDP層),互聯層(第二層)(IP層),網絡接口層(第一層).

2.2 TFTP協議

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

3 嵌入式處理器S3C2410簡介

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

4 CS8900A簡介

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

CS8900A有兩種操作模式,一種是I/O訪問模式,一種是內存訪問模式.網卡芯片復位后默認工作方式為I/O連接.I/O端口基址為300H.CS8900支持8位模式,當讀寫16位數據時,高位字節依次對應奇地址,低位字節依次對應偶地址.

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

表1 I/O模式地址映射

5 基于S3C2410的TFTP通信的實現

5.1 硬件電路接口的實現

由于S3C2410自身并沒有集成網絡MAC模塊,若要實現TCP/IP協議中的數據鏈路層的功能,就必須外擴CS8900A網絡芯片完成網絡底層的數據傳輸,.再以此為基礎,根據TCP/IP協議編寫代碼解析數據,完成相應的網絡通信.

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

門電路

S3C2410與CS8900簡單電路框圖

5.2 CS8900A的網絡層實現

數據鏈路層:數據鏈路層主要進行收發底層數據,它具體由CS8900實現.

網絡層:網絡層由IP協議來實現,包括了ARP地址解析協議,具體實現了從IP地址到數據鏈路MAC地址的映像.

互聯層:互聯層主要通過UDP和TCP來實現,其目的是讓網絡程序通過明確定義的數據結構獲得數據.

應用層:通過以太網和TCP/IP進行數據傳輸,實現與以太網數據終端之間的交互通信.

5.3 CS8900A初始化及收發數據流程

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

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

5.4 TFTP的通信流程

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

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

5.5 TFTP的數據接收

CS8900在收到數據包后,芯片將接收的數據包保存到內存,它主要通過調用數據處理函數net_handle來實現.并根據包的幀結果,依次調用arp_rcv_packet和ip_rcv_packet處理數據包.

其中net_handle函數源代碼如下所示:

該函數實際上是一個中斷,當CS8900接收到數據包時則產生該中斷進入net_handle函數進行數據處理.

5.6 TFTP的實際測試

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

6 結束語

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

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

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

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

〔4〕王學龍.嵌入式Linux系統設計與應用[M].北京:清華大學出版社,2001.

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

〔6〕EduKit3ARM9_UserGuide_V3.0_cn.

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 国产无码制服丝袜| 国产老女人精品免费视频| 永久免费精品视频| 亚洲国产一区在线观看| 国产在线视频自拍| 男女猛烈无遮挡午夜视频| 伊人婷婷色香五月综合缴缴情| 亚洲精品不卡午夜精品| 99成人在线观看| 2021亚洲精品不卡a| 国产真实乱人视频| 色天天综合| 在线欧美a| 91亚洲精品国产自在现线| 色婷婷在线播放| 免费不卡视频| 在线精品视频成人网| 亚洲人成在线免费观看| 国产精品一区在线观看你懂的| 日本欧美成人免费| 国产精品林美惠子在线播放| 四虎免费视频网站| 无码专区在线观看| 成人在线亚洲| 久久99国产精品成人欧美| 国产精品19p| 久久99国产精品成人欧美| 国产在线拍偷自揄拍精品| 国产免费人成视频网| 久久不卡精品| 亚洲精品中文字幕午夜| a级毛片视频免费观看| 国产欧美视频综合二区| 五月丁香伊人啪啪手机免费观看| 亚洲三级视频在线观看| 亚洲天堂日韩在线| 国产一级毛片网站| 国产91视频免费| 88国产经典欧美一区二区三区| 岛国精品一区免费视频在线观看| 欧美中文字幕一区| 国产成人高清精品免费软件| 亚洲欧洲日韩综合色天使| 国产精品国产主播在线观看| 国产精品无码影视久久久久久久| 欧美啪啪视频免码| 视频二区国产精品职场同事| a网站在线观看| 免费在线成人网| 免费看久久精品99| 日韩免费毛片视频| 一区二区日韩国产精久久| 久久香蕉欧美精品| 一区二区日韩国产精久久| 亚卅精品无码久久毛片乌克兰| 亚洲综合18p| 亚洲国产成人精品无码区性色| 成人一级免费视频| 欧美色99| 91在线国内在线播放老师| 国产在线专区| 高潮爽到爆的喷水女主播视频 | 中文字幕色站| 久久精品丝袜| 综合色在线| 亚洲天堂视频网站| 玩两个丰满老熟女久久网| 91国内在线视频| 波多野结衣久久精品| 国产成人区在线观看视频| 亚洲浓毛av| 国产精品手机在线播放| 亚洲无码高清一区| 国产免费久久精品44| 中日无码在线观看| 国内精品手机在线观看视频| 久久久久国产精品熟女影院| 成人国产三级在线播放| 国产自在自线午夜精品视频| 婷婷六月综合| 亚洲欧美日韩天堂| 日韩小视频在线播放|