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

正文內(nèi)容

基于tcpip的家居環(huán)境檢測和家電控制系統(tǒng)王照-閱讀頁

2025-07-04 12:40本頁面
  

【正文】 度保留(6 位)URGACKPSTSYNSTN16 位的窗口大小16 位校驗(yàn)和 16 位的緊急指針可選項(xiàng)封裝的數(shù)據(jù)圖 23 TCP 首部的格式從圖中可知,TCP 首部最少 20 個字節(jié),主要包括以下各域:16 位的源端口號和目標(biāo)端口號:該域是用來指定發(fā)送方和接受方的端口號,TCP 協(xié)議同 UDP 協(xié)議是不同的,在此 TCP 的源端口號必須指定,因?yàn)?TCP 協(xié)議是面向連接的,一個 TCP 連接的建立必須由發(fā)送和接收兩方的 IP 地址和端口號組成,這是由于一個端口號可以被多個不同的連接所重用,因此兩個端口號都要設(shè)置,才能確認(rèn)該數(shù)據(jù)段所屬的 TCP 連接,否則無法確定處理數(shù)據(jù)的是哪個應(yīng)用程序;32 位的序列號:該域用來表示在某個報文段中的第一個字節(jié),TCP 協(xié)議采用序號對每個字節(jié)進(jìn)行計數(shù),這樣接收端就可以使用這個序列號,補(bǔ)償傳輸中數(shù)據(jù)傳輸?shù)牟灰恢?,將分段的報文重組成發(fā)送時的報文段,以確保數(shù)據(jù)在傳送過程中沒有丟失數(shù)據(jù)、失序或者重復(fù);32 位的確認(rèn)號字段:該域不僅僅用來向數(shù)據(jù)發(fā)送方確認(rèn)它已經(jīng)收到的數(shù)據(jù),也用來標(biāo)識下一個希望收到報文的第一個字節(jié),收到 ACK 報文的源主機(jī)會知道特定的段已經(jīng)被收到;4 位的首部長度:該域指定了首部的大小,如果沒有可選項(xiàng),它的長度為 20字節(jié);6 位標(biāo)志域:該域中的每位標(biāo)志都可以打開一個對應(yīng)的控制功能,比如 URG用來設(shè)置緊急指針是否有效,ACK 該位用來標(biāo)識確認(rèn)序號是否有效,SYN 該位用來發(fā)起一個數(shù)據(jù)連接,F(xiàn)IN 表明發(fā)送端完成發(fā)送任務(wù);16 位的窗口大?。涸撚虻闹凳怯砂l(fā)送端和接受端聲明的窗口大小來決定的,該值表示接受端可以接受的字節(jié)數(shù),起始于確認(rèn)序號字段指明的值;16 位的校驗(yàn)和是一個強(qiáng)制性的字段,其值經(jīng)發(fā)送端計算并存儲,最后由接受端來驗(yàn)證;緊急指針只有在 URG 置位時才有效,用來標(biāo)識緊急數(shù)據(jù),這時 TCP的緊急方式將被啟動,要求網(wǎng)絡(luò)中的設(shè)備必須優(yōu)先處理標(biāo)識為緊急的數(shù)據(jù),假如URG 未被置位,則該域?qū)⒆鳛樘畛?;選項(xiàng)域:該域標(biāo)識那個選項(xiàng)有效,如果沒有選項(xiàng),該域就清零,一般在通信的第一個報文段中確定該域的值,選項(xiàng)域的值可以為以下幾種情況:0 說明選項(xiàng)域的結(jié)束,1 表示無需再有操作,2 表示下四個字節(jié)包括源機(jī)器的最大段長度;數(shù)據(jù)域并不是 TCP 首部的一部分,TCP 報文段中的數(shù)據(jù)部分是可選的,因?yàn)橛袝r允許發(fā)送不帶任何數(shù)據(jù)的報文段。TCP 連接的終止TCP 連接是一個全雙工的數(shù)據(jù)傳輸方式,在這兩個方向上的數(shù)據(jù)傳輸需要單獨(dú)的進(jìn)行關(guān)閉,當(dāng)一方數(shù)據(jù)發(fā)送完成后,需要向?qū)Ψ桨l(fā)送一個 FIN 信息,結(jié)束這個方向的連接,當(dāng)一方收到一個 FIN(發(fā)送結(jié)束符)時,就說明在這個方向上已經(jīng)沒有數(shù)據(jù)流動,就必須告知應(yīng)用層連接已斷開,因此結(jié)束一個 TCP 連接需要四次握手。TCP 的超時和重傳機(jī)制13 / 49在 TCP 協(xié)議中,超時重傳機(jī)制是對數(shù)據(jù)傳輸可靠性的重要保障。 IP 協(xié)議 IP 是不可靠的無連接協(xié)議,負(fù)責(zé)源點(diǎn)到終點(diǎn)的交付。 數(shù)據(jù)鏈路層有自己的幀格式,在這個格式中有一個字段是“數(shù)據(jù)字段最大長度” 。 對數(shù)據(jù)報進(jìn)行分割,叫做分片。運(yùn)輸層會進(jìn)行分片工作,把數(shù)據(jù)劃分成 IP 和在使用的數(shù)據(jù)鏈路層都可能接納的大小。然而數(shù)據(jù)報的重組卻只能在目的主機(jī)上進(jìn)行。因?yàn)椋紫人袑?shù)據(jù)封裝在 IP 數(shù)據(jù)報中的高層協(xié)議,都有覆蓋整個分組的檢驗(yàn)和;其次,每經(jīng)過一個路由器,IP 數(shù)據(jù)報的首部就要改變一次,但數(shù)據(jù)部分不變。普通的 IP 首部長為 20 個字節(jié),除非含有選項(xiàng)字段。路由器轉(zhuǎn)發(fā)數(shù)據(jù)報的工作原理是在內(nèi)存中的 IP 層保存了一個路由表,每當(dāng)它接收到一個來自網(wǎng)絡(luò)的數(shù)據(jù)報時,就去查找一下路由表,來確定其下一個轉(zhuǎn)發(fā)數(shù)據(jù)的最佳路徑,并把數(shù)據(jù)報轉(zhuǎn)發(fā)到下一個節(jié)點(diǎn)。 UDP 協(xié)議UDP 協(xié)議是 TCP/IP 協(xié)議棧中的一個主機(jī)到主機(jī)的協(xié)議,它提供了一種基本的、低延時的、簡單的面向數(shù)據(jù)報的數(shù)據(jù)傳輸機(jī)制。UDP 的數(shù)據(jù)包的格式如圖 25 所示:16 位源端口號 16 位目的端口號16 位 UDP 長度 16 位 UDP 校驗(yàn)和數(shù)據(jù)(如果存在)圖 25 UDP 首部從表中可以知道,16 位的源端口號和 16 位的目的端口號分別為源計算機(jī)和目的主機(jī)上的連接號。但是該字段也是可選的,也就是說 UDP 協(xié)議可以計算校驗(yàn)和,也可以不計算,這主要是考慮到在可靠性很高的網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸時,傳輸?shù)臄?shù)據(jù)幾乎不會出錯,如果不計算校驗(yàn)和可以減少主機(jī)的工作量,如果不進(jìn)行校驗(yàn)和計算的話,一般將該字段設(shè)置為 0。但對于小成本或非商業(yè)性的系統(tǒng)開發(fā),15 / 49往往希望有開源的協(xié)議棧,uIP 正滿足了這個條件。該協(xié)議具有以下特點(diǎn): ? (1)減少了代碼的大小和內(nèi)存 RAM 的使用量; ? (2)使用 C 語言編寫,兼容性強(qiáng)、便于移植; ? (3)支持 TCP/IP 大部分的協(xié)議如:ARP 、IP、TCP、UDP、ICMP 等; ? (4)詳細(xì)的源碼注釋和豐富的應(yīng)用例程,方便開發(fā); ? (5)鏈接數(shù)等參數(shù)可自行設(shè)置。TCP 是面向連接的可靠傳輸協(xié)議。這期間需要發(fā)送不同的 SYN 報文和 ISN 序列號。uIP 為了節(jié)省內(nèi)存的占用率,在發(fā)送的時候并不緩存數(shù)據(jù),而是在內(nèi)部設(shè)計重發(fā)事件,在數(shù)據(jù)發(fā)送失敗的時候,直接調(diào)用重發(fā)事件。第 3 章 硬件設(shè)計一個穩(wěn)定可靠的系統(tǒng)硬件平臺是系統(tǒng)開發(fā)成功與否的關(guān)鍵。本章主要介紹系統(tǒng)的硬件平臺,包括主控制器的設(shè)計以及外部硬件的連接。自從第一臺電子計算機(jī)誕生后,微電子與半導(dǎo)體技術(shù)不斷進(jìn)步,逐步往小體積、低功耗發(fā)展。單片機(jī)是指,通過大規(guī)模集成電路技術(shù)把 CPU 和 RAM、ROM 以及其他 IO 口集成在一塊芯片上形成的最小計算機(jī)系統(tǒng)。雖然 32 位單片機(jī)的功能強(qiáng)大,但 16 位的單片機(jī)依然在價格上處于絕對的優(yōu)勢,對于一些小的應(yīng)用廠家也會優(yōu)先考慮性價比高的芯片。嵌入式系統(tǒng)可以理解為在高性能單片機(jī)的基礎(chǔ)上嵌入操作系統(tǒng)。相對于平時使用的個人計算機(jī),它又有所不同,更注重專用性,具有精簡的硬件資源。表 31 為 8 位、16 位、32 位單片機(jī)的性能對比。但在價格上,存在不確定因素。綜上 ,選擇 STM32 作為主控制器。它的內(nèi)部是 CortexM3 內(nèi)核,在性能上更加突出。內(nèi)部含兩級嵌套優(yōu)先級 ,支持中斷嵌套,縮短中斷延時。除了支持 JTAG 調(diào)試還支持串行調(diào)試接口等等。目前,使用較多的是 STM32F 系列的處理器,它們的主要特性如圖 31 所示。其中具有以太網(wǎng)功能的有:STM32F1 系列的互聯(lián)型產(chǎn)品、STM32F2 系列以及STM32F4 系列。那么針對本系統(tǒng)的設(shè)計要求,F1 系列已經(jīng)足夠滿足,于是將 STM32F103VET6 作為本系統(tǒng)的主控制芯片。系統(tǒng)的電源負(fù)責(zé)給整個控制平臺提供電能,它設(shè)計是否穩(wěn)定,決定了整個系統(tǒng)是否能夠正常地運(yùn)行。在電源轉(zhuǎn)換芯片前后加上合適的電容起到濾除相應(yīng)的高頻低頻信號干擾。VDDA 通過 的電容和數(shù)字電源隔開,保證數(shù)字信號和模擬信號之間的只有盡量少的干擾。濾波電容連接如圖 33 所示。8MHz 晶振選擇的是 10PPM 高精度的晶振,溫度漂移更小,穩(wěn)定性更好。圖 34 晶振電路(3)下載接口電路JLink 是 SEGGER 公司為支持仿真 ARM 內(nèi)核芯片推出的 JTAG 仿真器。用于給控制器升級程序非常方便。圖 35 Jlink 復(fù)位電路(4)復(fù)位電路正常狀態(tài)下將主芯片的 RESET 引腳拉高,當(dāng)按下復(fù)位按鈕時將 RESET 引腳拉低,用于在控制器出現(xiàn)故障時復(fù)位控制器。BOOTO=B00T1 =0: 系統(tǒng)從存儲器里啟動 。圖 37 啟動選擇電路(6)網(wǎng)絡(luò)通信電路設(shè)計ENC28J60 是帶有行業(yè)標(biāo)準(zhǔn)串行外設(shè)接口(S erial Peripheral Interface,SPI)的 獨(dú) 立 以 太 網(wǎng) 控 制 器 。ENC28J60 符合 的 全 部 規(guī) 范 , 采 用 了 一 系 列包過濾機(jī)制以對傳入數(shù)據(jù)包進(jìn)行限制。 與 主 控 制 器 的 通 信 通 過 兩 個 中 斷 引 腳 和 SPI 實(shí) 現(xiàn) ,數(shù) 據(jù) 傳 輸 速 率 高 達(dá) 10Mb/s。其與主控制器的連接如圖 38 所示。圖 39 輸入電路圖 310 輸出電路系統(tǒng)輸入采用光耦隔離,在光電耦合器輸入端加電信號使發(fā)光源發(fā)光,光的強(qiáng)度取決于激勵電流的大小,此光照射到封裝在一起的受光器上后,因光電效應(yīng)而產(chǎn)生了光電流,由受光器輸出端引出,這樣就實(shí)現(xiàn)了電一光一電的轉(zhuǎn)換。線性光耦能夠保護(hù)被測試對象和測試電路,并減小環(huán)境干擾對測試電路的影響。PA6 連接火災(zāi)傳感器,PA7 連接可燃?xì)怏w傳感器以及 PC4 用來連接紅外探測器,在檢測到有異常的情況時將輸出數(shù)字信號反饋至主控器,主控制器便會控制 PD0 輸出高電平觸發(fā)光耦隔離器導(dǎo)通,進(jìn)而控制繼電器啟動報警系統(tǒng)報警。主控制器的 PC12 引腳連接外部的照明系統(tǒng);PC11 引腳控制窗簾的開合; PC10 引腳控制著門禁系統(tǒng)。第 4 章 軟件設(shè)計 軟件介紹 STM32 編程工具Keil 是美國 Keil Software 公司出品的兼容單片機(jī) C 語言軟件開發(fā)系統(tǒng),與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。運(yùn)行 Keil 軟件需要 WIN9NT、 WIN202WINXP 等操作系統(tǒng)。在中國,Keil 軟件被中國 80%的硬件工程師使用,利用其生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。與匯編相比,C 語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。 VC++編程工具M(jìn)FC(MicrosoftFoundationClasses)是微軟基礎(chǔ)類庫的簡稱,是微軟公司實(shí)現(xiàn)的一個 c++類庫,主要封裝了大部分的 windows API 函數(shù),vc++是微軟公司開發(fā)的c/c++的集成開發(fā)環(huán)境,集成開發(fā)環(huán)境就是利用它可以編輯、編譯、調(diào)試,而不是使用多種工具輪換操作,靈活性較大。xx 是版本,它封裝了 mfc 內(nèi)核,所以在代碼看不到原本的 SDK編程中的消息循環(huán)等等東西,因?yàn)檫@些都由 MFC 框架封裝好了,這樣用戶就可以專心的考慮程序的邏輯,而不是這些每次編程都要重復(fù)的東西,但是由于是通用框架,沒有最好的針對性,當(dāng)然也就喪失了一些靈活性和效率但是 MFC 的封裝很淺,所以效率上損失不大。這套軟件通過把原理圖設(shè)計、電路仿25 / 49真、PCB 繪制編輯、拓?fù)溥壿嬜詣硬季€、信號完整性分析和設(shè)計輸出等技術(shù)的完美融合,為設(shè)計者提供了全新的設(shè)計解決方案,使設(shè)計者可以輕松進(jìn)行設(shè)計,熟練使用這一軟件必將使電路設(shè)計的質(zhì)量和效率大大提高。該平臺拓寬了板級設(shè)計的傳統(tǒng)界面,全面集成了 FPGA 設(shè)計功能和 SOPC 設(shè)計實(shí)現(xiàn)功能,從而允許工程設(shè)計人員能將系統(tǒng)設(shè)計中的 FPGA 與 PCB 設(shè)計及嵌入式設(shè)計集成在一起。 程序設(shè)計 主控制器程序設(shè)計主控制器通過 LWIP 協(xié)議與上位機(jī)進(jìn)行通信。如果檢測到都異常情況發(fā)生,則觸發(fā)報警裝置,如果此時連接依然存在則將檢測到的數(shù)據(jù)打包發(fā)送至上位機(jī),如果連接不存在則返回上一級嘗試連接服務(wù)器。初始化連接服務(wù)器開始連接成功Y連接標(biāo)記置1 幀聽上位機(jī)上位機(jī)是否有信號Y處理上位機(jī)命令讀取傳感器值檢測到危險輸出報警連接標(biāo)記是否為 1 ?打包傳感器信息并發(fā)送至上位機(jī)YYNNNN圖 41 主控制器程序流程圖27 / 49 VC++程序設(shè)計利用 MFC 設(shè)計上位機(jī)軟件,上位機(jī)為服務(wù)器。圖42 為上位機(jī)程序?qū)崿F(xiàn)流程圖。圖 43 為主控制器電路板 PCB 圖。安全高效、舒適便捷的智能家居系統(tǒng)滿足了人們在家居生活上的希冀。在此基礎(chǔ)上設(shè)計了整體架構(gòu),并最終完成家居環(huán)境檢測和家電控制控制系統(tǒng)。經(jīng)過實(shí)際測試,主控制器能夠準(zhǔn)確地測量環(huán)境變量,實(shí)現(xiàn)對家電進(jìn)行控制。由于在設(shè)計初期專業(yè)技能知識不夠全面,以及時間和個人能力的限制,系統(tǒng)在整體上依然存在一些不盡如人意的地方,有些問題需要進(jìn)一步改進(jìn):(1)豐富系統(tǒng)功能。如果把它與智能家居結(jié)合起來,將安防融入到家居設(shè)置中,使得系統(tǒng)功能更全面。 (2)增強(qiáng)交互能力。 (3)結(jié)合環(huán)保概念。 以上是本篇論文所要介紹的全部內(nèi)容,存在不足之處希望老師能不吝賜教,予以指正。在本論文順利完成的時候,向所有關(guān)心、指導(dǎo)和幫助過我的老師、同學(xué)和親友們致以最衷心的感謝! 首先我要感謝我的指導(dǎo)老師王琦老師,感謝王老師一直以來給我的關(guān)心和指導(dǎo)。本論文從一開始就得到了王老師的悉心指導(dǎo),沒有老師在總體上把握方向,論文工作不會這么順利地完成。在這里向王老師表示最真摯的謝意。在他們的幫助下,我才能順利完成課題的設(shè)計。 附錄 A ENC28J60 功能實(shí)現(xiàn)程序u8 enc28j60ReadOp(u8 op, u8 address){ u8 dat = 0。 dat = op | (address amp。 ENC_SPI_ReadWrite(dat)。 if (address amp。 } ENC28J60_CSH()。}void enc28j60WriteOp(u8 op, u8 address, u8 data){ u8 dat = 0。 dat = op | (address amp。 ENC_SPI_ReadWrite(dat)。 ENC_SPI_ReadWrite(dat)。}void
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1