久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6631|回復(fù): 3
收起左側(cè)

景區(qū)環(huán)境預(yù)知系統(tǒng)—主控模塊設(shè)計(jì)論文

[復(fù)制鏈接]
ID:161768 發(fā)表于 2017-8-16 03:57 | 顯示全部樓層 |閱讀模式
景區(qū)環(huán)境預(yù)知系統(tǒng)——主控模塊設(shè)計(jì)

摘要

本文針對現(xiàn)存的景區(qū)環(huán)境管理問題,結(jié)合已有的先進(jìn)通信技術(shù),完成了景區(qū)環(huán)境預(yù)知系統(tǒng)中主控模塊的設(shè)計(jì)。課題中采用STM32作為系統(tǒng)的主控芯片,通過串口通信的方式進(jìn)行數(shù)據(jù)的發(fā)送、接收以及最終在LCD上進(jìn)行顯示。本文包含軟硬件兩部分設(shè)計(jì)內(nèi)容,其中詳細(xì)介紹了主控芯片STM32的電路設(shè)計(jì),并編程實(shí)現(xiàn)了STM32數(shù)據(jù)的接收、發(fā)送以及LCD顯示。本系統(tǒng)充分利用了STM32體積小、低功耗、低成本、處理速度較快等優(yōu)勢,滿足景區(qū)環(huán)境參數(shù)采集的實(shí)時(shí)性需求。景區(qū)環(huán)境預(yù)知系統(tǒng)實(shí)現(xiàn)了PM2.5、人群密度、煙霧值、雨量和紅外線強(qiáng)度的采集和顯示,便于景區(qū)人群密度的控制、環(huán)境參數(shù)的警示以及安全隱患的提前預(yù)判,從而減少人員傷害帶來的諸多損失。實(shí)驗(yàn)表明,本系統(tǒng)能滿足景區(qū)環(huán)境的預(yù)判,并且具備很好的穩(wěn)定性和實(shí)時(shí)性,對景區(qū)環(huán)境和安全有良好的監(jiān)控和預(yù)警作用。
目錄
1  緒論
1.1課題背景            
1.2研究意義            
1.3 景區(qū)環(huán)境預(yù)知系統(tǒng)的國內(nèi)外發(fā)展情況            
1.4 論文的內(nèi)容和組織結(jié)構(gòu)            
2  整體的方案設(shè)計(jì)
2.1系統(tǒng)設(shè)計(jì)原則            
2.2 系統(tǒng)總體設(shè)計(jì)方案            
2.3 zigbee與串口通信技術(shù)            
     2.3.1 zigbee技術(shù)            
     2.3.2 串口通信技術(shù)            
2.4 STM32芯片介紹            
3  硬件的設(shè)計(jì)與實(shí)現(xiàn)
3.1 主控模塊總體接口設(shè)計(jì)            
3.2 硬件電路設(shè)計(jì)            
     3.2.1 整體原理圖設(shè)計(jì)            
     3.2.2 電源電路設(shè)計(jì)            
     3.2.3 復(fù)位電路設(shè)計(jì)            
     3.2.4 時(shí)鐘電路設(shè)計(jì)            
     3.2.5 UART電路設(shè)計(jì)            
     3.2.6 LCD電路設(shè)計(jì)            
4  系統(tǒng)軟件實(shí)現(xiàn)
4.1 景區(qū)環(huán)境預(yù)知系統(tǒng)開發(fā)環(huán)境            
     4.1.1 Keil的簡介            
     4.1.2 Keil軟件的工程創(chuàng)建            
4.2 系統(tǒng)軟件設(shè)計(jì)            
4.3 程序?qū)崿F(xiàn)              21
     4.3.1串口初始化              21   
     4.3.2 LCD驅(qū)動(dòng)            
     4.3.3 STM32數(shù)據(jù)的接收和發(fā)送            
4.4 上位機(jī)顯示            
5  結(jié)
參考文獻(xiàn)
致  謝
畢業(yè)設(shè)計(jì)(論文)知識(shí)產(chǎn)權(quán)聲明
畢業(yè)設(shè)計(jì)(論文)獨(dú)創(chuàng)性聲明
附錄1 上位機(jī)顯示部分代碼

1 緒論
1.1課題背景
隨著人們生活水平的提高,人們都喜歡回歸自然,給自己來一段說走就走的旅行。走出家門放松身心的需求越來越強(qiáng)烈,但是有的景區(qū)存在著安全隱患,如果能設(shè)計(jì)一套系統(tǒng),使得我們能預(yù)先知曉景區(qū)安全隱患的存在就再好不過了,不僅可以避免旅游的人群遭遇山體滑坡、擁擠造成的踩踏等意外,還可以為旅游集團(tuán)和相關(guān)事業(yè)單位提供參考樣本數(shù)據(jù)。通過這些寶貴的樣本數(shù)據(jù),更便于旅游景區(qū)的管理,并能更及時(shí)的針對現(xiàn)存的旅游景區(qū)問題制定相應(yīng)的措施。
景區(qū)環(huán)境預(yù)知系統(tǒng)包括煙霧監(jiān)測模塊、溫濕度數(shù)據(jù)采集、PM2.5值數(shù)據(jù)采集、人流量監(jiān)測、雨量檢測、紅外線檢測等模塊。通過傳感器采集好需要的參數(shù),再將這些數(shù)據(jù)匯總到協(xié)調(diào)器上,最終將協(xié)調(diào)器上的數(shù)據(jù)通過串口傳送給PC機(jī)、LCD屏等設(shè)備進(jìn)行顯示,方便檢測人員對整個(gè)景區(qū)的環(huán)境狀況進(jìn)行預(yù)判。本課題的研究采用STM32作為主控來實(shí)施開發(fā),重點(diǎn)研究STM32平臺(tái)下的串口通信。預(yù)知系統(tǒng)中,基于Zigbee無線技術(shù)進(jìn)行參數(shù)的采集和傳輸,從而STM32的相關(guān)技術(shù)應(yīng)用和Zigbee無線技術(shù)是景區(qū)環(huán)境預(yù)知系統(tǒng)的主要技術(shù)組成。
景區(qū)環(huán)境預(yù)知系統(tǒng)的主控制芯片選擇了ST公司的STM32系列32位閃存的嵌入式ARMv7微處理器STM32F103C8T6。該處理器具有性能高、功耗低、實(shí)時(shí)性強(qiáng)的Cortex-M3內(nèi)核,在嵌入式領(lǐng)域具有價(jià)格競爭的優(yōu)勢。Thumb-2指令集效率更高性能更強(qiáng),既有32位的高代碼密度,又有16位的速度,對中斷事件的響應(yīng)更加迅速,又融入了先進(jìn)的業(yè)界功耗水平,不但如此,還免費(fèi)提供了開發(fā)工具,STM32提供了強(qiáng)大的固件庫函數(shù),可以讓用戶便捷地訪問STM32各個(gè)標(biāo)準(zhǔn)外設(shè)。提供的驅(qū)動(dòng)覆蓋了GPIO、ADC、USART、I2C和SPI等所有標(biāo)準(zhǔn)外設(shè)。
ZigBee作為一種新興的技術(shù),專用于需求低成本、低能耗、短距離的無線網(wǎng)絡(luò)通信領(lǐng)域中,已被廣泛應(yīng)用,是目前WSN   領(lǐng)域的一大熱點(diǎn)。ZigBee具有低功耗、低成本、短時(shí)延、安全性、可靠性和大容量等特點(diǎn)。
伴隨著ZigBee技術(shù)的廣泛應(yīng)用,并能夠在各個(gè)領(lǐng)域展現(xiàn)ZigBee技術(shù)非凡的特點(diǎn),可以預(yù)測在不久的將來,ZigBee技術(shù)的應(yīng)用將會(huì)使我們的生活更加智能化、數(shù)字化,徹底改變?nèi)藗兊纳罘绞健?/div>

1.2研究意義

當(dāng)前,我國旅游消費(fèi)日益成為老百姓的一種常態(tài)化生活方式。據(jù)國家旅游局統(tǒng)計(jì)數(shù)據(jù)顯示,2015年,國內(nèi)游達(dá)40億人次,人均出游接近3次,旅游已成為居民日常生活的必要組成部分。在出游方式上,自助游超過85%,自駕游超過60%,旅游已經(jīng)走向大眾化、生活化、休閑化。但是目前“黑導(dǎo)黑車”、“天價(jià)菜單”、混亂的“一日游”等旅游市場上的不公平、不規(guī)范事件時(shí)有發(fā)生,嚴(yán)重?fù)p害了游客利益,阻礙了我國旅游市場的健康發(fā)展。另一方面,也是游客們對旅游地點(diǎn)的不了解,各種情況的不清楚,導(dǎo)致一些不好的事情發(fā)生。

