[論文]嵌入式以太網(wǎng)測試論文_第1頁
[論文]嵌入式以太網(wǎng)測試論文_第2頁
[論文]嵌入式以太網(wǎng)測試論文_第3頁
[論文]嵌入式以太網(wǎng)測試論文_第4頁
[論文]嵌入式以太網(wǎng)測試論文_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、摘 要隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,如何保證網(wǎng)絡(luò)的安全與暢通是網(wǎng)絡(luò)維護(hù)所面臨的一個重大課題。網(wǎng)絡(luò)測試儀是網(wǎng)絡(luò)安裝與維護(hù)人員進(jìn)行網(wǎng)絡(luò)安裝與維護(hù)測試的重要工具。目前,網(wǎng)絡(luò)檢測工具的市場現(xiàn)狀是網(wǎng)絡(luò)檢測核心技術(shù)完全掌握在國外公司的手中,各個價(jià)位的網(wǎng)絡(luò)測試產(chǎn)品基本上是由國外公司設(shè)計(jì)制造,其特點(diǎn)價(jià)高。而國內(nèi)網(wǎng)絡(luò)檢測產(chǎn)品的技術(shù)水平還僅僅停留在網(wǎng)線聯(lián)通性測試上。為了給市場提供一種功能實(shí)用,便攜式的網(wǎng)絡(luò)檢測工具。本文完成了新型便攜式網(wǎng)絡(luò)測試儀的課題。在硬件方面,本文分析了以太網(wǎng)測試功能的技術(shù)特點(diǎn)及與之相關(guān)的tcp/ip協(xié)議,確定了嵌入式以太網(wǎng)測試系統(tǒng)的控制核心和相關(guān)的硬件芯片選型,并選擇了微處理器c8051f340

2、和以太網(wǎng)控制器cp2200所構(gòu)成的開發(fā)板為硬件開發(fā)平臺。在軟件方面,本文采用結(jié)構(gòu)化設(shè)計(jì)方法,提出了本系統(tǒng)的模塊化設(shè)計(jì)方案,將本系統(tǒng)劃分為系統(tǒng)主控模塊、系統(tǒng)初始化模塊、定時中斷處理模塊、以太網(wǎng)控制器驅(qū)動模塊、tcp/ip協(xié)議模塊、應(yīng)用層模塊、串行通信模塊等七個主要模塊。在所開發(fā)的軟件系統(tǒng)中,完成了以太網(wǎng)測試功能中嵌入式客戶端的工作參數(shù)設(shè)置、ip地址的自動獲取、ping命令和traceroute命令等功能的算法設(shè)計(jì)與實(shí)現(xiàn)工作。目前,已完成產(chǎn)品的測試和試運(yùn)行工作,并準(zhǔn)備將產(chǎn)品推向市場。關(guān)鍵詞微控制器,嵌入式系統(tǒng),網(wǎng)絡(luò)客戶端,網(wǎng)絡(luò)測試儀,tcp/ip 協(xié)議族 iiabstractwith the ra

3、pid development of internet technology, its been becoming a major issue of the network maintenance to ensure the freedom and security of network. network tester is an important tool to install and maintain the network. at present, the status of the market on the network detection tool is that the co

4、re technology of network testing is entirely in the hands of the foreign companies, which design and manufacture various products with high prices and high quality to test the network. the level of technology in domestic products to test network is just to stay in the network connectivity test onlin

5、e. in this situation, this dissertation presents a project to develop a new type of portable network tester.this dissertation also analyzes the technical basis of the ethernet test functions and the corresponding protocols, and determines a hardware selection in the control core and the ethernet con

6、troller, and the hardware development platform is the development board made up of a c8051f340 chip and a cp2200 chip. at the same time, the structure feature of the development board is made an assay of.by the method of structured design, this dissertation has made a program of the systems modular

7、design, and divides the system into seven modules: a module of system control, a module of system initialization, a module of timing interrupt handling, a module of the ethernet controller driver, a module of tcp/ip protocol stacks, a module of the application layer, a module of serial communication

8、. in the developed software system, the algorithm design and the implementation in c language of the ethernet test functions include the configuration of the work parameters of the embedded client, ip automatic access function, ping function, traceroute function, and their correctness have also been

9、 verified by experimental tests.key words: microcontroller, embedded system, network client, tcp/ip protocol stacks,network tester目 錄摘 要iabstractii第一章 緒論11.1嵌入式客戶端課題的背景11.2嵌入式客戶端研究的現(xiàn)狀11.3主要研究內(nèi)容31.4論文的安排3第二章 嵌入式客戶端技術(shù)42.1嵌入式客戶端的特點(diǎn)42.2嵌入式以太網(wǎng)測試的技術(shù)42.2.1嵌入式以太網(wǎng)測試的技術(shù)52.2.2與以太網(wǎng)測試相關(guān)的協(xié)議72.3嵌入式以太網(wǎng)測試的硬件選型82.3.1

10、硬件選型的基本原則82.3.2微控制器核心的選型82.3.3以太網(wǎng)控制器的選型92.4c8051f340開發(fā)板的結(jié)構(gòu)特點(diǎn)132.5本章小結(jié)13第三章嵌入式以太網(wǎng)測試的設(shè)計(jì)143.1軟件設(shè)計(jì)知識概要143.2系統(tǒng)主控模塊的設(shè)計(jì)153.2.1 系統(tǒng)主控模塊的總體設(shè)計(jì)153.2.2 主循環(huán)體控制的概要設(shè)計(jì)163.2.3 主循環(huán)體控制模塊的詳細(xì)設(shè)計(jì)183.3系統(tǒng)初始化模塊的設(shè)計(jì)193.4定時中斷處理模塊的設(shè)計(jì)213.5以太網(wǎng)控制器驅(qū)動模塊的設(shè)計(jì)223.6tcp/ip協(xié)議模塊的設(shè)計(jì)233.7應(yīng)用層模塊的設(shè)計(jì)243.8串行通信模塊的設(shè)計(jì)253.9本章小結(jié)25第四章嵌入式以太網(wǎng)測試的實(shí)現(xiàn)264.1嵌入式以太

11、網(wǎng)測試的實(shí)現(xiàn)264.1.1 系統(tǒng)主控模塊的實(shí)現(xiàn)274.1.2 系統(tǒng)初始化模塊的實(shí)現(xiàn)284.1.3 定時中斷模塊的實(shí)現(xiàn)304.1.4 以太網(wǎng)控制器驅(qū)動模塊的實(shí)現(xiàn)304.1.5 tcp/ip 協(xié)議模塊的實(shí)現(xiàn)314.1.6 應(yīng)用層模塊的實(shí)現(xiàn)424.1.7 串行通信模塊的實(shí)現(xiàn)434.2測試程序444.3測試方法與測試過程454.4測試結(jié)果454.5本章小結(jié)48第五章 總結(jié)與展望495.1研究工作總結(jié)495.2進(jìn)一步的研究方向49參考文獻(xiàn)51致 謝55攻讀碩士學(xué)位期間發(fā)表的論文56碩士學(xué)位論文 第一章緒論 第一章 緒論1.1 嵌入式客戶端課題的背景隨著通信技術(shù)、計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,互聯(lián)網(wǎng)的傳

