基于單片機的以太網(wǎng)接入設計畢業(yè)論文(設計)_第1頁
基于單片機的以太網(wǎng)接入設計畢業(yè)論文(設計)_第2頁
基于單片機的以太網(wǎng)接入設計畢業(yè)論文(設計)_第3頁
基于單片機的以太網(wǎng)接入設計畢業(yè)論文(設計)_第4頁
基于單片機的以太網(wǎng)接入設計畢業(yè)論文(設計)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、黑龍江*畢 業(yè) 論 文 (設 計)題目:單片機的以太網(wǎng)接入設計學生姓名赫東學 號084專 業(yè)電子信息工程班 級2008級2班指導教師王 琢學 部計算機科學與電氣工程答辯日期2012年5月19日黑龍江東方學院本科生畢業(yè)論文(設計)任務書姓名赫東學號0專業(yè)班級電子信息工程08級2班畢業(yè)論文(設計)題目:單片機的以太網(wǎng)接入設計畢業(yè)論文(設計)的立題依據(jù) 隨著以太網(wǎng)控制芯片的性價比的提高,利用專用的芯片完成單片機與網(wǎng)關(guān)之間的協(xié)議轉(zhuǎn)換成為單片機應用系統(tǒng)接入Internet網(wǎng)絡的一大研究熱點。因此,除了傳統(tǒng)的便攜、低功耗等性能,網(wǎng)絡接入能力正逐漸成為嵌入式系統(tǒng)所關(guān)注的重點。主要內(nèi)容及要求 本論文內(nèi)容包括緒

2、論、單片機接入以太網(wǎng)絡的最小系統(tǒng)、TCP/IP協(xié)議棧、硬件電路設計、軟件設計實現(xiàn)以及結(jié)論。本論文要求詳細地闡述單片機以太網(wǎng)的接入設計開發(fā)過程。進度安排12月12日選題12月13日12月29日接受指導老師的指導12月30 日1 月17日擬定論文大綱1 月18日2 月26日搜集、查閱、整理相關(guān)資料2 月27日3 月27日初稿形成3 月28日4 月8 日初稿審定4 月9 日4 月17日第一次修改4 月18日4 月22日第一次審定4 月23日5 月3 日第二次修改5 月4 日5 月9 日定稿5 月10 日5 月18日論文評閱小組評審論文(設計)5 月19日畢業(yè)論文(設計)答辯學生簽字:指導教師簽字:年

3、 月 日黑龍江東方學院本科畢業(yè)論文(設計)單片機的以太網(wǎng)接入設計摘要資隨著互聯(lián)網(wǎng)的日益普及,TCP/IP協(xié)議族已經(jīng)成為因特網(wǎng)上事實的通信標準。與此同時,無論是在家中、辦公室或者其他地方,都能方便地連接到網(wǎng)絡上。接入因特網(wǎng)的便捷性大大增加,而成本卻越來越低,如果能實現(xiàn)“每一設備都接入因特網(wǎng)”,則可方便、低廉地將信息傳送到幾乎任何一地,實現(xiàn)全球化信息。因此,除了傳統(tǒng)的便攜、低功耗等性能,網(wǎng)絡接入能力正逐漸成為嵌入式系統(tǒng)所關(guān)注的重點。本設計介紹了一種基于單片機的以太網(wǎng)接入設計,單片機接入以太網(wǎng)的最小系統(tǒng)構(gòu)成,以及以太網(wǎng)控制器RTL8019AS的工作原理。主要提出了將精簡TCP/IP協(xié)議棧嵌入單片機系

4、統(tǒng)中,通過RTL8019AS實現(xiàn)了UDP數(shù)據(jù)在以太網(wǎng)數(shù)據(jù)傳輸?shù)姆桨?。設計中給出系統(tǒng)硬件原理圖和有關(guān)實現(xiàn)TCP/IP協(xié)議的轉(zhuǎn)換和程序代碼,對系統(tǒng)的軟、硬件設計做出了闡述,并給出了設計實驗結(jié)果。結(jié)果表明這種通過軟件嵌入TCP/IP協(xié)議的單片機系統(tǒng),具有成本低、硬件少、傳輸速度快、使用方便等優(yōu)點,特別適用于現(xiàn)有的網(wǎng)絡傳輸系統(tǒng),在數(shù)據(jù)采集、數(shù)據(jù)傳輸?shù)阮I(lǐng)域有廣泛的應用前景。關(guān)鍵詞:單片機;TCP/IP協(xié)議;以太網(wǎng)控制器;以太網(wǎng)數(shù)據(jù)關(guān)鍵詞與摘要內(nèi)容隔行書寫,詞條用小四號宋體字,詞條間用分號(;)隔開,3-5個關(guān)鍵詞The Design of Ethernet Access Based on MCUAbst

5、ractWith the increasing popularity of Internet, TCP / IP protocol suite has become the fact that the Internet communications standards. At the same time, whether at home, office or elsewhere, you can easily connect to the Internet. The convenience of Internet access is greatly increased, and costs a

6、re getting lower and lower, if they can achieve "Each device access Internet ", can be convenient, inexpensive way to transmit the information to almost any one place, globalization of information. Therefore, in addition to the traditional portable, low power consumption, such as performan

7、ce, network access ability which is increasingly becoming the focus of embedded system. This design introduces a design based on MCU Ethernet access, Ethernet access to the smallest single chip system structure, and the Ethernet controller RTL8019AS works. Mainly proposed to streamline the TCP / IP

8、protocol stack embedded microcontroller system is achieved through the RTL8019AS UDP data in the Ethernet data transmission. Given system hardware design schematics and the realization of TCP / IP protocol conversion, and program code, hardware and software designed to make the system are described,

9、 and gives the design results. The results show that the software embedded TCP / IP protocol of the SCM system with low cost, less hardware, transmission speed, ease of use, especially for the existing network transmission system, data acquisition, data transmission and other areas wide range of app

10、lications.Keywords: MCU ;TCP/IP Protocol ; Ethernet Controller ; Ethernet Data千萬不要刪除行尾的分節(jié)符,此行不會被打印。(在word菜單-工具-選項-視圖標簽中,格式標記部分請全部打?qū)μ枺@樣就可以看到隱藏的分節(jié)符和空格等信息了)-II-目錄摘要IAbstractII第1章 緒論11.1 研究目的和意義11.2 國內(nèi)外研究狀況2第2章 單片機接入以太網(wǎng)的最小系統(tǒng)52.1 單片機的基本結(jié)構(gòu)52.2 以太網(wǎng)控制器的選擇及工作原理62.2.1 以太網(wǎng)控制器的選擇62.2.2 RTL8019AS控制器的介紹72.2.3 RT