其實(shí),近年來類似同城旅游、阿里行等一些旅游網(wǎng)站的出現(xiàn),也為市民提供了一定的信息,但這些信息都是經(jīng)過一定的人工處理,或者是從主觀情感宣傳的一系列景區(qū),戶外環(huán)境。“揚(yáng)長避短”,沒有很客觀直白的去進(jìn)行環(huán)境的描述。并且缺乏實(shí)時(shí)數(shù)據(jù)監(jiān)測,導(dǎo)致一個(gè)景點(diǎn)游客多等一系列問題。
然而,景區(qū)環(huán)境預(yù)知系統(tǒng)很好的解決了這一方面的問題。實(shí)時(shí)收集景區(qū)內(nèi)各個(gè)地點(diǎn)的環(huán)境參數(shù),經(jīng)過匯總之后,通過網(wǎng)絡(luò)傳向客戶端,不僅景區(qū)主管部門,甚至旅游人群可以作為切身利益獲得者第一時(shí)間得到景區(qū)環(huán)境的相關(guān)參數(shù),為出門旅游做更好的打算。景區(qū)環(huán)境預(yù)知系統(tǒng)為想要出行的市民提供了大量、實(shí)時(shí)的數(shù)據(jù)信息,這種方式也是科技發(fā)展的趨勢,給人們帶來無限的方便。例如,客戶群可以根據(jù)這些信息來決定旅行的穿著和具體的攜帶物品,真正的實(shí)現(xiàn)了未出門先洞察天下的生活模式。擁有了景區(qū)環(huán)境預(yù)知系統(tǒng)也會(huì)避免游客扎堆等現(xiàn)象,人們可以提前向系統(tǒng)上傳自己的出行計(jì)劃,從而實(shí)現(xiàn)景點(diǎn)參觀人數(shù)的客觀統(tǒng)計(jì),客戶便可以通過統(tǒng)計(jì)數(shù)據(jù)來判斷景區(qū)參觀人數(shù)是否飽和,再?zèng)Q定是否要進(jìn)一步實(shí)施旅游計(jì)劃。此類基于互聯(lián)網(wǎng)通信技術(shù)的發(fā)展會(huì)提升人類生活質(zhì)量并達(dá)到一個(gè)新的高度。

1.3 景區(qū)環(huán)境預(yù)知系統(tǒng)的國內(nèi)外發(fā)展情況
   近年來,伴隨人們對旅游需求的提高,景區(qū)環(huán)境預(yù)知系統(tǒng)的研發(fā)成了一個(gè)迫切攻克的課題,國內(nèi)外諸多學(xué)者開始進(jìn)行深入研究,尋找最優(yōu)化的解決方案。現(xiàn)在國內(nèi)部分景區(qū)已經(jīng)配備了人群密集度預(yù)警等系統(tǒng),來檢測部分景區(qū)的環(huán)境參數(shù)。
目前我國經(jīng)濟(jì)可謂處于高速發(fā)展階段,旅游業(yè)也在迅猛發(fā)展,同時(shí)也伴隨著環(huán)境破壞,但為了能夠用旅游業(yè)帶動(dòng)經(jīng)濟(jì)的發(fā)展,以及堅(jiān)持可持續(xù)發(fā)展,景區(qū)的環(huán)境監(jiān)測和相關(guān)的措施制定就變得必不可少了。為了更好的去針對存在的景區(qū)環(huán)境問題進(jìn)行改善,就需要引入通信技術(shù)來實(shí)現(xiàn)環(huán)境參數(shù)的實(shí)時(shí)監(jiān)測,從而為環(huán)境問題的發(fā)現(xiàn)提供有效的幫助。結(jié)合國內(nèi)現(xiàn)有的環(huán)境監(jiān)測技術(shù),并考慮中國人口密度、國民平均素質(zhì)、人們生活習(xí)慣等國情,實(shí)現(xiàn)未來景區(qū)環(huán)境預(yù)警系統(tǒng)是時(shí)代發(fā)展的必然趨勢。同時(shí),環(huán)境監(jiān)測系統(tǒng)在為市民提供大量景點(diǎn)的可靠環(huán)境實(shí)時(shí)數(shù)據(jù)方面也有很大的意義。通常所講的環(huán)境監(jiān)測也就是選用多種傳感器以及終端設(shè)備對現(xiàn)場的陽光紫外線、溫濕度等參數(shù)進(jìn)行采集,最后匯總到上位機(jī)上進(jìn)行顯示,并且通過編碼實(shí)現(xiàn)參數(shù)的界限值設(shè)定,一旦采集的參數(shù)超出了界限就進(jìn)行報(bào)警提示,從而實(shí)現(xiàn)環(huán)境監(jiān)測的終極目標(biāo)。環(huán)境監(jiān)測的主要目的有兩個(gè):一是通過實(shí)時(shí)檢測,獲得景區(qū)等地的環(huán)境參數(shù),為相關(guān)部門和人民群眾提供數(shù)據(jù),便于下一步?jīng)Q策;二是通過監(jiān)測進(jìn)行環(huán)境的預(yù)警,提早的去避免一些不合理存在。無論從哪個(gè)方面考慮,景區(qū)環(huán)境監(jiān)測系統(tǒng)絕對是時(shí)代進(jìn)步的產(chǎn)物,提高了旅游的安全性和便捷性,通過數(shù)據(jù)的反應(yīng)能警示人們熱愛、保護(hù)我們共同的家園,建設(shè)一個(gè)舒服、綠色的旅游大環(huán)境。   
然而最類似于景區(qū)環(huán)境預(yù)知系統(tǒng)的產(chǎn)品就是旅游環(huán)境監(jiān)測站。主要針對城市、旅游景區(qū)用戶的一種實(shí)用型的自動(dòng)氣象站,觀測要素可以根據(jù)用戶需求靈活調(diào)整和增減,還可以配套多種戶內(nèi)戶外型顯示屏,為市民提供各類實(shí)時(shí)的數(shù)據(jù)。
也隨著技術(shù),以及為了滿足市民對信息更加細(xì)化準(zhǔn)確的要求,環(huán)境檢測產(chǎn)品的功能也越來越強(qiáng)大。比如武漢新普惠科技有限公司的PH-JQ旅游景區(qū)環(huán)境監(jiān)測站,它是在原有的常規(guī)氣象要素如風(fēng)向、風(fēng)速、溫度、濕度、氣壓、雨量、紫外線、PM2.5空氣質(zhì)量的基礎(chǔ)上,還增加了能見度、花粉濃度及二氧化碳、二氧化硫、一氧化碳、噪聲等污染指數(shù)的監(jiān)測。觀測要素可以根據(jù)用戶需求靈活調(diào)整和增減,還可以配套多種戶內(nèi)戶外型顯示屏,為市民提供各類實(shí)時(shí)的氣象資料。
圖1.1 環(huán)境監(jiān)測基站
當(dāng)然監(jiān)測站也只是環(huán)境監(jiān)測產(chǎn)品中的一種,如圖1.1所示,在旅游業(yè)發(fā)展越來越迅速的時(shí)代,對景區(qū)環(huán)境監(jiān)測的產(chǎn)品和系統(tǒng)也就應(yīng)運(yùn)而生,并且具有廣闊的前景。景區(qū)環(huán)境參數(shù)的采集和監(jiān)管不僅對市民提供了實(shí)時(shí)數(shù)據(jù),更是為研究環(huán)境變化的科學(xué)家提供了大量的數(shù)據(jù)。隨著科技的進(jìn)步,各類環(huán)境參數(shù)的監(jiān)測站也在一步步普及,希望通過國內(nèi)外不斷的研究早日實(shí)現(xiàn)景區(qū)環(huán)境參數(shù)的全面檢測,形成一個(gè)可靠、實(shí)時(shí)的系統(tǒng),方便人們旅游。

1.4 論文的內(nèi)容和組織結(jié)構(gòu)

本課題的研究意義在針對現(xiàn)有的環(huán)境監(jiān)測問題,設(shè)計(jì)出景區(qū)環(huán)境預(yù)警系統(tǒng)的主控模塊,實(shí)現(xiàn)協(xié)調(diào)器數(shù)據(jù)的控制,基于串口通信進(jìn)行數(shù)據(jù)的傳輸和最終LCD的顯示,最后還發(fā)揮自己的java基礎(chǔ)知識(shí),設(shè)計(jì)了上位機(jī)的簡單界面。
  • 緒論。介紹景區(qū)環(huán)境預(yù)警系統(tǒng)的課題背景、研究目的和意義,簡述系統(tǒng)所依托的通信技術(shù),完成類似預(yù)警系統(tǒng)的國內(nèi)外綜述。
  • 整體的方案設(shè)計(jì)。本章介紹了系統(tǒng)方案的設(shè)計(jì)原則,并根據(jù)設(shè)計(jì)原則制定出了整體的設(shè)計(jì)方案,對方案中所用到的串口通信技術(shù)、zigbee技術(shù)以及STM32主控芯片進(jìn)行了詳述。
  • 硬件的設(shè)計(jì)與實(shí)現(xiàn)。通過對設(shè)計(jì)方案的實(shí)施過程和原理進(jìn)一步學(xué)習(xí),完成STM32最小系統(tǒng)、復(fù)位電路、時(shí)鐘電路和串口電路等原理圖的設(shè)計(jì)。
  • 系統(tǒng)軟件實(shí)現(xiàn)。給出軟件流程圖和部分操作的函數(shù)代碼,并最終用Java語言實(shí)現(xiàn)了簡單的上位機(jī)顯示。
  • 結(jié)論


2  整體的方案設(shè)計(jì)
本文主要是基于STM32主控模塊來實(shí)現(xiàn)景區(qū)環(huán)境預(yù)知系統(tǒng),完成景區(qū)環(huán)境的參數(shù)采集和LCD顯示。本課題的設(shè)計(jì)與實(shí)現(xiàn)需滿足低成本、高效率、實(shí)用性的要求,故在本章中對系統(tǒng)所需硬件的選型和系統(tǒng)的整體構(gòu)架設(shè)計(jì)均以這些要求為基準(zhǔn)。
2.1系統(tǒng)設(shè)計(jì)原則
在整體方案確立以前,首先要分析系統(tǒng)的設(shè)計(jì)需求,對系統(tǒng)的構(gòu)成做詳細(xì)、科學(xué)的分析,從而選定符合需求的硬件設(shè)備來實(shí)現(xiàn)景區(qū)環(huán)境參數(shù)的采集與傳輸。只有堅(jiān)持此原則才能使最終實(shí)現(xiàn)的系統(tǒng)更加穩(wěn)定可靠并且符合實(shí)際項(xiàng)目的需求。細(xì)化設(shè)計(jì)原則如下所示:
    a.實(shí)時(shí)性好