12、輸速度不斷提升,互聯(lián)網(wǎng)的拓?fù)浣Y(jié)構(gòu)也隨之日益復(fù)雜,如何保證網(wǎng)絡(luò)的安全與暢通是網(wǎng)絡(luò)維護(hù)界所面臨的一個重大難題。在接入互聯(lián)網(wǎng)絡(luò)的眾多設(shè)備中,不僅包括大量的服務(wù)器和個人計(jì)算機(jī),而且還包括使用數(shù)量更多、應(yīng)用范圍更廣的嵌入式系統(tǒng)設(shè)備,例如網(wǎng)絡(luò)檢測儀、智能家電、智能儀器儀表、工控設(shè)備、數(shù)據(jù)采集設(shè)備等。為了保障整個網(wǎng)絡(luò)的正常、可靠、不間斷地運(yùn)行,網(wǎng)絡(luò)維護(hù)人員必須能夠及時有效地發(fā)現(xiàn)故障原因、位置并及時采取有效措施排除網(wǎng)絡(luò)故障。因此為每個一線網(wǎng)絡(luò)維護(hù)人員配備一套便捷、有效的網(wǎng)絡(luò)檢測工具是十分必要的。這些網(wǎng)絡(luò)檢測工具基本上以網(wǎng)絡(luò)客戶端的形式接入網(wǎng)絡(luò)中。其中 ping 命令功能、traceroute命令功能和 ip

13、地址自動獲取都是網(wǎng)絡(luò)客戶端的最主要的基本功能1-12。目前,網(wǎng)絡(luò)檢測工具的市場現(xiàn)狀是網(wǎng)絡(luò)檢測核心技術(shù)完全掌握在國外公司的手中,各個價(jià)位的網(wǎng)絡(luò)測試產(chǎn)品基本上是由國外公司設(shè)計(jì)制造,其特點(diǎn)是價(jià)格比較高。而國內(nèi)網(wǎng)絡(luò)檢測產(chǎn)品的技術(shù)水平還僅僅停留在網(wǎng)線聯(lián)通性測試上,為了能夠盡快掌握網(wǎng)絡(luò)測試這一核心技術(shù),研發(fā)具有自主知識產(chǎn)權(quán)的網(wǎng)絡(luò)測試系列產(chǎn)品,十分有必要開展這方面的研發(fā)工作。本文將研究嵌入式以太網(wǎng)基本測試功能的設(shè)計(jì)與實(shí)現(xiàn)13-43的問題。所使用的硬件是由美國 silicon laboratories 公司設(shè)計(jì)并生產(chǎn)的 c8051f34044 微控制器和 cp220045 以太網(wǎng)控制器組成的ml-cp2200

14、dk/f340dk46開發(fā)板。1.2 嵌入式客戶端研究的現(xiàn)狀目前,嵌入式網(wǎng)絡(luò)客戶端主要研究嵌入式網(wǎng)絡(luò)客戶端基本功能的設(shè)計(jì)與實(shí)現(xiàn),其主要內(nèi)容有兩個方面:其一是標(biāo)準(zhǔn)tcp/ip協(xié)議族在嵌入式系統(tǒng)中的設(shè)計(jì)與實(shí)現(xiàn)2-15;其二是嵌入式網(wǎng)絡(luò)客戶端基本功能的設(shè)計(jì)與實(shí)現(xiàn)。在標(biāo)準(zhǔn)tcp/ip協(xié)議族的設(shè)計(jì)與實(shí)現(xiàn)中,著名的 bsd4.4 的源代碼被眾多學(xué)者研究最深入全面。在嵌入式領(lǐng)域中,比較具有代表性的嵌入式tcp/ip協(xié)議族的實(shí)現(xiàn)有如下四種:1uip 協(xié)議族uip 協(xié)議族是在低至8位或16位微控制器嵌入式系統(tǒng)的一個可實(shí)現(xiàn)的極小的開源 tcp/ip 協(xié)議族,由瑞典計(jì)算機(jī)科學(xué)學(xué)院(swedish institute

15、 of computer science,sics)的 adam dunkels 在計(jì)算機(jī)與網(wǎng)絡(luò)架構(gòu)(computer and networks architectures,cna)實(shí)驗(yàn)室完成開發(fā),可在bsd許可協(xié)議下免費(fèi)使用。uip實(shí)現(xiàn)了tcp/ip協(xié)議族的五個基本協(xié)議;arp47,ip48,icmp49,udp50 和 tcp。數(shù)據(jù)鏈路層協(xié)議,如ethernet、ppp或slip,可作為uip協(xié)議族下的設(shè)備驅(qū)動來實(shí)現(xiàn)。而應(yīng)用層協(xié)議,如dhcp51,http,ftp或smtp,則可實(shí)現(xiàn)為uip 協(xié)議族之上的應(yīng)用程序。uip協(xié)議族代碼的大小和對 ram 的需求比其它一般的 tcp/ip 協(xié)議族

16、要小。uip 協(xié)議族使用一個基于編程模塊事件去減少代碼的大小和對 ram 的使用量。系統(tǒng)的底層與 uip 協(xié)議族之間的接口是隱蔽的。目前,該實(shí)現(xiàn)的最新穩(wěn)定版本是 1.0 版52。21wip 協(xié)議族lwip 實(shí)現(xiàn)是關(guān)于 tcp/ip 協(xié)議族的一個小的獨(dú)立實(shí)現(xiàn),也是由uip的開發(fā)者 adam dunkels完成開發(fā)的,也可在 bsd 許可協(xié)議下免費(fèi)使用的,有眾多的項(xiàng)目維護(hù)者。主要實(shí)現(xiàn)了ethernet、ppp、arp、ip、icmp、igmp、udp、tcp、專門優(yōu)化的未處理的/本地化的api、類伯克利套接字api、dns、snmp、dhcp、autoip (ipv4版本,符合 rfc 3927)

17、等協(xié)議。lwip tcp/ip 協(xié)議實(shí)現(xiàn)的焦點(diǎn)是在仍保持全尺寸tcp的情況下盡量減少ram的使用,這樣使得 lwip 可在嵌入式系統(tǒng)中使用并只占用1020kb ram存儲空間和大約40kb rom存儲空間。目前,該實(shí)現(xiàn)的最新穩(wěn)定版本是 1.3.0 版53。3cmx-micronet 協(xié)議族cmx-micronet 協(xié)議族實(shí)現(xiàn)由以向嵌入式社區(qū)提供完整優(yōu)雅的嵌入式解決方案著稱的 cmx systems 公司開發(fā)。其主要特點(diǎn)有:(1) 唯一符合工業(yè)標(biāo)準(zhǔn)的協(xié)議;購買該實(shí)現(xiàn)后,可提供目標(biāo)處理器的全部源代碼;(2) 可在你現(xiàn)有的微控制器中使用,包括從低端的8位微控制器、中端的16位微控制器到高端的32位微

