版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
II一個簡潔易用的基于PPP協(xié)議的單片機撥號上網(wǎng)系統(tǒng)設(shè)計摘要:近幾年隨著科技的不斷發(fā)展,在半導(dǎo)技術(shù)以及系統(tǒng)設(shè)計方面有了很大的提升,主要是因為是在單片機的技術(shù)取得了強勁的發(fā)展,體現(xiàn)在對單片機內(nèi)部結(jié)構(gòu)的改進、功率消耗更小、制作工藝更加精良。當(dāng)前單片機以及應(yīng)用的十分廣泛,主要是在各種電子設(shè)備中被使用,單片機的發(fā)展進入了一個全新的時代,一個輝煌的時代?;ヂ?lián)網(wǎng)技術(shù)的發(fā)展,使得互聯(lián)網(wǎng)技術(shù)在我們的生活中十分的普及,于是對單片機提出了新的需求,就是將互聯(lián)網(wǎng)與單片機相結(jié)合。本文通過對單片機技術(shù)的發(fā)展進行梳理,整理單片機網(wǎng)絡(luò)化的技術(shù)手段,對現(xiàn)有的單片機網(wǎng)絡(luò)化進行比較,通過對TCP/IP協(xié)議簇進行簡化,對數(shù)據(jù)包進行相關(guān)配置,設(shè)計實現(xiàn)一個簡潔、易用的基于PPP協(xié)議的單片機撥號上網(wǎng)系統(tǒng)。接下來本文的第二部分,詳細(xì)闡述了相關(guān)技術(shù)的介紹,其中包括PPP協(xié)議和PPPoE協(xié)議。本文的第三部分,利用PPP協(xié)議設(shè)計基于單片機的上網(wǎng)撥號系統(tǒng)。本文的最后一部分,主要是對測試結(jié)果和用戶體驗的反饋進行分析。關(guān)鍵詞:撥號上網(wǎng);PPP;PPPoE;單片機目錄1緒論 11.1單片機技術(shù)簡介 11.1.1單片機技術(shù)及其網(wǎng)絡(luò)化的發(fā)展 11.1.2單片機系統(tǒng)連接網(wǎng)絡(luò)的方案 21.2撥號上網(wǎng)技術(shù)簡介 51.3論文研究內(nèi)容 51.4論文組織結(jié)構(gòu) 52相關(guān)技術(shù)介紹 72.1PPP協(xié)議介紹 72.1.1PPP協(xié)議出現(xiàn)的背景 72.1.2PPP協(xié)議的規(guī)范 72.2PPPoE協(xié)議規(guī)范介紹 83系統(tǒng)硬件方案設(shè)計 123.1STM單片機簡介 123.2各模塊電路介紹 123.3單片機最小系統(tǒng)硬件電路原理圖 143.4GSM模塊 154系統(tǒng)軟件方案設(shè)計 164.1系統(tǒng)程序流程圖 164.2Keilstm32下代碼展示 165撥號上網(wǎng)系統(tǒng)的測試與分析 185.1系統(tǒng)測試 185.2測試結(jié)果分析 186總結(jié) 206.1總結(jié)206.2展望和體會20參考文獻 21附錄 241緒論1.1單片機技術(shù)簡介1.1.1單片機技術(shù)及其網(wǎng)絡(luò)化的發(fā)展單片問世以來,歷經(jīng)了三十多年的發(fā)展,單片機的在各個行業(yè)的廣泛應(yīng)用,具有靈活性和個性化的發(fā)展特點。單片機技術(shù)的核心主要是:內(nèi)部結(jié)構(gòu)、功率功耗、外部電壓、制造工藝的技術(shù),上述的核心技術(shù)直接反應(yīng)了單片機的整體水平,下文主要針對上述幾個方面進行闡述。1、單片機的內(nèi)部結(jié)構(gòu):首先是單片內(nèi)部時序的改進,在時鐘頻率固定的前提下進行運算素的提升,其中具有代表性的是Motorola公司設(shè)計生產(chǎn)的單片機,該單片機使用的技術(shù)在當(dāng)時十分的先進;為了滿足更多的需求單片機內(nèi)部集成的部件越來越多,功能更細(xì)化。為了形成控制網(wǎng)絡(luò)或者局部網(wǎng)絡(luò),將CAN局部網(wǎng)絡(luò)控制模塊集成在單片機中以便于進入局域網(wǎng)。其中具有代表性的單片機有infineo公司生產(chǎn)的單片機,主要型號有C515、C167CR,另一家單片機公司Motorola生產(chǎn)的68HC08AZ系列[2]。這種集成了網(wǎng)絡(luò)控制模塊的單片機在比較復(fù)雜的控制結(jié)構(gòu)中可以便捷的、有效地形成控制網(wǎng)絡(luò),極大的方便了控制系統(tǒng)的設(shè)計。還有一些單片機集成了簡單的嵌入式系統(tǒng),便于單片機可以在變頻中使用單片機,其中比較有代表性的單片機有Fujistu公司生產(chǎn)的MB89850系列、MR24系列等[3-4]。還有一種單片機類型是DSP類型,這種類型單片機推進了單片機的飛速發(fā)展,將DSP和微控制器集成在一個單片機中,這種方式提高了單片機的功能,計算算能力,主要是高速計算和傅里葉變換上進行提升。這些單片機主要是集中在高檔單片機類型中,主要的型號是Infineon公司的TC10GP等[5-7]。2、單片機的性能指標(biāo):a、第一個是單片機功耗,隨著技術(shù)的發(fā)展單片機的功耗是更小的,主要是單片機的工作方式與以前的單片機是不同的,單片機被設(shè)計出多種工作模式,工作模式有多種,其中有等待、節(jié)點等多種工作方式。其中比較具有代表的是Philip公司生產(chǎn)的P89LPC762,這個單片機其在非工作狀態(tài)功耗僅為1.5mA,工作狀態(tài)為節(jié)電時,其功耗為0.5mA[8-12]。還有許多其他公司生產(chǎn)的單片機功耗很低,其中功耗最低的是TI公司的MSP430系列,其功耗是最低的。b、現(xiàn)在的對于單片機的封裝技術(shù)也是大大的提高了,封裝技術(shù)的提升主要來自于貼片工藝的產(chǎn)生,將貼片工藝應(yīng)用在單片機的封裝上,大大縮短了單片機的體積。最具代表性的是Microchip公司生產(chǎn)的PIC12XXXX系列單片機,這種單片機在滿足低檔應(yīng)用的同事,大大的縮減了體積。c、單片機一般的工作電壓是3.3-5.5V,但是隨著技術(shù)進步,一些公司也生產(chǎn)了在2.2-6.6V電壓下工作的單片機,豐富了單片機弓弩總的電壓,其中最具有代表性的單片機有Fujisu公司生產(chǎn)的MB89191-89195,系列產(chǎn)品。還有TI公司的某些單片機產(chǎn)品[13-18]。3、制作工藝:單片機的制作技術(shù)都是使用CMOS技術(shù),光刻工藝可以達到10nm,還有還有些個別公司其光刻技術(shù)可以達到5nm,7nm技術(shù)。單片機技術(shù)不斷的提升,使得單片機功能更加豐富、使用更加靈活、相加比更高、嵌入式性能更加強大,應(yīng)用也更廣泛,在我們生活的多個領(lǐng)域都可以看見單片機的影子,特別是在很多電子設(shè)備上,包括智能手表、智能電視、智能冰箱等。從軟件的角度去看單片機,基于單片機的系統(tǒng)專業(yè)性更強,實用性更加突出以及配置要求低的特點。這些特點使得單片機應(yīng)用更加廣泛,應(yīng)用前景好。在娛樂、生活、生產(chǎn)中單片機的影子隨處可見,如數(shù)字電視、IC卡、智能設(shè)備、車載導(dǎo)航、穿戴智能設(shè)備、手機等等。1.1.2單片機系統(tǒng)連接網(wǎng)絡(luò)的方案處于當(dāng)前的信息社會中,網(wǎng)絡(luò)是必須的,實現(xiàn)單片機連接網(wǎng)絡(luò)是十分必要的,但是在實現(xiàn)單片機連接上網(wǎng)方案中是存在一定的難度的。難點1:我們知道在計算機網(wǎng)絡(luò)中,數(shù)據(jù)的運輸層需要遵循TCP/IP協(xié)議,如何利用單片機實現(xiàn)對數(shù)據(jù)進行TCP/IP處理,將數(shù)據(jù)轉(zhuǎn)化成可以在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)包。為了解決這個問題,當(dāng)前有多種方案可以實現(xiàn)這個技術(shù)。方案1:使用EMIT技術(shù)實現(xiàn)單片機連接網(wǎng)絡(luò)EMIT是由美國公司Emware開發(fā)設(shè)計的一套解決單片機聯(lián)網(wǎng)的技術(shù)方案,該方案特點就是技術(shù)完善、成熟。EMIT的方案結(jié)構(gòu)圖如圖1.1所示,EMIT方案中使用的網(wǎng)關(guān)被稱作EMGateway,使用的硬件是桌面計算機或者高性能嵌入式處理器,這些硬件支持TCP/IP協(xié)議,且能對HTTP服務(wù)程序很好的運行,這些協(xié)議使得用戶可以實現(xiàn)web頁面閱覽以及實現(xiàn)對服務(wù)器的遠(yuǎn)程訪問。網(wǎng)關(guān)EMGateway通過總線與多個設(shè)備連接,這些連接可以單獨的運行名為EMMicro的通信任務(wù)程序。這個程序的主要作用就是對網(wǎng)絡(luò)中的各個預(yù)設(shè)變量進行監(jiān)測,并將獲取到的數(shù)據(jù)反饋給網(wǎng)絡(luò)EMGateway,除了對預(yù)設(shè)變量進行檢測,還可以對EMGateway命令進行解釋、修改設(shè)備變量和控制操作。對于應(yīng)用接口的服務(wù)在該方案中也是包含,可以使用多種開發(fā)工具,其中包括C++、java等,用戶根據(jù)需要自己開發(fā)適合自己的需求的web頁面。圖1.1EMIT框架技術(shù)圖眾多IT公司如Motorola、AT&T、Hitachi等都是支持EMIT方案[19-20],因此EMIT技術(shù)在這些年來在發(fā)展的十分迅猛,應(yīng)用廣泛。EMIT逐漸被淘汰是因為其存在一定的技術(shù)缺點,缺點一:相加比差,價格高;缺點二:進網(wǎng)需要許可證,并且需要繳納一定費用;缺點三:布線不方便,總線與設(shè)備之間距離不確定,位置不確定,很多時候是分散的,這對布線和通信帶來很多不便。方案2:基于webchip的單片機連網(wǎng)方案Webchip是一款可以實現(xiàn)單片機連接網(wǎng)絡(luò)的芯片,該芯片是我國武漢力源電子股份有限公司開發(fā)設(shè)計的。這是一款專用的芯片,主要的功能就是實現(xiàn)單片機與網(wǎng)絡(luò)的連接,該芯片是獨立的,與其他微控制器分開單獨存在,芯片中有網(wǎng)絡(luò)協(xié)議解釋模塊和網(wǎng)絡(luò)協(xié)議編譯模塊,便于將單片機數(shù)據(jù)轉(zhuǎn)換成網(wǎng)絡(luò)傳輸數(shù)據(jù),其連接的方式是通過SPI串口進行連接,連接的對象是嵌入式系統(tǒng)的微控制器。通過這種連接,微控制器可利用芯片處理網(wǎng)絡(luò)數(shù)據(jù),網(wǎng)絡(luò)數(shù)據(jù)經(jīng)過芯片的處理,將數(shù)轉(zhuǎn)換成單片機數(shù)據(jù),并利用芯片進行傳輸。雖然芯片可以將數(shù)據(jù)轉(zhuǎn)換,但是還是需要一個網(wǎng)關(guān)對TPC/IP協(xié)議和http協(xié)議進行支持。Webchip芯片的做法就是將EMIT中emMicro程序變形后使用,僅僅使用EMIT方案中部分功能。這方方案可以實現(xiàn)單片機連網(wǎng),但是距真正的智能裝置網(wǎng)絡(luò)化路還很長[21]。3、基于硬件協(xié)議棧芯片硬件協(xié)議芯片有很多優(yōu)點,其中比較顯著的特點就是該芯片與其他的微控制芯片是分隔開的,該芯片的核心功能就是上網(wǎng)。其與微控制器的連接方式是利用標(biāo)準(zhǔn)的輸入輸出接口。遠(yuǎn)程的命令通過網(wǎng)絡(luò)傳輸,首先硬件協(xié)議芯片對接受的數(shù)據(jù)進行處理,轉(zhuǎn)換成芯片命令數(shù)據(jù),傳輸給微處理器進行處理,反之亦然。其中硬件協(xié)議棧芯片生產(chǎn)的廠家比較有名的是日門的Seiko公司,這個公司生產(chǎn)s7600芯片性能優(yōu)良[22-24]。硬件協(xié)議芯片與webchip的區(qū)別是使用硬件協(xié)議芯片不需要通過網(wǎng)關(guān)就可以實現(xiàn)上網(wǎng),解決方案結(jié)構(gòu)圖如1.2所示:圖1.2一種webchip方案硬件協(xié)議芯片有優(yōu)點也有缺點,優(yōu)點:在開發(fā)連網(wǎng)單片機系統(tǒng)時,僅僅一個小程序用以協(xié)議芯片通信就能完成上網(wǎng),操作簡單,節(jié)省了開發(fā)的時間,降低了開發(fā)的難度;缺點就是硬件成本增加,因為需要使用專用的芯片,以及與芯片配套的網(wǎng)絡(luò)連接層設(shè)備。4、嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是在嵌入式平臺上使用的系統(tǒng),這種系統(tǒng)的特點就是模塊化程度高、功能十分強大,比較顯著的功能有文件和目錄管理功能,還有對窗口的支持,多任務(wù)、多圖形窗口;接口類型多,能夠適應(yīng)多種應(yīng)用程序,可以實現(xiàn)對系統(tǒng)功能性、可靠性等方面的要求。當(dāng)前市面上的該類型單片機種類多樣,其中包括uClinux、Rtlinux、VxWorks等。這些單片機都是支持TCP/IP協(xié)議的,僅僅是支持的方式不同,有的是利用附加組件有的是利用內(nèi)核自帶。這類單片機都是屬于剛當(dāng)單片機,使用的處理器都是32位的,如X86、PPC等、可以實現(xiàn)大容量的緩存和顯存,便于實現(xiàn)復(fù)雜的網(wǎng)絡(luò)功能。這種單片機的缺陷是性價比高、需要專業(yè)的開發(fā)技術(shù)、開發(fā)成本高、嵌入式系統(tǒng)是需要購買的,對開發(fā)人員的要求高。5、采用高性能處理器和簡化TCP/IP協(xié)議棧根據(jù)單片機產(chǎn)品的需求不同,簡化TCP/IP協(xié)議,僅僅保留基本功能或者定制功能模塊,這樣降低協(xié)議對系統(tǒng)的需求,降低了成本,實現(xiàn)了在小內(nèi)存的單片機上進行網(wǎng)絡(luò)連接。技術(shù)優(yōu)點:性價比高、開發(fā)成本低;缺點:網(wǎng)絡(luò)功能不全、運算能力弱。1.2撥號上網(wǎng)技術(shù)簡介撥號上網(wǎng)技術(shù)包含兩個重要的組成協(xié)議,一個是PPP協(xié)議一個PPPoE協(xié)議。在七層的網(wǎng)絡(luò)組成中,這兩個協(xié)議都是數(shù)據(jù)鏈路層的協(xié)議,上網(wǎng)撥號的數(shù)據(jù)鏈路層主要是通過這兩個協(xié)議共同構(gòu)成。PPP協(xié)議是一種點對點的鏈路協(xié)議,該協(xié)議的核心功能就是提供標(biāo)準(zhǔn)的數(shù)據(jù)傳輸方法,其中包括多種協(xié)議報文。PPP協(xié)議的功能比較強大,具有鑒權(quán)的功能、同時也能通過動態(tài)協(xié)商完成對網(wǎng)絡(luò)參數(shù)的配置任務(wù),在家庭用戶電話、電視入網(wǎng)、單片機入網(wǎng)等應(yīng)用提供了解決思路?;ヂ?lián)網(wǎng)提供商可以使用PPP協(xié)議對寬帶速率進行管理,節(jié)約了成本,提高了效率。PPPoE協(xié)議是也是一種點對點的協(xié)議,但是該協(xié)議適用于以太網(wǎng)的廣播類型,這種協(xié)議是為PPP協(xié)議提供數(shù)據(jù)通信基礎(chǔ)的,在接入用戶的時候可以為用戶建立單獨的PPP會話,這種方式在ISP統(tǒng)計流量計費時提供了極大的便利,同時也為接入控制提供了幫助[25]。1.3論文研究內(nèi)容本文通過對TCP/IP協(xié)議簇進行簡化,對數(shù)據(jù)包進行相關(guān)配置,設(shè)計實現(xiàn)一個簡潔、易用的基于PPP協(xié)議的單片機撥號上網(wǎng)系統(tǒng)。本文的主要研究主要分成以下幾個方面:對PPP協(xié)議和PPPoE協(xié)議的深入研究,對撥號上網(wǎng)機制進行深入了解。對單片機平臺的深入研究,包括系統(tǒng)的結(jié)構(gòu)、撥號技術(shù)、運行方式進行深入的研究了解STM32單片機以及GSM模塊,了解它們的原理、電路結(jié)構(gòu)、以及怎樣把PPP協(xié)議嵌入單片機系統(tǒng)。4、結(jié)合一款單片機平臺,使用單片機對撥號上網(wǎng)設(shè)計、實現(xiàn)和測試。1.4論文組織結(jié)構(gòu)本論文的章節(jié)安排如下所示:第一章緒論,主要介紹了單片機技術(shù)的發(fā)展現(xiàn)狀,詳細(xì)介紹了單片機網(wǎng)絡(luò)的發(fā)展技術(shù),對國內(nèi)外現(xiàn)在的情況進行了簡單介紹,最后給出了論文的組織結(jié)構(gòu)。第二章相關(guān)技術(shù)介紹,對PPP協(xié)議進行了詳細(xì)的介紹,并對PPPoE協(xié)議進行了說明,這是使用PPP上網(wǎng)撥號的基礎(chǔ)理論。第三章對系統(tǒng)硬件方案進行設(shè)計,介紹了各個模塊電路圖,并作了詳細(xì)說明。第四章對系統(tǒng)軟件方案進行設(shè)計,展示Keil下的代碼。第五章,對撥號上網(wǎng)系統(tǒng)進行測試和分析,測試主要有系統(tǒng)測試和測試結(jié)果分析。第六章對全文工作任務(wù)進行總結(jié),并對未來進行展望。
2系統(tǒng)方案選擇2.1PPP協(xié)議介紹2.1.1PPP協(xié)議出現(xiàn)的背景在PPP協(xié)議之前點對點的連接協(xié)議叫做SLIP,SLIP協(xié)議是一個比較簡單的協(xié)議,這個協(xié)議主要是用來解決串行點對點鏈路的數(shù)據(jù)傳輸,傳輸?shù)臄?shù)據(jù)是IP報文。但是在隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展PPP協(xié)議興起,傳統(tǒng)的SUP協(xié)議逐漸退出歷史的舞臺,PPP協(xié)議成為了主流的點對點協(xié)議。為了更好地了解PPP協(xié)議,首先介紹下SLIP協(xié)議。SLIP協(xié)議主要是用來傳輸IP報文數(shù)據(jù)的,封裝相對比較簡單,封裝的格式,在IP報文數(shù)據(jù)的結(jié)尾處添加字符oXC0作為報文的結(jié)束符,形成SLIP數(shù)據(jù)幀,將SLIP數(shù)據(jù)幀在物理層上進行傳輸。一般在發(fā)送數(shù)據(jù)前發(fā)送一個結(jié)束符號以其他數(shù)據(jù)的干擾,因為可以將所有的存在的噪聲作為SLIP的一幀清除掉。有時候會有一些特殊的情況,比如報文中含有結(jié)束符號,若是出現(xiàn)這種情況則需要使用其他字符進行替換,一般是使用兩個連續(xù)的字節(jié)對其字符進行替換。通過分析SLIP協(xié)議,不難發(fā)現(xiàn),該協(xié)議十分簡單,數(shù)據(jù)幀要包括兩個部分一個是協(xié)議部分一個結(jié)束字符部分,協(xié)議部分是根據(jù)協(xié)議規(guī)則進行,結(jié)束字符部分主要是自行添加便于區(qū)分,然而這種方式的報文是無法在網(wǎng)絡(luò)層進行傳輸?shù)?。因為SLIP協(xié)議只能傳輸IP數(shù)據(jù)報文。其次在數(shù)據(jù)鏈路層進行數(shù)據(jù)傳輸過程中無法對網(wǎng)絡(luò)參數(shù)進行協(xié)商設(shè)置,因此在數(shù)據(jù)傳輸?shù)倪^程中首先需要獲取對方的IP地址。數(shù)據(jù)在數(shù)據(jù)鏈路層傳輸過程中,數(shù)據(jù)的安全只能依靠上一層網(wǎng)絡(luò)進行處理,因為這個協(xié)議沒有對數(shù)據(jù)進行CRC校驗。雖然SLIP在網(wǎng)絡(luò)發(fā)展中起到了重要的作用,但是由于其簡單的數(shù)據(jù)封裝,各種安全問題,在PPP協(xié)議出現(xiàn)后,SLIP協(xié)議完成了它的歷史使命,逐漸退出了舞臺。2.1.2PPP協(xié)議的規(guī)范PPP協(xié)議是一種點對點的協(xié)議,該協(xié)議可以通過協(xié)商對網(wǎng)絡(luò)參數(shù)進行配置,由于這個特性該協(xié)議具備很多強大的功能,比如IP地址動態(tài)分配和管理、對數(shù)據(jù)鏈路的質(zhì)量進行糾錯和檢測、網(wǎng)絡(luò)協(xié)議的多次使用等。PPP協(xié)議傳輸規(guī)則,在數(shù)據(jù)傳輸前,需要進行網(wǎng)絡(luò)參數(shù)協(xié)商設(shè)置,主要是由LCP協(xié)議協(xié)商和NCP協(xié)議協(xié)商。為了方便說明,下文將詳細(xì)介紹PPP數(shù)據(jù)幀、LCP協(xié)議、NCP協(xié)議。PPP協(xié)議是鏈路上數(shù)據(jù)傳送的協(xié)議,該協(xié)議主要針對的是點對點的傳輸,并規(guī)定了數(shù)據(jù)報文的標(biāo)準(zhǔn)方法。該協(xié)議具有多種功能,其中比較常用的有,IP地址的管理,以及IP地址的動態(tài)分配、對數(shù)據(jù)鏈路的質(zhì)量進行檢測、網(wǎng)絡(luò)層協(xié)議的復(fù)用進行深度檢測,以及對數(shù)據(jù)鏈路傳輸?shù)臄?shù)據(jù)進行糾錯,上述的這些功能都是基于PPP協(xié)議強大的協(xié)商能力,可以在通信前對通信雙方的各項參數(shù)進行協(xié)商配置。在協(xié)議開始前,主要的協(xié)商有LCP(LinkControlProtocol鏈路控制協(xié)議)協(xié)商和NCP(NetworkControlProtocol網(wǎng)絡(luò)控制協(xié)議)協(xié)商,這兩個協(xié)商的作用巨大,一個是對鏈路層的參數(shù)進行協(xié)商配置,一個是網(wǎng)絡(luò)參數(shù)配置。PPP協(xié)議數(shù)據(jù)幀如圖2.1所示。7EFF03協(xié)議信息&數(shù)據(jù)CRC7E圖2.1PPP數(shù)據(jù)幀結(jié)構(gòu)圖2.2PPPoE協(xié)議規(guī)范介紹PPPoE數(shù)據(jù)幀是十分的重要,起始的標(biāo)識是4位的版本段和4位的類型段,如圖2.2所示,其中版本段和類型段的值都是固定的都是0x1,兩個4位的數(shù)據(jù)段,正好是1個字節(jié),這個字節(jié)在數(shù)據(jù)幀中表示協(xié)議的開始,是固定不變的。圖2.2PPPoE數(shù)據(jù)幀格式在數(shù)據(jù)PPPoE數(shù)據(jù)幀中,除去了版本段和類型段的,接著的是代碼段,代碼段的數(shù)據(jù)長度也是1個字節(jié),根據(jù)不同的協(xié)議,在協(xié)議的不同階段,代碼段的值是不同的,在代碼段后面的是會話ID段,該數(shù)據(jù)段的長度是2個字節(jié),其主要的作用就是表示本地主機與集中器進行點對點對話的時候起到標(biāo)識作用。ID是提前確定的,在發(fā)現(xiàn)階段就進行確定,在與集中器會話的過程中由其進行分配。這發(fā)現(xiàn)階段,但是又沒有被集中器分配地址,會話ID的值被設(shè)置為0x0000,若是接入集中器并為其分配地址后,在PPPoE協(xié)議所有的階段地址值不會改變。數(shù)據(jù)段在會話階段其中存放的數(shù)據(jù)就是PPP的數(shù)據(jù)報文,PPP協(xié)議的是在PPPoE協(xié)議的建立的點對點會話的基礎(chǔ)之上的,在PPPoE協(xié)議中的數(shù)據(jù)段中存放的數(shù)據(jù)報文跟標(biāo)準(zhǔn)報文是有一定的區(qū)別的,主要的不同是去掉了起始終止字符、地址字段、PPP數(shù)據(jù)報文協(xié)議段以及信息數(shù)據(jù)效驗段這些數(shù)據(jù)段。其中具體過程如下所示:第一步:本地主機進行廣播,播報內(nèi)容是PADI報文,這個報文的發(fā)送開啟了PPPoE的發(fā)現(xiàn)階段的開啟。其中表現(xiàn)形式就是在數(shù)據(jù)幀的代碼段將其值設(shè)置為0x09,就表示是PADI的報文,其中ID段填充的內(nèi)容是0x0000,與此同時數(shù)據(jù)段的需要一個對本地主體請求的服務(wù)名標(biāo)記,一般記做0x0101,這個標(biāo)記是為了說明該主機可以接入到集中器中,并為其提供服務(wù)的。圖2.3PPPOE發(fā)現(xiàn)階段1第二步:接入集中器在接受到PADI報文后可以向本地主機進行回復(fù),回復(fù)的內(nèi)容是PADO報文,該報文是在數(shù)據(jù)幀中的代碼段對應(yīng)的值為0x07,會話ID值設(shè)置為0x0000,在數(shù)據(jù)段中需要設(shè)置集中器的接入代碼值以及PADI的服務(wù)標(biāo)記,以及在其他PADI的確定標(biāo)記,若是在返回的報文中,其中數(shù)據(jù)是不支持集中器進行數(shù)據(jù)接入的,則不會對其進行PADO報文的回應(yīng)。圖2.4PPPoE發(fā)現(xiàn)階段2第三步:本地主機在接收到眾多的PADO的回應(yīng)中,需要挑選其中的一個回應(yīng),利用廣播機制發(fā)送PADR報文,發(fā)送給會話對方,廣播的形式是單播,利用發(fā)送的報文進行接入集中器會話測試,PADR的代碼段值為0x19,會話ID段是依然是0x0000,同時在數(shù)據(jù)段中依然要對服務(wù)進行標(biāo)記,標(biāo)記值0x0101。圖2.5PPPoE發(fā)現(xiàn)階段3第四步:接入集中器在收到了PADR報文后,確定了建立會話后,會向主機發(fā)送PADS的報文進行通知,該報文的代碼段值設(shè)置為0x65,并對報文制定服務(wù),記錄標(biāo)識,利用服務(wù)標(biāo)識可以申請服務(wù),同時集中器會為會話主機設(shè)置一個會話ID,這個ID是整個會話的唯一ID,將ID段值放在PADS報文中,這個ID值是與數(shù)據(jù)段的ID值是一致的,其中PADS的ID報文值為0x0000,在數(shù)據(jù)段中有個服務(wù)錯誤的標(biāo)識為0x0201,這表示PPPoE協(xié)議在會話階段,協(xié)商失敗。圖2.6PPPoE發(fā)現(xiàn)階段4發(fā)現(xiàn)階段結(jié)束,進入會話階段,在會話階段,主要是利用唯一的會話ID值,建立會話。進入會話階段,其中PPPoE協(xié)議數(shù)據(jù)幀中的代碼段值是一個定值,設(shè)置為0x00,同時會話ID也是不變的,數(shù)據(jù)段中的值也會有所不同,主要不在需要起始終止字符,地址段、以及一些控制部分,僅僅包括數(shù)協(xié)議開始和CRC效驗階段。在會話階段后,就會進入PPP協(xié)議的協(xié)商過程,PPPoE的協(xié)商過程結(jié)束的標(biāo)志是PADT報文發(fā)送,標(biāo)志PPPoE的會話結(jié)束,結(jié)束會話的報文是可以是任何一個通信的一方進行發(fā)送,PADT報文的數(shù)據(jù)段數(shù)值是0xa7,在結(jié)束報文中ID段自動填充為結(jié)束標(biāo)志ID,在數(shù)據(jù)斷種不需要在進行特殊的標(biāo)記。通信接收方在接收到PADT報文以后,就表示會話結(jié)束,不會再使用指明的ID值進行會話,即使要求會話也是被拒接的。PPPoE協(xié)議的總體流程主要包括兩個部分,一個是發(fā)現(xiàn)階段,一個是會話階段,在發(fā)現(xiàn)階段通過廣播的方式進搜索,找到合適的另一端進行會話,分配合適的地址ID,進入到點對點的會話;在會話階段,主要作為PPP的協(xié)議最為承載基礎(chǔ),ppp協(xié)議自行進行協(xié)議的協(xié)商。3系統(tǒng)硬件方案設(shè)計3.1單片機最小系統(tǒng)硬件電路原理圖圖3.1硬件電路圖3.2STM單片機簡介STM32單片機是一種32位的單片機,性能高,有實時功能,可以進行信號處理,耗能低,電壓低,同時它的集成度很高,易于開發(fā)。它的內(nèi)部資源有兩個,分別是寄存器和外設(shè)性能,較51單片機來說要多的多,大致已經(jīng)接近于計算機的CPU了,比較適合手機、路由器等等。本文采用的是STM32單片機,通過STM32單片機去控制GSM模塊,從而實現(xiàn)撥號上網(wǎng)。本文涉及了STM32單片機最小系統(tǒng)電路,單片機最小系統(tǒng)電路一般有晶振電路、電源電路、復(fù)位電路以及調(diào)試電路組成。它的管腳圖如3.2。 圖3.2管腳圖3.3各模塊電路介紹(1)電源電路可以使用普通的USB接口,5V電源輸出。如圖3.3所示。圖3.3電源電路圖降壓電路USB的5V輸入,然后輸出為3.3V,這里選擇兩種不同的電容。如圖3.4所示。輸入濾波電容的作用:輸入電壓,當(dāng)接入電源,它是從零起步,因此波動是非常大的,加入一些電容濾波之后,因為電容可以充放電,該脈動直流就會變成波紋不大的直流電,這是輸入濾波的作用。輸出濾波電容的作用:穩(wěn)壓電路的工作過程需要觀察輸出,然后根據(jù)它的反饋值去調(diào)節(jié)輸出,就可以達到穩(wěn)壓的目的。如果此時沒有輸出濾波電容,負(fù)載變化之后電壓產(chǎn)生波動頻率,與穩(wěn)壓電路的調(diào)節(jié)頻率相差不太多的時候,就會導(dǎo)致輸出失去控制,所以穩(wěn)壓輸出也必須加濾波電容,而且增加濾波電容也會進一步增強穩(wěn)壓輸出的穩(wěn)定性。圖3.4降壓電路圖復(fù)位電路STM32有三種復(fù)位方式:電源復(fù)位、系統(tǒng)復(fù)位以及后備域復(fù)位。本文采用的是電源復(fù)位如圖3.5所示。圖3.5復(fù)位電路圖濾波電路主要是用來濾除雜波,保持引腳電壓穩(wěn)定。如圖3.6所示。圖3.6濾波電路圖調(diào)試下載電路主要就是BOOT的選擇。如圖3.7所示。圖3.7BOOT選擇電路圖3.4GSM模塊GSM模塊是一個線路板,它包含了GSM射頻芯片、基帶處理芯片、存儲器、等器件,具有自己的操作系統(tǒng)、GSM射頻處理模塊、基帶處理模塊,并且會提供接口。開發(fā)人員會使用ARM或者單片機通過RS232串口與GSM模塊通信,運用標(biāo)準(zhǔn)的AT命令來控制GSM模塊實現(xiàn)各種無線通信功能,例如:發(fā)送短信,撥打電話,GPRS撥號上網(wǎng)等?;贕SM模塊產(chǎn)品的開發(fā)往往都是基于ARM平臺,使用嵌入式系統(tǒng)進行開發(fā)。目前,市場上的GSM模塊基本都是支持AT命令方式和PPP方式實現(xiàn)網(wǎng)絡(luò)連接;相比于AT命令聯(lián)網(wǎng)方式,PPP協(xié)議連接方式使用更加簡單,并且數(shù)據(jù)傳輸更加穩(wěn)定。本文中采用的就是PPP協(xié)議連接的方式,使用MC20GSM模塊的串口和開發(fā)板串口連接起來實現(xiàn)撥號上網(wǎng)。MC20GSM模塊如圖3.8所示。圖3.8MC20GSM模塊圖4系統(tǒng)軟件方案設(shè)計4.1系統(tǒng)程序流程圖圖4.1程序流程圖4.2Keilstm32下代碼展示#include"stm32f10x.h"#include"delay.h"#include"usart.h"#include"led.h"#include"usart2.h"http://常量#defineSuccess1U#defineFailure0U//定義變量unsignedlongTime_Cont=0;//定時器計數(shù)器unsignedintcount=0;charTCPServer[]=""; //TCP服務(wù)器地址charPort[]="1883";//端口 voiderrorLog(intnum);voidphone(char*number);NVIC_Configuration(); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級,2位響應(yīng)優(yōu)先級 uart_init(115200); //串口初始化為9600 USART2_Init(115200); //串口2波特率9600 u2_printf("AT\r\n");if(sendCommand("AT+CREG?\r\n",",1",3000,10)==Success); //本地SIM卡 elseif(sendCommand("AT+CREG?\r\n",",5",3000,10)==Success );//漫游SIM卡 { u2_printf(Command); //發(fā)送GPRS指令 printf("\r\n***************send****************\r\n"); printf(Command);} 圖4.2keil運行圖5撥號上網(wǎng)系統(tǒng)的測試與分析5.1系統(tǒng)測試系統(tǒng)測試在軟件開發(fā)中是十分重要的一個部分,其主要的作用是為了保證軟件開發(fā)的質(zhì)量,系統(tǒng)測試從軟件開發(fā)開始到軟件開發(fā)結(jié)束都是存在的,目的是為了更好地完成軟件,在不同的開發(fā)階段,軟件測試的需求也是不同的。在需求階段的軟件測試是,需要測試者與開發(fā)共同協(xié)商工作,為軟件的開發(fā)提供驗證,在開發(fā)早期對軟件的漏洞進行檢查,建立測試用例,讓開發(fā)者在最開始對軟件的整理有個清晰的認(rèn)識。在編碼階段,這個時期的軟件測試主要是開發(fā)者,開發(fā)測試自己開發(fā)的軟件功能是否完備,功能是否完成等。在編碼階段完成后,需要對軟件的模塊進行測試,這種測試分批次一步步的進行展開測試,其中主要包括:單元測試:對軟件的單一功能進行測試,測試功能的正確性。集成測試:對軟件的交互、模塊、基本功能測試系統(tǒng)測試:對軟件的整體進行測試,根據(jù)系統(tǒng)的開發(fā)文檔,對軟件的所有功能進行測試。回歸測試:測試代碼更新,對于每個發(fā)布的版本都可以進行回溯,保證代碼的可用性。5.2測試結(jié)果分析軟件總體分析在基于ppp協(xié)議單片機撥號上網(wǎng)開發(fā)過程中,分析其bug出現(xiàn)的情況,根據(jù)實際開發(fā)出現(xiàn)的bug,在項目的開始的階段,短時間的,大量的出現(xiàn)了bug,因為在軟件開發(fā)的初期,其開發(fā)的比較粗糙,在很多設(shè)計和編寫程序的過程中思考的不是很清楚。進入到開發(fā)的穩(wěn)定階段,這時出現(xiàn)的bug主要出現(xiàn)在性能上或者穩(wěn)定性上的,造成這種bug的原因有很多,很多時候原因復(fù)雜,無法迅速有效的解決。因為很多bug是相互作用,相互影響的,處理bug都是很難控制的。最后進行了系統(tǒng)的軟件的升級階段,這種是時候的bug,是系統(tǒng)不兼容的問題,需要對軟件進行磨合,最后完全磨合結(jié)束,完成軟件的開發(fā)。在本方案中,通過GSM模塊插卡進行撥號上網(wǎng),STM32單片機控制GSM模塊,然后經(jīng)過串口發(fā)送數(shù)據(jù)到達串口助手的軟件,獲取到一個實時的時間,由此證明我們已經(jīng)成功實現(xiàn)撥號上網(wǎng)。實物展示如圖5.1。 圖5.1實物圖6總結(jié)6.1總結(jié)本論文單片機開發(fā)平臺,實現(xiàn)撥號上網(wǎng)系統(tǒng)。本文通過介紹PPP協(xié)議和PPPoE協(xié)議,設(shè)計于ppp協(xié)議單片機撥號上網(wǎng)系統(tǒng),其中具體工作如下:(1)簡單介紹論文的研究背景和意義,同時介紹了上網(wǎng)撥號技術(shù)的國內(nèi)外現(xiàn)狀,以及單片機技術(shù)的發(fā)展,并對本文的章節(jié)安排做了簡單介紹。(2)對上網(wǎng)撥號技術(shù)中使用的網(wǎng)絡(luò)協(xié)議進行深度的詳細(xì)介紹,其中要是PPP協(xié)議和PPPoE協(xié)議,通過對上述協(xié)議的介紹,為上網(wǎng)撥號設(shè)計與實現(xiàn)提供了理論基礎(chǔ)。(3)設(shè)計了基于ppp協(xié)議單片機撥號上網(wǎng)系統(tǒng),通過對方案的原理以及程序流程進行介紹,對系統(tǒng)原理進行介紹,以及測試程序介紹,完備設(shè)計開發(fā)流程。最終設(shè)計實現(xiàn)了基于ppp協(xié)議單片機撥號上網(wǎng),為撥號上網(wǎng)系統(tǒng)提供了協(xié)議層的支持。6.2展望和體會根據(jù)本文的工作,實現(xiàn)了ppp協(xié)議單片機撥號上網(wǎng),對單片機的應(yīng)用的推廣起到了一定的作用,并為后續(xù)的工作提供了一定的支撐,同時通過對ppp協(xié)議單片機撥號上網(wǎng)的設(shè)計與實現(xiàn),為其他基于單片機的開發(fā),以及撥號上網(wǎng)引擎設(shè)計提供一些思路和參考價值。深深體會到軟件工作知識是非常重要的,尤其是在開發(fā)的時候邏輯性特別強,代碼量特別大的時候。在以后的工作實踐中需要不斷的學(xué)習(xí),理解并且掌握軟件知識、然后去運用軟件工程知識,這樣會大大提高我們的工作效率和產(chǎn)品的質(zhì)量。參考文獻[1]謝林楓.基于PPP協(xié)議單片機撥號上網(wǎng)的設(shè)計與實現(xiàn)[J].單片機與嵌入式系統(tǒng)應(yīng)用,2001,000(007):53-55.
[2]馬豐璽.手持式WAP
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 核心素養(yǎng)導(dǎo)向教學(xué)
- 《GB-T 28200-2011鋼制儲物柜(架)技術(shù)要求及試驗方法》專題研究報告
- GBT 19290.7-2021發(fā)展中的電子設(shè)備構(gòu)體機械結(jié)構(gòu)模數(shù)序列 第2-5部分:分規(guī)范 25 mm設(shè)備構(gòu)體的接口協(xié)調(diào)尺寸 各種設(shè)備用機柜接口尺寸專題研究報告
- 《寵物鑒賞》課件-寵物鳥的簡介
- 2026年安徽省馬鞍山市單招職業(yè)傾向性測試題庫及參考答案詳解一套
- 心血管留圖資料
- 云數(shù)據(jù)庫運維服務(wù)合同
- 智能電表調(diào)試技師(初級)考試試卷及答案
- 種子包裝設(shè)計行業(yè)種子包裝設(shè)計師(蔬菜)崗位招聘考試試卷及答案
- (2025)全國勞動保障知識競賽題庫與參考答案
- 2025年煙花爆竹經(jīng)營單位安全管理人員考試試題及答案
- 2025天津大學(xué)管理崗位集中招聘15人參考筆試試題及答案解析
- 2025廣東廣州黃埔區(qū)第二次招聘社區(qū)專職工作人員50人考試筆試備考題庫及答案解析
- 旋挖鉆機地基承載力驗算2017.7
- 自身免疫性肝病的診斷和治療
- 國家開放大學(xué)化工節(jié)能課程-復(fù)習(xí)資料期末復(fù)習(xí)題
- xx鄉(xiāng)鎮(zhèn)衛(wèi)生院重癥精神病管理流程圖
- 2023年印江縣人民醫(yī)院緊缺醫(yī)學(xué)專業(yè)人才招聘考試歷年高頻考點試題含答案解析
- 安徽綠沃循環(huán)能源科技有限公司12000t-a鋰離子電池高值資源化回收利用項目(重新報批)環(huán)境影響報告書
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件第八章-工程量清單計量規(guī)則(2018年版最終稿)
- DB44-T 2197-2019配電房運維服務(wù)規(guī)范-(高清現(xiàn)行)
評論
0/150
提交評論