《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種基于W5100的數據傳輸系統
一種基于W5100的數據傳輸系統
來源:電子技術應用2013年第9期
陳 實1,2,王 琪1,2,張鐵軍2,王東輝2,侯朝煥2
1.中國科學院大學,北京100049; 2.中國科學院聲學研究所,北京100190
摘要: 設計了一種基于TCP/IP通信協議、使用以太網控制器芯片W5100與ARM內核芯片AT91SAM7SE實現的數據傳輸系統。介紹了系統的硬件設計、接口時序以及軟件流程。設計提出對W5100與AT91SAM7SE的硬件接口采用直接總線連接模式,軟件操作采用直接總線連接模式與間接總線連接模式相混合的方式,以達到高速傳輸的目的。
關鍵詞: ARM W5100 TCPIP 數據傳輸
中圖分類號: TP3
文獻標識碼: A
文章編號: 0258-7998(2013)09-0054-03
A data transfer system based on W5100
Chen Shi1,2,Wang Qi1,2,Zhang Tiejun2,Wang Donghui2,Hou Chaohuan2
1.University of Chinese Academy of Sciences,Beijing 100049,China; 2.Institute of Acoustics,Chinese Academy of Sciences,Beijing 100190,China
Abstract: A data transfer system is introducesd in this paper,that is based on TCP/IP protocols and using Ethernet controller W5100 and AT91SAM7SE which combines an ARM core. This paper describes the system′s hardware design, interface timing as well as the software flow. In order to achieve high speed transmission, the interface between W5100 and AT91SAM7SE is direct bus interface mode, and the software operation is based on direct bus interface mode mixed with indirect bus interface mode.
Key words : W5100;TCP/IP;data transfer

    在諸多應用中[1]都需要對終端提供大量數據流[2]。使用數據傳輸系統進行傳輸能夠根據終端需求動態提供數據,并且數據傳輸系統能夠針對不同終端的接口時序進行靈活調整[3]。本設計提出一種基于TCP/IP通信協議、使用以太網控制器芯片W5100ARM內核芯片實現的數據傳輸系統。本系統能夠將PC上的文件數據連續地傳輸給終端,并且針對終端接口的多樣性特點,能夠通過簡單的編程進行調整,以完成相同的數據傳輸功能。本文針對終端具有數據緩沖隊列FIFO的情況闡述本系統的硬件設計、接口時序以及軟件流程。對于不同終端,本系統只需經過少量的軟件修改就可達到數據傳輸的目地。

1 以太網控制器芯片W5100
    以太網控制芯片W5100是WIZnet公司推出的一款單片網絡接口芯片[4]。W5100內部集成了傳輸層、網絡層TCP/IP協議棧與數據鏈路層及介質訪問子層MAC協議。這使得通過W5100進行以太網通信時,各層協議對設計者而言都是透明的。設計者不需要借助操作系統,只需要通過W5100的地址線、數據線對其內部寄存器進行簡單的讀寫訪問,就能靈活方便地控制W5100進行以太網通信。W5100還集成了物理層PHY并支持信號極性自適應,這使得在硬件設計中,只需要在W5100外部使用一個帶有網絡變壓器的RJ45座HR911103C,就可以實現其與PC通信。故本設計中選擇W5100實現以太網通信,既保證了接口簡單,又使得開發周期短。
    本設計中,對W5100供給3.3 V與1.8 V兩種電源電壓。為了保證信號完整性,降低干擾,兩種電源電壓分別劃分為數字網絡與模擬網絡,網絡之間使用電感隔離;其地平面也分為數字地與模擬地,網絡之間使用鐵心磁珠隔離。W5100使用直接總線連接模式,其15 bit地址線與8 bit數據線與ARM芯片的通用I/O連接;W5100的控制線/CS、/WR、/RD、/RESET也直接與ARM芯片的通用I/O連接。由此實現ARM芯片對W5100的控制。W5100的SPI接口中的SEN、SCLK、MISO接固定電壓數字0 V,/SCS接固定電壓數字3.3 V,MISO保持懸空,由此屏蔽SPI接口。