11、L8019AS的工作原理72.3 TCP/IP協(xié)議棧92.3.1 TCP/IP協(xié)議的分層結(jié)構(gòu)92.3.2 TCP/IP協(xié)議數(shù)據(jù)的處理112.3.3 相關(guān)協(xié)議報文的格式122.4 本章小結(jié)15第3章 硬件電路設計163.1 單片機系統(tǒng)擴展電路163.2RTL8019AS和單片機的接口電路173.2 本章小結(jié)19第4章 軟件設計204.1 串行口控制程序的設計204.2 RTL8019AS控制程序的設計214.3 精簡TCP/IP協(xié)議棧的現(xiàn)實意義及其工作流程244.4 以太網(wǎng)串行口數(shù)據(jù)轉(zhuǎn)換模塊工作實例274.5 本章小結(jié)30結(jié)論31參考文獻32附錄34致謝39千萬不要刪除行尾的分節(jié)符,此行不會被打

12、印。在目錄上點右鍵“更新域”,然后“更新整個目錄”黑龍江東方學院本科畢業(yè)論文(設計)單片機的以太網(wǎng)接入設計第1章 緒論1.1 研究目的和意義隨著Internet技術(shù)的普及,信息共享的程度越來越高,人類進入了所謂的后PC時代,后PC時代的標志是嵌入式技術(shù)(Embedded Technology)1。嵌入式系統(tǒng)(Embedded Technology)將是繼PC和Internet之后的又一起世界高新技術(shù)發(fā)展大潮。嵌入式技術(shù)的飛速發(fā)展,將為人們對各種客戶終端設備的靈活、高效和高性價比的需要,提供良好的解決方案2。單片機(Micro Controller Unit)之所以又稱嵌入式微控制器,原因在于它

13、可以嵌入到任何微型或小型儀器或設備中,而且在體積、價位、可靠性等方面具有微型計算機無法比擬與抗衡的優(yōu)點。單片機嵌入式系統(tǒng)已經(jīng)廣泛用于社會各個方面:軍用 各種軍用電子裝備,雷達、電子對抗軍事通信裝備,野戰(zhàn)指揮作戰(zhàn)用各種專用設備等。家用 各種信息家電產(chǎn)品,廣泛采用微處理器微控制器及嵌入式軟件,如數(shù)字電視機、機頂盒,數(shù)碼相機,可視電話等。工業(yè)用 各種智能測量儀表、數(shù)控裝置、可編程控制器、控制機、分布式控制系統(tǒng)、現(xiàn)場總線儀表及控制系統(tǒng)、工業(yè)機器人、機電一體化機械設備、汽車電子設備等。商用 廣泛采用微處理器、控制器芯片級、標準總線的模板級及系統(tǒng)嵌入式計算機。各類收款機、POS系統(tǒng)、電子秤、條形碼閱讀機、

14、商用終端、銀行點鈔機、IC卡輸入設備、取款機等。醫(yī)用電子設備 各種醫(yī)療電子儀器,如X光機、超聲診斷儀、計算機斷層成像系統(tǒng)、心臟起博器、監(jiān)護儀、診斷系統(tǒng)等。辦公用 復印機、打印機、傳真機、掃描儀、激光照排系統(tǒng)、安全監(jiān)控設備、手機、尋呼機、個人數(shù)字助理(PDA)、通信終端、程控交換機、網(wǎng)絡設備、數(shù)字音頻廣播系統(tǒng)等。單片機應用系統(tǒng)和Internet網(wǎng)絡連接已是一種趨勢:單片機或微控制器已經(jīng)在家庭和工業(yè)等各個領(lǐng)域得到了非常廣泛的應用,然而就目前來看,大多數(shù)嵌入式系統(tǒng)還處于單獨應用的階段,以MCU為核心,與一些監(jiān)測、伺服、指示設備配合實現(xiàn)一定的功能。Internet 現(xiàn)已成為社會重要的基礎信息設施之一,

15、是信息流通的重要渠道,如果單片機應用系統(tǒng)能夠連接到Internet上,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個地方。并可以實現(xiàn)遠程控制,特別在遠程教育、遠程測控等領(lǐng)域有廣闊的市場3。對于我國國內(nèi)情況來說:目前,PC 機的架構(gòu)為Wintel 所控制、壟斷,即由Intel的CPU+微軟的Windows 主宰了產(chǎn)業(yè)。在該領(lǐng)域,我們沒有主動權(quán),沒有創(chuàng)新空間,無能為力,充其量只是組裝機和搞計算機系統(tǒng)集成等,自己的軟件產(chǎn)品和出口軟件很少,中國軟件企業(yè)規(guī)模太小。專家估計,1020年內(nèi)難以突破。單片機嵌入式系統(tǒng)需求千變?nèi)f化,沒有統(tǒng)一的架構(gòu),軟硬件需要各種各樣的組合,技術(shù)密集,市場容量大,我們有無限的

16、創(chuàng)新空間。主要是:計算環(huán)境從PC為中心轉(zhuǎn)變?yōu)橐跃W(wǎng)絡為中心,涌現(xiàn)了各種新的信息設備(IA),不必與PC 兼容;應用軟件逐步從PC 移到網(wǎng)上,不必與Windows 兼容;可裁減,良好的性能價格比4。因此,深入研究8位或16位單片機嵌入式系統(tǒng)接入Internet的問題,是一個巨大的商機與挑戰(zhàn)。嵌入式技術(shù)將為我國信息化騰飛增添重要推動力,當然也會促進教育現(xiàn)代化的飛速發(fā)展。1.2 國內(nèi)外研究狀況以單片機為核心的電子設備實現(xiàn)網(wǎng)絡化的關(guān)鍵是電子設備本身增加TCP/IP協(xié)議,目前的解決方案主要可以分為四大類。(1)直接在電子設備上實現(xiàn)TCP/IP:此方案的實質(zhì)是由MCU內(nèi)部固化TCP/IP協(xié)議的芯片,組成應用

17、系統(tǒng)的核心。此方案中,單片機應用系統(tǒng)可以直接撥號上網(wǎng),硬件電路相對簡單,也不需要其它中間環(huán)節(jié)的支持。但由于單片機使用了TCP/IP協(xié)議芯片,因此需要大容量的程序存儲器,而且要求MCU有較高的運行速度5。應用系統(tǒng)的設計工程師還必須熟悉TCP/IP協(xié)議和相關(guān)的接口地址,軟件設計復雜,工作量大,另外,每一個電子設備必須申請一個IP地址。用此方案實現(xiàn)的典型代表有Scenix Semiconductor 公司的SX-stack、Seiko公司的S7600A芯片、Wind River Sys公司開發(fā)的VXWORKS及PSOS操作系統(tǒng)、美國Ubicom公司的IP2022芯片等。(2)利用公用的TCP/IP協(xié)