18、控制器,乃至極高端的64位嵌入式產(chǎn)品;(3) 使用費(fèi)用低廉,只需一次性的低付費(fèi),并且不再收取最終產(chǎn)品的版稅。該協(xié)議族實(shí)現(xiàn)了ethernet、ppp和slip等數(shù)據(jù)鏈路層的協(xié)議;arp、ip等網(wǎng)絡(luò)層協(xié)議;icmp、igmp v1、tcp、udp和bootp等傳輸層協(xié)議;dhcp客戶端、http web服務(wù)器、ftp服務(wù)器、ftp客戶端、tftp客戶端、smtp客戶端、pop3客戶端、snmp、dns、sntp客戶端等應(yīng)用層協(xié)議??梢酝ㄟ^以太網(wǎng)、無線網(wǎng)、撥號上網(wǎng)和直接連接等四種方式接入網(wǎng)絡(luò)。目前,該實(shí)現(xiàn)在嵌入式社區(qū)使用極其廣泛,其最新穩(wěn)定版本是 3.0.9 版54。4microchip 的 tcp

19、/ip 協(xié)議族microchip 的 tcp/ip 協(xié)議族實(shí)現(xiàn)由美國著名的嵌入式設(shè)備芯片設(shè)計(jì)制造商 microchip 公司專為旗下的pic18、pic24、pic32和dspic微控制器系列優(yōu)化設(shè)計(jì)的免費(fèi)tcp/ip協(xié)議族。該協(xié)議族是為所有基于tcp/ip的應(yīng)用提供服務(wù)的一套程序。用戶無需了解tcp/ip 協(xié)議的復(fù)雜特性就可以使用它?;趖cp/ip參考模式,該協(xié)議族分為多層,其中每一層都從其下的一個或多個層中獲得相應(yīng)的服務(wù)。從特性上講,許多tcp/ip層是“活動的”,從某種意義上講,它們不僅在有服務(wù)申請時工作,而且在特定事件發(fā)生(如超時或新數(shù)據(jù)報(bào)到達(dá)等)時也工作。該協(xié)議族采用模塊化設(shè)計(jì),并

20、使用c語言編程實(shí)現(xiàn)。根據(jù)所選用的模塊不同,有效實(shí)現(xiàn)將占用大約28-34 kb代碼,為microchip經(jīng)濟(jì)有效、高密度的微控制器留下大量的代碼空間以供用戶應(yīng)用使用。目前,該實(shí)現(xiàn)廣泛使用于pic18、pic24、pic32和dspic微控制器系列,其最新穩(wěn)定版本是 4.55 版55。有關(guān)嵌入式以太網(wǎng)客戶端基本功能的設(shè)計(jì)與實(shí)現(xiàn)方面的研究主要內(nèi)容包括網(wǎng)絡(luò)連通性檢測命令功能ping、路由跟蹤命令功能traceroute、ip地址自動獲取、dhcp客戶端、ftp客戶端、tftp客戶端、pop3客戶端、http客戶端網(wǎng)頁瀏覽器等。1.3 主要研究內(nèi)容本文研究了嵌入式客戶端的以太網(wǎng)測試功能的技術(shù)基礎(chǔ)與設(shè)計(jì)實(shí)

21、現(xiàn)。該嵌入式客戶端在ml-cp2200dk/f340dk開發(fā)板上開發(fā)實(shí)現(xiàn)。該開發(fā)板上有一個高達(dá) 48 mips 以上處理速度的 8 位 c8051f340 在片系統(tǒng)和一個號稱世界上封裝最小的 cp2200 以太網(wǎng)控制器。由于在嵌入式系統(tǒng)中實(shí)現(xiàn)標(biāo)準(zhǔn) tcp/ip 協(xié)議族要占用大量的 8 位微控制器有限的系統(tǒng)資源,因此,為了既能夠保證系統(tǒng)實(shí)時性和系統(tǒng)可靠性,又能夠減少該協(xié)議族對系統(tǒng)資源的占用,對標(biāo)準(zhǔn)tcp/ip協(xié)議族進(jìn)行適當(dāng)裁剪和簡化是十分必要的。嵌入式以太網(wǎng)客戶端與以太網(wǎng)及 pc 客戶端之間是通過基于 tcp/ip 協(xié)議族的以太網(wǎng)來進(jìn)行信息交換的。這種低成本、高性能的以太網(wǎng)網(wǎng)絡(luò)接入解決方案,具有

22、可靠性高、功耗極低、體積小巧、攜帶方便、功能適用、使用靈活的特點(diǎn),并具有較高的應(yīng)用價(jià)值和廣泛的使用范圍。1.4 論文的安排論文共分為六章,各章的具體內(nèi)容安排如下:第一章介紹本課題提出的背景、國內(nèi)外研究現(xiàn)狀、主要研究內(nèi)容等。第二章討論嵌入式客戶端的技術(shù)基礎(chǔ)。第三章探討嵌入式以太網(wǎng)測試功能的設(shè)計(jì)。嵌入式以太網(wǎng)測試功能的軟件設(shè)計(jì)由七大模塊組成:系統(tǒng)主控模塊、系統(tǒng)初始化模塊、定時中斷模塊、以太網(wǎng)控制器驅(qū)動模塊、tcp/ip 協(xié)議模塊、應(yīng)用層模塊、串行通信模塊等。第四章探討嵌入式以太網(wǎng)測試功能的實(shí)現(xiàn)與測試。第五章對本文進(jìn)行總結(jié)和評估,并指出不足和進(jìn)一步研究的方向。49碩士學(xué)位論文 第二章 嵌入式客戶端技

23、術(shù)第二章 嵌入式客戶端技術(shù)從本章開始,將進(jìn)入具體領(lǐng)域來進(jìn)行相關(guān)問題的研究。本章首先從嵌入式服務(wù)器與嵌入式客戶端的比較入手,介紹嵌入式客戶端的主要特點(diǎn)。然后,轉(zhuǎn)入對嵌入式客戶端的以太網(wǎng)測試功能的設(shè)計(jì)與實(shí)現(xiàn)技術(shù)的研究,并介紹了與之相關(guān)的tcp/ip協(xié)議。隨后,研究硬件開發(fā)平臺的選型問題,主要包括微控制器核心和以太網(wǎng)控制器等的選型。在搭建硬件開發(fā)平臺時,有兩種基本的選型方法可供選擇:一種是選用分離的控制核心與以太網(wǎng)控制器組成的多芯片方案;另一種是選用內(nèi)部集成了以太網(wǎng)控制器的微控制器的單芯片方案。相比較而言,前一種搭建方案的成本比較高一些,實(shí)現(xiàn)起來難度也大一些。最后,將介紹由分離主芯片c8051f34

24、0微控制器和cp2200以太網(wǎng)控制器組成的一套硬件開發(fā)平臺的結(jié)構(gòu)特點(diǎn)。2.1 嵌入式客戶端的特點(diǎn)一般來說,與大多數(shù)服務(wù)器、個人計(jì)算機(jī)一樣,嵌入式系統(tǒng)接入以太網(wǎng)有兩種主要方式:一種是作為一種微型網(wǎng)絡(luò)服務(wù)器;另一種是作為一種微型網(wǎng)絡(luò)客戶端。這兩種接入方式,所能夠提供的功能是完全不同的。如果以微型網(wǎng)絡(luò)服務(wù)器方式接入以太網(wǎng),其主要目的是提供微型web服務(wù)器,向監(jiān)測主機(jī)定時發(fā)送該設(shè)備所采集的數(shù)據(jù),即時顯示該設(shè)備的工作參數(shù)和/或工作環(huán)境。如果以微型網(wǎng)絡(luò)客戶端方式接入以太網(wǎng),可以具有的功能有許多:tftp客戶端、ftp客戶端、pop3客戶端、http客戶端即瀏覽器等。其中比較基本的功能有用于網(wǎng)絡(luò)連通性的檢測

