音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

由網(wǎng)絡協(xié)議棧芯片W3100A構(gòu)成的TCP/IP處理平臺

出處:yang365 發(fā)布于:2007-04-28 11:59:14

摘要:詳細介紹一種基于AT91M40800 ARM7處理器和W3100A芯片的網(wǎng)絡處理平臺的設計與實現(xiàn)。在概述嵌入式網(wǎng)絡的前景之后,提出一種TCP/IP網(wǎng)絡處理平臺的方案,并詳細分析這種平臺的硬件模塊設計、軟件模塊設計與實現(xiàn)。

關(guān)鍵詞:TCP/IP AT91M40800 網(wǎng)絡協(xié)議棧芯片 W3100A

引言

越來越多的人已經(jīng)認知到后PC時代的到來,越來越多的嵌入式產(chǎn)品走到了現(xiàn)實應用的前臺。嵌入式產(chǎn)品從出生到繁榮一直秉承著與應用緊耦合這個宗旨。過去它們基本上都是獨立的工作,多是通過485、CAN總線之類的互相交換信息;但隨著信息時代的信息大爆炸的到來,這些簡單的傳遞內(nèi)部少量信息的方案已經(jīng)不能夠能很地滿足實現(xiàn)的市場需求,越來越多的嵌入式產(chǎn)品有了與Internet互連、進入互聯(lián)網(wǎng)這個浩瀚的信息庫的要求。嵌入式Internet技術(shù)是一種將嵌入式設備接入Internet的技術(shù)。利用該技術(shù)可將Internet從PC機延伸到8位、16位、32位單片機,并實現(xiàn)基于Internet的遠程數(shù)據(jù)采集、遠程控制、自動報警、上傳/數(shù)據(jù)文件、自動發(fā)送E-mail等功能,大大擴展Intenrt的應用范圍和嵌入式產(chǎn)品觸及的領域。為此本人提出一種基于W3100A芯處的TCP/IP網(wǎng)絡處理開發(fā)平臺的方案,并予以實現(xiàn)。
1 嵌入式網(wǎng)絡處理平臺方案的介紹

目前,國內(nèi)外嵌入式網(wǎng)絡處理平臺基本上是采用軟件來實現(xiàn)TCP/IP協(xié)議棧。這種方案在大批量生產(chǎn)時,具有成本低的優(yōu)點。因為用軟件設計的TCP/IP協(xié)議棧,是投次多次使用;但這種方案開發(fā)周期比較長,對開發(fā)人員的要求高,要求對操作系統(tǒng)和TCP/IP協(xié)議都要有一定程度的熟悉,并且MCU和RTOS的價格也很高。為此本人提出了一種直接利用TCP/IP協(xié)議棧芯片的實現(xiàn)方案。它由W3100A、RTL8201、AT91M40800組成,如所示。這種方案,盡管在大批量生產(chǎn)時成本高,因為每個智能設備都要嵌入TCP/IP協(xié)議棧芯片;但是在非大批量生產(chǎn)時個有設計簡單、靈活的特點,因為不需要實時操作系統(tǒng)的支持,并且在本人給出的各種工具和芯片廠商提供的函數(shù)庫的支持下可以實現(xiàn)上一種方案能實現(xiàn)的絕大部分功能。

2 W3100A的介紹

W3100A是TCP/IP協(xié)議芯片。它有如下特點:首先,自帶TCP/IP協(xié)議棧(如TCP、UDP、Ipver.4、ICMP、ARP、DLC、MAC協(xié)議);其次,能同時支持四個獨立的連接通道,具有高速傳輸速率,同時,具有與MCU和物理層電路接口。雖然數(shù)據(jù)手冊中只提取了Intel和Motorola的MCU,但是經(jīng)過筆者的實際證明,W3100A對Atmel的AT91M400800也能很好的支持。W3100A還提供了Socket應用程序編程接口,為那種需要進行因特網(wǎng)連接的智能設備,提供了一種簡便、廉價、高效的方案。其功能框圖如所示。

W3100A的寄存器分成四類:①與控制寄存器相關(guān)的命令、狀態(tài)和中斷寄存器;②設置網(wǎng)關(guān)地址、子網(wǎng)掩碼、源IP地址、源硬件地址和超時變量的關(guān)系寄存器;③管理發(fā)送和接收數(shù)據(jù)的指針寄存器;④控制每個通道操作的通道寄存器。
W3100A的0X4000~0X5FFF為發(fā)送數(shù)據(jù)緩沖區(qū),該緩沖區(qū)只能寫不能讀;0X6000~0X7FFF為接收數(shù)據(jù)緩沖區(qū),只能讀不能寫。