18、議轉(zhuǎn)換器接入Internet:此需加載TCP/IP協(xié)議到單片機中,此方案的基本思路是:遠程控制端首先通過路由器尋找目標,在通過網(wǎng)卡的ISA接口傳入單片機。然后單片機中加載的驅(qū)動程序?qū)⒅D(zhuǎn)換成為物理幀格式。最后由TCP/IP協(xié)議將之轉(zhuǎn)化為應用層控制命令,這種方案是在單片機添加了TCP/IP協(xié)議,數(shù)據(jù)通過TCP/IP協(xié)議棧的轉(zhuǎn)換,然后由單片機控制網(wǎng)卡交換數(shù)據(jù)6。(3)利用網(wǎng)關(guān)在網(wǎng)絡中橋接代理協(xié)議棧和TCP/IP協(xié)議棧:舉一個簡單的例子:一個通過互聯(lián)網(wǎng)控制的儀表,它和控制它的服務器之間只需要交換很少量的幾個字節(jié)的數(shù)據(jù),不需要功能完整的TCP/IP協(xié)議去管理只有幾個字節(jié)的數(shù)據(jù)。網(wǎng)關(guān)完全可以擔當翻譯轉(zhuǎn)換

19、的業(yè)務,將代理協(xié)議提供的數(shù)據(jù)轉(zhuǎn)換成TCP/IP需要的數(shù)據(jù),或?qū)CP/IP發(fā)送的數(shù)據(jù)轉(zhuǎn)換后提供給代理協(xié)議8。(4)局域網(wǎng)接入Internet解決方案:將嵌入式電子設備通過專用的現(xiàn)場協(xié)議(如RS232、RS485、CAN總線協(xié)議)連接起在一起,然后與一臺專門用來做網(wǎng)關(guān)的PC連接起來,通過PC與Internet連接7。例如,組建網(wǎng)絡家庭,首先是家庭內(nèi)部組網(wǎng),自成體系,繼而又與互聯(lián)網(wǎng)相連,將家庭環(huán)境與外界溝通。家庭局域網(wǎng)是一個組建家庭信息網(wǎng)絡的核心,也將是一座溝通計算機與家電之間聯(lián)系的橋梁,家用電腦、傳真、打印機、掃描儀、數(shù)字相機、可視電話、微波爐、冰箱、空調(diào)等都是連接到家庭局域網(wǎng)的基本元素。家庭網(wǎng)

20、絡帶來的好處是家庭資源合理利用并搭建家庭辦公(Small Office Home Office)所需的環(huán)境。在未來家庭,越來越多的成員會選擇家庭辦公,越來越多的公司將安排它們的員工家庭辦公9。隨著以太網(wǎng)控制芯片的性價比的提高,利用專用的芯片完成單片機與網(wǎng)關(guān)之間的協(xié)議轉(zhuǎn)換成為單片機應用系統(tǒng)接入Internet網(wǎng)絡的一大研究熱點。本設計將在單片機上嵌入TCP/IP協(xié)議以達到以太網(wǎng)接接入的目的。即將TCP/IP協(xié)議以軟件方式嵌入到嵌入系統(tǒng)的ROM中,但由于協(xié)議棧較龐大,因此要精簡TCP/IP協(xié)議,實現(xiàn)與需求相關(guān)的部分,大幅度減少對系統(tǒng)資源的需求。本設計采用了軟件方式,使用高性能51系列MCU,成本低

21、、技術(shù)成熟,軟硬件開發(fā)周期短,并且設計方案靈活多變,可合用不同的對象,值得深入探究設計。第2章 單片機接入以太網(wǎng)的最小系統(tǒng)2.1 單片機的基本結(jié)構(gòu) 一個單片機以太網(wǎng)接入系統(tǒng)的最小系統(tǒng)構(gòu)成包括單片機(MCU)、以太網(wǎng)控制器和驅(qū)動程序10。其系統(tǒng)結(jié)構(gòu)如圖2-1所示。下面從單片機基本機構(gòu)、以太網(wǎng)控制器的選擇及工作原理進行說明。圖2-1 單片機以太網(wǎng)接入的最小系統(tǒng)構(gòu)成MCS-51系列的CPU由運算器和控制器兩部分組成。圖2-2所示51系列單片機基本組成。 圖2-2 MCS-51單片機的內(nèi)部結(jié)構(gòu)框圖(1)運算器。用于實現(xiàn)算術(shù)和邏輯運算,包括圖中所示的算術(shù)和邏輯單元(ALU)、累加器(ACC)、程序狀態(tài)字

22、(PSW)、寄存器B、及暫存器1和暫存器2等。(2)控制器。是控制單片機程序運行和協(xié)調(diào)各部件正常工作的“指揮中心”,包括圖中所示的PC(程序計數(shù)器)、PC+1計數(shù)器、指令寄存器、指令譯碼器和時序及控制電路等。(3)內(nèi)部數(shù)據(jù)存儲器。如圖內(nèi)部數(shù)據(jù)存儲器有128字節(jié)或256字節(jié) 的RAM和RAM地址寄存器等構(gòu)成。(4)內(nèi)部程序存儲器。8051內(nèi)部有4K字節(jié)的ROM單元,用于存放程序和程序中的常量數(shù)據(jù),簡稱“內(nèi)部ROM”。目前內(nèi)部ROM的種類基本上有掩膜ROM、OTP(一次性可編程)類型的ROM、EEPROM、Flash等幾種。(5)并行I/O端口。MCS-51單片機提供了4個8位I/O端口,分別命名

23、為P0、P1、P2和P3,這些端口既可以按字節(jié)一次輸入或輸出8位數(shù)據(jù),同時它們的每一位都可以獨立運行輸入或輸出操作。在系統(tǒng)需要擴展外部ROM或RAM時,P0口可復用為地址總線低8位和數(shù)據(jù)總線,P2口作為地址總線高8位。P3口的各位還可以復用為中斷輸入引腳、讀寫控制引腳、計數(shù)器輸入引腳以及串行口等。(6)定時器/計數(shù)器。MCS-51內(nèi)部有兩個16位的定時器/計數(shù)器,用于實現(xiàn)定時和計數(shù)功能。(7)串行通信接口。MCS-51內(nèi)部有一個全雙工的UART(通用串行收發(fā)器),可以和其他UART通信,實現(xiàn)數(shù)據(jù)的串行傳送。(8)中斷控制系統(tǒng)。MCS-51內(nèi)部提供了5個中斷源,可分為兩個優(yōu)先級進行中斷處理。(9

24、)時鐘電路。圖2-2中的OSC為MCS-51內(nèi)部的時鐘電路,外接石英晶體或輸入一定頻率的脈沖即可產(chǎn)生時鐘脈沖序列,控制CPU內(nèi)部邏輯電路的運行1113。2.2 以太網(wǎng)控制器的選擇及工作原理2.2.1 以太網(wǎng)控制器的選擇以太網(wǎng)的物理介質(zhì)有多種標準,主要以10Base-T為例,討論單片機與IEEE802.3/802.2局域網(wǎng)的連接方式。到目前為止,幾乎所有的計算機系統(tǒng)都是通過專用的以太網(wǎng)控制器接入以太網(wǎng)的。對于單片機系統(tǒng),在選擇以太網(wǎng)控制器時,要考慮一下幾個因素:首先,要求所選的以太網(wǎng)控制器必須支持8位工作模式。實際上,只有部分基于ISA總線的以太網(wǎng)控制器才能滿足此條件,所以基于PCI總線的不在此