25、、跟蹤路由、從網(wǎng)絡(luò)上下載所需要的數(shù)據(jù)等。在表2-1中對嵌入式微型服務(wù)器和嵌入式客戶端進(jìn)行了簡單的比較。表2-1 嵌入式服務(wù)器和嵌入式客戶端的比較比較內(nèi)容嵌入式服務(wù)器嵌入式客戶端服務(wù)對象服務(wù)提供方服務(wù)請求方服務(wù)方式ftp服務(wù)器、web 服務(wù)器等ftp客戶端、web瀏覽器等性能要求相對較高相對較低存儲器容量相對較大相對較小可移動性比較固定移動性大2.2 嵌入式以太網(wǎng)測試技術(shù)本節(jié)將分析設(shè)計(jì)與實(shí)現(xiàn)嵌入式以太網(wǎng)測試功能的技術(shù)以及與這些功能相關(guān)的tcp/ip協(xié)議。2.2.1 嵌入式以太網(wǎng)測試技術(shù)在對以太網(wǎng)進(jìn)行測試時,常用的主要功能有測試網(wǎng)絡(luò)連通性的ping命令和跟蹤路由的traceroute命令等兩種。還

26、有一種網(wǎng)絡(luò)客戶端經(jīng)常具備的功能是它從網(wǎng)絡(luò)中的一臺或多臺dhcp服務(wù)器上自動獲取并租用一個網(wǎng)絡(luò)ip地址,即ip地址的自動獲取。下面分別研究這三種功能實(shí)現(xiàn)過程。1ping命令功能在所有網(wǎng)絡(luò)測試功能中,ping命令是最簡單的、也是最基本的。它主要有兩種形式:一種是向網(wǎng)絡(luò)上的其他主機(jī)或網(wǎng)關(guān)發(fā)出的回顯請求;另一種是對其他主機(jī)或網(wǎng)關(guān)的回顯請求的回顯。ping命令是以網(wǎng)絡(luò)層的附屬協(xié)議icmp為基礎(chǔ)的,它的數(shù)據(jù)報(bào)是被封裝成其中的一種icmp數(shù)據(jù)報(bào)格式。2traceroute命令功能相對于ping命令而言,traceroute的實(shí)現(xiàn)過程要復(fù)雜的多。首先,它發(fā)送一個ttl字段值為1的udp數(shù)據(jù)報(bào),然后將ttl字段

27、值每次增加1,以確定傳輸路徑中的每個路由器。每個路由器在丟棄udp數(shù)據(jù)報(bào)的時候,都返回一個icmp超時報(bào)文,而最終的目的主機(jī)則產(chǎn)生一個icmp端口不可達(dá)的報(bào)文。于是根據(jù)最后的ttl字段值,就可以知道到達(dá)最終目的主機(jī)之前所經(jīng)過的路由器數(shù),既所謂的跳數(shù)。對于此功能,本文將采用如下算法來實(shí)現(xiàn)。路由跟蹤算法:(1) 初始化ttl=1,重傳次數(shù)nr=6,指定目的 ip 地址;(2) 填充并發(fā)送指定ttl值和目的 ip 地址的udp數(shù)據(jù)報(bào);(3) 等待接收icmp報(bào)文;(4) 若是icmp超時報(bào)文,則轉(zhuǎn)(5)執(zhí)行;否則轉(zhuǎn)(6)執(zhí)行;(5) ttl加1, 重置重傳次數(shù)nr為6,并轉(zhuǎn)(2)執(zhí)行;(6) 若是i

28、cmp端口不可達(dá)報(bào)文,則轉(zhuǎn)(11)執(zhí)行;否則轉(zhuǎn)(7)執(zhí)行;(7) 重傳次數(shù)nr減1;若nr為0,則轉(zhuǎn)(8);否則轉(zhuǎn)(9);(8) 輸出出錯信息并結(jié)束;(9) 重傳udp數(shù)據(jù)包,并轉(zhuǎn)(3)執(zhí)行;(10) 輸出ttl并結(jié)束。該算法的流程圖如圖2-1所示。圖2-1 路由跟蹤流程圖3 ip地址的自動獲取嵌入式客戶端接入以太網(wǎng)需要一個相對比較固定的 ip 地址。其ip 地址可以通過兩種方式獲?。阂环N是直接指定;另一種是從網(wǎng)絡(luò)中的 dhcp 服務(wù)器處獲取。在一個未知的網(wǎng)絡(luò)上,嵌入式客戶端以 dhcp客戶端的形式能夠從 dhcp 服務(wù)器處自動獲取ip 地址,其具體工作過程可以分如下發(fā)現(xiàn)階段、提供階段、選擇階

29、段、確認(rèn)階段、重新登錄和更新租約等六個階段。(1) 發(fā)現(xiàn)階段,即 dhcp 客戶端尋找 dhcp 服務(wù)器的階段。由于 dhcp服務(wù)器的 ip 地址對于客戶端來說是未知的,因此dhcp客戶端以廣播方式發(fā)送 dhcp 發(fā)現(xiàn)信息來尋找 dhcp 服務(wù)器,即向地址55發(fā)送特定的廣播信息。網(wǎng)絡(luò)上每臺安裝了tcp/ip協(xié)議的主機(jī)都會接收到這種廣播信息,但只有dhcp服務(wù)器才會做出相應(yīng)的響應(yīng)。(2) 提供階段,即dhcp服務(wù)器提供ip地址的階段。在網(wǎng)絡(luò)中接收到dhcp發(fā)現(xiàn)信息的dhcp服務(wù)器都會做出響應(yīng),它從尚未出租的ip地址中挑選一個分配給dhcp客戶端,向dhcp客戶端發(fā)送一個

30、包含出租的ip地址和其他設(shè)置的dhcp提供信息。(3) 選擇階段,即dhcp客戶端選擇某臺dhcp服務(wù)器提供的ip地址的階段。如果有多臺dhcp服務(wù)器向dhcp客戶端發(fā)來的dhcp提供信息,則dhcp客戶端只接受第一個收到的dhcp提供信息,然后它就以廣播方式回應(yīng)一個dhcp請求信息,該信息中包含向它所選定的dhcp服務(wù)器請求ip地址的內(nèi)容。之所以要以廣播方式回應(yīng),是為了通知所有的dhcp服務(wù)器,它將選擇某臺dhcp服務(wù)器所提供的ip地址。(4) 確認(rèn)階段,即dhcp服務(wù)器確認(rèn)所提供的ip地址的階段。當(dāng)dhcp服務(wù)器收到dhcp客戶端回答的dhcp請求信息之后,它便向dhcp客戶端發(fā)送一個包含

