王泓淇, 陳守滿(mǎn), 文雅宏, 周超凡, 宋佳豪
(安康學(xué)院,電子與信息工程學(xué)院,陜西,安康 725000)
伴隨著智慧城市的快速發(fā)展,大型客車(chē)等工具已經(jīng)成為重要的交通工具[1]。截至2020年9月,全國(guó)機(jī)動(dòng)車(chē)保有量達(dá)3.65億輛,汽車(chē)2.75億輛,機(jī)動(dòng)車(chē)駕駛?cè)?.5億人,汽車(chē)駕駛?cè)?.1億人,中國(guó)已經(jīng)成為名副其實(shí)的汽車(chē)大國(guó)[2]。汽車(chē)數(shù)量的快速增長(zhǎng)使得環(huán)境安全監(jiān)測(cè)成為必要。與此同時(shí),隨著我國(guó)汽車(chē)行業(yè)迅猛發(fā)展,道路交通事故造成的人員傷亡和財(cái)產(chǎn)損失也在增加[3-4]。2016年,我國(guó)道路交通事故死亡人數(shù)為63 093人,10萬(wàn)人死亡率為18.2%,遠(yuǎn)超過(guò)重要發(fā)達(dá)國(guó)家,達(dá)到其數(shù)倍。因此,客車(chē)所帶來(lái)的各種安全隱患成為全民關(guān)注的焦點(diǎn)。客車(chē)內(nèi)部也存在較多安全隱患。例如:車(chē)內(nèi)溫度過(guò)高、車(chē)內(nèi)是否留有人員、車(chē)內(nèi)酒精濃度過(guò)高、車(chē)內(nèi)明火檢測(cè)等[5-7]。
基于上述原因,本文提出一種智能環(huán)境監(jiān)測(cè)系統(tǒng),它利用FPGA(field programmable gate array)并行處理的特點(diǎn),實(shí)現(xiàn)對(duì)客車(chē)內(nèi)部環(huán)境的監(jiān)測(cè)。該系統(tǒng)將會(huì)為客車(chē)安全問(wèn)題提供很強(qiáng)的實(shí)用價(jià)值和現(xiàn)實(shí)意義。
基于以FPGA為核心的智能車(chē)內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)的基本要求,采用FPGA設(shè)計(jì)中自頂向下的設(shè)計(jì)思想,將該系統(tǒng)大致分為四大模塊:信息采集模塊、信息處理模塊、信息傳輸模塊、終端顯示模塊。其中,信息采集模塊主要采集車(chē)內(nèi)的溫濕度、CO2濃度、酒精濃度以及車(chē)內(nèi)人數(shù),獲取對(duì)應(yīng)的環(huán)境信息,經(jīng)過(guò)A/D信息處理模塊后,將數(shù)據(jù)送入系統(tǒng)控制中心FPGA。FPGA通過(guò)數(shù)據(jù)總線(xiàn)IIC(inter-integrated circuit)向各個(gè)環(huán)境傳感器發(fā)出指令,控制其對(duì)環(huán)境信息進(jìn)行監(jiān)測(cè),最終監(jiān)測(cè)結(jié)果分別在OLED屏幕上顯示和通過(guò)GPRS傳輸模塊進(jìn)入手機(jī)終端顯示,并對(duì)超出預(yù)設(shè)值的信息進(jìn)行報(bào)警,實(shí)現(xiàn)對(duì)各個(gè)狀態(tài)下汽車(chē)安全問(wèn)題的預(yù)測(cè)性??傮w的框圖如圖1所示。
圖1 車(chē)內(nèi)安全監(jiān)測(cè)系統(tǒng)框圖
2.1.1 中心處理單元FPGA
FPGA是在PAL、GAL等可編程器件基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,它不僅解決了定制電路的缺點(diǎn),而且克服了原有可編程器件有限的門(mén)電路數(shù)缺點(diǎn)[8]。本設(shè)計(jì)使用的是EP4CE6E22C8N芯片,其基本結(jié)構(gòu)由6部分組成,分別是可編程I/O單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線(xiàn)資源、底層嵌入功能單元和嵌入式專(zhuān)用硬核?;窘Y(jié)構(gòu)如圖2所示。
圖2 FPGA基本結(jié)構(gòu)
2.1.2 A/D轉(zhuǎn)換模塊
由于各傳感器通過(guò)內(nèi)部電路的電壓值變化來(lái)采集環(huán)境信息,系統(tǒng)需將得到的電壓信息(模擬量)轉(zhuǎn)換為數(shù)字量,再通過(guò)GPRS通信模組將信息發(fā)送至手機(jī)終端顯示。采用型號(hào)為PCF8591的芯片作為模數(shù)轉(zhuǎn)換模塊,具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行IIC總線(xiàn)接口。其中,A0、A1和A2地址引腳用于硬件地址編程,PCF8591上的輸入輸出地址、控制和數(shù)據(jù)信號(hào)都可以使用雙向IIC總線(xiàn)進(jìn)行傳輸。PCF8591原理圖如圖3所示。
圖3 PCF8591原理圖
2.2.1 酒精采集模塊
TGS-822傳感器與常規(guī)的MQ-3系列傳感器相比,其突出特點(diǎn):對(duì)乙醇等有機(jī)溶劑有著極高的靈敏度,其在復(fù)雜氣體的環(huán)境中對(duì)與酒精檢測(cè)敏感,有著非常廣泛的使用以及優(yōu)勢(shì)[9]。
TGS-822采用串口與FPGA進(jìn)行通信,系統(tǒng)上電后,F(xiàn)PGA通過(guò)串口向TGS-822模塊發(fā)送AT指令驅(qū)動(dòng)其進(jìn)入工作狀態(tài),完成對(duì)環(huán)境中的酒精濃度檢測(cè)。本次設(shè)計(jì)所需要的AT指令集如表1所示。
表1 AT指令說(shuō)明
2.2.2 溫濕度檢測(cè)模塊
所采用的溫度傳感器是DS18B20,即與FPGA接口僅需占用1個(gè)I/O端口,無(wú)須任何外部元件。其內(nèi)部結(jié)構(gòu)主要由8個(gè)部分組成:64位ROM和單線(xiàn)接口、存儲(chǔ)器和控制邏輯、高速緩沖器、溫度傳感器、配置寄存器、高溫觸發(fā)器TH、低溫觸發(fā)器TL、8位CRC生成器。溫度范圍為-55~+125 ℃,精度為±0.5 ℃。它的工作電壓范圍為3.0~5.5 V,采用多種封裝形式,使系統(tǒng)設(shè)計(jì)靈活、方便,設(shè)置的分辨率和用戶(hù)設(shè)置的報(bào)警溫度存儲(chǔ)在EEPROM中,斷電后仍然保存[10-11]。其內(nèi)部結(jié)構(gòu)如圖4所示。
圖4 DS18B20內(nèi)部結(jié)構(gòu)
濕度采集采用DHT11數(shù)字溫濕度傳感器,它是一種具有校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器。
該傳感器由電阻式感濕元件、負(fù)溫度系數(shù)熱敏電阻器(NTC)和高性能8位MCU組成。DHT11與DS18B20一樣采用單總線(xiàn)結(jié)構(gòu),通過(guò)IIC協(xié)議與FPGA通信,將數(shù)據(jù)上傳至FPGA。其內(nèi)部原理圖如圖5所示。
圖5 DHT11內(nèi)部原理圖
2.2.3 CO2采集模塊
車(chē)內(nèi)環(huán)境經(jīng)常以CO2含量作為空氣質(zhì)量好壞的評(píng)判。采用GY-SGP30氣體傳感器,SGP30是一種單個(gè)芯片上集成多個(gè)傳感元件的氣體傳感器,與FPGA采用IIC總線(xiàn)進(jìn)行通信。其引腳說(shuō)明如表2所示。
表2 SGP30引腳說(shuō)明
采用GPRS SIM800C芯片連接移動(dòng)網(wǎng)絡(luò)進(jìn)行通信。SIM800C采用串口和FPGA進(jìn)行通信,系統(tǒng)上電后,需要通過(guò)RS232協(xié)議將AT指令發(fā)送至SIM800C芯片。當(dāng)SIM800C接收到AT指令后,逐個(gè)執(zhí)行進(jìn)行服務(wù)器網(wǎng)絡(luò)的連接,幫助整個(gè)系統(tǒng)完成數(shù)據(jù)的顯示及發(fā)送。SIM800C在本次設(shè)計(jì)中所用到AT指令集及說(shuō)明如表3所示[12]。
表3 AT指令說(shuō)明
數(shù)據(jù)顯示采用0.96寸的OLED(7針)屏幕。它的顯示技術(shù)不同于傳統(tǒng)的LCD顯示方式,不需要背光,采用極薄有機(jī)材料涂層和玻璃基板(或柔性有機(jī)基板)。當(dāng)有電流通過(guò)時(shí),這些有機(jī)的材料就會(huì)發(fā)光。OLED顯示屏可以做得更輕更薄,視角更大,并且可以顯著地節(jié)省功耗。
IIC總線(xiàn)是飛利浦公司開(kāi)發(fā)的一種用于連接微控制器及其外圍設(shè)備的兩線(xiàn)式串行總線(xiàn)。它是由數(shù)據(jù)線(xiàn)SDA和時(shí)鐘線(xiàn)SCL組成的串行總線(xiàn),可以收發(fā)數(shù)據(jù)。高速I(mǎi)IC總線(xiàn)通過(guò)CPU與被控IIC之間、IIC與IIC之間進(jìn)行雙向傳輸,一般可達(dá)400 kibit/s以上[12-13]。IIC總線(xiàn)在數(shù)據(jù)傳輸過(guò)程中使用開(kāi)始、結(jié)束和應(yīng)答這3種類(lèi)型信號(hào)。
配置IIC總線(xiàn)的目的在于使得FPGA與各個(gè)傳感器進(jìn)行通信,以用來(lái)控制各個(gè)傳感器采集環(huán)境信息。IIC的配置流程框圖如圖6所示。
圖6 IIC配置流程框圖
云服務(wù)器(ECS, Elastic Computer Serice)是一種簡(jiǎn)單高效、安全可靠的計(jì)算服務(wù),具有靈活的處理能力[14-15]。其管理模式比物理服務(wù)器簡(jiǎn)單高效[15-16]。本設(shè)計(jì)選擇阿里云服務(wù)器,其IP地址為116.62.46.237。
App專(zhuān)注于移動(dòng)應(yīng)用軟件的開(kāi)發(fā)和服務(wù),其具有社交性、本地性、移動(dòng)性的特點(diǎn),在多領(lǐng)域范圍有著極其廣泛的應(yīng)用[17-18]。App開(kāi)發(fā)流程框圖如圖7所示。
圖7 App開(kāi)發(fā)流程
車(chē)內(nèi)安全監(jiān)測(cè)系統(tǒng)各個(gè)模塊設(shè)計(jì)成功后,對(duì)各模塊進(jìn)行初始化;初始化成功后,系統(tǒng)中的傳感器開(kāi)始采集環(huán)境數(shù)據(jù)并上傳至服務(wù)器暫存。如果GPRS接收到有數(shù)據(jù)發(fā)送時(shí),將數(shù)據(jù)發(fā)送至服務(wù)器并且顯示至手機(jī)終端和OLED屏幕。軟件處理流程框圖如圖8所示。
圖8 軟件處理流程框圖
通過(guò)綜合編譯之后,將工程下載至FPGA開(kāi)發(fā)板進(jìn)行系統(tǒng)測(cè)試,測(cè)試結(jié)果如圖9所示。與此同時(shí),通過(guò)服務(wù)器可以在手機(jī)終端App上顯示,便于監(jiān)測(cè)。
圖9 車(chē)內(nèi)安全監(jiān)測(cè)硬件測(cè)試結(jié)果
手機(jī)終端App顯示如圖10所示。
圖10 手機(jī)終端App顯示
由圖9可知,系統(tǒng)運(yùn)行正常,OLED屏可以正常顯示所測(cè)量車(chē)內(nèi)環(huán)境值,分別測(cè)量的有二氧化碳(CO2)含量、溫度(T)、酒精濃度(Alc)、濕度(H)、區(qū)域人數(shù)(Number of People)以及網(wǎng)絡(luò)顯示狀態(tài)(Network State Code)。從圖10可以看出,手機(jī)終端App可以正常顯示車(chē)內(nèi)環(huán)境值。
本文主要設(shè)計(jì)了一種以FPGA為核心的車(chē)內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng),利用FPGA并行結(jié)構(gòu)的特點(diǎn),提高了計(jì)算速度。結(jié)合物聯(lián)網(wǎng)和FPGA技術(shù),在OLED和手機(jī)終端顯示環(huán)境監(jiān)測(cè)數(shù)據(jù)。該系統(tǒng)有較好的實(shí)用價(jià)值,為車(chē)內(nèi)創(chuàng)造更好的環(huán)境和駕車(chē)體檢提供了較好的保障。