25、考慮之列。其次,要考慮以太網(wǎng)控制器的片上緩存,最好選用具有足夠片上緩存的以太網(wǎng)控制器以簡化系統(tǒng)設計。再次,應考慮以太網(wǎng)控制器與主機的數(shù)據(jù)交換形式,如有的可支持中斷或只可支持查詢,這勢必對系統(tǒng)設計產(chǎn)生一定的影響。最后,考慮其是否與NE2000兼容。根據(jù)上述分析,我們可以選擇采用臺灣Realtek公司生產(chǎn)的10M以太網(wǎng)接口芯片RTL8019AS。2.2.2 RTL8019AS控制器的介紹RTL8019AS是為了配合PC系統(tǒng)的ISA總線而設計的一款兼容NE2000的網(wǎng)絡接口的10M全雙工以太網(wǎng)控制器,性能優(yōu)良,價格低廉,在10M網(wǎng)卡市場上曾有極高的占有率。雖然10M的以太網(wǎng)接入速率顯得“很慢”,但是

26、對于處理速度和運算能力都較弱的單片機而言,以這樣的速率接入網(wǎng)絡還是非常不錯的14。RTL8019AS的特點主要包括如下幾個方面。(1) 符合Ethernet與IEEE802.3標準。(2) 全雙工,收發(fā)可同時達到10Mb/s的速率。(3) 支持即插即用(PnP),用于計算機網(wǎng)卡時可減少系統(tǒng)配置的工作量。(4) 內(nèi)置16KB的SRAM,用于收發(fā)緩沖,降低 對主處理器的速度要求。(5) 支持8/16位數(shù)據(jù)總線,具有8個中斷申請以及16個I/O基地址選擇。(6) 支持UTP、AUI和BNC自動檢測,還支持對10BasT拓撲結(jié)構(gòu)的自動極性糾正。(7) 允許4個診斷LED引腳可編程輸出。100引腳的PQ

27、FP封裝,縮小了PCB尺寸。2.2.3 RTL8019AS的工作原理(1)RTL8019AS的內(nèi)部結(jié)構(gòu)RTL8019AS內(nèi)部可分為遠程DMA接口、本地DMA接口、MAC(介質(zhì)訪問控制)邏輯、線路數(shù)據(jù)編碼解碼邏輯和其他端口。內(nèi)部結(jié)構(gòu)如圖2-3所示。遠程DMA接口是指RT8019AS提供給主控CPU對其內(nèi)部RAM進行讀寫的總線接口。因為RTL8019AS是為了配合PC系統(tǒng)的ISA總線設計的,因此遠程DMA接口指的就是符合ISA總線接口規(guī)范要求的三總線系統(tǒng)。單片機在控制RTL8019AS收發(fā)數(shù)據(jù)時只需提供符合ISA總線接口操作時序的總線信號就可對遠程DMA操作。本地DMA接口指的是RTL8019AS

28、與物理層數(shù)據(jù)的連接通道,完成控制器與傳輸介質(zhì)之間的數(shù)據(jù)格式轉(zhuǎn)換及傳輸。MAC介質(zhì)訪問控制邏輯完成以下功能:當單片機向網(wǎng)上發(fā)送數(shù)據(jù)時,先將一幀數(shù)據(jù)通過遠程DMA通道傳送到RTL8019AS中的發(fā)送緩存區(qū),然后發(fā)出傳送命令;當RTL8019AS完成了上幀的發(fā)送后,再次開始此幀的發(fā)送。RTL8019AS接收到的數(shù)據(jù)通過MAC比較、CRC校驗后,由FIFO存到接受緩沖區(qū);收滿一幀后,以中斷或寄存器標志的方式通知CPU。FIFO邏輯控制對收發(fā)數(shù)據(jù)的緩沖,以減少對本地DMA請求的頻率。本地DMA的操作優(yōu)先級要高于遠程DMA,RTL8019AS或會通過IOCHRDY信號申請延時。不過對于單片機這樣總線操作速

29、率遠低于網(wǎng)絡數(shù)據(jù)字節(jié)接收速率的CPU而言,不用關(guān)心總線延時的問題。圖2-3 RTL8019AS的內(nèi)部結(jié)構(gòu)(2)RTL8019AS內(nèi)部RAM地址空間分配RTL8019AS內(nèi)部有兩塊RAM區(qū):一塊16字節(jié),為數(shù)據(jù)緩沖RAM。地址為0x40000x7FFF;一塊32字節(jié),為配置寄存器區(qū),地址為0x00000x001F。數(shù)據(jù)緩沖RAM按頁存儲,每256字節(jié)為一頁,共有64頁。一般將數(shù)據(jù)緩沖RAM的前12頁(即0x40000x4BFF)作為發(fā)送緩沖區(qū);后52頁(即0x4C000x7FFF)存儲區(qū)作為接收緩沖區(qū)。它實際上是一個雙端口的RAM,有兩套總線連接到該RAM,一套是RTL8019AS讀/寫該RAM

30、的總線,即本地DMA;另一套是外部CPU單片機讀/寫該RAM的總線,即遠程DMA。單片機要接收和發(fā)送數(shù)據(jù)報就必須通過遠程DMA接口讀/寫RTL8019AS內(nèi)部16KB的數(shù)據(jù)緩沖RAM。(3)RTL8019AS的I/O地址及寄存器地址分配RTL8019AS共有32位I/O地址,地址偏移量為0x000x1F。其中0x000x0F共16個地址,對應RTL8019AS內(nèi)部的16個寄存器。RTL8019AS內(nèi)部寄存器共4頁,編號分別為PAGE0、PAGE1、PAGE2、PAGE3,每頁都有16個寄存器,它們的編址都是0x000x1F,由RTL8019AS的CR中的PS1、PS0位來決定要訪問的頁,但與N