為了能達(dá)到景區(qū)環(huán)境預(yù)知的目標(biāo),必須要考慮的就是預(yù)知系統(tǒng)的實(shí)時(shí)性。只有能及時(shí)的采集和傳輸環(huán)境參數(shù)才能實(shí)現(xiàn)各種潛在危險(xiǎn)的預(yù)知,從而盡早的去避免。
    b.可靠性強(qiáng)
一個(gè)成熟優(yōu)秀的系統(tǒng)必須具有良好的可靠性,由于景區(qū)環(huán)境預(yù)知系統(tǒng)所在現(xiàn)場環(huán)境變化多端,因此必須要軟硬件資源穩(wěn)定可靠性高的系統(tǒng),也需要一些比較成熟的技術(shù)。
    c.成本便宜
大多數(shù)的系統(tǒng)設(shè)計(jì)需要考慮成本問題,所選器件不能太昂貴,以免出現(xiàn)問題更換成本太高而造成不必要的經(jīng)濟(jì)損失。本文設(shè)計(jì)的系統(tǒng)將應(yīng)用于復(fù)雜多變的景區(qū)中,容易損壞造成損失,所以在保證可靠性的前提下要做到選擇成本低廉和技術(shù)成熟的器件,選擇性價(jià)比較高的芯片和開源軟件,減少研發(fā)成本。
2.2 系統(tǒng)總體設(shè)計(jì)方案
基于STM32和Zigbee的智慧景區(qū)系統(tǒng)總體包含五部分,分別為數(shù)據(jù)采集模塊、圖像采集模塊、數(shù)據(jù)控制模塊和數(shù)據(jù)傳送模塊。數(shù)據(jù)采集模塊是由溫濕度傳感器、風(fēng)速計(jì)、電阻應(yīng)變片、噪聲傳感器、PM2.5傳感器和無線協(xié)調(diào)器等組成。各個(gè)傳感器采集到的數(shù)據(jù)通過終端節(jié)點(diǎn)在無線協(xié)調(diào)器中進(jìn)行數(shù)據(jù)整理。圖像采集用串口攝像頭來完成,此處主要為了實(shí)施對景區(qū)人流量的監(jiān)控。數(shù)據(jù)控制模塊主要采用STM32芯片來作為主控芯片,控制數(shù)據(jù)采集模塊的數(shù)據(jù)采集。數(shù)據(jù)傳送


模塊的主要功能就是把所采集到的景區(qū)數(shù)據(jù)傳輸?shù)缴衔粰C(jī)上。最終,在上位機(jī)上接受傳送過來的數(shù)據(jù),進(jìn)行數(shù)據(jù)解析并顯示,從而完成了景區(qū)環(huán)境參數(shù)的實(shí)時(shí)監(jiān)控。系統(tǒng)的具體方案設(shè)計(jì)如圖2.1所示。
圖2.1 系統(tǒng)方案設(shè)計(jì)
    而景區(qū)環(huán)境預(yù)知系統(tǒng)(主控模塊)的設(shè)計(jì),主要是整個(gè)系統(tǒng)的后半部分,用STM32來給協(xié)調(diào)器發(fā)送命令,當(dāng)協(xié)調(diào)器收到命令后便通過串口給STM32主控發(fā)送早已打包好的景區(qū)環(huán)境參數(shù),待STM32收到數(shù)據(jù)后再通過串口通信的方式傳送給PC機(jī),在PC機(jī)上進(jìn)行顯示,同時(shí)利用STM32控制LCD屏進(jìn)行顯示。
2.3 zigbee與串口通信技術(shù)2.3.1 zigbee技術(shù)
ZigBee作為一種新興的技術(shù),專用于需求低成本、低能耗、短距離的無線網(wǎng)絡(luò)通信領(lǐng)域中,已被廣泛應(yīng)用,是目前WSN   領(lǐng)域的一大熱點(diǎn)。ZigBee具有以下的特點(diǎn):
(a)低功耗:低功耗是ZigBee最為顯著的一個(gè)特點(diǎn)。由于ZigBee技術(shù)具有較低傳輸速率,發(fā)送接收電流較小,工作周期短且終端節(jié)點(diǎn)支持多種睡眠模式,使得采用ZigBee技術(shù)的設(shè)備非常省電,兩節(jié)五號干電池可以使一個(gè)設(shè)備正常工作6個(gè)月到2年的時(shí)間。
(b)低成本:ZigBee協(xié)議相對于藍(lán)牙和WIFI要簡單得多,因此對控制器的要求很低,可以采用規(guī)模很小的存儲(chǔ)器,降低了器件的成本,每個(gè)ZigBee芯片僅為2美元,并且ZigBee協(xié)議的使用是免費(fèi)的,其可以工作在2.4GHZ的全球免費(fèi)頻段。
(c)短時(shí)延:ZigBee一般從睡眠狀態(tài)轉(zhuǎn)入到工作狀態(tài)的時(shí)延只需15ms,設(shè)備搜索網(wǎng)絡(luò)進(jìn)入網(wǎng)絡(luò)的時(shí)延為30 ms,進(jìn)一步節(jié)省了電能,同時(shí)ZigBee在時(shí)延方面也做了一定的改進(jìn),使得數(shù)據(jù)傳輸時(shí)延以及從休眠模式喚醒時(shí)延   變得非常短。
(d)安全性:ZigBee的MAC層采用了高級加密標(biāo)準(zhǔn)(Advanced Encryption Standard,AES)技術(shù)對數(shù)據(jù)進(jìn)行加密,以確保數(shù)據(jù)幀的安全性、可靠性和一致性,雖然加密是在MAC層進(jìn)行處理的,但是網(wǎng)絡(luò)層控制著安全性的整個(gè)過程。
(e)可靠性:ZigBee的MAC層采用了基于時(shí)隙的CSMA/CA協(xié)議,在發(fā)送時(shí)對信道進(jìn)行沖突檢測,并且專門為通信  寬帶業(yè)務(wù)預(yù)留了時(shí)隙,以避免發(fā)送數(shù)據(jù)幀時(shí)可能產(chǎn)生的沖     突與競   爭[2],提高了無線數(shù)據(jù)   傳輸?shù)目煽啃浴?/div>
(f)大容量:ZigBee可以實(shí)現(xiàn)星形、樹簇和網(wǎng)狀三種拓?fù)浣Y(jié)構(gòu),一個(gè)主設(shè)備最多可以連接254個(gè)ZigBee子設(shè)備,而主設(shè)備由上層網(wǎng)絡(luò)父節(jié)點(diǎn)管理,每一個(gè)節(jié)點(diǎn)可以分配到一個(gè)16位的網(wǎng)絡(luò)地址,除去廣播地址0xFFFF,因此最多可以擴(kuò)展到216-1=65535個(gè)節(jié)點(diǎn)。
近年來各種無線通訊技術(shù)層出不窮,發(fā)展迅猛,廣泛應(yīng)用的還有WIFI、藍(lán)牙4.0、GPRS、3G等,他們都有各自的獨(dú)特之處。GPRS(General Packet Radio Service)是2G向3G過渡的一種無線技術(shù),經(jīng)常被描述為2.5G,是一種基于GSM全球手機(jī)系統(tǒng)的數(shù)據(jù)傳輸技術(shù)。3G是第三代移動(dòng)通訊的簡稱,可傳輸音頻、視頻等高速數(shù)據(jù)幀,主要特點(diǎn)是隨時(shí)隨地讓任何人的通信交流成為可能。藍(lán)牙4.0是2012年開發(fā)的新的藍(lán)牙版本,有效連接距離增加很多,功耗也有所降低,是一個(gè)很出色的無線系統(tǒng),包括WIFI,但是伴隨而來的是高復(fù)雜度,和較高成本。
表2.1 ZigBee與其它技術(shù)的簡單比較
分類
WIFI(802.11)
藍(lán)牙4.0
3G
GPRS
ZigBee(802.15.4)
頻段
2.4Ghz
2.4Ghz
1880-1920MHz
2010-2025MHz
2300-2400MHz
900Mhz
1800Mhz
1900Mhz
2.4Ghz
868MHz(歐洲)915MHz(美國)
應(yīng)用領(lǐng)域
辦公等公共場合
便攜設(shè)備,多媒體等
語音、視頻、網(wǎng)頁等
語音,數(shù)據(jù)
無線傳感器
節(jié)點(diǎn)功耗
10-50mA
20mA
80mA
60mA
5mA
網(wǎng)絡(luò)規(guī)模
253個(gè)
8個(gè)
無限制
無限制
65000個(gè)
傳輸速度
11-54Mbps
1Mbps
3Mbps
115Kbps
250Kbps
傳輸距離
幾公里
10-100m
無限制
無限制
10-1000m

