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

正文內(nèi)容

電子科學(xué)與技術(shù)單片機(jī)tcpip論文初稿(更新版)

2024-08-01 16:48上一頁面

下一頁面
  

【正文】 送端網(wǎng)卡自動生成,自動填充到幀的最后。因此, MAC 地址就像是是網(wǎng)絡(luò)設(shè)備的“身份證”一樣,需要具有全球唯一性。廣播地址的每一位都是 1,即: FF:FF:FF:FF:FF:FF。 (NE2022 是一個由 Novell 公司所創(chuàng)立并且被業(yè)界廣泛采用的網(wǎng)絡(luò)卡的標(biāo)準(zhǔn),大多數(shù) ISA 網(wǎng)卡都與 NE2022 兼容,如 Nat Sem i 的 DP83902,Davi 的 DM9008,NSI 的 DP8390,MXIC 的 MX98905 等) 。因此,單片機(jī)比較適合使用跳線方式。AUI 管腳(第 64 腳),該管腳決定使用 AUI 還是 BNC 接口。如果這個管腳下拉,則選擇 8 位模式,如果這個管腳接高電平,將選擇 16 位的模式。從 RTL8019 的芯片手冊中知道,I/O 訪問的寄存器只有 32 個,在后面會介紹這些寄存器。這樣,如果單片機(jī)訪問 8000H 地址就相當(dāng)于訪問 RTL8019 的 300H 了,訪問 801FH 地址就相當(dāng)于訪問 RTL8019 的 31FH。 (6)由于單片機(jī)是大端結(jié)構(gòu),因此宏定義需要修改 define UIP_CONF_BYTE_ORDER UIP_BIG_ENDI AN (7)暫時不移植打印信息,先關(guān)閉 define UIP_CONF_LOGGING 0 (8)定義數(shù)據(jù)結(jié)構(gòu)類型 typedef unsigned char u8_t。片選引腳接單片機(jī)的 A15 腳尋址范圍為0X7FFF0X0000。 TCPTimer()。pSocket 指向?qū)⒁P(guān)閉的 socket。 //保存 pNewSocket,以后可以用 ExAccept 發(fā)送數(shù)據(jù) pNewSocketrecv = OnAcceptRecv。}(2)其次編寫一個數(shù)據(jù)發(fā)送函數(shù),其偽代碼如下:31該函數(shù)發(fā)送數(shù)據(jù)包‘buffer’為數(shù)據(jù)內(nèi)容‘size’是數(shù)據(jù)長度 ,數(shù)據(jù)長度不能大于 MAX_PACKET_SIZE 超過部分會被丟棄。對于計算機(jī)應(yīng)做準(zhǔn)備為:編寫一個可以向某個 IP 或端口發(fā)起連接的上位機(jī)。在現(xiàn)在網(wǎng)絡(luò)的發(fā)展情況看來,電子產(chǎn)品必然要入網(wǎng)。所以單片機(jī) TCP/IP 協(xié)議棧的發(fā)展前景還是很好的。做完以上準(zhǔn)備后,可以先試試 ping 以下單片機(jī),收到回復(fù)后表示可以通信了。返回 TRUE 表示發(fā)送完成。 pNewSocketclose = OnClose。當(dāng)程序中有多個 TCP 連接同時存在時,需要給每個連接準(zhǔn)備一個 OnClose 函數(shù)。還有幾個函數(shù)要編寫:(1)編寫 OnReceive 函數(shù),它應(yīng)該有如下的參數(shù)和返回值,函數(shù)名可以任意:void OnReceive1(void DT_XDATA * buf,WORD size) REENTRANT_MUL 在使用 TCPConnect 函數(shù)時,OnReceive1 將作為 TCPConnect 函數(shù)的一個參數(shù),也就是設(shè)置該 socket 的接收函數(shù)。這里應(yīng)注意的是 SA0SA19 網(wǎng)卡地址線的接法,其中 SA6 接單片機(jī) A15 腳的用意是將網(wǎng)卡芯片的尋址范圍固定為 0X80000XFFFF。 typedef unsigned long u32_t。前面所提到的“遠(yuǎn)程 DMA 地址”就是單片機(jī)往 RAM BUFFER 中讀寫數(shù)據(jù)用到的地址。將它轉(zhuǎn)化為二進(jìn)制的地址線的電平就很直觀了。IOWB (第 30 腳) , IORB (第 29 腳)接到單片機(jī)的 , (/WR , /RD) ,用來控制讀寫時序。網(wǎng)卡的接口一般是 BNC 的可以支持 8 線雙絞或同軸電纜。當(dāng) JP管腳為低電平時,RTL8019 工作在即插即用方式或免跳線方式,高電平時處于跳線方式。 RTL8019 有 3 種工作方式:(1)跳線方式,網(wǎng)卡的 i/o 和中斷由跳線決定。如果一個幀的目的地址是組播地址,那么網(wǎng)絡(luò)中預(yù)先定義的一組設(shè)備都能接收并處理該設(shè)備。 以太網(wǎng)的 MAC 地址由 48bit (6 字節(jié)) 組成,如 08:02:10:3A:85:23 就是一個 MAC地址。由于網(wǎng)卡的自動管理,并且前導(dǎo)碼 FR 和幀數(shù)據(jù)定界符 SD 的值是固定的,也由網(wǎng)卡自動生成和插入。如果這個字段小于 0600H 的值,則表示數(shù)據(jù)包的長度,在單片機(jī)的網(wǎng)絡(luò)編程中不考慮這種用法。 DA(目的地址) :目的以太網(wǎng)的物理地址,由 48 位二進(jìn)制組成(6 個字節(jié)),說明該幀傳輸給哪個網(wǎng)卡。 uip_arp_ timer()。 for(i = 0。 uip_input()。 /*IP 地址、網(wǎng)關(guān)、掩碼設(shè)置*/ uip_ipaddr(ipaddr , 192,168,1,9)。periodic_timer, CLOCK_CONF_SECOND / 2)。uIP 在接受到底層傳來的數(shù)據(jù)包后 ,如果需要送上層應(yīng)用程序 處理 ,就調(diào)用 UIP_APPCLL()。I++){uip_periodic(i)。一個是 uip_ input ( ) , 當(dāng)設(shè)備驅(qū)動程序從網(wǎng)絡(luò)層收到的一個數(shù)據(jù)包時要調(diào)用這個函數(shù) ,設(shè)備驅(qū)動程序必須事先將數(shù)據(jù)包存入到 uipbur 中包長放到 uip_len,然后交由 uip_input ( ) 處理。TCP / IP 協(xié)議組11中的鏈路層協(xié)議如 PPP 等可由 uIP 之下的設(shè)備驅(qū)動實(shí)現(xiàn);應(yīng)用層協(xié)議如 HTTP、 FTP、SMTP 等可由 ulP 之上的應(yīng)用程序?qū)崿F(xiàn)。在定義子網(wǎng)掩碼前,必須弄清楚本來使用的子網(wǎng)數(shù)和主機(jī)數(shù)目。以下只對 C 類進(jìn)行詳述:C 類地址的表示范圍為: 到 ,默認(rèn)網(wǎng)絡(luò)屏蔽為:;C 類地址分配給小型網(wǎng)絡(luò),如一般的局域網(wǎng),它可連接的主機(jī)數(shù)量是最少的,采用把所屬的用戶分為若干的網(wǎng)段進(jìn)行管理。  目的端口 目的系統(tǒng)上的連接的端口。 PING 是最常用的基于 ICMP 的服務(wù)。因此,UDP 不被應(yīng)用于那些使用虛電路的面向連接的服務(wù),UDP 主要用于那些面向查詢 應(yīng)答的服務(wù),例如 NFS。  如果 IP 數(shù)據(jù)包中有已經(jīng)封好的 TCP 數(shù)據(jù)包,那么 IP 將把它們向‘上’傳送到 TCP 層。IP 數(shù)據(jù)包是不可靠的,因?yàn)?IP 并沒有做任何事情來確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒有被破壞。這些協(xié)議壓縮 IP 包后通過撥號電話線發(fā)送到對方的調(diào)制解調(diào)器中。 TCP/IP 使用客戶端/服務(wù)器模式進(jìn)行通信。TCP/IP 協(xié)議集在應(yīng)用層上有遠(yuǎn)程登錄協(xié)議(Tel) 、文件傳輸協(xié)議(FTP) 、電子郵箱協(xié)議(SMTP) 、域名系統(tǒng)(DNS)等,它們構(gòu)成了 TCP/IP 的基本應(yīng)用程序。低層是網(wǎng)際協(xié)議,它處理每個包的地址部分,使這些包正確的到達(dá)目的地。深入了解 TCP/IP 協(xié)議棧的構(gòu)成。代碼基于 BSD(很像所有其它棧)但對非常小的覆蓋范圍功能有所減少。所以只要在單片機(jī)上實(shí)現(xiàn)居于 TCP/IP 協(xié)議的通信,就能讓單片機(jī)控制的電子設(shè)備進(jìn)入互聯(lián)網(wǎng),實(shí)現(xiàn)遠(yuǎn)程操作,數(shù)據(jù)共享。設(shè)計過程并沒讓單片機(jī)接入互聯(lián)網(wǎng),控制單片機(jī)是通過上位機(jī)在局域網(wǎng)內(nèi)對其進(jìn)行連接的。這將帶來一系列好處,能進(jìn)行遠(yuǎn)程控制,能夠獲得數(shù)據(jù)共享。通過對 TCP/IP 協(xié)議的研究和參考 uIP 協(xié)議棧,在單片機(jī)上對 uIP 進(jìn)行了移植。一旦電子產(chǎn)品能入網(wǎng),就能做到對遠(yuǎn)在千里之外的電子產(chǎn)品進(jìn)行控制。并且對數(shù)據(jù)緩存進(jìn)行壓縮,以減少對單片機(jī) RAM 的使用。實(shí)現(xiàn)了 TCP、UDP、ICMP 、ARP 協(xié)議,ZLWeb 實(shí)現(xiàn)了 HTTP 協(xié)議。在實(shí)現(xiàn)計算機(jī)通過網(wǎng)絡(luò)對單片機(jī)控制的電子設(shè)備進(jìn)行監(jiān)控的功能時還要對計算機(jī)進(jìn)行相應(yīng)的配置。運(yùn)行 TCP/IP 協(xié)議的網(wǎng)絡(luò)是一種采用包(分組)交換網(wǎng)絡(luò)。這些包通過網(wǎng)絡(luò)傳送到接收端的 TCP 層,接收端的 TCP 層把包還原為原始文件;UDP 協(xié)議時直接利用 IP 協(xié)議進(jìn)行 UDP 數(shù)據(jù)報的傳輸,因此 UDP 協(xié)議提供的是無連接、不保證數(shù)據(jù)完整到達(dá)目的地的傳輸服務(wù)。正是它們之間的“無國籍的”釋放了網(wǎng)絡(luò)路徑,才使每個人都可以連續(xù)不斷的使用網(wǎng)絡(luò)。6 TCP/IP 協(xié)議族之所以說 TCP/IP 是一個協(xié)議族,是因?yàn)?TCP/IP 協(xié)議包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP 等許多協(xié)議,這些協(xié)議一起稱為 TCP/IP 協(xié)議。也可以這樣說,IP 地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個有效的主機(jī)發(fā)送來的。  TCP 將它的信息送到更高層的應(yīng)用程序,例如 Tel 的服務(wù)程序和客戶程序?! ∑垓_ UDP 包比欺騙 TCP 包更容易,因?yàn)?UDP 沒有建立初始化連接(也可以稱為握手) (因?yàn)樵趦蓚€系統(tǒng)間沒有虛電路) ,也就是說,與 UDP 相關(guān)的服務(wù)面臨著更大的危險??蛻舫绦蛳蚍?wù)進(jìn)程寫入信息,服務(wù)進(jìn)程讀出信息并發(fā)出響應(yīng),客戶程序讀出響應(yīng)并向用戶報告。服務(wù)進(jìn)程通常使用一個固定的端口,例如,SMTP 使用2Xwindows 使用 6000。每個 C 類地址可連接 254臺主機(jī),Inter 有 2097152 個 C 類地址段(32*256*256) ,有 532676608 個地址9(32*256*256*254) 。相對于使用子網(wǎng)掩碼來識別網(wǎng)絡(luò)地址,早期的使用類別進(jìn)行網(wǎng)絡(luò)地址的分類存在著地址大量浪費(fèi)的不足。 表 uIP 代碼和 RAM 占用情況協(xié)議模塊 代碼大小/B 使用 RAM/BARP 1324 118IP/ICMP/TCP 3304 360HTTP 994 110校驗(yàn)和函數(shù) 636 0數(shù)據(jù)包緩存 0 400總和 6258 988 協(xié)議棧接口 ulP 協(xié)議通過一系列接口函數(shù)與底層系統(tǒng)和上層應(yīng)用程序通信,它內(nèi)部的協(xié)議集合對外部系統(tǒng)來說是透明的,從而增強(qiáng)了該協(xié)議的通用性和獨(dú)立性,可以非常方便地移植到不同系統(tǒng)和應(yīng)用平臺。以下代碼即為設(shè)備驅(qū)動程序從網(wǎng)絡(luò)層收到的一個數(shù)據(jù)包后的處理過程 : define BUF ( ( struet uip_ethhdr *) amp。 } }從本質(zhì)上來說 uip_nput()和 uip_periodic()在內(nèi)部是一個函數(shù),即uip_process(u8_flag) uIP 的設(shè)計者將 uip_process (UIPDATA)定義成 uip_input ( ) ,而將uip_process(UIP_TIMER)定義成 uip_periodic(),因此從代碼實(shí)現(xiàn)上來說是完全復(fù)用的。如果要加入應(yīng)用程序狀態(tài)的話 ,必須將宏 UIP_APPSTATE_SIZE 定義成應(yīng)用程序狀態(tài)結(jié)構(gòu)體的長度。 /*定時器初始化*/ init_T imer()。 uip_setdraddr(ipaddr)。 } } /*收到的是 ARP 數(shù)據(jù),調(diào)用 uip_arp_arpin()處理*/ else if(BUFtype == htons(UIP_ETHTYPE_ARP)) { uip_arp_arpin()。 if(uip_len 0) {18 uip_arp_out()。IEEE 是電氣和電子工程師協(xié)會(IEEE )制定的一種描述物理層和數(shù)據(jù)鏈路層的實(shí)現(xiàn)方法的網(wǎng)絡(luò)協(xié)議,主題是在多種物理媒體上以多種速率采用 CSMA/CD 訪問方式。具體信息我們待會介紹。如果不夠 46(64-18)字節(jié),余下的由 PAD 填充。假如網(wǎng)絡(luò)層的一個 IP 包要發(fā)送出去,首先要填充接收網(wǎng)卡的地址和本網(wǎng)卡的地址(MAC 地址) ,同時將 TYPE 填充成 0800H,緊跟著就是發(fā)送的數(shù)據(jù)。網(wǎng)卡的 MAC 地址通常是由生產(chǎn)廠家燒入網(wǎng)卡的 EPROM 中(NE2022 系列網(wǎng)卡常用 93C46,在網(wǎng)卡上可以找到) 。101 的最低位為 1。電腦上常使用即插即用方式,單片機(jī)不予考慮。如下表,我們將 IS03IO0 都懸空(內(nèi)部下拉,即都為 0) ,則芯片 I/O 的起始地址是 300H。表 PLX 引腳功能其它重要管腳的連線: 所有 GND 管腳接地,VCC 管腳接+5V 的電源。 由于使用 8 位數(shù)據(jù)位,SD0 —SD7 管腳接到單片機(jī)的 - 管腳,SD8-SD15 不需要使用。只要控制 SA4-SA0 就可以訪問到 300H 到 31FH 的 32 個寄存器。 設(shè)置配置文件 ,用來設(shè)置本地的 IP 地址、網(wǎng)關(guān)地址、MAC 地址、全局緩沖區(qū)的大小、支持的最大連接數(shù)、偵聽數(shù)、ARP 表大小等。 硬件原理圖設(shè)計原理圖主要分為兩大模塊,一是:單片機(jī)與外部 RAM 模塊。在 主程序需要分配好數(shù)據(jù)緩沖區(qū),設(shè)置網(wǎng)卡物理地址,IP 地址,掩碼等??梢栽?OnReceive1 中處理接收的數(shù)據(jù)。它應(yīng)該有如下的參數(shù)和返回值,函數(shù)名可以任意:void OnAccept1 (socket DT_XDATA *pNewSocket) REENTRANT_MUL 當(dāng)一個正在 listen 的 socket 接受了對方的連接以后將會自動調(diào)用該函數(shù)。30 的編寫:(1)首先編寫一個網(wǎng)卡初始化函數(shù),其偽代碼如下:void RTLInit(BYTE LocalMACAddr[]) REENTRANT_MUL{定義 temp;定義整型變量 i;向復(fù)位引腳發(fā)復(fù)位信號;延遲一段時間。并把 hex 文件燒寫到單片機(jī)上。336.結(jié)論對于整個設(shè)計到此已經(jīng)完成,設(shè)計過程用到的理論知識主要有 TCP/IP 協(xié)議,UIP協(xié)議,單片機(jī)技術(shù),keilc 編程,網(wǎng)卡驅(qū)動,電子線
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1