31、E2000兼容的寄存器只有前3頁。遠程DMA地址共8個,從0x100x17,功能相同,都可以用來做遠程DMA端口。實際上使用時只要讀寫其中的一個就可操作RTL8019AS內(nèi)部的數(shù)據(jù)緩沖RAM。復位端口包括18H1FH共8個地址,功能一樣,用于RTL8019AS復位。2.3 TCP/IP協(xié)議棧2.3.1 TCP/IP協(xié)議的分層結(jié)構(gòu)網(wǎng)絡協(xié)議通常分不同層次進行開發(fā),每一層分別負責不同的通信功能。一個協(xié)議組件,例如TCP/IP,是一組不同層次上的多個協(xié)議的組合15。如圖2-4所示,圖2-4中同時列出了各層主要的協(xié)議名稱。圖2-4 TCP/IP協(xié)議的分層結(jié)構(gòu)(1)鏈路層。也稱作數(shù)據(jù)鏈路層或網(wǎng)絡接口層,通

32、常包括操作系統(tǒng)中的設備驅(qū)動程序和計算機中對應的網(wǎng)絡接口卡。它們一起處理與傳輸媒體(如電纜、光纖或其它任何傳輸媒介)的物理接口細節(jié)。(2)網(wǎng)絡層。也稱作互連網(wǎng)層,處理分組在網(wǎng)絡中的活動,例如分組的路由選擇。在TCP/IP協(xié)議組件中,網(wǎng)絡層協(xié)議包括IP協(xié)議(網(wǎng)際協(xié)議)、ICMP協(xié)議(Internet控制報文協(xié)議)以及IGMP協(xié)議(Internet組管理協(xié)議)。(3)運輸層。主要為兩臺主機上的應用程序提供端到端的通信。有兩個互不相同的傳輸協(xié)議:TCP傳輸控制協(xié)議和UDP用戶數(shù)據(jù)報協(xié)議。前者為兩個主機提供高可靠性的數(shù)據(jù)通信。它所做的工作包括把應用程序交給它的數(shù)據(jù)分成合適的小塊交給下面的網(wǎng)絡層,確認接收

33、到的分組,設置發(fā)送最后確認分組的超時時鐘等,由于運輸層提供了高可靠行的端到端通信,因此應用層可以忽略所有這些細節(jié);后者則為應用層提供了一種非常簡單的服務。它只是把稱作數(shù)據(jù)報的分組從一臺主機發(fā)送到另一臺主機,并不保證該數(shù)據(jù)能到達另一端。數(shù)據(jù)傳輸?shù)目煽啃员仨氂蓱脤颖WC。(4)應用層。其負責處理特定的應用程序細節(jié)。TCP/IP協(xié)議棧的實現(xiàn)一般都會提供一些通用的應用程序,例如Telnet遠程登錄、FTP文件傳輸協(xié)議、SMTP簡單郵件傳輸協(xié)議和SNMP簡單網(wǎng)絡管理協(xié)議等16。在TCP/IP協(xié)議組件中,網(wǎng)絡層IP提供的是一種不可靠的服務,它只是盡可能快地把源端送到目的端,但是并不是提供任何可靠性服務。但

34、是,TCP在不可靠的IP層上提供了一個可靠的運輸層。為了提供這樣可靠的服務,TCP采用了超時重發(fā)、發(fā)送方和接收方進行端到端的分組確認等機制,由此可見,網(wǎng)絡層和運輸層分別負責不同功能的實現(xiàn)。雖然TCP使用不可靠的IP服務,但它卻提供可靠的運輸服務,這些應用通常都是用戶進程。UDP為應用程序發(fā)送和接收數(shù)據(jù)報。一個數(shù)據(jù)報是指從發(fā)送方 傳輸?shù)浇邮辗降囊粋€信息單元,但是與TCP不同的是UDP是不可靠的,它不能保證數(shù)據(jù)能安全無誤地到達最終目的地17。IP是網(wǎng)絡層的主要協(xié)議,同時被TCP和UDP使用。TCP和UDP的每組數(shù)據(jù)都通過端系統(tǒng)和每個中間路由器中的IP層在因特網(wǎng)中進行傳輸。ICMP是IP協(xié)議的附屬協(xié)

35、議。IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。盡管ICMP主要被IP使用,但應用程序也有可能訪問。常用的診斷工具Ping和Traceroute使用的就是ICMP協(xié)議。IGMP是Internet組管理協(xié)議。它用來把一個UDP數(shù)據(jù)報多播到多個主機。ARP地址解析協(xié)議和RARP反向地址解析協(xié)議某些網(wǎng)絡接口(如以太網(wǎng)和令牌環(huán)網(wǎng))使用的特殊協(xié)議,用來轉(zhuǎn)換IP層和網(wǎng)絡接口層使用的地址18。2.3.2 TCP/IP協(xié)議數(shù)據(jù)的處理(1)封裝(Encapsulation)當應用程序用TCP傳送數(shù)據(jù)時,數(shù)據(jù)被送入?yún)f(xié)議棧中然后逐個通過每一層直到被當作一串比特流送入網(wǎng)絡。其中每一層對收到的數(shù)據(jù)都要增加

36、一些首部或尾部信息用于標記或控制,如圖所示。TCP傳給IP的數(shù)據(jù)單元稱作TCP報文段或簡稱為TCP段(TCP Segment)。IP傳給網(wǎng)絡接口層的數(shù)據(jù)單元稱作IP數(shù)據(jù)報(IP Datagram)。通過以太網(wǎng)傳輸?shù)谋忍亓鞣Q作幀(Frame)19。圖2-5中幀頭和幀尾下面所標注的數(shù)字是典型以太網(wǎng)幀首部的字節(jié)長度。以太網(wǎng)數(shù)據(jù)幀的物理特性要求其長度必須在461500字節(jié)之間。UDP數(shù)據(jù)與TCP數(shù)據(jù)基本一致。唯一不同的是UDP傳給IP的信息單元稱作UDP數(shù)據(jù)報,而且UDP的首部長為8字節(jié)。由于UDP、TCP、ICMP和IGMP都要向IP傳送數(shù)據(jù),所以IP層必須在生成的IP首部加入某種標識,以表明數(shù)據(jù)屬