31、它所提供的ip地址和其他設(shè)置的dhcp確認(rèn)信息,告訴dhcp客戶端可以使用它所提供的ip地址。然后dhcp客戶端便將其tcp/ip協(xié)議與網(wǎng)卡綁定。另外,除dhcp客戶端選中的服務(wù)器外,其他的dhcp服務(wù)器都將回收曾提供的ip地址。(5) 重新登錄,以后dhcp客戶端每次重新登錄網(wǎng)絡(luò)時,就不需要再發(fā)送dhcp發(fā)現(xiàn)信息了,而是直接發(fā)送包含前一次所分配的ip地址的dhcp請求信息。當(dāng)dhcp服務(wù)器收到這一信息后,它會嘗試讓dhcp客戶端繼續(xù)使用原來的ip地址,并回答一個dhcp確認(rèn)信息。如果此ip地址已無法再分配給原來的dhcp客戶端使用時(比如此ip地址已分配給其它dhcp客戶端使用),則dhcp

32、服務(wù)器給dhcp客戶端回答一個dhcp否認(rèn)信息。當(dāng)原來的dhcp客戶端收到此dhcp否認(rèn)信息后,它就必須重新發(fā)送dhcp發(fā)現(xiàn)信息來請求新的ip地址。(6) 更新租約,dhcp服務(wù)器向dhcp客戶端出租的ip地址一般都有一個租借期限,期滿后dhcp服務(wù)器便會回收出租的ip地址。如果dhcp客戶端要延長其ip租約,則必須更新其ip租約。dhcp客戶端啟動時和ip租約期限過一半時,dhcp客戶端都會自動向dhcp服務(wù)器發(fā)送更新其ip租約的信息。2.2.2 與以太網(wǎng)測試相關(guān)的協(xié)議嵌入式以太網(wǎng)測試功能是建立在tcp/ip協(xié)議基礎(chǔ)之上的,每個測試功能在實(shí)現(xiàn)時所使用的各層協(xié)議是有所不同的56。與這些功能相關(guān)

33、的協(xié)議的詳細(xì)依賴關(guān)系按照其復(fù)雜程度依次列出如下:1與ping 命令功能相關(guān)的協(xié)議包括(1) 數(shù)據(jù)鏈路層的arp 協(xié)議,本功能將主要使用其中的 mac 地址解析等模塊;(2) 網(wǎng)絡(luò)層的ip 協(xié)議,本功能將主要使用其中接收、發(fā)送等模塊;(3) 網(wǎng)絡(luò)層的附屬協(xié)議-icmp 協(xié)議,本功能將使用其中的顯示請求報(bào)文和回顯應(yīng)答報(bào)文等兩種報(bào)文。2與traceroute 命令功能相關(guān)的協(xié)議包括(1) 數(shù)據(jù)鏈路層的arp 協(xié)議,本功能將主要使用其中的 mac 地址解析等模塊;(2) 網(wǎng)絡(luò)層的ip 協(xié)議,本功能將主要使用其中接收、發(fā)送等模塊;(3) 網(wǎng)絡(luò)層的附屬協(xié)議-icmp 協(xié)議,本功能主要使用其中的超時報(bào)文和端

34、口不可達(dá)報(bào)文等兩種報(bào)文;(4) 傳輸層的 udp 協(xié)議,本功能將主要使用其中接收、發(fā)送等模塊。3與ip地址自動獲取功能相關(guān)的協(xié)議包括(1) 數(shù)據(jù)鏈路層的arp 協(xié)議,本功能將主要使用其中的 mac 地址解析等模塊;(2) 網(wǎng)絡(luò)層的ip 協(xié)議,本功能將主要使用其中接收、發(fā)送等模塊;(3) 網(wǎng)絡(luò)層的附屬協(xié)議-icmp 協(xié)議;(4) 傳輸層的 udp 協(xié)議,本功能將主要使用其中接收、發(fā)送等模塊;(5) 應(yīng)用層的 dhcp 協(xié)議。2.3 嵌入式以太網(wǎng)測試的硬件選型本節(jié)將研究嵌入式以太網(wǎng)測試的硬件選型的基本原則以及微控制器與以太網(wǎng)控制器的選型。2.3.1 硬件選型的基本原則在進(jìn)行嵌入式系統(tǒng)開發(fā)中,由于目

35、標(biāo)系統(tǒng)的運(yùn)行環(huán)境、設(shè)計(jì)目標(biāo)和市場定位等的不同,在選擇相應(yīng)的硬件時,必須遵循一些基本原則。這些基本原則主要包括以下幾個方面。1. 運(yùn)行環(huán)境嵌入式系統(tǒng)預(yù)期將運(yùn)行在什么樣的具體環(huán)境下,是工作在野外環(huán)境,還是在室外環(huán)境,還是在室內(nèi)環(huán)境等。因?yàn)槊糠N元器件都有相應(yīng)的電氣工作條件。2設(shè)計(jì)目標(biāo)嵌入式系統(tǒng)的預(yù)期設(shè)計(jì)目標(biāo)是什么,這也是在硬件選型時必須仔細(xì)斟酌的。根據(jù)目標(biāo)系統(tǒng)預(yù)期達(dá)到的工業(yè)標(biāo)準(zhǔn),可以分為軍用級、工業(yè)級和民用級,每種元器件產(chǎn)品所能達(dá)到的電氣工作條件和工作環(huán)境溫度是不同的,在價(jià)格方面也會有很大的差別,這直接導(dǎo)致生產(chǎn)成本顯著變化。因目標(biāo)系統(tǒng)的尺寸不同,在選擇元器件產(chǎn)品的尺寸時會仔細(xì)地考慮。對于便攜性系統(tǒng)而

36、言,由于目標(biāo)系統(tǒng)在體積上比較嚴(yán)格的限制,必須選擇體積小的元器件。對移動性小的系統(tǒng)而言,在選擇元器件時,其尺寸和體積的要求就沒有那么嚴(yán)格。3. 市場定位嵌入式系統(tǒng)的預(yù)期市場定位是什么,這是一個產(chǎn)品在市場上獲得成功的重要因素。根據(jù)不同的市場定位,產(chǎn)品的成本控制在可以接受的范圍內(nèi),才能從市場中獲利。2.3.2 微控制器核心的選型本文所研究的嵌入式客戶端是以其價(jià)格低廉、便攜性、低功耗、體積小巧和功能夠用為目標(biāo)的。因此,在控制核心的選用上,不予考慮功能強(qiáng)大但價(jià)格較高的dsp數(shù)字處理器和32位微控制器,而只考慮選用具有有限內(nèi)存資源的 8 位或 16 位微控制器。一般來說,有以下兩種主要的選擇方案:1. 8