2 ARM內核芯片AT91SAM7SE
    AT91SAM7SE是Atmel公司的一款基于ARM7內核的處理器[5]。在本系統中,其作為MCU,完成對W5100一側的讀寫訪問,并完成對終端一側的數據轉發。AT91SAM7SE具有豐富的通用I/O管腳,能保證整個系統的靈活性。AT91SAM7SE使用 55.296 MHz作為主時鐘MCK、處理器時鐘PCK。
3 硬件設計與接口時序
3.1 硬件設計

    W5100與AT91SAM7SE在硬件設計中采用直接總線連接模式,可以同時兼容間接總線連接模式。這樣設計是為了能夠在連續訪問發送存儲器、接收存儲器時工作于間接總線模式,使用W5100的地址自增功能;并且在非連續訪問時工作于直接總線模式,減少讀寫時序,以提高傳輸速率。
    AT91SAM7SE與W5100之間的接口、AT91SAM7SE與終端之間的接口以及硬件設計的總體框圖如圖1所示。

3.2 AT91SAM7SE與W5100間接口時序
    當AT91SAM7SE在/RESET線上輸出低電平2 ?滋s及以上時,W5100被復位,其公共寄存器、各端口寄存器都恢復初始值。本設計中/CS始終同步于/WR和/RD選中W5100。/WR、/RD與DATA[7:0]、ADDR[14:2]、ADDR[1:0]構成讀寫時序,完成對W5100片內寄存器、存儲器的訪問,/WR與/RD同時只能有一個有效。W5100可以工作于兩種總線模式下。
3.2.1 間接總線模式
    當AT91SAM7SE連續訪問W5100發送存儲器、接收存儲器時,W5100工作在間接總線模式下,其地址線ADDR[14:2]穩定輸出0。AT91SAM7SE首先在地址線ADDR[1:0]輸出01,選中W5100間接總線模式地址寄存器IDM_AR0;然后在數據線DATA[7:0]輸出需要訪問的W5100存儲器地址高7位AH,接著/WR與/CS輸出下降沿將AH寫入IDM_AR0;之后AT91SAM7SE再將需要訪問的W5100存儲器地址低8位AL以同樣方式寫入間接總線模式地址寄存器IDM_AR1;最后,通過/CS與/WR(或與/RD)連續輸出下降沿,連續訪問間接總線模式數據寄存器IDM_DR。間接總線模式地址寄存器IDM_AR0與IDM_AR1值的自增以及間接總線模式數據寄存器IDM_DR值的變化同步于/WR或/RD的下降沿。AT91S-
    AM7SE在間接總線模式下連續訪問W5100的存儲器時序如圖2、圖3所示。

3.2.2 直接總線模式
    當AT91SAM7SE訪問W5100模式寄存器、端口寄存器時,W5100工作在直接總線模式下,其15 bit地址線ADDR[14:0]直接選中各個寄存器。然后通過/CS與/WR(或與/RD)輸出下降沿實現訪問。
3.2.3 間接總線模式與直接總線模式對比
      訪問單一存儲器時,使用間接總線模式需要3個總線時序,使用直接總線模式只需要一個總線時序。連續訪問存儲器時,使用地址自增功能,能夠使得訪問一個地址平均花費大約一個總線時序。雖然在間接總線模式下使用地址自增功能時,平均訪問一個地址仍然不會花費少于一個總線時序,但是在連續訪問時,AT91SAM7SE不需要在其通用I/O上準備每一個需要訪問的W5100的存儲器地址,在連續訪問開始后ADDR[1:0]的值是固定為11,因此平均花費在一個總線時序上的指令條數有所減少。所以當AT91SAM7SE配置為W5100工作模式、端口模式來讀取和更新端口信息時,使用直接總線模式以減少總線時序次數;當AT91SAM7SE讀取、寫入TCP數據段數據時,使用間接總線模式以減少總線時序中的平均指令數。