37、于哪一層。為此IP在首部中加入1字節(jié)的數(shù)據(jù),成為協(xié)議域。0x01表示為ICMP協(xié)議,0x02表示為IGMP協(xié)議,0x06表示為TCP協(xié)議,0x11表示為UDP協(xié)議。運輸層協(xié)議在成報文首部時要存入一個應用程序的標識符。TCP和UDP都用一個16位的被稱為端口號得二進制數(shù)來表示該數(shù)據(jù)報所屬的應用程序。發(fā)送方和接收方都有端口號,以此來表示發(fā)送數(shù)據(jù)報和接受數(shù)據(jù)報的應用程序。TCP和UDP把源端口號和目的端口號分別存入報文首部中。網(wǎng)絡接口分別要發(fā)送和接受IP、ARP和RARP數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標識,以指明生成數(shù)據(jù)的網(wǎng)絡層協(xié)議。為此,以太網(wǎng)的幀首部也有一個16位的幀類型域。圖

38、2-5 數(shù)據(jù)進入?yún)f(xié)議棧的封裝過程(2)分用(Demultiplexing)當目的主機接收到一個以太網(wǎng)數(shù)據(jù)幀時,數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時去掉各層協(xié)議加上的報文首部。每層協(xié)議都要檢查報文首部中由對方上層協(xié)議加入的協(xié)議標識,以確認將接收到數(shù)據(jù)送給哪個上層協(xié)議處理程序,這個過程稱為分用。2.3.3 相關(guān)協(xié)議報文的格式(1)以太網(wǎng)幀格式以太網(wǎng)是當今TCP/IP網(wǎng)絡采用的主要局域網(wǎng)技術(shù),采用了CSMA/CD(載波偵聽多路介入/沖入檢測)的媒體介入方法,每個通信節(jié)點物理接口的地址由48位二進制數(shù)表示。在TCP/IP協(xié)議中,以太網(wǎng)IP數(shù)據(jù)報的封裝是在RFC894中定義的。所有的數(shù)據(jù)位的傳輸都以字節(jié)

39、為單位,由低位開始,傳輸?shù)奈涣鞑捎寐兴固鼐幋a,以太網(wǎng)的沖突檢測及重發(fā)策略都是有硬件自動完成的20。如圖2-6顯示了以太網(wǎng)數(shù)據(jù)報的封裝格式。圖2-6 以太網(wǎng)數(shù)據(jù)報的封裝格式(2)ARP報文格式地址解析協(xié)議報文格式如圖2-7所示。ARP協(xié)議的功能是實現(xiàn)用戶IP地址和以太網(wǎng)接口的MAC地址之間的轉(zhuǎn)換。操作碼字段指出4種操作,對于ARP請求該字段值為0x0001,ARP應答該字段值為0x0002,RARP請求值為0x0003,RARP應答其值為0x0004.對于一個ARP請求來說,除目的端口硬件地址外的所有其他的字段都有填充值。當系統(tǒng)收到一份目的端IP地址等于本機IP地址的ARP請求報文后,它就把硬

40、件地址填進去,然后用目的端IP地址和MAC地址分別替換發(fā)送端IP地址和MAC地址,并把操作字段置為0x0002,表明是應答報文,最后把它發(fā)送回去21。圖2-7 ARP報文格式(3)IP報文格式IP(網(wǎng)際協(xié)議)數(shù)據(jù)報的格式如圖2-8所示。不含選項字段的IP首部為20字節(jié)。每一份IP數(shù)據(jù)報都包含32位的源IP地址和目的IP地址。最后一個字段是任選項,是數(shù)據(jù)報中一個可變長的可選信息。由于這些選項很少被使用,且并非所有的主機和路由器都支持這些選項,因此在本設計中不支持任何選項。選項的字段總是以32位作為界限,在必要的時候插入值為0的填充字節(jié)。這樣就保證了IP首部始終是32位的整數(shù)倍(這是首部字段所要求

41、的)。圖2-8 IP協(xié)議數(shù)據(jù)報封裝格式(4)ICMP報文格式ICMP協(xié)議是為讓Internet中的路由器報告錯誤或者提供有關(guān)以外情況的信息而設計的,放在IP數(shù)據(jù)報的數(shù)據(jù)負載中傳輸。ICMP報文的最終目的地是接收方的IP模塊。如果ICMP認定某個高層協(xié)議或應用程序已經(jīng)產(chǎn)生了問題,就會通知相應的模塊,但是ICMP并沒有全部指定對每個可能差錯所采取的措施。如下圖2-9即其報文格式: 圖2-9 ICMP協(xié)議數(shù)據(jù)報封裝格式(5)UDP報文格式UDP(用戶數(shù)據(jù)報)是一個簡單的面向應用的運輸層協(xié)議。在TCP/IP協(xié)議族中,UDP提供在應用程序之間傳送數(shù)據(jù)報的基本機制。每個UDP數(shù)據(jù)報不僅傳送用戶數(shù)據(jù),還包括

42、發(fā)送方和接收方的協(xié)議端口號,這使得接收方的協(xié)議棧能夠根據(jù)端口號把報文送到正確的接收進程,而接收也能會送應答報文22。UDP使用底層的IP協(xié)議來傳送報文,提供和IP一樣的不可靠無連接的數(shù)據(jù)報傳輸服務。UDP數(shù)據(jù)報可能會出現(xiàn)丟失、重復和亂序現(xiàn)象,而且分組到達的速率可能大于接收進程處理的速率。因此,使用UDP協(xié)議的應用程序要承擔可靠性方面的處理工作,包括報文的丟失、重復、時延、亂序以及連接失效等問題。本設計中使用的UDP數(shù)據(jù)報格式如圖2-10所示。圖2-10 UDP協(xié)議首部格式在MCS-51系列單片機中,上述所有報文格式的數(shù)據(jù)都是按照大端(Big-Endian)模式組織和存儲的。在具體的編程中,上述

43、各報文格式是通過定義相應的結(jié)構(gòu)實現(xiàn)的。2.4 本章小結(jié)第二章主要講了以太網(wǎng)控制器的選擇及工作原理。詳細介紹了RTL8019AS的特點和RTL8019AS的工作原理最后還介紹了相關(guān)協(xié)議報文的格式。注意:除第一章緒論外,其他每一章都應該有一個本章小結(jié)第3章 硬件電路設計3.1 單片機系統(tǒng)擴展電路以太網(wǎng)串行口數(shù)據(jù)轉(zhuǎn)換模塊的硬件電路圖主要有兩個部分:單片機系統(tǒng)擴展電路和以太網(wǎng)接口電路。單片機系統(tǒng)擴展電路主要包括單片機及外部數(shù)據(jù)寄存器擴展電路、復位電路及串行通信電路等;以太網(wǎng)接口電路則包括單片機和RTL8019AS的總線接口、片選邏輯及網(wǎng)絡通信接口等。圖3-1 單片機系統(tǒng)擴展部分電路圖圖3-1中的單片機