如表2.1所示,是ZigBee技術(shù)與上面所講的其它幾種無線通信技術(shù)的比較,根據(jù)系統(tǒng)需求綜合比較來看,ZigBee技術(shù)最適合應(yīng)用在WSN分布式采集系統(tǒng)中。
伴隨著ZigBee技術(shù)的廣泛應(yīng)用,并能夠在各個(gè)領(lǐng)域展現(xiàn)ZigBee技術(shù)非凡的特點(diǎn),可以預(yù)測在不久的將來,ZigBee技術(shù)的應(yīng)用將會(huì)使我們的生活更加智能化、數(shù)字化,徹底改變?nèi)藗兊纳罘绞健?/div>2.3.2 串口通信技術(shù)
a.串口通信的原理
串口通信(Serial Communications)描述了一種特定模式的信息傳遞方式和傳遞規(guī)則,即串口按照bit完成bit的發(fā)送和接收。雖然,眾所周知在并行通信的模式下,按照比特傳輸比較緩慢,但是串口通信有一個(gè)優(yōu)勢,便是可以用兩根線同時(shí)完成數(shù)據(jù)的傳送和接收。串口通信的原理和結(jié)構(gòu)不僅簡單,并且針對遠(yuǎn)距離通信也有其獨(dú)特的優(yōu)勢。在IEEE488協(xié)議中規(guī)定了并行通信的情況下設(shè)備總線的長度規(guī)格,一般短于20米,同時(shí)任意兩個(gè)設(shè)備之間的距離也有限制,通常低于兩米。然而,對于串口通信而言,距離長度可以長達(dá)1200米。一個(gè)典型的實(shí)例就是串口常用于ASCII碼的傳輸,它由地線、發(fā)送、接收三根通信線組成。又因?yàn)榇谕ㄐ攀钱惒讲僮鳎蚀诰涂梢栽谝桓上發(fā)送數(shù)據(jù)的同時(shí),利用另外一根線來實(shí)現(xiàn)數(shù)據(jù)的接受,其他線還可以用于握手,不過有時(shí)候并不需要。對于串口通信來說,波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)是特別重要的參數(shù),在兩個(gè)端口之間進(jìn)行數(shù)據(jù)傳輸,這幾個(gè)參數(shù)必須是一致的,否則無法實(shí)現(xiàn)端口間的通信。
(1)波特率,描述的是符號的傳輸速率快慢,也可以理解為單位時(shí)間內(nèi)信號的變化次數(shù)。在日常生活中,電話的波特率有14400、28800和36600幾種值。波特率雖然可以很大,但是由于波特率與傳輸距離成反比的關(guān)系,故也有一定的限制,不同的傳輸模式需要選擇合理的波特率。高波特率常用于近距離的設(shè)備通信,例如GPIB設(shè)備通信。
(2)數(shù)據(jù)位,表達(dá)的是信號傳輸中的實(shí)際數(shù)據(jù)位。在計(jì)算機(jī)傳輸數(shù)據(jù)的信息包里,實(shí)際數(shù)據(jù)長度一般情況下不是8位,而是6/7位,這個(gè)數(shù)據(jù)位是可以根據(jù)自己的需求來設(shè)定的。經(jīng)典的例子就是標(biāo)準(zhǔn)的ASCII和擴(kuò)展ASCII數(shù)據(jù)位分別是7位和8位。每個(gè)數(shù)據(jù)包代表一個(gè)字節(jié),數(shù)據(jù)包一般由四部分組成:開始位、數(shù)據(jù)位、奇偶校驗(yàn)位和停止位,其中數(shù)據(jù)位的具體制定依照通信協(xié)議來完成。
(3)停止位,即包的最后一位,用于表示數(shù)據(jù)傳輸?shù)慕刂埂M瑫r(shí),停止位還可以用來同步設(shè)備的時(shí)鐘。
(4)奇偶校驗(yàn)位,是用來進(jìn)行通信檢錯(cuò)的位信息,檢錯(cuò)的具體方式又可以分為四種:奇、偶、高和低。當(dāng)然此位是根據(jù)數(shù)據(jù)傳送的具體實(shí)施辦法來選取的,并不是必須的位。
串口通信,顧名思義,就是以串口的方式進(jìn)行設(shè)備間的數(shù)據(jù)傳輸,并且傳輸?shù)膯挝皇俏弧4谕ㄐ啪哂泻芏鄡?yōu)勢,尤其在遠(yuǎn)距離通信裝置中,數(shù)據(jù)線使用量小為項(xiàng)目節(jié)省了大量成本。
在工業(yè)中,多數(shù)控制計(jì)算機(jī)以及GPIB兼容的設(shè)備都含有RS-232的串口,并且擁有規(guī)范的串口通信協(xié)議,用戶可以很方便的通過串口來獲取遠(yuǎn)距離數(shù)據(jù)采集的數(shù)據(jù)包。
本課題基于串口通信研發(fā)了一套光伏發(fā)電站的監(jiān)控系統(tǒng),利用了串口通信的便捷性和穩(wěn)定性來實(shí)現(xiàn)與上位機(jī)之間的通信,如圖2.2所示,為串口通信協(xié)議的體系結(jié)構(gòu)圖。
圖2.2 串口通信協(xié)議的體系結(jié)構(gòu)圖
    b.串口通信的傳輸方式
    (1)有線遠(yuǎn)程數(shù)據(jù)傳輸
1) 調(diào)制解調(diào)器技術(shù)支持下的遠(yuǎn)程數(shù)據(jù)傳輸
現(xiàn)代撥號通信方式是基于現(xiàn)有的有線電話網(wǎng)絡(luò),從而實(shí)現(xiàn)計(jì)算機(jī)之間的相互
遠(yuǎn)程通信。然而電話網(wǎng)信號和計(jì)算機(jī)網(wǎng)絡(luò)信號有一定的區(qū)別,那就是電話網(wǎng)只可
以處理和傳輸模擬信號,對于計(jì)算機(jī)和單片機(jī)等微處理器只可以處理和傳輸數(shù)字
信號。因此,當(dāng)數(shù)據(jù)的計(jì)算機(jī)和微處理器通過電話網(wǎng)絡(luò)傳輸,在傳輸?shù)膬啥吮仨毦哂心M信號的調(diào)制和解調(diào)的設(shè)備,經(jīng)過相關(guān)處理得到對應(yīng)的數(shù)字信號,然后再做進(jìn)一步的操作。
具體來說,對于數(shù)據(jù)的發(fā)送端,利用調(diào)制解調(diào)器的調(diào)制功能,實(shí)現(xiàn)數(shù)字信號向模擬信號的轉(zhuǎn)換,如此一來,經(jīng)過調(diào)制的數(shù)字信號就可以在電話網(wǎng)中傳輸。同樣的道理,在數(shù)據(jù)的接收端,利用調(diào)制解調(diào)器的解調(diào)功能,實(shí)現(xiàn)模擬信號向數(shù)字信號的轉(zhuǎn)換,如此使得計(jì)算機(jī)處理接收到的信號非常方便。撥號通信有標(biāo)準(zhǔn)的規(guī)則協(xié)議,現(xiàn)階段由于Hayes公司制定的AT命令支持所有的AT命令,因而成為名副其實(shí)的行業(yè)標(biāo)準(zhǔn)。近年來,隨著計(jì)算機(jī)技術(shù)的深入發(fā)展和不斷普及,尤其是語音撥號通信方式的出現(xiàn),極大的推動(dòng)了電話語音控制技術(shù)的發(fā)展。基于此,美國微軟公司和因特爾公司合作開發(fā)出了一種全新的應(yīng)用程序接口 TAPI,這種接口可以匹配所有的硬件接口,如此一來為相應(yīng)的軟件開發(fā)提供了極大的便利條件,又由于TAPI接口可以提供的許多種功能,所以現(xiàn)階段基于撥號通信的遠(yuǎn)程監(jiān)控技術(shù)體系里面都滯要運(yùn)用到此種接口。
特別的,在所要傳輸?shù)臄?shù)據(jù)量比較小和通信數(shù)據(jù)頻率比較低的情況下,使用撥號通信方式可以極大地降低通信成本費(fèi)用,而且可以在節(jié)約成本的前提下實(shí)現(xiàn)
通信數(shù)據(jù)信息的安全可靠傳輸,進(jìn)而帶來比較可觀的經(jīng)濟(jì)效益。
2) 因特網(wǎng)支持下的遠(yuǎn)程數(shù)據(jù)傳輸
人類社會(huì)發(fā)展進(jìn)入20世紀(jì)以來,計(jì)算機(jī)信息技術(shù)迅猛發(fā)展,特別是隨著因特網(wǎng)的全面普及,極大地改變了人類傳統(tǒng)的生產(chǎn)生活方式,不僅如此,還將向其他科技信息領(lǐng)域滲透,進(jìn)而引發(fā)較大的技術(shù)創(chuàng)新與變革。隨著信息技術(shù)與傳統(tǒng)工業(yè)技術(shù)的深度融合發(fā)展,以因特網(wǎng)為基礎(chǔ)的監(jiān)控技術(shù)引發(fā)了業(yè)內(nèi)人士的廣泛關(guān)注和重視,因此被廣泛地應(yīng)用到傳統(tǒng)工農(nóng)業(yè)生產(chǎn)監(jiān)控過程中。通過互聯(lián)網(wǎng)監(jiān)控新技術(shù)等方法,研發(fā)技術(shù)人員可以輕松實(shí)現(xiàn)生產(chǎn)管理過程的控制與維護(hù),對各個(gè)生產(chǎn)環(huán)節(jié)進(jìn)行優(yōu)化升級,大幅度地提升設(shè)備利用效率,有效降低生產(chǎn)成本,從而進(jìn)一步擴(kuò)大生產(chǎn)規(guī)模,提高經(jīng)濟(jì)效益。
    (2)無線遠(yuǎn)程數(shù)據(jù)傳輸