37、/16 位嵌入式微控制器8/16 位嵌入式微控制器一般都具有如下不足之處:速度不夠快,內(nèi)存不夠大,但是其價(jià)格低廉,體積小、功耗低,因此仍然是嵌入式領(lǐng)域的主力軍,占有巨大的市場份額。為了能夠保證順利地將其接入以太網(wǎng),必須在保證最基本的性能要求的前提下,對整個嵌入式系統(tǒng)盡可能地簡化。嵌入式系統(tǒng)必須對標(biāo)準(zhǔn)的 tcp/ip 協(xié)議進(jìn)行簡化,以 web 服務(wù)器或網(wǎng)絡(luò)客戶端形式接入以太網(wǎng)??紤]到嵌入式系統(tǒng)的成本必須低廉,同時又具有一定的設(shè)計(jì)靈活性,而且能夠滿足系統(tǒng)硬件的設(shè)計(jì)需要,本文所設(shè)計(jì)的嵌入式客戶端的控制核心采用 8 位微控制器。其中,c8051f 系列微控制器(microcontroller unit

38、, mcu)是由美國 silicon laboratories 公司研發(fā)生產(chǎn)的一系列完全集成的混合信號片上系統(tǒng)(system on chip, soc)。c8051f 系列 mcu 集成了一個完全兼容 mcs-51 指令集的高速 cip-51 內(nèi)核。該內(nèi)核具有標(biāo)準(zhǔn) 8051 核心的程序地址和數(shù)據(jù)地址,采用流水線指令體系架構(gòu),其 70% 的指令能夠在 1 到 2 個系統(tǒng)時鐘周期內(nèi)完成。c8051f 還內(nèi)建了數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬、數(shù)字外設(shè)及其他功能部件;并內(nèi)置了在線可編程的 flash 程序存儲器和內(nèi)部 ram,可以通過其外部數(shù)據(jù)存儲器界面(emif)外接 xram。同時,c8051f

39、還集成了在片調(diào)試電路,通過 c2d 引腳可以對其進(jìn)行非侵入式的全速在系統(tǒng)調(diào)試。在本文的嵌入式系統(tǒng)中,所采用的 c8051f340(48 腳的 tqfp 封裝)具有 40 個數(shù)字 i/o 引腳,當(dāng)系統(tǒng)時鐘頻率為 48mhz 時,其峰值運(yùn)算速度可達(dá) 48 mips,這為在該系統(tǒng)上設(shè)計(jì)和實(shí)現(xiàn)比較復(fù)雜的 tcp/ip 協(xié)議棧提供了有利條件。此外,它還提供 14 個中斷源,可同時使用硬件增強(qiáng)型 spi、smbus 和兩個增強(qiáng)型 uart 串行口。其片內(nèi)集成了 4352b(256b+4kb)sram、64kb flash 程序存儲器、速度可達(dá) 0.2msps 的 10位 adc 以及帶單端和差分模式的模擬

40、多工通道。2. 32/64 位嵌入式控制器32/64 位嵌入式控制器的自身資源比較豐富,運(yùn)行速度較快,有強(qiáng)大的嵌入式實(shí)時操作系統(tǒng)(rtos)和函數(shù)庫的支持。嵌入式實(shí)時操作系統(tǒng)一般都已經(jīng)在內(nèi)核中添加了 tcp/ip 網(wǎng)絡(luò)協(xié)議族,因此 32/64 位嵌入式系統(tǒng)可以很方便地接入以太網(wǎng)。2.3.3 以太網(wǎng)控制器的選型對 8 位微控制器而言,在選擇以太網(wǎng)控制器時,需要考慮以下幾個因素:1. 需要考慮以太網(wǎng)控制器是否支持 8 位工作模式由于主機(jī)是 8 位微控制器,因此要求所選的以太網(wǎng)控制器必須支持 8 位工作模式。實(shí)際上,在比較老的產(chǎn)品中,只有部分基于 isa 總線的以太網(wǎng)控制器才能支持,所以基于 pci

41、 總線的以太網(wǎng)控制器不在考慮之列。而近幾年才上市的產(chǎn)品,比較有代表性的有silabs公司的cp2200/1以太網(wǎng)控制器和microchip的enc28j60 以太網(wǎng)控制器,大多專門為嵌入式系統(tǒng)優(yōu)化設(shè)計(jì),完全支持這種工作模式。2. 需要考慮以太網(wǎng)控制器是否具有片上緩存最好選用具有足夠片上緩存的以太網(wǎng)控制器,以簡化系統(tǒng)的軟硬件設(shè)計(jì)。3. 應(yīng)考慮以太網(wǎng)控制器與主機(jī)的數(shù)據(jù)交換形式在 8 位模式下,有的以太網(wǎng)控制器可以支持中斷,有的則只支持查詢。這些勢必對系統(tǒng)軟件設(shè)計(jì)產(chǎn)生一定影響。4考慮與現(xiàn)有以太網(wǎng)的兼容性問題這些基于 isa 總線的以太網(wǎng)控制器還可以分成兼容和非兼容兩類。前者一般上市時間較早,可供借鑒

42、的參考資料比較豐富;后者則多為近期產(chǎn)品,但性能更佳。表2-1 列出了目前市面上幾種可供選用的以太網(wǎng)控制器及其主要特性。表2-1 幾種以太網(wǎng)控制器的比較制造商型號片內(nèi)緩存/位8位中斷模式以太網(wǎng)兼容性價(jià)格cirrus logiccs8900a4k/8否否高davicomdm9008f8k/16是是低microchipenc28j608k/8是否中realtekrtl80198k/16是是低silabscp22008k+2k+4k/8是否較高通過比較,rtl8019 和 cp2200 兩種以太網(wǎng)控制器都適合本文的嵌入式系統(tǒng),而其中的 cp2200 以太網(wǎng)控制器是一種使用得較廣泛的以太網(wǎng)控制器,最終,

43、本文選擇 cp2200 以太網(wǎng)控制器作為嵌入式系統(tǒng)的以太網(wǎng)控制器。由美國 silicon laboratories 公司生產(chǎn)的 cp2200高集成以太網(wǎng)控制器芯片集成了介質(zhì)訪問控制層(mac)和物理層(phy)的性能,可以方便地與通用mcu進(jìn)行連接。另外,它還具有軟件移植性好等優(yōu)點(diǎn)。1. 性能指標(biāo)(1) 以太網(wǎng)控制器集成 ieee802.3 mac 和 10base-t phy,完全兼容 100/1000 base-t 網(wǎng)絡(luò);具有自動協(xié)商的全/半雙工、自動極性檢測和校正功能、自動沖突重新發(fā)送、自動填充及crc生成并支持廣播和多播 mac 處理。(2) 并行主機(jī)接口(30 mbps的傳輸速率)具

44、有8位復(fù)用或非復(fù)用模式;復(fù)用模式僅需11個i/o引腳;英特爾或者摩托羅拉總線格式;支持包接受中斷和網(wǎng)絡(luò)喚醒功能。(3) 8kb isp非揮發(fā)性記憶體 flash;廠商預(yù)先編程的唯一的48位mac地址;不需要外接任何eeprom。(4) led 輸出驅(qū)動器(連接/活動);專用 2kb 的 ram 發(fā)送緩沖區(qū)和 4kb 的 ram 接收先進(jìn)先出緩沖區(qū);電源復(fù)位;能夠耐受 5v 電壓的 i/o。(5) 提供了免版稅tcp/ip協(xié)議族與設(shè)備驅(qū)動;tcp/ip協(xié)議族配置向?qū)?;硬件診斷軟件和實(shí)例代碼。(6) 提供的應(yīng)用實(shí)例有遠(yuǎn)程檢測和監(jiān)測;庫存管理;網(wǎng)絡(luò)電話適配器;銷售點(diǎn)設(shè)備;網(wǎng)絡(luò)時鐘;嵌入式 web 服