44、U1通過U2(74HC753)實現(xiàn)數(shù)據(jù)總線和地址總線低8位的復用,進行系統(tǒng)總線擴展。由于系統(tǒng)中只有兩個使用擴展總線的設備,故使用線選法提供各設備的片選信號。A15作為U3(62256)的片選信號,單片機的讀寫控線和RAM的讀寫選通相連。注意,62256的A14引腳沒有連接到地址總線上,而是直接接地,這是因為地址總線的A14將作為RTL8019AS的片選信號,不能再供RAM使用。因此,當單片機選通RAM時,A15=0,同時A14必須選1,以保證不同時選通RTL8019AS。所以RAM的地址范圍為0x40000x7FFF,共16KB,也可直接采用。如果設計電路時有16KB的RAM,也可以直接采用。

45、系統(tǒng)復位通過專用的復位、存儲及WDT芯片X5045提供,除了可以提供復位信號外,X5045本身還有4KB的EEPROM,可存儲系統(tǒng)的配置參數(shù)等信息,必要時還可使用芯片自帶的WDT保證系統(tǒng)工作的可靠性。單片機的串行口有U5完成TTL電平和RS-232電平轉(zhuǎn)換。由于模塊的功能主要是數(shù)據(jù)轉(zhuǎn)發(fā),是典型的DCE設備,因此通過標準的9芯孔型插座COM1向外部設備提供串行口。當模塊的串行口和PC相連時,PC可通過串口延長線直接和COM1相連。3.2 RTL8019AS和單片機的接口電路RTL8019AS部分的電路如圖3-2所示。RTL8019AS的復位信號和單片機的復位信號復接,系統(tǒng)復位時RTL8019AS

46、同時復位。單片機通過地址A14選通RTL8019AS,由于RTL8019AS的片選位低電平有效,因此可當其被選通時A14=0,同時A15必須為1,保證RAM不被選通,因此其選通地址范圍是0x80000xB000。RTL8019AS共有20個地址引腳,其ISA總線接口的地址范圍為0x003000x0031F。單片機的低8位地址總線和RTL8019AS地址總線接口的低8位相連,單片機的讀寫信號線分別和RTL8019AS的IOR、IOW相連。因此RTL8019AS工作于8位總線模式,其地址線的低8位和單片機的數(shù)據(jù)總線相連。RTL8019AS共支持三種模式:跳線模式其中I/O基址和中斷由跳線設置決定;

47、即插即用模式,由軟件自動配置相應參數(shù);免跳線方式其中I/O地址和中斷依次外接93C46的內(nèi)容設定。本設計中的JP引腳通過10k電阻上拉設置其工作為跳線模式,芯片復位后的初始狀態(tài)由各配置引腳在上電時的狀態(tài)決定,不需要外接93C46.RTL8019AS內(nèi)部集成了以太網(wǎng)收發(fā)器的物理接口,因此和網(wǎng)絡通信線的鏈接非常簡單。本章使用標準的五類雙絞線進行以太網(wǎng)通信,RTL8019AS只需要外接一個10M速率的網(wǎng)絡變壓器和RJ45接口即可,網(wǎng)絡變壓器型號為PM34-1006,也可用HR61101G。為了直觀表示RTL8019AS的工作狀態(tài),電路設計了三個LED:D1和RTL8019AS的LBNC引腳相連,為L

48、ink指示燈。只要外部網(wǎng)絡插入RJ45插座且網(wǎng)絡接口正常連通,該LED將自動點亮。D2和D3則作為數(shù)據(jù)收發(fā)指示燈,無數(shù)據(jù)收發(fā)時熄滅,有數(shù)據(jù)收發(fā)時相應的LED被點亮。圖3-2 RTL8019AS和單片機接口電路圖3.2 本章小結(jié)第三章主要介紹以太網(wǎng)串行口數(shù)據(jù)轉(zhuǎn)換模塊的硬件電路圖主要有兩個部分:單片機系統(tǒng)擴展電路和以太網(wǎng)接口電路。單片機系統(tǒng)擴展電路主要包括單片機及外部數(shù)據(jù)寄存器擴展電路、復位電路及串行通信電路等;以太網(wǎng)接口電路則包括單片機和RTL8019AS的總線接口、片選邏輯及網(wǎng)絡通信接口。并繪制出RTL8019AS和單片機接口電路圖。注意:除第一章緒論外,其他每一章都應該有一個本章小結(jié)第4章

49、軟件設計4.1 串行口控制程序的設計根據(jù)設計要求,單片機串行口接收到的數(shù)據(jù)應通過RTL8019AS發(fā)送到以太網(wǎng)上,以便送達遠端主機;從RTL8019AS接收到的數(shù)據(jù)應通過單片機串行口發(fā)送給外部設備。本章設計中,采用全中斷驅(qū)動及環(huán)形緩存的方式對串行口的數(shù)據(jù)收發(fā)進行控制?,F(xiàn)在要考慮的問題是:當單片機的串行口不斷接收到外部設備送來的數(shù)據(jù)時,什么時候應該將緩存的數(shù)據(jù)發(fā)給RTL8019AS根據(jù)以太網(wǎng)協(xié)議的要求,一個以太網(wǎng)數(shù)據(jù)幀中,不包括源、目的MAC地址、數(shù)據(jù)類型以及數(shù)據(jù)報尾部的4字節(jié)校驗碼,純數(shù)據(jù)字段的最大長度是1500字節(jié)。當使用UDP 協(xié)議傳輸數(shù)據(jù)時,UDP數(shù)據(jù)報頭得長度為8字節(jié),UDP協(xié)議又是封

50、裝在IP數(shù)據(jù)報總傳輸?shù)?,IP數(shù)據(jù)報頭的長度為20字節(jié)。因此,當使用UDP協(xié)議通過以太網(wǎng)傳輸數(shù)據(jù)時,一個以太網(wǎng)幀中可攜帶的用戶數(shù)據(jù)的最大長度為1500-20-8=1472字節(jié),即每次送往協(xié)議棧發(fā)送的數(shù)據(jù)不能大于1472字節(jié)。根據(jù)上述分析,協(xié)議棧程序中設計了兩個參數(shù):最大緩存字節(jié)和最大中斷時間,用于控制串行口數(shù)據(jù)發(fā)送協(xié)議棧的時機。所謂最大緩沖字節(jié),指的是當單片機的串行口不斷接收數(shù)據(jù)時,如果接收緩沖區(qū)中的緩沖數(shù)據(jù)超過了最大緩存字節(jié)規(guī)定的數(shù)值,則將當前串行口的數(shù)據(jù)送協(xié)議棧進行一次發(fā)送操作。最大這段時間參數(shù)指的是當連續(xù)送往單片機串行口的數(shù)據(jù)發(fā)生中斷時,如果超過了最大中斷時間規(guī)定的時長仍無后續(xù)字節(jié)送達,則