近年來,之所以無線通信技術(shù)和信息技術(shù)的迅猛發(fā)展,是因?yàn)槠浼夹g(shù)體系是建立在已經(jīng)成熟的有線遠(yuǎn)程數(shù)據(jù)傳輸?shù)幕A(chǔ)之上。無線遠(yuǎn)程傳輸技術(shù)異軍突起,日益成為最富有發(fā)展?jié)摿Φ男屡d的監(jiān)控系統(tǒng)主流技術(shù)之一。對于無線數(shù)據(jù)通信技術(shù),其最大的優(yōu)點(diǎn)就是將中央監(jiān)控中心計(jì)算機(jī)與各個(gè)分監(jiān)控中心實(shí)現(xiàn)實(shí)時(shí)連接,而且可以做到整個(gè)監(jiān)控過程不間斷和信息傳遞低延時(shí),因此實(shí)現(xiàn)了真正意義上的中央監(jiān)控對分中心監(jiān)控的實(shí)時(shí)監(jiān)測控制,這一點(diǎn)是有線監(jiān)控技術(shù)一般不能達(dá)到的。
2.4 STM32芯片介紹
STM32F103微控制器構(gòu)建與高性能的ARM Cortex-M3內(nèi)核,工作頻率為72MHz,內(nèi)置高速存儲(chǔ)器,豐富的增強(qiáng)型I/O端口。增強(qiáng)型器件都包含ADC、定時(shí)器、PWM定時(shí)器。
成本低、該系列微控制器與常見的8位、16位單片機(jī)在價(jià)格上基本接近。既有32位單片機(jī)的性能,又與8位、16位單片機(jī)價(jià)格相當(dāng),可直接代替8位/16位單片機(jī)應(yīng)用于一些小型控制系統(tǒng)中。
性能高,包含標(biāo)準(zhǔn)和先進(jìn)的通信接口:3個(gè)UART接口、2個(gè)SPI口、2個(gè)I2C接口、一個(gè)USB接口和一個(gè)CAN接口。STM32F103是一個(gè)完整的系列,其成員之間引腳對引腳完全兼容,軟件和功能也兼容。
a.STM32的優(yōu)勢
通過對STM32的系統(tǒng)學(xué)習(xí),詳細(xì)總結(jié)STM32的優(yōu)勢如下所示:
(1)性價(jià)比高。STM32是32位的芯片,但是其價(jià)位幾乎與8位機(jī)持平,成本的考慮也是STM32廣泛應(yīng)用于各種實(shí)際項(xiàng)目中的主要原因之一。
(2)外設(shè)配套齊全。STM32是一款高度集中的主控模塊,模塊中包含SPI、TIMER、IIC、ADC、DAC、RTC等外設(shè),從而讓其具備許多便攜的功能,方便在其平臺(tái)上進(jìn)行開發(fā)。
(3)產(chǎn)品型號多樣。STM32芯片可選擇性很強(qiáng),包含5個(gè)系列的產(chǎn)品,分別針對不同的設(shè)計(jì)需求可以進(jìn)行選型,并且有多種封裝用于選擇。
(4)實(shí)時(shí)性極佳。模塊含有84個(gè)中斷,另外引腳全部可以當(dāng)做中斷,完全滿足大多數(shù)項(xiàng)目的需求,16級可編程優(yōu)先級讓實(shí)現(xiàn)過程更加優(yōu)化。
(5)功耗控制的便攜。STM32的外部設(shè)備均包含獨(dú)立的時(shí)鐘開關(guān),從而可以利用時(shí)鐘開關(guān)來控制整個(gè)系統(tǒng)的功耗。
(6)開發(fā)成本低。項(xiàng)目中常基于STM32做開發(fā),除了其自身成本比較低以外,還有個(gè)很重要的原因就是開發(fā)成本很低,迫切滿足實(shí)用性需求。STM32可以通過串口來實(shí)現(xiàn)程序的下載,方便、快捷,不需要昂貴的仿真器來幫助下載程序,并且SWD和JTAG兩種調(diào)試接口,讓仿真調(diào)試的方式簡化了好多。
b.開發(fā)板特點(diǎn)
在實(shí)際項(xiàng)目中做開發(fā),我們還需要考慮的就是硬件的開發(fā)板特性,因?yàn)殚_發(fā)板的特性有時(shí)決定了是否符合項(xiàng)目的需求,總結(jié)STM32的開發(fā)板特點(diǎn)如下所示:
(1)小巧。整個(gè)板子尺寸為8cm*10cm*2cm(包括液晶屏,但不計(jì)算銅柱的高度)。
(2)靈活。板上除去晶振外,其他IO口全部引出,另外GPIOA和GPIOB的IO口還是按順序引出的,這樣的設(shè)計(jì)很大程度為研發(fā)人員在其基礎(chǔ)上擴(kuò)展開發(fā)提供了便捷。外加的一鍵下載功能,省去了設(shè)置B0/B1的繁瑣,可以用電腦一鍵下載。
(3)資源豐富。板載十多種外設(shè)及接口,可以充分挖掘STM32的潛質(zhì)。
(4)質(zhì)量過硬。沉金PCB+全新優(yōu)質(zhì)元器件+定制全銅鍍金排針/排座+電源TVS保護(hù),堅(jiān)若磐石。
c.開發(fā)板資源
(1)CPU為STM32F103RBT6,擁有128K的FLASH和20K的SRAM;
(2)一個(gè)標(biāo)準(zhǔn)的JTAG/SWD調(diào)試下載口;
(3)1個(gè)電源指示燈(藍(lán)色);
(4)2個(gè)狀態(tài)指示燈(DS0:紅色,DS1:綠色);
(5)1個(gè)紅外接頭,配備一款小巧的紅外遙控器;
(6)1個(gè)IIC接口的EEPROM芯片,24C02,容量256字節(jié);
(7)1個(gè)SPI FLASH芯片,W25X16,容量為2M字節(jié);
(8)1個(gè)DS18B20/DS1820溫度傳感器預(yù)留接口;
(9)1個(gè)標(biāo)準(zhǔn)的2.4/2.8寸LCD接口,支持觸摸屏;
(10)1個(gè)OLED模塊接口;
(11)1個(gè)USB串口,可用于程序下載和代碼調(diào)試;
(12)1個(gè)USB SLAVE接口,用于USB通信;
(13)1個(gè)PS/2接口,可外接鼠標(biāo)、鍵盤;
(14)1組5v電源供應(yīng)/接入口;
(15)1組3.3V電源供應(yīng)/接入口;
(16)1個(gè)啟動(dòng)模式選擇配置接口;
(17)2個(gè)2.4G無線通信接口;
(18)1個(gè)RTC后備電池座,并帶電池;
(19)1個(gè)復(fù)位按鈕,可用于復(fù)位MCU和LCD;
(20)3個(gè)功能按鈕,其中WK_UP兼具喚醒功能;
(21)1個(gè)電源開關(guān),控制整個(gè)電路板的電源;
(22)3.3v與5v電源TVS保護(hù),有效防止燒壞芯片;

3  硬件的設(shè)計(jì)與實(shí)現(xiàn)
3.1 主控模塊總體接口設(shè)計(jì)
我們在景區(qū)環(huán)境預(yù)知系統(tǒng)的硬件設(shè)計(jì)中,始終堅(jiān)持開始的方案設(shè)計(jì)分析思路,綜合考慮系統(tǒng)的可靠性、外觀、功耗以及安全性等元素。最終的定論中可以把整個(gè)系統(tǒng)分為兩大部分:主控模塊STM32和外圍通信設(shè)備。外圍的通信包括主芯片STM32跟協(xié)調(diào)器之間的通信和STM32跟上位機(jī)之間的通信,而選擇的方式為串口通信。具體的硬件平臺(tái)框圖如圖3.1所示。

圖3.1 系統(tǒng)的硬件框圖
3.2 硬件電路設(shè)計(jì)

3.2.1 整體原理圖設(shè)計(jì)
本節(jié)我們利用Altium Designer軟件畫出系統(tǒng)硬件原理圖。根據(jù)本課題需求,確定了系統(tǒng)結(jié)構(gòu)以及原理設(shè)計(jì),從而在軟件上畫出最終的STM32控制芯片的原理圖,如圖3.2所示。