3.3 AT91SAM7SE與終端間接口時序
    AT91SAM7SE將從W5100接收存儲器中取回的TCP數據段數據先緩存在片內,再轉發給終端。考慮到本設計終端具有數據緩沖隊列FIFO,所以只使用RESET、CS、BLOCK、WR、DATA[31:0]信號線。當終端具有存儲器空間時,還需要使用ADDRESS信號線。根據終端接口的不同,可以對AT91SAM7SE編程,使其生成匹配的接口時序。由于選擇了ARM內核的芯片作為MCU完成存儲轉發功能,所以能夠保證編程簡便,易于經過少量修改而匹配各種終端的接口時序,使得代碼的重用性強。本設計中,RESET輸出高電平時清空FIFO;CS實現對終端的片選。當FIFO空時,BLOCK信號無效,指示AT91SAM7SE可以轉發數據;當FIFO趨近于滿時,終端給出指示信號BLOCK,阻塞AT91SAM7SE,使其停止轉發數據。本設計中,AT91SAM7SE在WR的每一次上升沿將TCP數據段中的數據轉發到DATA[31:0]。由于AT91SAM7SE編程靈活,通用I/O管腳豐富,故可以重用于對各種終端進行數據傳輸。
4 軟件流程
    在本設計中,AT91SAM7SE作為W5100的控制芯片,控制其工作在TCP/IP協議下,并作為服務器模式端SERVER。而客戶模式端CLIENT由PC機充當,PC運行Linux操作系統,使用套接字Socket編程。由于PC通過本系統向終端傳輸大量數據流,這些數據不經過路由,獨享信道,所以不會出現路由擁塞而導致分組被丟棄的情況。因此,本設計簡化了關于分組超時的檢測,使用AT91SAM7SE查詢W5100端口狀態寄存器Sn_SR及其他端口寄存器的方式來獲知通信所處的狀態,并使用寫端口命令寄存器Sn_CR的方式來控制通信進程。圖4描述了PC通過本系統向終端傳輸數據的流程。

    PC上的Socket程序非常簡單,只需要調用最基本的文件操作函數與Socket函數就能實現端口連接與文件傳輸。AT91SAM7SE上程序流程細節如下。
    (1)上電,復位:AT91SAM7SE開始執行程序。
    (2)芯片初始化:配置AT91SAM7SE時鐘模塊、PIO模塊等。
    (3)配置W5100:配置W5100的公共寄存器,設置IP地址、子網掩碼、MAC地址等。
    (4)配置TCP端口:配置端口寄存器,使端口工作于TCP模式,設置端口號等。
    (5)等待建立連接:寫端口命令寄存器,使端口處于等待PC發起連接的狀態。
    (6)監聽是否建立連接:輪詢端口狀態寄存器,循環等待端口與PC建立連接。
    (7)監聽是否接收到TCP數據段:輪詢端口接收數據長度寄存器,循環等待W5100從PC接收到TCP數據段。
    (8)檢查是否為最末TCP數據段:查詢端口狀態寄存器,檢測當前狀態,判斷其是否為最末TCP數據段。
    (9)緩存TCP數據段中數據:訪問接收數據長度寄存器、端口讀指針寄存器等,計算數據讀取位置等參數,將接收到的TCP數據段數據以1 B為單位緩存在片上。
    (10)轉發數據:將緩存在AT91SAM7SE片上的數據以4 B為單位向終端FIFO轉發。
    (11)斷開連接,關閉TCP端口:寫端口命令寄存器,使端口關閉,斷開與PC的連接。
    其中步驟(9)需要訪問各寄存器,還需要通過間接總線模式數據寄存器連續訪問接收存儲器。本設計中采用直接總線模式和間接總線模式相配合的方式,完成對TCP數據段數據的讀取,步驟如下:
    ①在直接總線模式下訪問各寄存器。
    ②計算參數,獲得TCP數據段數據在接收存儲器中的地址。
    ③切換至間接總線模式,開啟地址自增功能。
    ④連續讀取接收寄存器。
    ⑤切換回直接總線模式。
    ⑥訪問各寄存器,更新配置,繼續接收分組。