W3100A與MCU的接口包括直接總線模式、非直接總線模式和I2C接口模式。第1種是15根地址線全部與MCU相連;第2種只要0、1兩根地址線與MCU相連,2、3地址線接高電平,剩下的地址線全部接地;第3種方式是把W3100A當作I2C設備來使用,其中8~14地址用來提供I2C設備的地址。這里使用了第2種方式與MCU相連。其中這些模式的選擇由MODE0、MODE1、MODE2三個引腳的電位所決定。

3 硬件電路設計

如所法,本電路主要由基于ARM7的AT91M40800、W3100A、RTL8201來實現(xiàn)網(wǎng)絡的功能,但是本系統(tǒng)設計的目的是實現(xiàn)一個嵌入式TCP/IP網(wǎng)絡開發(fā)平臺,以便使工程師把精力從大量的底層細節(jié)開發(fā)轉(zhuǎn)移到面向應用的層面上來,所以硬件電路外擴了SDRAM、Flash、LED、KEYBARD、RS232等接口電路。其中Flash、SDRAM、W3100A分別占用CS0、CS1、CS2三個地址空間。LED、KEYBARD共占用CS4一個地址空間。SDRAM使用了16位數(shù)據(jù)線的方式,F(xiàn)lash、W3100A都使用了8位數(shù)據(jù)線的方式。AT91M40800接口電路如所示。SDRAM、Flash都提供了較大的剩余空間,以便將來用戶在其上開發(fā)自己的用戶程序。其中Flash片選線為NCS0,8位數(shù)據(jù)總線寬度,初始化程序?qū)⑵浠刂范ㄎ辉?x01000000,地址范圍是0x01000000~0x011FFFFF。系統(tǒng)使用了2片SDRAM,其片選線為NCS1,再使用SN74HC139D分別進行片選,初始化程序?qū)⑵浠刂范ㄎ辉?x02000000,地址范圍是0x02000000~0x02FFFFFF。除此以外,AT91M40800還有8KB的內(nèi)部RAM,32位數(shù)據(jù)總線寬度,在初始化結(jié)束后,重射定位在0x00000000。

W3100A片選線為NCS3,8位數(shù)據(jù)總線寬度,初始化程序?qū)⑵浠刂范ㄎ辉?x0300000,其硬件連接如所示。由于采用了第二種接入方式,只需用到四個地址寄存器地址,且偏移量分別為0x0c、0x0d、0x0e、0x0f,所以其地址范圍為0x0300000C~0x0300000F。W3100A與主MCU的通信采用中斷方式,其INT引腳接到AT91M40800的P9/IRQ0的引腳,以實現(xiàn)中斷觸發(fā)。其中W3100A與AT91M40800分別進行復位,以便分別調(diào)試。

為了便于用戶在平臺上開發(fā)自己的應用程序,本人在平臺上面實現(xiàn)了初始化和調(diào)試程序代碼。系統(tǒng)提供了兩個DB-9插頭,分別連接到AT91M40800的UART0和UART1:一個用于與筆者的調(diào)試程序?qū)崿F(xiàn)通信,一個用于用戶其它調(diào)試應用。在系統(tǒng)上還使用了一個撥碼開關(guān),以便用戶執(zhí)行自己的應用程序和對Flash進行編程保護,。

其中撥碼開關(guān)的1、2腳分別接高、低電平并且與AT91M40800的P23腳相連,以決定MCU初始化后執(zhí)行程序的起始地址;3、4腳分別接高電平和AT91M40800的NWR0/NWR引腳,并且與Flash的寫使能腳相連,以決定Flash是否可編程。

4 軟件模塊設計

本系統(tǒng)中軟件主要包括三大部分:AT91M40800的初始化代碼、監(jiān)控程序的目標板與PC平臺的實現(xiàn)、Flash的編程實現(xiàn)。

4.1 AT91M40800的初始化模塊

在這個模塊里,主要以目標板的硬件設計為基礎,實現(xiàn)MCU的寄存器初始化、異常向量表的初始化、異常處理程序和各種處理器模式下的堆棧的分配并實現(xiàn)重映射。然后,把系統(tǒng)運行權(quán)交給監(jiān)控程序或者是用戶的應用程序(由撥碼開關(guān)來實現(xiàn))。其中寄存器初始化既包括ARM7核內(nèi)的寄存器的初始化,也包括AT91M40800芯片內(nèi)外圍寄存器的初始化,具體的有R15、EBL_CS0、EBL_CS1、EBL_CS2、EBL_CS3、AIC_SVR0、PIO_IDR、PIO_PDR、US_CR等。這里的代碼部分全部是用ARM的指令集來實現(xiàn)。為了增加源程序的可讀性、可移植性,將寄存器的地址和數(shù)據(jù)全部重定義命名,如addr_SVR8 EQU 0x0202000,CODE_SVR8 EQU 0x01010000,CODE_SVR8_END EQU 0x01011000。