圖3.3系統(tǒng)外接+5V供電電路
另外,+3.3V也是系統(tǒng)中器件常常需要的一個(gè)電壓值,在電路設(shè)計(jì)中通常采用穩(wěn)壓芯片來進(jìn)行轉(zhuǎn)換,然后穩(wěn)定的輸出所需的+3.3V電壓值,穩(wěn)壓芯片有多種,課題中利用AMS1086CM-3.3來進(jìn)行電壓轉(zhuǎn)換。如圖3.4所示,電路設(shè)計(jì)原理圖,其中電容的配置同樣是為了起到電壓濾波的作用。
經(jīng)過長期的電路設(shè)計(jì)發(fā)展,一些常用的引腳和模塊所需的電壓值也逐步形成一種規(guī)范,例如采用3.3V的電壓為I/O引腳供電,還有zigbee模塊、數(shù)據(jù)采集模塊等都是3.3V供電。如圖3.4所示,5V轉(zhuǎn)3.3V的電路設(shè)計(jì)實(shí)現(xiàn)原理圖。
圖3.4 5V轉(zhuǎn)3.3V電源電路設(shè)計(jì)
3.2.3 復(fù)位電路設(shè)計(jì)
復(fù)位電路的設(shè)計(jì)也是十分重要的,如果沒有復(fù)位設(shè)計(jì),當(dāng)上電后程序會(huì)自動(dòng)跑,不便于控制。復(fù)位電路通常由RC電路外加按鍵構(gòu)成,最終實(shí)現(xiàn)兩種復(fù)位模式:上電復(fù)位和手動(dòng)復(fù)位。實(shí)現(xiàn)原理是T-RST引腳的輸入電平逐步由低轉(zhuǎn)高來產(chǎn)生復(fù)位信號。由于STM32F103芯片自身含有上電復(fù)位和電壓檢測復(fù)位,所以我們只需要搭建外部的手動(dòng)復(fù)位電路。如圖3.5所示,復(fù)位電路的原理設(shè)計(jì),其中,復(fù)位鍵S2在按下之前,RESET端的電平信號為高,芯片系統(tǒng)工作正常;按下S2鍵,T-RST端輸入電平由高轉(zhuǎn)低,從而控制完成芯片復(fù)位操作。

圖3.5 復(fù)位電路設(shè)計(jì)
3.2.4 時(shí)鐘電路設(shè)計(jì)
若系統(tǒng)想正常工作,都需要時(shí)鐘電源來為芯片內(nèi)部結(jié)構(gòu)供電,時(shí)鐘電源通常由外接晶振來構(gòu)成,時(shí)鐘電路就好比人的心臟,為整個(gè)芯片提供工作必須的能量。STM32可外接兩個(gè)晶振:高速HSM和低速LSM,它們的作用分別為系統(tǒng)提供主頻和為系統(tǒng)提供日歷時(shí)鐘。時(shí)鐘電路的設(shè)計(jì)可以實(shí)現(xiàn)為一些定時(shí)功能提供時(shí)鐘源,保證VBAT可持續(xù)供電,當(dāng)切斷電源時(shí),PTC仍然可以照常工作。如圖3.6所示,時(shí)鐘電路設(shè)計(jì)原理。

圖3.6 時(shí)鐘電路設(shè)計(jì)
3.2.5 UART電路設(shè)計(jì)
UART是通用的異步接收/發(fā)送裝置,UART采用并行輸入、串行輸出的方式進(jìn)行通信,是一種傳輸?shù)氖瞻l(fā)機(jī)制,在多數(shù)設(shè)備上已經(jīng)實(shí)現(xiàn)了集成。由于計(jì)算機(jī)內(nèi)部傳輸數(shù)據(jù)是并行模式,故不能直接將數(shù)據(jù)發(fā)到Modem,需要引入U(xiǎn)ART整理后,方才可以實(shí)施異步傳輸。
在接收過程中,UART便從消息幀中去掉起始位和結(jié)束位,并根據(jù)通信協(xié)議的要求,選擇是否進(jìn)行數(shù)據(jù)的奇偶校驗(yàn)檢錯(cuò)步驟,最后將將串行的數(shù)據(jù)字節(jié)轉(zhuǎn)換成并行。同時(shí),UART還會(huì)產(chǎn)生額外信號來顯示數(shù)據(jù)的發(fā)送和接收狀態(tài)。例如,當(dāng)存在一個(gè)奇偶錯(cuò)誤,UART就置位奇偶標(biāo)志,從而便于后期的數(shù)據(jù)糾正。如圖3.7所示,UART接口內(nèi)部結(jié)構(gòu)。
圖3.7 UART接口內(nèi)部結(jié)構(gòu)
    UART串口原理圖設(shè)計(jì),保證了數(shù)據(jù)的準(zhǔn)確發(fā)送、傳輸和接收。在景區(qū)環(huán)境預(yù)知系統(tǒng)-主控模塊設(shè)計(jì)中,采用的通信方式皆為串口通信的模式,故串口通信模塊是必不可少的一部分,其原理圖設(shè)計(jì)如圖3.8所示。


圖3.8 串口通信接口設(shè)計(jì)
3.2.6 LCD電路設(shè)計(jì)
字符型點(diǎn)陣式LCD模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式液晶顯示模塊,項(xiàng)目中可以用LCD對STM32接收到的數(shù)據(jù)進(jìn)行顯示。LCD與STM32的連接如圖3.9所示。
圖3.9 LCD電路圖設(shè)計(jì)
1


4 系統(tǒng)軟件實(shí)現(xiàn)
4  系統(tǒng)軟件實(shí)現(xiàn)4.1 景區(qū)環(huán)境預(yù)知系統(tǒng)開發(fā)環(huán)境4.1.1 Keil的簡介
Keil是一種窗口化的軟件開發(fā)平臺(tái),廣泛應(yīng)用于嵌入式應(yīng)用程序開發(fā)。在此平臺(tái)下我們可以對程序進(jìn)行編輯、調(diào)試和仿真,并且其支持匯編、C語言等多種語言的混合編程。經(jīng)過不斷地更新,Keil的界面功能也越發(fā)健全,便于初學(xué)者上手學(xué)習(xí),并且使用方便。Keil除了編譯器功能強(qiáng)大以外還擁有C編譯器、裝載器等編譯工具。詳細(xì)分析Keil的開發(fā)環(huán)境及其功能組件,總結(jié)其的一些特征如下:
a.源代碼編輯器功能強(qiáng)大
b.針對大部分開發(fā)工具,可以配置對應(yīng)的數(shù)據(jù)庫,從而便于程序的快速開發(fā)
c.擁有工程管理器,可以來創(chuàng)建和維護(hù)工程
d.是集匯編、編譯和鏈接過程于一體的編譯工具
e.可以對開發(fā)工具的對話框進(jìn)行設(shè)置
f.具備外設(shè)模擬器的編碼調(diào)試功能,助于程序的開發(fā)
g.含有高級GDI接口,從而實(shí)現(xiàn)軟硬件的連接
h.可以完成程序下載,即Flash ROM到Flash編程器
i.詳細(xì)的開發(fā)工具介紹,方便用戶學(xué)習(xí)和使用
4.1.2 Keil軟件的工程創(chuàng)建
(1)當(dāng)我們打開Keil軟件后,可以單擊ProjectNew Vision Project…菜單項(xiàng),從而Vision就會(huì)打開對話框。此處,我們通常對每個(gè)新建工程使用獨(dú)立的文件夾,輸入工程名保存,便實(shí)現(xiàn)了新工程的創(chuàng)建。若如想查閱我們已經(jīng)創(chuàng)建的工程,可以在Project Workspace區(qū)域的Files選項(xiàng)卡里查看,如圖4.1所示。               
圖4.1 Keil新建工程
1


西安工業(yè)大學(xué)北方信息工程學(xué)院畢業(yè)設(shè)計(jì)(論文)
    (2)此時(shí)Keil會(huì)自動(dòng)彈出對話框,可以根據(jù)目標(biāo)芯片選擇對應(yīng)的CPU主控,此步操作可以實(shí)現(xiàn)對芯片STM32的選取。
    (3)Keil會(huì)提示復(fù)制CPU指定的啟動(dòng)代碼到工程中去。工程中需要使用這些啟動(dòng)代碼,選擇“是(Y)”,如果不使用Keil編寫啟動(dòng)代碼可以選擇“否(N)”,如圖4.2所示。
圖4.2 Keil CPU代碼復(fù)制
    (4)選擇FileNew或者單擊圖標(biāo)以創(chuàng)建一個(gè)新的源文件,會(huì)打開一個(gè)空的編輯窗口,用戶可以在此窗口里輸入源代碼,如圖4.3所示。然后選擇FileSave命令,以擴(kuò)展名*.C保存文件至之前新建的文件夾里以便于以后尋找。

圖4.3 Keil導(dǎo)入*.C文件

    (5)完畢后,再在工程工作區(qū)中選擇“Source Group1”右擊選擇Add Files選項(xiàng),出現(xiàn)一個(gè)對話框,在對話框里選擇前面創(chuàng)建的C源文件,然后點(diǎn)擊“Add”,此時(shí)文件已經(jīng)被添加到工程然后點(diǎn)擊“Close”關(guān)閉即可。如圖4.4所示。然后開始輸入程序。

圖4.4 Keil添加文件到工程
    (6)在程序完成編譯后,我們在projectOptions for TargetOutput中選擇Create HEX file選項(xiàng),Keil會(huì)在編譯過程中同時(shí)產(chǎn)生HEX文件。如圖4.5所示,編譯結(jié)束。
圖4.5 HEX文件的生成
4.2 系統(tǒng)軟件設(shè)計(jì)
    根據(jù)系統(tǒng)的總體方案設(shè)計(jì),我們可以清晰的了解到整個(gè)系統(tǒng)的數(shù)據(jù)傳輸流程,從而對我們的軟件設(shè)計(jì)提供幫助。首先通過STM32向協(xié)調(diào)器發(fā)送數(shù)據(jù)請求命令,當(dāng)協(xié)調(diào)器收到命令后通過串口向STM32發(fā)送數(shù)據(jù),下一步就是STM32和上位機(jī)之間的通信,以及STM32控制LCD進(jìn)行數(shù)據(jù)顯示。故景區(qū)環(huán)境預(yù)知系統(tǒng)--主控模塊的軟件流程如圖4.6所示。