5 測試
    測試中,通過PC向本系統傳輸文件,再使用FPGA模擬終端FIFO的接口時序,同時將本系統傳輸至終端的數據輸出到邏輯分析儀。對比邏輯分析儀采樣信號與原始文件數據可以得出結論,本系統能夠實現數據的準確傳輸。邏輯分析儀采樣結果如圖5所示。表1記錄了傳輸不同大小文件所用的時間與平均傳輸速率。兼顧系統的靈活性與性能,MCU工作在55.296 MHz的情況下,平均傳輸速率能夠達到2.7 Mb/s。

 

 

    本設計使用W5100與AT91SAM7SE實現了一種基于TCP/IP通信協議的數據傳輸系統。其硬件設計簡單,軟件編程靈活方便,可以適應不同的終端接口時序。整個系統具有集成度高、重用性強、適應性廣的特點。
參考文獻
[1] 蔣峰.W5100在遠程溫度采集系統中的應用[J].化工自動化及儀表,2011,38(2):214-217.
[2] 鄒依依,郭燦新,黃成軍,等.W5100在DSP遠程以太網數據通信系統中的應用[J].工業控制計算機,2008,21(8):20-21,23.
[3] 王炳義,劉爽,張偉,等.基于硬件協議棧W5100的圖像采集傳輸系統[J].電子技術應用,2009,35(3):92-93,96.
[4] WIZnet Co.,Inc.W5100 datasheet version 1.2.4[Z].2011.
[5] Atmel.AT91SAM ARM-based Flash MCU SAM7SE version 6222F[Z].2011.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美在线免费观看亚洲| 欧美日产国产成人免费图片| 国产亚洲在线| 乱人伦精品视频在线观看| 亚洲一区二区伦理| 国产精品性做久久久久久| 国产精品久久久久9999高清| 亚洲在线播放| 亚洲高清视频在线观看| 久久久一本精品99久久精品66| 久久综合久久综合这里只有精品| 亚洲精品免费一区二区三区| 欧美午夜精品久久久久久人妖| 在线午夜精品| 国产精品捆绑调教| 欧美日韩一区在线观看视频| 99视频在线精品国自产拍免费观看| 一本久道久久综合狠狠爱| 一区电影在线观看| 国产欧美一级| 亚洲激情偷拍| 极品尤物久久久av免费看| 美女在线一区二区| 一区二区三区在线高清| 欧美日韩极品在线观看一区| 精品999在线观看| 亚洲视频二区| 亚洲国产你懂的| 欧美日韩视频在线一区二区观看视频| 中文av一区二区| 国产一区二区三区高清| 亚洲深夜福利在线| 亚洲欧美一区二区三区极速播放| 国产精品美女久久久久av超清| 一区精品在线| 国产精品久久久久免费a∨大胸| 欧美在线视频在线播放完整版免费观看| 亚洲免费视频中文字幕| 欧美成人精品h版在线观看| 亚洲黄色有码视频| 欧美精品激情blacked18| 欧美巨乳在线观看| 亚洲国产精品成人综合| 国产精品爱啪在线线免费观看| 久久九九久精品国产免费直播| 欧美亚洲视频在线看网址| 亚洲电影成人| 国产精品成av人在线视午夜片| 亚洲午夜在线视频| 午夜精品区一区二区三| 欧美日韩成人在线视频| 欧美日韩国产免费| 久久精品女人| 国内综合精品午夜久久资源| 日韩视频永久免费| 国产乱码精品1区2区3区| 国产精品日韩久久久| 欧美日韩精品免费在线观看视频| 欧美99在线视频观看| 国产精品男gay被猛男狂揉视频| 亚洲高清视频在线观看| 亚洲高清免费在线| 欧美精品手机在线| 亚洲欧美日韩一区| 亚洲第一精品福利| 一区二区三区 在线观看视| 久久香蕉国产线看观看av| 欧美一区二区视频在线观看| 亚洲欧美视频在线观看| 一区二区三区高清视频在线观看| 欧美一区激情| 国产精品私房写真福利视频| 亚洲图片自拍偷拍| 久久福利毛片| 亚洲一二三四久久| 欧美中文字幕视频| 久久久99久久精品女同性| 国产精品免费看久久久香蕉| 午夜精品久久久久久久男人的天堂| 国产日韩欧美三级| 亚洲欧美999| 国产毛片久久| 免费欧美视频| 国产精品a级| 91久久精品一区二区三区| 一区二区冒白浆视频| 欧美精品18+| 一区二区三区在线看| 亚洲人成在线播放| 亚洲一区二区三区视频| 亚洲国产91色在线| 久久精视频免费在线久久完整在线看| 亚洲免费网站| 欧美精品一区三区| 六十路精品视频| 欧美夜福利tv在线| 久久国产欧美日韩精品| 日韩视频免费在线| 一区二区三区自拍| 欧美日韩国产首页| 久久全国免费视频| 国产精品对白刺激久久久| 樱桃视频在线观看一区| 国产亚洲福利社区一区| 91久久国产精品91久久性色| 国模精品一区二区三区色天香| 亚洲激情综合| 男女av一区三区二区色多| 欧美日韩国产综合久久| 欧美日产一区二区三区在线观看| 亚洲视频综合| 国产精品视频一二| 精品成人一区二区| 亚洲第一福利社区| 国产欧美韩日| 午夜影视日本亚洲欧洲精品| 国产欧美不卡| 国产精品www网站| 亚洲午夜精品17c| 亚洲欧洲av一区二区三区久久| 日韩视频在线一区二区三区| 欧美乱人伦中文字幕在线| 国内精品视频在线播放| 在线观看一区视频| 欧美日韩国内自拍| 欧美成人一区二区| 欧美日韩精品免费看| 国产精品久久9| 欧美国产日本高清在线| 在线日韩av永久免费观看| 欧美激情综合在线| 免费欧美日韩国产三级电影| 国产精品一区在线播放| 中文精品视频| 国产精品草草| 久久亚洲私人国产精品va媚药| 久久久亚洲国产美女国产盗摄| 久久亚洲精品一区二区| 久久精品99国产精品| 久久综合国产精品台湾中文娱乐网| 欧美大香线蕉线伊人久久国产精品| 欧美成人免费视频| 国外成人在线视频网站| 免费久久久一本精品久久区| 美女精品一区| 精品va天堂亚洲国产| 欧美激情网站在线观看| 亚洲一区二区三区高清不卡| 亚洲电影免费观看高清| 一本色道久久加勒比88综合| 久久精品视频在线播放| 亚洲国产高清aⅴ视频| 亚洲一卡久久| 国产精品一区在线播放| 国产亚洲午夜| 国产精品一卡二卡| 欧美国产先锋| 欧美一区观看| 在线播放不卡| 欧美极品一区二区三区| 午夜在线电影亚洲一区| 久久深夜福利免费观看| 国内精品美女在线观看| 欧美日韩精品一二三区| 久久激情综合网| 国产精品久久中文| 亚洲日韩欧美视频| 香蕉av777xxx色综合一区| 夜夜嗨av一区二区三区四季av| 国产麻豆精品在线观看| 欧美视频网站| 亚洲日韩欧美一区二区在线| 免费毛片一区二区三区久久久| 亚洲综合久久久久| 亚洲欧美另类久久久精品2019| 欧美日韩在线直播| 亚洲欧美国产毛片在线| 亚洲国产精品成人综合色在线婷婷| 一区二区三欧美| 一本到12不卡视频在线dvd| 欧美精品一区二区久久婷婷| 亚洲欧美一级二级三级| 欧美网站在线观看| 国产欧美精品国产国产专区| 99re8这里有精品热视频免费| 亚洲黄色毛片| 另类国产ts人妖高潮视频| 亚洲小说欧美另类婷婷| 国产精品大片| 91久久精品视频| 欧美日韩色一区| 欧美在线一二三区| 欧美国产乱视频| 国产一区久久久| 日韩一区二区精品视频| 久久蜜桃香蕉精品一区二区三区| 欧美日韩综合视频| 一本大道久久精品懂色aⅴ| 国产精品萝li| 亚洲福利视频一区| 久久久精品日韩欧美| 亚洲国产欧美不卡在线观看| 亚洲激情成人网| 国产欧美一区二区三区沐欲| 欧美另类69精品久久久久9999| 麻豆freexxxx性91精品| 亚洲一二三区在线观看| 91久久精品国产| 99国产精品99久久久久久粉嫩| 中文国产成人精品| 一区在线播放| 久久精视频免费在线久久完整在线看| 最新日韩欧美| 亚洲欧美日韩国产一区二区| 欧美日本亚洲| 国产日韩欧美夫妻视频在线观看| 亚洲永久网站| 亚洲欧美在线一区二区| 免费观看成人| 久久久激情视频| 在线视频日韩精品| 亚洲欧洲久久| 韩国成人精品a∨在线观看| 日韩亚洲成人av在线| 亚洲国产高潮在线观看| 欧美视频在线观看| 亚洲大片在线观看| **欧美日韩vr在线| 欧美ed2k| 国产精品区一区二区三区| 国产精品盗摄久久久| 久久久久久久久蜜桃| 欧美—级在线免费片| 国产精品一二三四| 免费久久99精品国产自在现线| 一区二区精品国产| 亚洲人成77777在线观看网| 欧美日韩大陆在线| 欧美成人午夜激情| 国产伦精品一区二区三区高清版| 国产精品日韩精品欧美在线| 国产精品视频精品视频| 国内欧美视频一区二区| 国产亚洲一级| 国产一区二区三区四区三区四| 久久久久久久久综合| 一本色道久久综合亚洲精品高清| 亚洲精品日产精品乱码不卡| 日韩视频不卡| 亚洲图片欧美一区| 欧美一级黄色网| 亚洲国产精品毛片| 一区二区三区国产在线| 亚洲欧美久久久久一区二区三区| 亚洲午夜一区| 亚洲国产成人精品女人久久久| 久久久精品视频成人| 亚洲久久在线| 欧美精品三级在线观看| 国精产品99永久一区一区| 老牛嫩草一区二区三区日本| 久久9热精品视频| 免费中文字幕日韩欧美| 樱桃成人精品视频在线播放| 在线电影院国产精品| 国产亚洲综合精品| 国产精品热久久久久夜色精品三区| 国产在线视频欧美| 久久久久久久尹人综合网亚洲| 日韩五码在线| 国产欧美日韩精品a在线观看| 在线亚洲欧美视频| 欧美亚洲第一页| 久久综合伊人77777尤物| 欧美午夜久久久| 韩国成人理伦片免费播放| 亚洲国产婷婷香蕉久久久久久| 亚洲欧洲日韩女同| 国产欧美一区二区精品婷婷| 国产精品夜夜夜| 国产欧美日韩一区二区三区在线观看| 国产欧美一区二区三区在线老狼| 国产视频一区在线观看一区免费| 国产精品豆花视频| 在线观看三级视频欧美| 免播放器亚洲一区| 国产精品网站在线播放| 国产精品久久久久久户外露出| 美女黄色成人网| 欧美剧在线免费观看网站| 1024国产精品| 午夜天堂精品久久久久| 欧美伦理视频网站| 日韩亚洲成人av在线| 国内成+人亚洲+欧美+综合在线| 在线观看日韩av电影| 99视频精品免费观看| 久久精品水蜜桃av综合天堂| 一区二区视频免费完整版观看| 日韩视频一区二区三区| 亚洲欧美日韩国产成人| 国产模特精品视频久久久久| 国产日韩欧美在线播放| 欧美亚一区二区| 国产综合欧美在线看| 在线综合+亚洲+欧美中文字幕| 欧美精品日韩一区| 欧美精品一区二区三区在线看午夜| 欧美日韩欧美一区二区| 国产精品欧美一区喷水| 老司机一区二区| 亚洲伊人第一页| 欧美日韩精品免费观看视一区二区| 久久精品欧洲| 亚洲天堂网站在线观看视频| 久久天天躁狠狠躁夜夜av| 国产欧美精品一区| 一区二区电影免费在线观看| 在线视频你懂得一区二区三区| 欧美日韩色婷婷| 欧美日韩四区| 欧美性一区二区| 日韩亚洲精品视频| 狠狠色伊人亚洲综合成人| 亚洲三级性片| 亚洲日本欧美日韩高观看| 欧美精品在线观看播放| 久久岛国电影|