4.2 監(jiān)控程序的實現(xiàn)

監(jiān)控程序可以實現(xiàn)以下幾個功能:顯示處理器各狀態(tài)下寄存器的值,修改指定地址的SDRAM、FlashROM中的內(nèi)容,查看指定地址的存儲器中的內(nèi)容,將用戶編寫的代碼到目標板指不定期地址的SDRAM、FlashROM中,從指定地址開始執(zhí)行用戶代碼,支持用戶設置的軟件中斷。
監(jiān)控程序包括兩部分:一是運行在目標板上的程序,二是運行在PC機上的應用程序。目標板上的程序?qū)崿F(xiàn)與PC機上程序的交互操作,并按照PC機上程序的指令要求來完成讀寫寄存器、SDRAM、Flash和執(zhí)行指定地址的代碼程序。這段代碼也是用ARM指令集來實現(xiàn)的,它與PC機的交互是使用指定ASCII碼字符的方式來實現(xiàn)的。比如,按下PC機上的Memory按鈕以后,PC機將發(fā)送一個V字符,這些信息將以ASCII碼的方式通過串口發(fā)送到目標機上。當目標板上的監(jiān)控程序收到V字符后,馬上跳轉(zhuǎn)到Memory標號段,在這段程序中回應一個OK。PC機收到OK后,就發(fā)送地址信息,目標板上的監(jiān)控程序收到地址后緊接著就處理相應的要求。PC機端的應用程序是使用VB開發(fā)環(huán)境來實現(xiàn)的,其界面如所示。它提供給用戶一個交互的界面。這樣開發(fā)工具給那些沒有昂貴的ARM仿真器的用戶提供了一個較為簡便的調(diào)試方法。

4.3 Flash的編程實現(xiàn)

Flash的編程作為一個獨立的代碼部分與調(diào)試程序代碼部分協(xié)同工作,使用C語言來實現(xiàn),并終與前兩個部分鏈部到一起。它主要由以下幾個部分組成:Flash編程模塊void Program(void);擦除整個Flash芯片Void EraseAll(void);擦除扇區(qū)void EraseSector(void);擦除一個扇區(qū)int OneSectorErase(ulong targetAddr);空字節(jié)檢查int BlankCheck(ulong targetAddr,ulong targetSize);編程結(jié)果校驗int Verification(ulong targetAddr,ulong limit,ulong srcAddr);等待延時int Wait(ulong tAddr).其中擦除與編程操作利用AM291V160D的指令字就可以完成。空字節(jié)檢查是讀出Flash中的數(shù)據(jù)并且與0xFF比較得到結(jié)果。編程結(jié)果校驗是在編程結(jié)束后調(diào)用的函數(shù),它是通過讀出Flash當中的數(shù)據(jù)與源數(shù)據(jù)相比較的方法來實現(xiàn)的,以確保編程結(jié)果正確。由于擦除操作與編程操作需要一定的時間,為了保證擦除與編程操作的正確性和判斷它們所處的階段,一般Flash芯片都提供三種判斷方法:一是應用引腳電平方式,二是采用TOGGLE位的方式,三是采用POLLING位的方式。這里在等待延時程序中采用TOGGLE位和超時判斷位DQ5相結(jié)合的方式來實現(xiàn)判斷擦除編程操作的具體狀態(tài)。具體的判斷算法流程可以參考AM291V160D的數(shù)據(jù)手冊。

4.4 函數(shù)庫的支持

用戶在開發(fā)自己的應用程序時,還有兩個強大的函數(shù)庫可以利用:一個是Atmel公司提供的AT91M開發(fā)庫(在Atmel公司的主頁上可以),另一個是Wiznet公司提供的W3100A的API函數(shù)(可在Wiznet公司的主頁)。

結(jié)語

用戶在采用此系統(tǒng)以后,可以免除對大量實時操作系統(tǒng)和底層TCP/IP協(xié)議細節(jié)的了解。應用本人提供的底層軟件、工具和芯片廠商提供的開發(fā)庫,將能夠靈活、快速地實現(xiàn)自己的嵌入式上網(wǎng)方案和應用。此方案為加快用戶的產(chǎn)品上市提供了一個不可多得的平臺。


  
關(guān)鍵詞:由網(wǎng)絡協(xié)議棧芯片W3100A構(gòu)成的TCP/IP處理平臺RTL8201SN74HC139DW3100AAT91M40800RS232AM291V160D

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

RTL8201F-VB-CG
廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!