45、務(wù)器;遠(yuǎn)程以太網(wǎng)到 uart 橋接。(7) 供電電壓為 3.1 至 3.6v。(8) 具有無鉛48引腳 tqfp(9x9毫米見方)和無鉛28引腳 qfn(5x5毫米見方)兩種封裝方式。(9) 預(yù)定的針腳數(shù)分別為 cp2200-gq 是48引腳;cp2201-gm 是28引腳。(10)溫度范圍為 -40至+85 。2. 內(nèi)部結(jié)構(gòu)cp220x 以太網(wǎng)控制器內(nèi)部可分為主機(jī)接口(host interface)、接收/發(fā)送緩沖區(qū)(tx/rx buffer)、以太網(wǎng)介質(zhì)訪問控制(mac)、以太網(wǎng)物理層(phy)和 led 控制等。內(nèi)部結(jié)構(gòu)如圖2-2 所示。圖2-2 cp2200 以太網(wǎng)控制器內(nèi)部結(jié)構(gòu)圖3.

46、 工作原理主處理器(host)通過以太網(wǎng)控制器的主機(jī)接口來收發(fā)數(shù)據(jù)。主處理器要向以太網(wǎng)發(fā)送數(shù)據(jù)時,先通過主機(jī)接口將數(shù)據(jù)報(bào)傳送到以太網(wǎng)控制器的發(fā)送緩沖區(qū)(tx buffer),然后發(fā)出發(fā)送命令。以太網(wǎng)控制器在發(fā)送完前一幀數(shù)據(jù)之后,自動將此數(shù)據(jù)報(bào)封裝成以太網(wǎng)幀,將其發(fā)送到以太網(wǎng)上,從而完成此幀的發(fā)送。以太網(wǎng)控制器將接收到的數(shù)據(jù)幀通過 mac 比較、crc 校驗(yàn)后,由 fifo 存到接收緩沖區(qū)(rx buffer),收滿一幀后,設(shè)置相應(yīng)的中斷標(biāo)志位,主處理器通過查詢該中斷標(biāo)志位來獲取與新以太網(wǎng)數(shù)據(jù)幀相關(guān)的信息,進(jìn)而做出相應(yīng)的處理。以太網(wǎng)控制器內(nèi)部有 fifo 緩存和 crc 生成器/校驗(yàn)器。接收邏輯

47、在接收時鐘脈沖的控制下,將串行數(shù)據(jù)組成字節(jié)送到 fifo 和 crc校驗(yàn)器;發(fā)送邏輯將 fifo 送來的字節(jié)在發(fā)送時鐘脈沖的控制下逐步按位移出,并送到 crc生成器;crc 校驗(yàn)器邏輯在接收時對輸入的數(shù)據(jù)進(jìn)行 crc 校驗(yàn),將結(jié)果與幀尾的 crc 比較,如不同,該幀數(shù)據(jù)將被拒收;在發(fā)送時, crc生成器對數(shù)據(jù)幀自動生成 crc,并附加在數(shù)據(jù)尾傳送;地址識別邏輯對接收幀的目的地址與預(yù)先設(shè)置的本地物理地址進(jìn)行比較,如果不同且不滿足廣播地址(broadcast address)的設(shè)定要求,以太網(wǎng)控制器將拒絕接收該幀數(shù)據(jù)。4. 內(nèi)部 ram 地址的分配cp2200 以太網(wǎng)控制器內(nèi)置的存儲器分別由 8k

48、b flash、4kb 接收緩存區(qū)和 2kb 發(fā)送緩存區(qū)組成,但 mcu 只需從 cp2200 以太網(wǎng)控制器讀取數(shù)據(jù)或向 cp2200 以太網(wǎng)控制器發(fā)送數(shù)據(jù)就可以了,不必考慮具體是哪一種存儲器,因而使用非常方便。5. c8051f340微控制器和 cp2200 以太網(wǎng)控制器的互聯(lián)c8051f340微控制器為了有效地控制并與之交換數(shù)據(jù),cp2200以太網(wǎng)控制器必須將c8051f340 微控制器引腳與其相應(yīng)引腳連接起來57-58,其連接圖如圖2-3所示。圖2-3 c8051f340和 cp2200 的非雙工模式連接原理圖(1) cp2200 以太網(wǎng)控制器的工作方式選擇從圖2-3中可以看出,cp22

49、00 以太網(wǎng)控制器的 muxen 和 moten 兩個引腳是接地的,因此它工作在非雙工模式。(2) cp2200 以太網(wǎng)控制器的中斷接收cp2200 以太網(wǎng)控制器的中斷引腳 /int 被連接到 c8051f340 微控制器的 p0.7 引腳上,因此c8051f340 微控制器可以通過讀取p0.7引腳來接收 cp2200 以太網(wǎng)控制器產(chǎn)生的任何中斷消息。(3) 地址線連接由于采用的c8051f340微控制器的尋址范圍是 16 位的,所以需將 cp2200 以太網(wǎng)控制器的16 位地址線 與c8051f340微控制器的地址線連接。(4) 數(shù)據(jù)線連接由于采用的c8051f340微控制器是 8 位的,所

50、以只需將 cp2200 以太網(wǎng)控制器的低 8 位地址線 與c8051f340微控制器的地址線連接。(5) cp2200 以太網(wǎng)控制器的復(fù)位引腳cp2200 以太網(wǎng)控制器的復(fù)位引腳 /rst 被連接到 c8051f340 微控制器的 p0.6 引腳上,因此c8051f340 微控制器可以對 cp2200 以太網(wǎng)控制器實(shí)現(xiàn)軟件復(fù)位。(6) 診斷 ledcp2200 以太網(wǎng)控制器提供兩個連接診斷 led 的 link 和 act引腳,可以即時指示其連接狀態(tài)。2.4 c8051f340開發(fā)板的結(jié)構(gòu)特點(diǎn)嵌入式客戶端因?yàn)橐度?tcp/ip 協(xié)議族和實(shí)現(xiàn)較復(fù)雜客戶端功能,需要較大的程序存儲空間和數(shù)據(jù)存儲空

51、間,所以采用了美國 silicon laboratories 公司的 8 位 c8051f340 微控制器,它自帶 64kb 的 flash rom,256+4k 字節(jié)的 ram 和外部并口數(shù)據(jù)存儲器 xram,免去了擴(kuò)展外部程序存儲器的麻煩。為了有較大的數(shù)據(jù)存儲區(qū)來存放接收的和發(fā)送的數(shù)據(jù)報(bào),需要外部擴(kuò)展 32kb 的 sram 62256。這兩種芯片的選用,主要為tcp/ip協(xié)議族的嵌入提供條件和保證提供較大的數(shù)據(jù)處理空間。c8051f340微控制器內(nèi)置的64kb非易失性flash存儲器??梢酝ㄟ^并口方式與mcu連接。在程序中用來存儲嵌入式客戶端的網(wǎng)絡(luò)參數(shù)設(shè)置(ip 地址、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)

