freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于tcpip協(xié)議單片機(jī)的以太網(wǎng)通訊系統(tǒng)設(shè)計(jì)與研究(參考版)

2024-11-14 03:26本頁(yè)面
  

【正文】 參數(shù)包括本機(jī)的 IP 地址、本機(jī)的物理地址、子網(wǎng)掩碼、網(wǎng)關(guān)的 IP 地址、自定義端口號(hào)、基于 TCP應(yīng)用的目的 IP 地址與目的端口號(hào)以及協(xié)議類型的設(shè)置。程序不主動(dòng)學(xué)習(xí)不是發(fā)給自己 IP 地址的 MAC 地址信息,因?yàn)閱纹瑱C(jī)可以擴(kuò)展的資源有限, ARP 表占用的內(nèi)存的容量不能太大,所以只有頻繁用到的地址才應(yīng)該放在 ARP 表中,否則一旦出現(xiàn)“顛簸”, ARP 表就失效了。 26 ? ARP 包處理函數(shù)完成對(duì)接收到的 ARP 應(yīng)答包的信息處理,主要是進(jìn)行 ARP 表的學(xué)習(xí)和更新,以及喚醒 IP 層的等待發(fā)送報(bào)文調(diào)度函數(shù)。 ? ARP 應(yīng)答函數(shù)比較簡(jiǎn)單,除目的端硬件的所有其他的字段都有填充值。 ARP 協(xié)議要求程序根據(jù)子網(wǎng)掩碼判斷 IP地址是否屬于同一子網(wǎng),如果在同一子網(wǎng)內(nèi), ARP 請(qǐng)求目的 MAC 地址,否則請(qǐng)求默認(rèn)網(wǎng)關(guān)的 MAC 地址。處理過程間圖 63 所示,各函數(shù)功能如下: ? ARP 初始化函數(shù)完成 ARP 表的初始化,概括的說就是 ARP 表 Timer 字段清 0。 地址解析協(xié)議 ARP的是實(shí)現(xiàn) 整個(gè) ARP 處理過程,主要分為五個(gè) 函數(shù),包括 ARP 初始化、 ARP 請(qǐng)求、 ARP 應(yīng)答、 ARP 包處理、 IP 包接收預(yù)處理。應(yīng)用層協(xié)議我們采用 HTTP 協(xié)議。 TCP/IP協(xié)議棧的實(shí)現(xiàn) 由于本課題是基于 TCP/IP 協(xié)議的單片機(jī)通訊系統(tǒng)的設(shè)計(jì),所以必須對(duì) TCP/IP 協(xié)議棧進(jìn)行必要的簡(jiǎn)化。 ? 對(duì)正確的報(bào)文進(jìn)行協(xié)議分析,系 統(tǒng)只處理兩種報(bào)文: ARP 報(bào)文和 IP 報(bào)文,若判斷出是以上兩種報(bào)文,則置位相應(yīng)標(biāo)志位,以待后續(xù)模塊處理。主要是判斷接收到報(bào)文后,芯片自動(dòng)計(jì)算的 CRC 校驗(yàn)是否正確,若沒有出錯(cuò)標(biāo)志,則說明報(bào)文接收正確。若 BNRY≠CURR1,則說明有新的數(shù)據(jù)報(bào)文到達(dá),準(zhǔn)備讀取及判斷數(shù)據(jù),否則說明沒有新的數(shù)據(jù)報(bào)文,則退出。而芯片正在讀取的數(shù)據(jù)字節(jié)位置可由 CLDA CLDA0 判斷。 BNRY 是讀指針,指向用戶已經(jīng)讀走的頁(yè)。控制接收緩沖區(qū)的有兩個(gè)寄存器 CURR 和 BNRY。 圖 62 以太網(wǎng)接收?qǐng)?bào)文流程圖 N Y 開始 清中斷標(biāo)志 讀取包頭 是否有新數(shù)據(jù) 讀取讀頁(yè)指針( BNRY) 讀取寫頁(yè)指針( CURR) 接受是否正確 IP 或 ARP 報(bào)文否? 讀取數(shù)據(jù) 置接受正確標(biāo)志 結(jié)束 丟棄 數(shù)據(jù)包更新標(biāo)志 N N Y Y 25 系統(tǒng)使用 0x4C0x7F 作為接收緩沖區(qū),共 52 頁(yè)。發(fā)送報(bào)文時(shí)在 RTL8019AS 里面定義了兩個(gè)能存儲(chǔ)最大以太網(wǎng)報(bào)文的緩沖區(qū),把前 6 頁(yè) 0x40— 0x45 定義為發(fā)送緩沖區(qū) 1,接下來的 6 頁(yè) 0x46— 0x4B 定義為發(fā)送緩沖區(qū) 2,定義了一個(gè)指針指向當(dāng)前的發(fā)送緩沖區(qū) [13]。系統(tǒng)中使用0x40— 0x4B 為發(fā)送緩沖區(qū),共 12 頁(yè),剛好可以存儲(chǔ) 2 個(gè)最大的以太網(wǎng)包。其流程圖如圖 61 如下所示。 ? TCR=0xE0,設(shè)置發(fā)送配置寄存器,啟用 CRC 自動(dòng)生成和自動(dòng)校驗(yàn),工作在正常模式; 23 ? DCR=0xC8,設(shè)置數(shù)據(jù)配置寄存器,使用 FIFO( Final Input Final Output)緩存,普通模式, 8 位數(shù)據(jù)傳輸,字節(jié)順序?yàn)楦呶蛔止?jié)在前, 低位字節(jié)在后; ? IMR=0x00,設(shè)置中斷屏蔽寄存器,屏蔽所有中斷; ? CR=0x61,選擇頁(yè) 1 的寄存器; ? CURR=0x4D, CURR 是 RTL8019AS 寫內(nèi)存的指針,指向當(dāng)前正在寫的頁(yè)的下一頁(yè),初始化時(shí)指向 0x4C+1=0x4D; ⑴ 設(shè)置多址寄存器 MAR0— MAR5,均設(shè)置為 0x00; ⑵ 設(shè)置網(wǎng)卡地址寄存器 PAR0— PAR5; ⑶ CR=0x22,選擇頁(yè) 1 的寄存器,進(jìn)入正常工作狀態(tài)。然后開始 RTL8019AS 的初始化操作 [12]。 RTL8019AS的初始化 初始化函數(shù)用于對(duì) RTL8019AS 進(jìn)行初始化操作。施加一個(gè)高電平后,然后施加一個(gè)低 電平。 RSTDRV 為高電平有效,至少需要 800ns 的寬度。下面將分別介紹其功能和實(shí)現(xiàn) [11]。以太網(wǎng)協(xié)議由芯片硬件自動(dòng)完成, RTL8019AS 的程序相對(duì)比較透明。反之, RTL8019AS收到物理信號(hào)后將其還原成數(shù)據(jù),按指定格式存放在芯片 RAM 中以便主機(jī)程序取用。 網(wǎng)卡控制器與以太網(wǎng)不能直接相連,要 通過網(wǎng)絡(luò)變壓器,本課題選用中山漢仁公司的 20F001N 作為隔離濾波器件,它起的主要作用是:隔直通交,避免雙絞線上的直流電平干擾網(wǎng)卡芯片的工作;同時(shí),利用變壓器自身的通頻帶限制高頻干擾。先通過編程器把配置好的數(shù)據(jù)寫入 93C46,再焊入電路。 TL8019AS 通過引腳 EECS、 EESK、 EEDI 控制 93C46 的 CS、 SK、 DI 引腳,通過 EEDO 接收 93C46 的 DO 引腳的狀態(tài)。 00H~ 03H 的 地址空間用于存儲(chǔ) RTL8019AS 內(nèi)配置寄存器的上電初始化值 。LED2 表示LED_RX,即接收到網(wǎng)上的信息包。 WR、 RD 分別為 I/O寫、讀信號(hào),低電平有效, RESET 用于 RTL8019AS 的復(fù)位操作。 AT89C52 單片機(jī)與 RTL8019AS 接口電路如圖 53 所示。當(dāng) AT89C52 要向網(wǎng)上發(fā)送數(shù)據(jù)時(shí),先將一幀數(shù)據(jù)通過遠(yuǎn)程 DMA通道送到 RTL8019AS 中的發(fā)送緩存區(qū),然后發(fā)出傳送命令, RTL8019AS 在完成了上一幀的發(fā)送后,再完成此幀的發(fā)送。其中, 74LS373 為單片機(jī)接鎖存器, AT89C52 將 — 端口復(fù)用作為 8 位數(shù)據(jù)線和低 8 位地址線, ALE 信號(hào)作為地址鎖存控制信號(hào),當(dāng) ALE的下降 沿時(shí)用來把低 8 位地址信息鎖存到外部鎖存器 74LS373 內(nèi),而高 8 位地址信息一直所存在 P2 口鎖存器中,該地址線用于選擇 HM62256 的存儲(chǔ)空間和 RTL8019AS的地址空間,同時(shí)把 HM62256 的 ____CS 腳也接到 A15 以對(duì)兩部分空間進(jìn)行區(qū)分,為低電平時(shí)選擇 HM62256,為高電平時(shí)選擇 RTL8019AS[9]。使用外部 RAM 的另一個(gè)目的是處理復(fù)雜的 TCP/IP 協(xié)議,因?yàn)樵谙挛粰C(jī)程序的編寫過程中定義了很多的外部存儲(chǔ)器變量。本課題選擇的方案硬件電路簡(jiǎn)單,外圍器件也比較少,相對(duì)來說成本低廉。采用這種方法,可以使其可以以數(shù)據(jù)流方式來讀取。然后數(shù)據(jù)隨著同步時(shí)鐘串行輸出。它有專門的指令集來實(shí)現(xiàn)各種操作,包括字節(jié) /字讀取、字節(jié) /字寫入、字節(jié) /字擦除、全擦與全寫。 ? E2PROM 93C46 93C46 是 SPI 接口的 E2PROM,其容量為 1KB,它們被組織為 128 個(gè)字節(jié)( 8 bits)或 64 個(gè)字( 16 bits)。 課題中的 51 單片機(jī)是 8 位的,所以必須用兩個(gè) IO 口來聯(lián)接這個(gè) RAM 器件,通常我們用 P0(低字節(jié))和 P2(高字節(jié))兩個(gè)端口來確定此器件的地址,而 P0 口是 51單片機(jī)標(biāo)準(zhǔn)的總線口,是地址線和數(shù)據(jù)線復(fù)用的,所以與 62256 聯(lián)接時(shí)需要加一片鎖存器來鎖存地址。 SRAM 62256與 E2PROM 93C46 ? SRAM 62256 62 系列是最常用的單片機(jī)系統(tǒng)擴(kuò)展 RAM 元器件,其類型有 621 623 62256等多種, 62 后面的數(shù)字表示此元器件中可以存儲(chǔ)的位 (單位: KB),我們通常的說法是 17 將此值除以 8,比如 62256 將 256 除以 8,我們一般稱之為 32K 的 RAM。這樣,微控制器通過讀寫端口 0x10 即可實(shí)現(xiàn)對(duì) RTL8019AS 內(nèi)部緩沖區(qū)的訪問。寄存器分為 4 頁(yè): Page0— Page3,由 RTL8019AS 的命令寄存器 (CR)中的 PS0、 PS1 為來決定要訪問的頁(yè)。 RTL8019AS 具有 32 為 I/O 地址,地址偏移量為 0x00— 0x1f(本論文中對(duì)應(yīng)于 0x300— 0x31f)。生產(chǎn)廠商和產(chǎn)品標(biāo)識(shí)代碼也是單雙地址重復(fù)存儲(chǔ)的。 另一塊只有 32 字節(jié),地址為 0x0000— 0x001f,稱為 Prom 頁(yè),存儲(chǔ) 有本網(wǎng)卡芯片的以太網(wǎng)物理地址,其中地址 0x0000— 0x000b 共 12 個(gè)字節(jié)存放以太網(wǎng)物理地址,0x000b 后面的地址存儲(chǔ)的是生產(chǎn)廠商的代碼和產(chǎn)品標(biāo)識(shí)代碼。要接收和發(fā)送數(shù)據(jù)包就必須通過 DMA 讀寫 RTL8019AS 內(nèi)部的 16KB RAM。后 52 頁(yè)(即地址為 0x4c00— 0x7fff)作為接收緩沖區(qū)。一般將前 12 頁(yè)(即地址為 0x4000— 0x4bff)作為發(fā)送緩沖區(qū),且分為兩個(gè) 6 頁(yè)。一塊容量為 16KB,地址為 0x4000— 0x7fff,用于收發(fā)緩沖。網(wǎng)絡(luò)的沖突檢測(cè)、沖突退避重發(fā)、檢測(cè)接收?qǐng)?bào)文目的地址是否匹配、檢測(cè)報(bào)文 CRC校驗(yàn)等工作都由硬件來完成,本系統(tǒng)中只要對(duì)發(fā)送、接收、初始化、中斷處理、出錯(cuò)處理和 I/O 操作等進(jìn)行控制。 MAU 與通訊媒介直接相關(guān),是DTE 與網(wǎng)絡(luò)介質(zhì)之間的功能、電氣與機(jī)械的接口。 PLS 將 MAC 傳送來的 NRI(不歸零編碼)編碼的數(shù)據(jù)轉(zhuǎn)換成曼徹斯特編碼后并將數(shù)據(jù)通過 AUI 發(fā)送到 MAU,或通過 AUI 從 MAU 接收以曼徹斯特編碼方式編碼的數(shù)據(jù),并將數(shù)據(jù)進(jìn)行 NRI 譯碼后將數(shù)據(jù)發(fā)送到 MAC。 核心單元的功能如下: ① MAC 子層負(fù)責(zé)執(zhí)行 CSMA/CD 協(xié)議,負(fù)責(zé)發(fā)送和接收數(shù)據(jù)封包以及通信媒體管理、完成數(shù)據(jù)幀同步、接收數(shù)據(jù)幀時(shí)給數(shù)據(jù)幀定界、檢測(cè)目的地址是否匹配以及沖突處理。確切的說,網(wǎng)絡(luò)控制器是一個(gè) DTE(數(shù)據(jù)終端設(shè)備)。 ? 載波信號(hào)的收發(fā)和控制。校驗(yàn)正確,則將報(bào)文發(fā)往存儲(chǔ)器本發(fā)送一個(gè) ACK 應(yīng)答幀。校驗(yàn)后,將數(shù)據(jù)串行的從網(wǎng)線上發(fā)送出去。 ? 通信數(shù)據(jù)的發(fā)送和接收。 RTL8019AS簡(jiǎn)介 RTL8019AS 是本系統(tǒng)與以太網(wǎng)通訊的基礎(chǔ),它用以實(shí)現(xiàn)系統(tǒng)與網(wǎng)絡(luò)上其他節(jié)點(diǎn)之間的報(bào)文發(fā)送與接收功能,處于 TCP/IP 協(xié)議棧的數(shù)據(jù)鏈路層,是信息傳送、控制和管理的重要環(huán)節(jié) [7]。 XTA L1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。為了執(zhí)行內(nèi)部 程序指令, EA 應(yīng)該接VCC。 /EAVPP :訪問外部程序存儲(chǔ)器控制信號(hào)。 PSEN :外部程序儲(chǔ)存器選通信號(hào),是外部程序存儲(chǔ)器選通信號(hào)。否則, ALE 將被微弱拉高。如果需 要,通過將地址為 8EH 的 SFR 的第 0 位置“ 1”, ALE 操作無效。在一般情況下, ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。 ALE/ PROG :地址鎖存器控制信號(hào)( ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低 8位地址的輸出脈沖。 圖 42 AT89C52 外部引腳圖 14 表 41 P3 口引腳第二功能 RST:復(fù)位輸入。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流 ILL。 P3 口: P3 口是一個(gè)具有內(nèi)部上拉電阻的 8 位雙向 I/O 口 , P3 輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流) 4 個(gè) TTL 邏輯電平。對(duì) P2 口寫“ 1”時(shí),通過內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。對(duì) P1 口寫“ 1”時(shí),內(nèi)部上拉電阻的原因,將輸出電流 ILL。程序效 驗(yàn)時(shí),需要外部上拉電阻。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí), P0 口也被作為低 8 位地址 /數(shù)據(jù)復(fù)用,在這種模式下, P0 具有內(nèi)部上拉電阻。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè)TTL 邏輯電平。 AT89C52 單片機(jī)的指令系統(tǒng)和引腳功能與 MCS51 的完全兼容 [5]。控制器是單片機(jī)的指揮控制部件,主要任務(wù)的識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī) 各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。 CPU 是由運(yùn)算器和控制器所構(gòu)成的。 AT89C52 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且廉價(jià)的方案??臻e模式 下, CPU 停止工作,允許 RAM、定時(shí)器 /計(jì)數(shù)器、串口、中斷繼續(xù)工作。 AT89C52 具有以下標(biāo)準(zhǔn)功能: 8K 字節(jié) Flash, 256字節(jié) RAM, 32 位 I/O 口線, 3 個(gè) 16 位定時(shí)器 /計(jì)數(shù)器,一個(gè) 2 級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。通過上述兩種方案的類比,本課題選用第二種方案。應(yīng)用 TCP/IP 協(xié)議專用芯片能降低開發(fā)難度,但會(huì)增加系統(tǒng)硬件電路設(shè)計(jì)的復(fù)雜性,這種方法的開發(fā)成本較高。主處理器采用 AT89C52,單片機(jī)外擴(kuò)了一片 32K 的 SRAM 62256,作為數(shù)據(jù)存 儲(chǔ)區(qū),另外還外擴(kuò)了一片 1K 的 E2PROM 11 93C46,作為 RTL8019AS 的程序存儲(chǔ)區(qū),可向其燒寫主控程序和 TCP/IP 協(xié)議棧。 本方案主要從構(gòu)建系統(tǒng)理論依據(jù)和主要部件全面的分析了系統(tǒng)實(shí)現(xiàn)的可能性,最后對(duì)構(gòu)建的系統(tǒng)進(jìn)行仿真,依據(jù)仿真的結(jié)果分析了系統(tǒng)的實(shí)時(shí)性和穩(wěn)定性。 方案二 隨著網(wǎng)絡(luò)和單片機(jī)應(yīng)用技術(shù)的成熟,工業(yè)控制系統(tǒng)逐步向網(wǎng)絡(luò)遠(yuǎn)程控制方向發(fā)展,嵌入式系統(tǒng)在遠(yuǎn)程控制領(lǐng)域擁有廣泛的應(yīng)用前景。濾波變壓器 PH163112,用來對(duì)網(wǎng)絡(luò)上的脈沖進(jìn)行轉(zhuǎn)換和濾波。這兩種芯片的選用,主要是為精簡(jiǎn) TCP/PI 協(xié)議棧的嵌入提供條件,同時(shí)保證擁有較大的數(shù)據(jù)處理空間。最后在該嵌入式軟硬件平臺(tái)上,分別用
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1