圖4.6 系統(tǒng)軟件流程圖

4.3 程序?qū)崿F(xiàn)

4.3.1串口初始化

    因?yàn)槲覀冃枰獙TM32的引腳進(jìn)行定義,服務(wù)于自己的想法,所以首先要進(jìn)行初始化操作,從而來定義波特率、優(yōu)先級、串口功能等。串口初始化函數(shù)如下所示:
  1. void InitUart()
  2. {
  3. CLKCONCMD &= ~0x40;           // 設(shè)置系統(tǒng)時(shí)鐘源
  4. while(CLKCONSTA & 0x40);    // 等待晶振穩(wěn)定
  5.     CLKCONCMD &= ~0x47;         // 設(shè)置系統(tǒng)主時(shí)鐘頻率為 32MHZ
  6.     SLEEPCMD|=0x04;            //關(guān)閉不用的RC振蕩器
  7.     PERCFG = 0x00;            //使用串口1的備用位置1 P0口
  8.     P0SEL  = 0x3c;           //P0_2,P0_3,P0_4,P0_5用作串口,第二功能
  9.     P2DIR &= ~0XC0;         //P0優(yōu)先作為UART0 ,優(yōu)先級

  10.     U0CSR |= 0x80;            //UART 方式
  11.     U0GCR |= 8;              //U0GCR與U0BAUD配合   
  12.     U0BAUD |= 59;           //波特率設(shè)為9600
  13.     UTX0IF = 1;             //UART0 TX 中斷標(biāo)志初始置位1  (收發(fā)時(shí)候)
  14.     U0CSR |= 0X40;         //允許接收
  15.     IEN0 |= 0x84;         //開總中斷,接收中斷   
  16. }
  17. 4.3.2 LCD驅(qū)動(dòng)
  18.     想讓LCD工作,首先也要對LCD模塊進(jìn)行初始化如下過程:
  19. void LcdInit(void) //初始化程序
  20. {
  21. LCD_RST = 0;
  22. delay_us(20);
  23. LCD_RST = 1;
  24. delay_us(5);
  25. LCD_CS1=0;
  26. LCD_CS2=0;
  27. LCD_CS3=0;
  28. WriteCommand(0x3f);  //設(shè)置開顯示命令
  29. WriteCommand(0xc0);//設(shè)置起始位置
  30. LCD_CS1 = 1;
  31. LCD_CS2 = 1;
  32. LCD_CS3 = 1;
  33. LcdClear();    //清屏

  34.     初始化完成后,就要編寫LCD模塊的數(shù)據(jù)寫入函數(shù),從而為LCD數(shù)據(jù)的顯示做準(zhǔn)備,LCD的數(shù)據(jù)寫入函數(shù),如下所示:

  35. void WriteData(u8  dat)  //寫數(shù)據(jù)
  36. {  
  37.         LCD_RS=1;     //寫數(shù)據(jù)
  38. //RW=0;
  39. LCD_DATA(dat);               //數(shù)據(jù)輸出到數(shù)據(jù)口
  40.    LCD_E=1;             //寫入到LCD
  41.    delay_us(10);
  42.    LCD_E=0;
  43. }
  44. 4.3.3 STM32數(shù)據(jù)的接收和發(fā)送
  45.     STM32既然作為主控模塊,那么數(shù)據(jù)的接收和發(fā)送即為其主要功能,下邊編寫其工作狀態(tài)的選擇,具體什么條件下進(jìn)行數(shù)據(jù)的收和發(fā)。
  46. if(RXTXflag == 1)              //接收狀態(tài)
  47.         {
  48.             LED1=1;           //接收狀態(tài)指示
  49.             if( temp != 0)
  50.             {
  51.                 //'#'被定義為結(jié)束字符,最多能接收50個(gè)字符
  52.                 if((temp!='#')&&(datanumber<50))
  53.                 {
  54.                     Rxdata[datanumber++] = temp;
  55.                 }
  56.                 else
  57.                 {
  58.                     RXTXflag = 3;   //進(jìn)入發(fā)送狀態(tài)
  59.                     LED1=0;        //關(guān)指示燈
  60.                 }
  61.                 temp  = 0;
  62.             }
  63.         }
  64.         if(RXTXflag == 3)         //發(fā)送狀態(tài)
  65.         {
  66.             LED2= 1;                          
  67.             U0CSR &= ~0x40;      //禁止接收
  68.             Uart_Send_String(Rxdata,datanumber); //發(fā)送已記錄的字符串
  69.             U0CSR |= 0x40;       //允許接收
  70.             RXTXflag = 1;       //恢復(fù)到接收狀態(tài)
  71.             datanumber = 0;     //指針歸0
  72.             LED2 = 0;           //關(guān)發(fā)送指示
  73.         }
復(fù)制代碼

4.4 上位機(jī)顯示
    本章節(jié)通過JAVA進(jìn)行了上位機(jī)的顯示界面制作,實(shí)現(xiàn)了景區(qū)環(huán)境參數(shù)的簡單顯示,JAVA編寫的初始界面數(shù)據(jù)如圖4.7所示。
                       圖4.7 初始數(shù)據(jù)顯示界面
     接著,對我們本課題需要的煙霧值、雨量、PM2.5、紅外線和人流量數(shù)據(jù)進(jìn)行采集和添加,設(shè)定數(shù)據(jù)的格式,設(shè)計(jì)環(huán)境參數(shù)采集的子界面,如圖4.8所示。
圖4.8 環(huán)境參數(shù)采集和添加界面
上一步驟是將景區(qū)環(huán)境的參數(shù)顯示在對應(yīng)的窗口框里,接下來提交數(shù)據(jù),即完成了一次數(shù)據(jù)的采集和保存,并顯示在主界面上,如圖4.9所示。
圖4.9 主界面數(shù)據(jù)顯示
從而實(shí)現(xiàn)了景區(qū)環(huán)境參數(shù)的上位機(jī)顯示制作,雖然功能簡單,但是可以很便捷的查看環(huán)境參數(shù)信息以及過往采集的數(shù)據(jù)。

5  結(jié)論
隨著通信技術(shù)的迅速發(fā)展,以及人們對生活品質(zhì)追求越來越高,景區(qū)環(huán)境的檢測已經(jīng)成了必不可少的部分,本課題針對當(dāng)下景區(qū)管理存在的不便,設(shè)計(jì)實(shí)現(xiàn)了景區(qū)環(huán)境預(yù)知系統(tǒng)的主控模塊設(shè)計(jì),研究內(nèi)容也是智慧城市的重要分支之一。
在本系統(tǒng)的研究、實(shí)現(xiàn)過程中,收獲頗豐,總結(jié)如下:
a.STM32基本原理的學(xué)習(xí)
本系統(tǒng)中選用STM32作為主控芯片,來接收協(xié)調(diào)器的數(shù)據(jù)并將數(shù)據(jù)在LCD上進(jìn)行顯示。通過大量的資料,了解了STM32的幾個(gè)系列產(chǎn)品,對STM32成本低、功耗低等優(yōu)勢進(jìn)行了總結(jié)。
b.LCD顯示和串口通信技術(shù)
首先了解了LCD顯示的原理,并編程實(shí)現(xiàn)了LCD的驅(qū)動(dòng),最后將數(shù)據(jù)在LCD上顯示,便于客戶的觀測。文中STM32收發(fā)數(shù)據(jù)皆通過串口通信的方式進(jìn)行傳輸,故著重了解串口通信的原理。
c.智慧景區(qū)領(lǐng)域相關(guān)技術(shù)的了解
智慧景區(qū)系統(tǒng)的整體實(shí)現(xiàn)包括了zigbee無線通信技術(shù)、STM32控制、LCD顯示和PC機(jī)顯示等技術(shù)。通過深入了解整個(gè)大背景,豐富了作者的知識(shí),最終針對任務(wù)書的要求,對STM32和LCD顯示做了深入研究。
由于各種條件的限制,系統(tǒng)中仍舊有諸多可以改進(jìn)的地方,為了實(shí)現(xiàn)更好的通信技術(shù)服務(wù)于大眾,為了使客戶使用起來更加便利,系統(tǒng)主要體現(xiàn)的不足如下幾點(diǎn):
a.可以擺脫串口傳輸數(shù)據(jù)的物理局限,使用WiFi等方式來實(shí)現(xiàn)。
b.上位機(jī)顯示的方式過于單一,LCD顯示還是不夠便捷,如果數(shù)據(jù)能通過無線網(wǎng)絡(luò)的方式在手機(jī)app上完成實(shí)時(shí)顯示的話,會(huì)讓系統(tǒng)更加滿足實(shí)際要求。
希望通過以后的深入學(xué)習(xí)來克服以上不足,不斷的優(yōu)化系統(tǒng),使景區(qū)環(huán)境預(yù)知系統(tǒng)更加智能化。

致謝
在拿到本課題的設(shè)計(jì)時(shí),作者對課題的理解僅停留在表面的認(rèn)知,對景區(qū)環(huán)境預(yù)知系統(tǒng)很是茫然,不知從何入手。在這里,首先要感謝指導(dǎo)導(dǎo)師王鵬教授,通過王老師不厭其煩的一遍遍講解,開始對課題有了進(jìn)一步的認(rèn)識(shí),并且學(xué)會(huì)了看待問題的角度,分析一個(gè)課題首先要分析其背景下的技術(shù)支持,明白了萬變不離其宗的道理。
此后,在了解課題的目標(biāo)和采用的關(guān)鍵技術(shù)后,學(xué)長和舍友的幫助使得作者很快接受諸多相關(guān)知識(shí),大家給予的支持和幫助是畢設(shè)課題順利完成的基本保障。在課題研究過程中涉及了系統(tǒng)的軟件和硬件設(shè)計(jì),軟件方面由于單片機(jī)不能接受JAVA語言,而作者只擅長JAVA語言,所以在C語言程序的涉及中及時(shí)請教了身邊的同學(xué)幫忙輔導(dǎo);在硬件設(shè)計(jì)中,本課題需要進(jìn)行STM32最小系統(tǒng)的原理圖設(shè)計(jì)以及PCB板的繪制,此過程中,出現(xiàn)了諸多難以解決的問題,比如復(fù)位電路的設(shè)計(jì)、STM32的最小系統(tǒng)原理設(shè)計(jì)等,經(jīng)過不斷的在網(wǎng)上搜索資源和借助圖書館等資源,最終還是予以克服。從遇到困難到解決困難的這個(gè)過程使作者成長了很多,使在面對突發(fā)狀況時(shí)更加的沉著冷靜。
最終感謝學(xué)校安排的畢業(yè)設(shè)計(jì),使得理論聯(lián)系實(shí)際,親自動(dòng)手去操作,去尋找方法,畢業(yè)設(shè)計(jì)的完成為我們走入社會(huì)奠定了堅(jiān)實(shí)的基礎(chǔ)。論文的撰寫使得語言表達(dá)能力和對工作的總結(jié)能力得到了提高。總之,感謝從畢業(yè)設(shè)計(jì)過程中學(xué)到知識(shí)的機(jī)會(huì)和身邊老師、同學(xué)身上感受到的溫暖,作者一定會(huì)進(jìn)一步深入學(xué)習(xí),不斷的提高專業(yè)知識(shí),成為社會(huì)的有用之才。

附錄 1 上位機(jī)顯示部分代碼
  1. </head>
  2. <body bgcolor="sky blue">        //設(shè)置背景顏色
  3. <div align="center">             //設(shè)置居中格式
  4. <fieldset style="width: 300px">  //繪制框圖大小
  5. <legend style="margin-left: 100px">添加環(huán)境信息</legend>                     
  6. <form action="EnvironmentAction?action=add" method="post" style="text-align: left;">      
  7. <table>
  8. <font size="50px">
  9. <tr><th width="100px">煙霧值:</th><th width="150"><input name="yanWu"></th></tr>
  10. <tr><th>雨量值:</th><th><input name="yuLiang"></th></tr>
  11. <tr><th>PM2.5:</th><th><input name="PM2_5"></th></tr>
  12. <tr><th>紅外線:</th><th><input name="hwx"></th></tr>
  13. <tr><th>人流量:</th><th><input name="rll"></th></tr>
  14. </font>
  15. <tr><th colspan="2"><input type="submit" value="提交數(shù)據(jù)">       <input type="reset" value="重置"></th></tr>           
  16. </table>
  17. </form>
  18. </fieldset>
  19. </div>
  20. </body></html>
復(fù)制代碼
//數(shù)據(jù)處理類
  1. public class EnvironmentAction extends HttpServlet {
  2. //使本類具有web方向的一切功能
  3. List<Environment> environmentList = new ArrayList<Environment>();
  4. @Override
  5. 1

  6. 附錄1上位機(jī)顯示部分代碼
  7. protected void service(HttpServletRequest arg0, HttpServletResponse arg1)
  8. throws ServletException, IOException {
  9. String action = arg0.getParameter("action");
  10. if ("add".equals(action)) {
  11.                   Doadd(arg0, arg1);
  12.                             }
  13.               }
  14. protected void Doadd(HttpServletRequest arg0, HttpServletResponse arg1)
  15. throws ServletException, IOException {
  16. String yanWu = arg0.getParameter("yanWu");
  17. String yuLiang = arg0.getParameter("yuLiang");
  18. String PM2_5 = arg0.getParameter("PM2_5");
  19. String rll = arg0.getParameter("rll");
  20. String hwx = arg0.getParameter("hwx");
  21. Environment environment = new Environment(yanWu, yuLiang, PM2_5, hwx,rll);
  22. List<Environment> environmentList = add(environment);
  23. arg0.setAttribute("environmentList", environmentList);
  24. arg0.getRequestDispatcher("show.jsp").forward(arg0, arg1);
  25.               }
  26. private List<Environment> add(Environment environment) {
  27. environmentList.add(environment);
  28. return environmentList;
  29.               }
  30. }
復(fù)制代碼

//數(shù)據(jù)顯示界面
  1. <body bgcolor="pink">
  2. <br><br><br>
  3. <%List<Environment>environmentList=(List<Environment>)request.getAttribute("environmentList"); %>             //獲得后臺(tái)傳來的數(shù)據(jù)
  4. <div align="center">
  5. <fieldset style="width: 380px">
  6. <legend style="margin-left: 150px">環(huán)境信息如下</legend>
  7. <br><br><br>
  8. <table width="500px">
  9. <tr><th>煙霧</th><th>雨量</th><th>PM2.5</th><th>紅外線</th><th>人流量</th></tr>                       //設(shè)置標(biāo)題信息
  10. <% if(environmentList==null){%>           //判斷有無環(huán)境信息
  11. <tr><th colspan="5">沒有數(shù)據(jù)...</th></tr>  //提示信息
  12. <% } %>
  13. <c:forEach var="environment" items="${environmentList}">
  14. <tr>
  15. <th>${environment.yanWu}</th>
  16. <th>${environment.yuLiang}</th>
  17. <th>${environment.PM2_5}</th>
  18. <th>${environment.hwx}</th>
  19. <th>${environment.rll}</th>            
  20. </tr>
  21. </c:forEach>
  22. </table>
  23. <br><br><br>
  24. <a href="add.jsp">繼續(xù)添加數(shù)據(jù)</a><!--模擬傳感器傳來的數(shù)據(jù),并進(jìn)行數(shù)據(jù)錄入  -->                    
  25. </fieldset>
  26. </div>
  27. </body>
  28. </html>
復(fù)制代碼

  1. //數(shù)據(jù)模型:(定義實(shí)體類)
  2. package com.ddd.entity;
  3. import java.io.Serializable;
  4. public class Environment implements Serializable {
  5. private String yanWu;
  6. private String yuLiang;
  7. private String PM2_5;
  8. private String hwx;
  9. private String rll;
  10. public String getYanWu() {
  11.                             return yanWu;
  12. }
  13. public void setYanWu(String yanWu) {
  14.                             this.yanWu = yanWu;
  15. }
  16. public String getYuLiang() {
  17.                             return yuLiang;
  18. }
  19. public void setYuLiang(String yuLiang) {
  20.                             this.yuLiang = yuLiang;
  21. }
  22. public String getPM2_5() {
  23.                             return PM2_5;
  24. }
  25. public void setPM2_5(String pM2_5) {
  26.                             PM2_5 = pM2_5;
  27. }
  28. public String getHwx() {
  29.                             return hwx;
  30. }
  31. public void setHwx(String hwx) {
  32.                             this.hwx = hwx;
  33. }
  34. public String getRll() {
  35.                             return rll;
  36. }
  37. public void setRll(String rll) {
  38.                             this.rll = rll;
  39. }
  40. public Environment() {
  41.                             super();
  42.                             // TODO Auto-generated constructor stub
  43. }
  44. public Environment(String yanWu, String yuLiang, String pM2_5, String hwx,
  45.                             String rll) {
  46.                             super();
  47.                             this.yanWu = yanWu;
  48.                             this.yuLiang = yuLiang;
  49.                             PM2_5 = pM2_5;
  50.                             this.hwx = hwx;
  51.                             this.rll = rll;
  52. }
  53.               @Override
  54. public String toString() {
  55.                             return "Environment [yanWu=" + yanWu + ", yuLiang=" + yuLiang
  56.                                                         + ", PM2_5=" + PM2_5 + ", hwx=" + hwx + ", rll=" + rll + "]";
  57. }
  58. }
復(fù)制代碼


完整論文下載(word格式 可編輯):





回復(fù)

使用道具 舉報(bào)

ID:457851 發(fā)表于 2018-12-29 11:26 | 顯示全部樓層
nice!!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲成人一二三 | 亚洲永久精品国产 | 自拍偷拍亚洲一区 | 久久草视频| 中文字幕 在线观看 | 久久亚洲国产 | 国产一卡二卡三卡 | 久久免费视频1 | 国产精品成人一区二区三区夜夜夜 | 国产精品一区二区三区四区五区 | 国产色网站 | 午夜ww| 在线观看免费av网 | 爱爱视频在线观看 | 国产999精品久久久久久 | 欧美福利久久 | 久色网 | 自拍中文字幕 | 日韩电影中文字幕 | 国产精品大片 | 亚洲永久免费观看 | 成人亚洲一区 | 国产欧美一区二区三区在线看 | 人人干人人草 | 狠狠操狠狠干 | 久久成人一区 | dy天堂 | 日韩欧美二区 | 国产永久免费 | 亚洲视频欧美视频 | 日本午夜免费福利视频 | 五月婷婷导航 | 欧美一级欧美三级在线观看 | 视频一区 亚洲 | 欧美一级黄色片在线观看 | 成人免费精品视频 | 国产综合精品一区二区三区 | 国产精品久久久久久一区二区三区 | 中文字幕一区在线观看视频 | 亚洲午夜av | 99re视频这里只有精品 |