52、、物理地址)等。以太網(wǎng)控制器 cp220x 這一重要部件主要完成向以太網(wǎng)發(fā)送數(shù)據(jù)和從以太網(wǎng)接收數(shù)據(jù)。它內(nèi)置的脈沖變壓器可以與外接rj45接口直接相連,以便對以太網(wǎng)上的脈沖進(jìn)行轉(zhuǎn)換和濾波。使用雙絞線作為傳輸介質(zhì),通過rj45 接口可以將系統(tǒng)連接到待測試的端口,并接人以太網(wǎng),也可以直接連到 pc 微機(jī)上。rs232 接口使用 db 9 公頭,用于連接 pc 機(jī)進(jìn)行工作參數(shù)設(shè)置。串行口的波特率設(shè)置為 38400波特,數(shù)據(jù)格式為無奇偶校驗(yàn)位,8 位數(shù)據(jù),1位停止位。本文的嵌入式系統(tǒng)的硬件結(jié)構(gòu)如圖2-4所示59。圖2-4 嵌入式客戶端的硬件實(shí)現(xiàn)圖2.5 本章小結(jié)本章從比較嵌入式客戶端與嵌入式服務(wù)器的異同

53、入手,研究了本課題的重點(diǎn)嵌入式以太網(wǎng)測試功能設(shè)計(jì)與實(shí)現(xiàn)技術(shù);隨后,討論了嵌入式系統(tǒng)硬件選型的基本原則、微控制器核心和以太網(wǎng)控制器等選型問題;最后,介紹了c8051f340開發(fā)板的特點(diǎn)。碩士學(xué)位論文 第三章 嵌入式以太網(wǎng)測試的設(shè)計(jì)第三章嵌入式以太網(wǎng)測試的設(shè)計(jì)本章將詳細(xì)研究嵌入式客戶端各種以太網(wǎng)測試功能的設(shè)計(jì)。其中,設(shè)計(jì)方法采用在嵌入式領(lǐng)域常用且比較成熟的結(jié)構(gòu)化設(shè)計(jì)方法。首先,介紹本章所使用的軟件設(shè)計(jì)方面的知識基礎(chǔ);然后,具體討論嵌入式以太網(wǎng)以太網(wǎng)測試功能的七個模塊。3.1 軟件設(shè)計(jì)知識概要眾所周知,在進(jìn)行軟件設(shè)計(jì)過程中,必須遵從信息的隱蔽性和模塊獨(dú)立性兩個基本的原則。由于結(jié)構(gòu)化設(shè)計(jì)方法能夠很好地

54、遵從這兩個原則,因此,對這些功能進(jìn)行設(shè)計(jì),本文將采用結(jié)構(gòu)化設(shè)計(jì)方法,軟件設(shè)計(jì)中主要設(shè)計(jì)方法之一。在研究本系統(tǒng)的軟件設(shè)計(jì)之前,首先對結(jié)構(gòu)化設(shè)計(jì)方法的一些相關(guān)知識做一簡要介紹。結(jié)構(gòu)化設(shè)計(jì)方法是在模塊化、自上而下逐層細(xì)化、結(jié)構(gòu)化程序設(shè)計(jì)等軟件設(shè)計(jì)技術(shù)的基礎(chǔ)上發(fā)展起來的。該方法的實(shí)施過程如下:1總結(jié)出系統(tǒng)應(yīng)有的功能,對每個功能,從功能的完成過程考慮,將各個過程列出來,并標(biāo)識出過程轉(zhuǎn)向和傳遞的數(shù)據(jù)。從而將所有的過程都繪制出來。2細(xì)化數(shù)據(jù)流,確定必須記錄的數(shù)據(jù)。3分析各個過程之間的耦合關(guān)系,對模塊進(jìn)行合理的劃分以降低它們之間的耦合性,提高它們之間的內(nèi)聚性。一般而言,可以使每個模塊都具有信息內(nèi)聚性。應(yīng)用結(jié)構(gòu)

55、化設(shè)計(jì)方法,系統(tǒng)將以系統(tǒng)結(jié)構(gòu)圖的形式表示出來。結(jié)構(gòu)圖著重反映系統(tǒng)中各個模塊之間的調(diào)用關(guān)系和層次關(guān)系。與數(shù)據(jù)流圖反映數(shù)據(jù)流的情況不同,結(jié)構(gòu)圖反映的是程序中控制流的情況。在系統(tǒng)結(jié)構(gòu)圖中,可能出現(xiàn)四種類型的模塊,它們分別是傳人模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。組成系統(tǒng)結(jié)構(gòu)圖的主要成分也有四個部分:模塊、模塊間的調(diào)用關(guān)系、模塊間的通信和輔助控制符號等。常用的系統(tǒng)結(jié)構(gòu)圖主要有變換型、事務(wù)型和變換事務(wù)混合型三種。本文嵌入式以太網(wǎng)測試功能將研究ping 命令、traceroute 命令和ip 地址自動獲取等三種主要內(nèi)容。按照結(jié)構(gòu)化設(shè)計(jì)方法的思路,將本嵌入式客戶端系統(tǒng)劃分為系統(tǒng)主控模塊、系統(tǒng)初始化模塊、定時

56、中斷模塊、鍵盤驅(qū)動模塊、以太網(wǎng)控制驅(qū)動模塊、tcp/ip協(xié)議模塊、應(yīng)用層模塊、lcd驅(qū)動模塊、串行通信模塊等九個模塊。在這些模塊中,系統(tǒng)主控模塊、定時中斷模塊、以太網(wǎng)控制驅(qū)動模塊、tcp/ip協(xié)議模塊、應(yīng)用層模塊、串行通信模塊等是主要模塊。從下節(jié)開始,重點(diǎn)研究這些主要模塊的軟件設(shè)計(jì)問題。3.2 系統(tǒng)主控模塊的設(shè)計(jì)本嵌入式系統(tǒng)主控模塊的功能是控制整個嵌入式系統(tǒng)的正常運(yùn)行。在系統(tǒng)運(yùn)行過程中,系統(tǒng)不僅要完成與以太網(wǎng)控制器的交換信息,而且還要完成產(chǎn)生一個基本的系統(tǒng)運(yùn)行節(jié)拍、對串行通信中斷進(jìn)行處理、定時重傳、定時更新等任務(wù)。為了統(tǒng)一管理這些任務(wù),按照事件驅(qū)動的思想,為每個重要事件都設(shè)置一個標(biāo)識。每個事件的標(biāo)識的置位與否是通過中斷方式來實(shí)現(xiàn)的。由于中斷方式的效率要比查詢方式高得多,這使得系統(tǒng)能夠在這些重要事件發(fā)生時,及時設(shè)置相應(yīng)的標(biāo)識,從而提高了系統(tǒng)對事件處理的準(zhǔn)確性和實(shí)時性。在嵌入式系統(tǒng)上電復(fù)位并對系統(tǒng)進(jìn)行初始化后,系統(tǒng)主控模塊進(jìn)入主循環(huán)體,以查詢方式檢查每個

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論