51、將當前緩沖的數(shù)據(jù)送協(xié)議棧進行一次發(fā)送操作。引入了這兩個參數(shù)之后,單片機可根據(jù)數(shù)據(jù)流量的情況靈活地調(diào)整數(shù)據(jù)發(fā)送時機。當數(shù)據(jù)流量較大時,緩沖一定的字節(jié)數(shù)后再發(fā)送,當這個門限設定得較大時,發(fā)出的每個以太網(wǎng)數(shù)據(jù)報幾乎都是滿載的,保證了傳輸?shù)男÷?;當?shù)據(jù)間時間間隔較大時,每間隔固定的時間發(fā)送一次數(shù)據(jù),保證了傳輸?shù)膶崟r性。這樣處理后,不管是批量數(shù)據(jù)還是用戶交互數(shù)據(jù)都可以高效、及時地傳輸。當數(shù)據(jù)從遠端主機送達RTL8019AS時,由于協(xié)議棧對標準的TCP/IP協(xié)議做了較大的精簡,協(xié)議棧首先判斷數(shù)據(jù)報的協(xié)議類型及各種參數(shù),對于包含不支持的協(xié)議及參數(shù)的數(shù)據(jù)報一律丟棄,不做處理。而對于接收的數(shù)據(jù),則直接存入串行口

52、發(fā)送緩沖區(qū),通過中斷驅(qū)動的方式由單片機發(fā)送給外部設備。4.2 RTL8019AS控制程序的設計(1)RTL8019AS的復位操作通常在應用中,RTL8018AS的復位操作引腳是RST,連接到計算機ISA總線對應的RSTDRV。RST高電平有效,至少需要800ms的寬度。在復位的過程中RTL8019AS將執(zhí)行一些操作,例如將內(nèi)部寄存器初始化等。為確保RTL8019AS完全復位和正常工作,CPU應等待足夠的時間后再對RTL8019AS操作,在程序中延時等待的時間定為20ms。實例中RTL8019AS的復位引腳和單片機的復位引腳復接,因此上電后它們將同時復位。也可以直接訪問RTL8019AS的復位端

53、口進行熱復位。RTL8019AS的0x189x1F共8個地址,為復位端口。對這些端口地址中任意偶數(shù)地址的讀寫操作都會復位RTL8019AS。為了判斷復位是否成功,可根據(jù)RTL8019AS中斷狀態(tài)寄存器的第7位RST來判斷。如下表為中斷寄存器的各個標志位。在表4-1中,ISR的第7位RST跟復位有關(guān)。RTL8019AS執(zhí)行正確的復位之后該位為1.驅(qū)動程序可在復位之后檢查該標志位以確認RTL8019AS是否正確復位。通常UNIX、Linux等操作系統(tǒng)都會在RTL8019AS的驅(qū)動程序中做一些其他判斷和檢查,例如檢查RTL8019AS是否正常工作,是否存在地址沖突等。但由于本應用設計的是精簡協(xié)議棧,

54、因此默認RTL8019AS工作正常,且IP地址和MAC地址均沒有沖突。表4-1 RTL8019AS中斷狀態(tài)寄存器各位的含義位符 號簡 述7RST復位標識,復位正常時置位,起始命令后清06RDC處理器和RTL8019AS之間的DMA操作后完成后置位5CNTRTL8019AS錯誤計數(shù)器溢出時置位4OVW接收緩沖區(qū)溢出時置位,RTL8019AS死鎖3TXE發(fā)送數(shù)據(jù)報出錯時置位2RXE接收數(shù)據(jù)報出錯時置位1PTX正常發(fā)送數(shù)據(jù)報結(jié)束時置位0PRX正常接收數(shù)據(jù)報結(jié)束時置位(2)RTL8019AS的寄存器初始化操作RTL8019AS的寄存器占用其內(nèi)部地址0x000x1F共16字節(jié)的區(qū)域,寄存器共分4頁,記為

55、PAGE0PAGE3,每頁都有16個寄存器地址。其中,所有頁的地址0都為命令寄存器CR,CR為一個字節(jié)。利用CR的兩個頁選擇位PS1和PS0可以選擇寄存器頁,PS1 PS0為00時選擇寄存器頁0,為01時選擇寄存器頁1,依次類推。在初始化時,因為RTL8019AS寄存器的PAGE2屬性是只讀的,而PAGE3用于即插即用的增強功能,所以并不需要關(guān)心。如下表4-2為需要初始化的寄存器及寄存器功能的簡單介紹。表4-2 RTL8019AS PAGE0中需要初始化的寄存器寄存器符號寄存器功能簡介PSTART接收緩沖區(qū)的起始頁地址寄存器(存放接收到的第一個數(shù)據(jù)報)PSTOP接收緩沖區(qū)的結(jié)束也地址寄存器(不

56、存放數(shù)據(jù)報)BNRY指向最后一個已經(jīng)讀取的頁地址(讀指針)CURR指向當前的接收結(jié)束頁地址(寫指針)TPSR發(fā)送頁的起始頁地址RCR接收配置寄存器TCR發(fā)送配置寄存器DCR數(shù)據(jù)配置寄存器IMR中斷屏蔽寄存器(1)PSTART寄存器(地址為PAGE0的0x01)為寫寄存器,CPU向它寫入接收緩沖區(qū)首頁面的地址。(2)PSTOP寄存器(地址為PAGE0的0x02)為寫寄存器,CPU向它寫入接收緩沖區(qū)末頁面的地址。RTL8019AS內(nèi)部有16KB字節(jié)的RAM,地址為0x40000x7FFF,注意此處的地址指的是RTL8019AS內(nèi)部的數(shù)據(jù)緩沖RAM地址,而不是單片機系統(tǒng)外擴的地址。這些內(nèi)部數(shù)據(jù)緩沖RAM是RTL8019AS本身工作時所用的存儲緩沖區(qū),每256字節(jié)為一頁,共64頁,頁地址就是地址編碼的高8位,范圍為0x400x7F。這16K RAM用來緩存RTL8019AS收發(fā)的數(shù)據(jù)報。(3)BNRY寄存器(地址為PAGE0的0x03)為讀寫寄存器,用于指向最后一個已經(jīng)被CPU讀取過頁地址(讀指針)。在初始狀態(tài),RTL8019AS沒讀取過任何數(shù)據(jù)報,所以BNRY初始化時應設置為指向第一個接收緩沖區(qū)的頁0x4C。(4)CURR寄存器(地址為PAGE1的0x07)是RTL8019AS寫內(nèi)存的指針。它指向當前正寫入頁的下一頁,那么初始化它就應該指向0x4C+1=0x4D

溫馨提示

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

評論

0/150

提交評論