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

正文內(nèi)容

畢業(yè)設(shè)計(jì)(單片機(jī)的以太網(wǎng)接入設(shè)計(jì))(編輯修改稿)

2025-07-26 14:55 本頁面
 

【文章內(nèi)容簡介】 數(shù)據(jù)報(bào),而且UDP的首部長為8字節(jié)。由于UDP、TCP、ICMP和IGMP都要向IP傳送數(shù)據(jù),所以IP層必須在生成的IP首部加入某種標(biāo)識(shí),以表明數(shù)據(jù)屬于哪一層。為此IP在首部中加入1字節(jié)的數(shù)據(jù),成為協(xié)議域。0x01表示為ICMP協(xié)議,0x02表示為IGMP協(xié)議,0x06表示為TCP協(xié)議,0x11表示為UDP協(xié)議。運(yùn)輸層協(xié)議在成報(bào)文首部時(shí)要存入一個(gè)應(yīng)用程序的標(biāo)識(shí)符。TCP和UDP都用一個(gè)16位的被稱為端口號(hào)得二進(jìn)制數(shù)來表示該數(shù)據(jù)報(bào)所屬的應(yīng)用程序。發(fā)送方和接收方都有端口號(hào),以此來表示發(fā)送數(shù)據(jù)報(bào)和接受數(shù)據(jù)報(bào)的應(yīng)用程序。TCP和UDP把源端口號(hào)和目的端口號(hào)分別存入報(bào)文首部中。網(wǎng)絡(luò)接口分別要發(fā)送和接受IP、ARP和RARP數(shù)據(jù),因此也必須在以太網(wǎng)的幀首部中加入某種形式的標(biāo)識(shí),以指明生成數(shù)據(jù)的網(wǎng)絡(luò)層協(xié)議。為此,以太網(wǎng)的幀首部也有一個(gè)16位的幀類型域。圖25 數(shù)據(jù)進(jìn)入?yún)f(xié)議棧的封裝過程(2)分用(Demultiplexing)當(dāng)目的主機(jī)接收到一個(gè)以太網(wǎng)數(shù)據(jù)幀時(shí),數(shù)據(jù)就開始從協(xié)議棧中由底向上升,同時(shí)去掉各層協(xié)議加上的報(bào)文首部。每層協(xié)議都要檢查報(bào)文首部中由對(duì)方上層協(xié)議加入的協(xié)議標(biāo)識(shí),以確認(rèn)將接收到數(shù)據(jù)送給哪個(gè)上層協(xié)議處理程序,這個(gè)過程稱為分用。 相關(guān)協(xié)議報(bào)文的格式(1)以太網(wǎng)幀格式以太網(wǎng)是當(dāng)今TCP/IP網(wǎng)絡(luò)采用的主要局域網(wǎng)技術(shù),采用了CSMA/CD(載波偵聽多路介入/沖入檢測(cè))的媒體介入方法,每個(gè)通信節(jié)點(diǎn)物理接口的地址由48位二進(jìn)制數(shù)表示。在TCP/IP協(xié)議中,以太網(wǎng)IP數(shù)據(jù)報(bào)的封裝是在RFC894中定義的。所有的數(shù)據(jù)位的傳輸都以字節(jié)為單位,由低位開始,傳輸?shù)奈涣鞑捎寐兴固鼐幋a,以太網(wǎng)的沖突檢測(cè)及重發(fā)策略都是有硬件自動(dòng)完成的[20]。如圖26顯示了以太網(wǎng)數(shù)據(jù)報(bào)的封裝格式。圖26 以太網(wǎng)數(shù)據(jù)報(bào)的封裝格式(2)ARP報(bào)文格式地址解析協(xié)議報(bào)文格式如圖27所示。ARP協(xié)議的功能是實(shí)現(xiàn)用戶IP地址和以太網(wǎng)接口的MAC地址之間的轉(zhuǎn)換。操作碼字段指出4種操作,對(duì)于ARP請(qǐng)求該字段值為0x0001,ARP應(yīng)答該字段值為0x0002,RARP請(qǐng)求值為0x0003,RARP應(yīng)答其值為0x0004.對(duì)于一個(gè)ARP請(qǐng)求來說,除目的端口硬件地址外的所有其他的字段都有填充值。當(dāng)系統(tǒng)收到一份目的端IP地址等于本機(jī)IP地址的ARP請(qǐng)求報(bào)文后,它就把硬件地址填進(jìn)去,然后用目的端IP地址和MAC地址分別替換發(fā)送端IP地址和MAC地址,并把操作字段置為0x0002,表明是應(yīng)答報(bào)文,最后把它發(fā)送回去[21]。圖27 ARP報(bào)文格式(3)IP報(bào)文格式IP(網(wǎng)際協(xié)議)數(shù)據(jù)報(bào)的格式如圖28所示。不含選項(xiàng)字段的IP首部為20字節(jié)。每一份IP數(shù)據(jù)報(bào)都包含32位的源IP地址和目的IP地址。最后一個(gè)字段是任選項(xiàng),是數(shù)據(jù)報(bào)中一個(gè)可變長的可選信息。由于這些選項(xiàng)很少被使用,且并非所有的主機(jī)和路由器都支持這些選項(xiàng),因此在本設(shè)計(jì)中不支持任何選項(xiàng)。選項(xiàng)的字段總是以32位作為界限,在必要的時(shí)候插入值為0的填充字節(jié)。這樣就保證了IP首部始終是32位的整數(shù)倍(這是首部字段所要求的)。圖28 IP協(xié)議數(shù)據(jù)報(bào)封裝格式(4)ICMP報(bào)文格式ICMP協(xié)議是為讓Internet中的路由器報(bào)告錯(cuò)誤或者提供有關(guān)以外情況的信息而設(shè)計(jì)的,放在IP數(shù)據(jù)報(bào)的數(shù)據(jù)負(fù)載中傳輸。ICMP報(bào)文的最終目的地是接收方的IP模塊。如果ICMP認(rèn)定某個(gè)高層協(xié)議或應(yīng)用程序已經(jīng)產(chǎn)生了問題,就會(huì)通知相應(yīng)的模塊,但是ICMP并沒有全部指定對(duì)每個(gè)可能差錯(cuò)所采取的措施。如下圖29即其報(bào)文格式: 圖29 ICMP協(xié)議數(shù)據(jù)報(bào)封裝格式(5)UDP報(bào)文格式UDP(用戶數(shù)據(jù)報(bào))是一個(gè)簡單的面向應(yīng)用的運(yùn)輸層協(xié)議。在TCP/IP協(xié)議族中,UDP提供在應(yīng)用程序之間傳送數(shù)據(jù)報(bào)的基本機(jī)制。每個(gè)UDP數(shù)據(jù)報(bào)不僅傳送用戶數(shù)據(jù),還包括發(fā)送方和接收方的協(xié)議端口號(hào),這使得接收方的協(xié)議棧能夠根據(jù)端口號(hào)把報(bào)文送到正確的接收進(jìn)程,而接收也能會(huì)送應(yīng)答報(bào)文[22]。UDP使用底層的IP協(xié)議來傳送報(bào)文,提供和IP一樣的不可靠無連接的數(shù)據(jù)報(bào)傳輸服務(wù)。UDP數(shù)據(jù)報(bào)可能會(huì)出現(xiàn)丟失、重復(fù)和亂序現(xiàn)象,而且分組到達(dá)的速率可能大于接收進(jìn)程處理的速率。因此,使用UDP協(xié)議的應(yīng)用程序要承擔(dān)可靠性方面的處理工作,包括報(bào)文的丟失、重復(fù)、時(shí)延、亂序以及連接失效等問題。本設(shè)計(jì)中使用的UDP數(shù)據(jù)報(bào)格式如圖210所示。圖210 UDP協(xié)議首部格式在MCS51系列單片機(jī)中,上述所有報(bào)文格式的數(shù)據(jù)都是按照大端(BigEndian)模式組織和存儲(chǔ)的。在具體的編程中,上述各報(bào)文格式是通過定義相應(yīng)的結(jié)構(gòu)實(shí)現(xiàn)的。 本章小結(jié)第二章主要講了以太網(wǎng)控制器的選擇及工作原理。詳細(xì)介紹了RTL8019AS的特點(diǎn)和RTL8019AS的工作原理最后還介紹了相關(guān)協(xié)議報(bào)文的格式。注意:除第一章緒論外,其他每一章都應(yīng)該有一個(gè)本章小結(jié)第3章 硬件電路設(shè)計(jì) 單片機(jī)系統(tǒng)擴(kuò)展電路以太網(wǎng)串行口數(shù)據(jù)轉(zhuǎn)換模塊的硬件電路圖主要有兩個(gè)部分:單片機(jī)系統(tǒng)擴(kuò)展電路和以太網(wǎng)接口電路。單片機(jī)系統(tǒng)擴(kuò)展電路主要包括單片機(jī)及外部數(shù)據(jù)寄存器擴(kuò)展電路、復(fù)位電路及串行通信電路等;以太網(wǎng)接口電路則包括單片機(jī)和RTL8019AS的總線接口、片選邏輯及網(wǎng)絡(luò)通信接口等。圖31 單片機(jī)系統(tǒng)擴(kuò)展部分電路圖圖31中的單片機(jī)U1通過U2(74HC753)實(shí)現(xiàn)數(shù)據(jù)總線和地址總線低8位的復(fù)用,進(jìn)行系統(tǒng)總線擴(kuò)展。由于系統(tǒng)中只有兩個(gè)使用擴(kuò)展總線的設(shè)備,故使用線選法提供各設(shè)備的片選信號(hào)。A15作為U3(62256)的片選信號(hào),單片機(jī)的讀寫控線和RAM的讀寫選通相連。注意,62256的A14引腳沒有連接到地址總線上,而是直接接地,這是因?yàn)榈刂房偩€的A14將作為RTL8019AS的片選信號(hào),不能再供RAM使用。因此,當(dāng)單片機(jī)選通RAM時(shí),A15=0,同時(shí)A14必須選1,以保證不同時(shí)選通RTL8019AS。所以RAM的地址范圍為0x4000~0x7FFF,共16KB,也可直接采用。如果設(shè)計(jì)電路時(shí)有16KB的RAM,也可以直接采用。系統(tǒng)復(fù)位通過專用的復(fù)位、存儲(chǔ)及WDT芯片X5045提供,除了可以提供復(fù)位信號(hào)外,X5045本身還有4KB的EEPROM,可存儲(chǔ)系統(tǒng)的配置參數(shù)等信息,必要時(shí)還可使用芯片自帶的WDT保證系統(tǒng)工作的可靠性。單片機(jī)的串行口有U5完成TTL電平和RS232電平轉(zhuǎn)換。由于模塊的功能主要是數(shù)據(jù)轉(zhuǎn)發(fā),是典型的DCE設(shè)備,因此通過標(biāo)準(zhǔn)的9芯孔型插座COM1向外部設(shè)備提供串行口。當(dāng)模塊的串行口和PC相連時(shí),PC可通過串口延長線直接和COM1相連。 RTL8019AS和單片機(jī)的接口電路RTL8019AS部分的電路如圖32所示。RTL8019AS的復(fù)位信號(hào)和單片機(jī)的復(fù)位信號(hào)復(fù)接,系統(tǒng)復(fù)位時(shí)RTL8019AS同時(shí)復(fù)位。單片機(jī)通過地址A14選通RTL8019AS,由于RTL8019AS的片選位低電平有效,因此可當(dāng)其被選通時(shí)A14=0,同時(shí)A15必須為1,保證RAM不被選通,因此其選通地址范圍是0x8000~0xB000。RTL8019AS共有20個(gè)地址引腳,其ISA總線接口的地址范圍為0x00300~0x0031F。單片機(jī)的低8位地址總線和RTL8019AS地址總線接口的低8位相連,單片機(jī)的讀寫信號(hào)線分別和RTL8019AS的IOR、IOW相連。因此RTL8019AS工作于8位總線模式,其地址線的低8位和單片機(jī)的數(shù)據(jù)總線相連。RTL8019AS共支持三種模式:跳線模式其中I/O基址和中斷由跳線設(shè)置決定;即插即用模式,由軟件自動(dòng)配置相應(yīng)參數(shù);免跳線方式其中I/O地址和中斷依次外接93C46的內(nèi)容設(shè)定。本設(shè)計(jì)中的JP引腳通過10kΩ電阻上拉設(shè)置其工作為跳線模式,芯片復(fù)位后的初始狀態(tài)由各配置引腳在上電時(shí)的狀態(tài)決定,不需要外接93C46.RTL8019AS內(nèi)部集成了以太網(wǎng)收發(fā)器的物理接口,因此和網(wǎng)絡(luò)通信線的鏈接非常簡單。本章使用標(biāo)準(zhǔn)的五類雙絞線進(jìn)行以太網(wǎng)通信,RTL8019AS只需要外接一個(gè)10M速率的網(wǎng)絡(luò)變壓器和RJ45接口即可,網(wǎng)絡(luò)變壓器型號(hào)為PM341006,也可用HR61101G。為了直觀表示RTL8019AS的工作狀態(tài),電路設(shè)計(jì)了三個(gè)LED:D1和RTL8019AS的LBNC引腳相連,為Link指示燈。只要外部網(wǎng)絡(luò)插入RJ45插座且網(wǎng)絡(luò)接口正常連通,該LED將自動(dòng)點(diǎn)亮。D2和D3則作為數(shù)據(jù)收發(fā)指示燈,無數(shù)據(jù)收發(fā)時(shí)熄滅,有數(shù)據(jù)收發(fā)時(shí)相應(yīng)的LED被點(diǎn)亮。圖32 RTL8019AS和單片機(jī)接口電路圖 本章小結(jié)第三章主要介紹以太網(wǎng)串行口數(shù)據(jù)轉(zhuǎn)換模塊的硬件電路圖主要有兩個(gè)部分:單片機(jī)系統(tǒng)擴(kuò)展電路和以太網(wǎng)接口電路。單片機(jī)系統(tǒng)擴(kuò)展電路主要包括單片機(jī)及外部數(shù)據(jù)寄存器擴(kuò)展電路、復(fù)位電路及串行通信電路等;以太網(wǎng)接口電路則包括單片機(jī)和RTL8019AS的總線接口、片選邏輯及網(wǎng)絡(luò)通信接口。并繪制出RTL8019AS和單片機(jī)接口電路圖。注意:除第一章緒論外,其他每一章都應(yīng)該有一個(gè)本章小結(jié)第4章 軟件設(shè)計(jì) 串行口控制程序的設(shè)計(jì)根據(jù)設(shè)計(jì)要求,單片機(jī)串行口接收到的數(shù)據(jù)應(yīng)通過RTL8019AS發(fā)送到以太網(wǎng)上,以便送達(dá)遠(yuǎn)端主機(jī);從RTL8019AS接收到的數(shù)據(jù)應(yīng)通過單片機(jī)串行口發(fā)送給外部設(shè)備。本章設(shè)計(jì)中,采用全中斷驅(qū)動(dòng)及環(huán)形緩存的方式對(duì)串行口的數(shù)據(jù)收發(fā)進(jìn)行控制?,F(xiàn)在要考慮的問題是:當(dāng)單片機(jī)的串行口不斷接收到外部設(shè)備送來的數(shù)據(jù)時(shí),什么時(shí)候應(yīng)該將緩存的數(shù)據(jù)發(fā)給RTL8019AS根據(jù)以太網(wǎng)協(xié)議的要求,一個(gè)以太網(wǎng)數(shù)據(jù)幀中,不包括源、目的MAC地址、數(shù)據(jù)類型以及數(shù)據(jù)報(bào)尾部的4字節(jié)校驗(yàn)碼,純數(shù)據(jù)字段的最大長度是1500字節(jié)。當(dāng)使用UDP 協(xié)議傳輸數(shù)據(jù)時(shí),UDP數(shù)據(jù)報(bào)頭得長度為8字節(jié),UDP協(xié)議又是封裝在IP數(shù)據(jù)報(bào)總傳輸?shù)?,IP數(shù)據(jù)報(bào)頭的長度為20字節(jié)。因此,當(dāng)使用UDP協(xié)議通過以太網(wǎng)傳輸數(shù)據(jù)時(shí),一個(gè)以太網(wǎng)幀中可攜帶的用戶數(shù)據(jù)的最大長度為1500208=1472字節(jié),即每次送往協(xié)議棧發(fā)送的數(shù)據(jù)不能大于1472字節(jié)。根據(jù)上述分析,協(xié)議棧程序中設(shè)計(jì)了兩個(gè)參數(shù):最大緩存字節(jié)和最大中斷時(shí)間,用于控制串行口數(shù)據(jù)發(fā)送協(xié)議棧的時(shí)機(jī)。所謂最大緩沖字節(jié),指的是當(dāng)單片機(jī)的串行口不斷接收數(shù)據(jù)時(shí),如果接收緩沖區(qū)中的緩沖數(shù)據(jù)超過了最大緩存字節(jié)規(guī)定的數(shù)值,則將當(dāng)前串行口的數(shù)據(jù)送協(xié)議棧進(jìn)行一次發(fā)送操作。最大這段時(shí)間參數(shù)指的是當(dāng)連續(xù)送往單片機(jī)串行口的數(shù)據(jù)發(fā)生中斷時(shí),如果超過了最大中斷時(shí)間規(guī)定的時(shí)長仍無后續(xù)字節(jié)送達(dá),則將當(dāng)前緩沖的數(shù)據(jù)送協(xié)議棧進(jìn)行一次發(fā)送操作。引入了這兩個(gè)參數(shù)之后,單片機(jī)可根據(jù)數(shù)據(jù)流量的情況靈活地調(diào)整數(shù)據(jù)發(fā)送時(shí)機(jī)。當(dāng)數(shù)據(jù)流量較大時(shí),緩沖一定的字節(jié)數(shù)后再發(fā)送,當(dāng)這個(gè)門限設(shè)定得較大時(shí),發(fā)出的每個(gè)以太網(wǎng)數(shù)據(jù)報(bào)幾乎都是滿載的,保證了傳輸?shù)男÷?;?dāng)數(shù)據(jù)間時(shí)間間隔較大時(shí),每間隔固定的時(shí)間發(fā)送一次數(shù)據(jù),保證了傳輸?shù)膶?shí)時(shí)性。這樣處理后,不管是批量數(shù)據(jù)還是用戶交互數(shù)據(jù)都可以高效、及時(shí)地傳輸。當(dāng)數(shù)據(jù)從遠(yuǎn)端主機(jī)送達(dá)RTL8019AS時(shí),由于協(xié)議棧對(duì)標(biāo)準(zhǔn)的TCP/IP協(xié)議做了較大的精簡,協(xié)議棧首先判斷數(shù)據(jù)報(bào)的協(xié)議類型及各種參數(shù),對(duì)于包含不支持的協(xié)議及參數(shù)的數(shù)據(jù)報(bào)一律丟棄,不做處理。而對(duì)于接收的數(shù)據(jù),則直接存入串行口發(fā)送緩沖區(qū),通過中斷驅(qū)動(dòng)的方式由單片機(jī)發(fā)送給外部設(shè)備。 RTL8019AS控制程序的設(shè)計(jì)(1)RTL8019AS的復(fù)位操作通常在應(yīng)用中,RTL8018AS的復(fù)位操作引腳是RST,連接到計(jì)算機(jī)ISA總線對(duì)應(yīng)的RSTDRV。RST高電平有效,至少需要800ms的寬度。在復(fù)位的過程中RTL8019AS將執(zhí)行一些操作,例如將內(nèi)部寄存器初始化等。為確保RTL8019AS完全復(fù)位和正常工作,CPU應(yīng)等待足夠的時(shí)間后再對(duì)RTL8019AS操作,在程序中延時(shí)等待的時(shí)間定為20ms。實(shí)例中RTL8019AS的復(fù)位引腳和單片機(jī)的復(fù)位引腳復(fù)接,因此上電后它們將同時(shí)復(fù)位。也可以直接訪問RTL8019AS的復(fù)位端口進(jìn)行熱復(fù)位。RTL8019AS的0x18~9x1F共8個(gè)地址,為復(fù)位端口。對(duì)這些端口地址中任意偶數(shù)地址的讀寫操作都會(huì)復(fù)位RTL8019AS。為了判斷復(fù)位是否成功,可根據(jù)RTL8019AS中斷狀態(tài)寄存器的第7位RST來判斷。如下表為中斷寄存器的各個(gè)標(biāo)志位。在表41中,ISR的第7位RST跟復(fù)位有關(guān)。通常UNIX、Linux等操作系統(tǒng)都會(huì)在RTL8019AS的驅(qū)動(dòng)程序中做一些其他判斷和檢查,例如檢查RTL8019AS是否正常工作,是否存在地址沖突等。但由于本應(yīng)用設(shè)計(jì)的是精簡協(xié)議棧,因此默認(rèn)RTL8019AS工作正常,且IP地址和MAC地址均沒有沖突。表41 RTL8019AS中斷狀態(tài)寄存器各位的含義位符 號(hào)簡 述7RST復(fù)位標(biāo)識(shí),復(fù)位正常時(shí)置位,起始命令后清06RDC處理器和RTL8019AS之間的DMA操作后完成后置位5CNTRTL8019AS錯(cuò)誤計(jì)數(shù)器溢出時(shí)置位4OVW接收緩沖區(qū)溢出時(shí)置位,RTL8019AS死鎖3TXE發(fā)送數(shù)據(jù)報(bào)出錯(cuò)時(shí)置位2RXE接收數(shù)據(jù)報(bào)出錯(cuò)時(shí)
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1