第一部分 設計概述
1.1 設計目的
該作品的設計靈感來自于科幻電影《星際特工》中的頭盔控制攻擊系統(tǒng)。在戰(zhàn)斗場景中,作戰(zhàn)人員通過特殊的頭盔來直接控制武器對敵人進行準確而有效的打擊。在傳統(tǒng)戰(zhàn)爭中,無論是海戰(zhàn)、陸戰(zhàn)還是空戰(zhàn),作戰(zhàn)人員亦或是作戰(zhàn)設備幾乎都采用的是人眼機瞄的方式進行瞄準打擊,其精確度不高而且作戰(zhàn)人員還會有不確定的戰(zhàn)場意外。我們想要利用 FPGA 的速度優(yōu)勢和攝像頭,舵機,MPU 等傳感器實現(xiàn)人體姿態(tài)解算,全方位目標自動識別追蹤以及人員和環(huán)境情況監(jiān)控等功能,進而為作戰(zhàn)人員提供一個智能、快捷、安全的作戰(zhàn)環(huán)境。此系統(tǒng)可以安裝在直升機,步兵戰(zhàn)車或海軍艦艇的武器平臺上,以便于擺脫復雜的武器操作動作, 提高作戰(zhàn)效率,提高作戰(zhàn)安全性。
1.2 應用領(lǐng)域
該作品的應用領(lǐng)域豐富,主要有以下幾個方面的應用:
(1)軍事作戰(zhàn):
現(xiàn)代化戰(zhàn)爭都是信息化、智能化的戰(zhàn)爭,出現(xiàn)直接的大規(guī)模的直接短兵相接的場景并不多,所以在這種形式下就需要有一種能夠保證作戰(zhàn)人員安全, 可以給作戰(zhàn)人員提供方便快捷的作戰(zhàn)平臺,此系統(tǒng)是佩戴在頭上的輔助瞄準系統(tǒng),作戰(zhàn)人員可以直接以頭和眼的朝向來控制武器進行作戰(zhàn),實現(xiàn)擺脫常規(guī)瞄準方式,邁入“眼睛看到哪兒,武器就指向哪兒”的高級形態(tài)。
(2)反恐偵察:
在很多反恐活動中,武警人員需要實時隱秘地進行現(xiàn)場偵察來獲取情況, 從而制定有效的解決方案,但是,實際情況中偵察工作很難安全隱秘地進行,此系統(tǒng)可以由偵察人員佩戴以全地形小車為平臺進行安全便捷的實時偵察。
(3)邊境國防:
在傳統(tǒng)的國防領(lǐng)域,士兵們必須持槍身處室外進行站崗站哨,這樣的話會有不確定的意外因素導致士兵受傷,比如:敵方越境偷襲,國際販毒等。此系統(tǒng)可以讓邊防士兵無需身處室外,直接在室內(nèi)佩戴輔助瞄準系統(tǒng),控制外圍的邊防武器,使邊防變得更加安全,具有威懾。經(jīng)過我們的實際了解和論證,我們認為將此攻擊控制系統(tǒng)應用到軍事作戰(zhàn)、反恐偵察或者邊境國防等領(lǐng)域會有著非常不錯的效果。
1.3 主要技術(shù)特點
(1) 該系統(tǒng)使用 MPU9250 高精度姿態(tài)傳感器,將頭部的姿態(tài)數(shù)據(jù)實時解算為三維角度,然后經(jīng)過控制模塊精確控制舵機的轉(zhuǎn)動,從而實現(xiàn)炮臺的精確指向,以及頭和炮臺隨動。
(2) 在頭盔上使用大量的傳感器,利用 UART 和 IIC 等通信方式進行傳感器數(shù)據(jù)的讀取與利用。
(3) 自動模式中利用顏色識別,精準識別目標,根據(jù)攝像頭的可視角和舵 機的方位來建立一個準確的瞄準模型,實現(xiàn)目標和炮臺隨動。
1.4 關(guān)鍵性能指標
(1) 準確性:該系統(tǒng)采用了大扭力數(shù)字舵機和 MPU 模塊以及目標自動識別追蹤算法,來對目標進行精確的追蹤與打擊,準確率 95%以上,誤差在 5cm 左右(距離 5m 之內(nèi))。
(2) 實時性:由于采用 FPGA 作為主控中心,利用 FPGA 的速度優(yōu)勢,可以以非??斓乃俣忍幚砀鞣N數(shù)據(jù),從而可以在輔助模式和自動模式中以極低的延時控制舵機轉(zhuǎn)動。
(3) 安全性:該系統(tǒng)為頭盔式輔助瞄準系統(tǒng),可以人槍分離,在作戰(zhàn)環(huán)境中可以極大的保證作戰(zhàn)人員的安全,提高戰(zhàn)場存活率。
1.5 主要創(chuàng)新點
(1)整個控制系統(tǒng)運行穩(wěn)定,具有實時性高、功耗低,準確性高的特點。
(2)該頭盔瞄準系統(tǒng)擺脫了傳統(tǒng)戰(zhàn)爭中人眼機瞄的方式,利用 FPGA 的速度優(yōu)勢和攝像頭,舵機,MPU 等傳感器實現(xiàn)人體姿態(tài)解算,全方位目標自動識別追蹤以及人員和環(huán)境情況監(jiān)控等功能,進而為作戰(zhàn)人員提供一個智能、快捷、安全的作戰(zhàn)環(huán)境
(3)該系統(tǒng)不僅可以應用在作戰(zhàn)環(huán)境中,還可以應用在邊防、反恐、救災環(huán)境中。
第二部分 系統(tǒng)組成及功能說明
2.1 整體介紹
本系統(tǒng)主要由依元素科技的 FPGA 開發(fā)板—Artix-7 核心板作為主控, 黑金 spartan-6 開發(fā)板作為輔助組成。系統(tǒng)主體包括:頭盔部分、炮臺部分、 操作板部分,詳細見下圖:
2.1.1 實現(xiàn)功能:
該系統(tǒng)為頭盔式輔助瞄準系統(tǒng),使用人員可以通過佩戴頭盔與整個系統(tǒng)連為一體,通過不同的模式來切換使用方法,分別是搖桿模式,輔助模式,自動模式。搖桿模式下,使用人員可以通過搖桿手動控制炮臺的朝向進行精確打擊,輔助模式下使用人員可以通過頭盔上的單目顯示器瞄準目標,實現(xiàn)眼睛看到哪兒,武器就指向哪兒的高級形態(tài),自動模式下使用人員可以以最高權(quán)限控制炮臺發(fā)射,炮臺則自動搜尋和瞄準目標。
2.2 各模塊介紹
2.2.1 UART 通信協(xié)議
通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter), 通常稱作 UART,是一種異步收發(fā)傳輸器。將數(shù)據(jù)由串行通信與并行通信間作傳輸轉(zhuǎn)換,作為并行輸入成為串行輸出的芯片 UART 是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可以實現(xiàn)全雙工傳輸和接收。UART 作為異步串口通信協(xié)議的一種,工作原理是將傳輸數(shù)據(jù)的每個字符一位接一位地傳輸。其中每一位(Bit)的意義如下:
起始位:先發(fā)出一個邏輯”0”的信號,表示傳輸字符的開始。
數(shù)據(jù)位:緊接著起始位之后。數(shù)據(jù)位的個數(shù)可以是 4、5、6、7、8 等,構(gòu)成一個字符。通常采用 ASCII 碼。從最低位開始傳送,靠時鐘定位。
奇偶校驗位:數(shù)據(jù)位加上這一位后,使得“1”的位數(shù)應為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗數(shù)據(jù)傳送的正確性。
停止位:它是一個字符數(shù)據(jù)的結(jié)束標志??梢允?1 位、1.5 位、2 位的高電平。由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束, 并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大,但是數(shù)據(jù)傳輸率同時也越慢。
空閑位:處于邏輯“1”狀態(tài),表示當前線路上沒有數(shù)據(jù)傳送。UART 協(xié)議傳輸時序如圖所示:
發(fā)送數(shù)據(jù)過程:空閑狀態(tài),線路處于高電位;當收到發(fā)送數(shù)據(jù)指令后,拉低線路一個數(shù)據(jù)位的時間 T,接著數(shù)據(jù)按低位到高位依次發(fā)送,數(shù)據(jù)發(fā)送完畢后, 接著發(fā)送奇偶校驗位和停止位(停止位為高電位),一幀數(shù)據(jù)發(fā)送結(jié)束。
接收數(shù)據(jù)過程:空閑狀態(tài),線路處于高電位;當檢測到線路的下降沿(線路 電位由高電位變?yōu)榈碗娢唬r說明線路有數(shù)據(jù)傳輸,按照約定的波特率從低位到高位接收數(shù)據(jù),數(shù)據(jù)接收完畢后,接著接收并比較奇偶校驗位是否正確,如果正確則通知后續(xù)設備準備接收數(shù)據(jù)或存入緩存。
由于 UART 是異步傳輸,沒有傳輸同步時鐘。為了能保證數(shù)據(jù)傳輸?shù)恼_性, UART 采用 16 倍數(shù)據(jù)波特率的時鐘進行采樣。每個數(shù)據(jù)有 16 個時鐘采樣,取中間的采樣值,以保證采樣不會滑碼或誤碼。一般 UART 一幀的數(shù)據(jù)位數(shù)為 8,這樣即使每個數(shù)據(jù)有一個時鐘的誤差,接收端也能正確地采樣到數(shù)據(jù)。
UART 的接收數(shù)據(jù)時序為:當檢測到數(shù)據(jù)的下降沿時,表明線路上有數(shù)據(jù)進行傳輸,這時計數(shù)器 CNT 開始計數(shù),當計數(shù)器為 24=16+8 時,采樣的值為第 0 位數(shù)據(jù);當計數(shù)器的值為 40 時,采樣的值為第 1 位數(shù)據(jù),依此類推,進行后面 6 個數(shù)據(jù)的采樣。如果需要進行奇偶校驗,則當計數(shù)器的值為 152 時,采樣的值即為奇偶位;當計數(shù)器的值為 168 時,采樣的值為“1”表示停止位,一幀數(shù)據(jù)接收完成。
一個標準的 10 位異步串行通信協(xié)議(包含 1 個起始位、1 個停止位和 8 個數(shù) 據(jù)位)收發(fā)時序,如圖所示
圖 2.2.2 串口通訊
波特率發(fā)生器:波特率是衡量數(shù)據(jù)傳輸速率的指標,表示每秒傳送數(shù)據(jù)的字符數(shù),單位為 Baud。UART 的接收和發(fā)送是按照相同的波特率進行收發(fā)的。波特率發(fā)生器產(chǎn)生的時鐘頻率不是波特率時鐘頻率,而是波特率時鐘頻率的 16 倍, 目的是為在接收時進行精確地采樣,以提取出異步的串行數(shù)據(jù)。根據(jù)給定的晶振時鐘和要求的波特率,可以算出波特率分頻計數(shù)值。
2.2.2 IIC 通信協(xié)議
I2C(Inter-Integrated Circuit BUS) 集成電路總線,該總線由 NXP(原 PHILIPS)公司設計,多用于主控制器和從器件間的主從通信,在小數(shù)據(jù)量場合使用,傳輸距離短,任意時刻只能有一個主機等特性。是一種半雙工通信方式。
IIC 的物理層
只要求兩條總線線路,一條是串行數(shù)據(jù)線SDA,一條是串行時鐘線SCL。每個連接到總線的器件都可以通過唯一的地址和其它器件通信,主機/從機角色和地址可配置,主機可以作為主機發(fā)送器和主機接收器。IIC 是真正的多主機總線,(而這個 SPI 在每次通信前都需要把主機定死,而 IIC 可以在通訊過程 中,改變主機),如果兩個或更多的主機同時請求總線,可以通過沖突檢測和仲裁防止總線數(shù)據(jù)被破壞。傳輸速率在標準模式下可以達到 100kb/s,快速模式下可以達到 400kb/s。連接到總線的 IC 數(shù)量只是受到總線的最大負載電容 400pf 限制。
IIC 的協(xié)議層
數(shù)據(jù)的有效性:
在時鐘的高電平周期內(nèi),SDA 線上的數(shù)據(jù)必須保持穩(wěn)定,數(shù)據(jù)線僅可以在時鐘 SCL 為低電平時改變。
起始條件:當 SCL 為高電平的時候,SDA 線上由高到低的跳變被定義為起始條件,結(jié)束條件:當 SCL 為高電平的時候,SDA 線上由低到高的跳變被定義為停止條件,要注意起始和終止信號都是由主機發(fā)出的,連接到 I2C 總線上的器件,若具有 I2C 總線的硬件接口,則很容易檢測到起始和終止信號??偩€在起始條件之后,視為忙狀態(tài),在停止條件之后被視為空閑狀態(tài)。
應答:
每當主機向從機發(fā)送完一個字節(jié)的數(shù)據(jù),主機總是需要等待從機給出一個 應答信號,以確認從機是否成功接收到了數(shù)據(jù),從機應答主機所需要的時鐘仍是主機提供的,應答出現(xiàn)在每一次主機完成 8 個數(shù)據(jù)位傳輸后緊跟著的時鐘周期,低電平 0 表示應答,1 表示非應答。
I2C 總線上傳送的數(shù)據(jù)信號是廣義的,既包括地址信號,又包括真正的數(shù)據(jù)信號。在起始信號后必須傳送一個從機的地址(7 位),第 8 位是數(shù)據(jù)的傳送方向位(R/T),用“0”表示主機發(fā)送數(shù)據(jù)(T),“1”表示主機接收數(shù)據(jù)(R)。(這里小編在驅(qū)動 MPU6050 模塊的時候,就犯過這樣的錯誤,它寫的 MPU6050 從機地址是0x68,因為發(fā)送從機地址的時候,要加一位讀寫方向位, 因為剛開始應該是向這個 MPU6050 里寫從機里某個寄存器的地址,所以應該是 7 位地址 0x68(1101000)+二進制位 0=11010000)也就是 0xD0,表示要向該 IIC 設備里寫東西,然后再緊接著寫入 IIC 設備里的寄存器地址,而我直接寫 入了 0x68,導致出錯},每次數(shù)據(jù)傳送總是由主機產(chǎn)生的終止信號結(jié)束。但是, 若主機希望繼續(xù)占用總線進行新的數(shù)據(jù)傳送,則可以不產(chǎn)生終止信號,馬上再 次發(fā)出起始信號對另一從機進行尋址。
2.2.3 VGA 顯示協(xié)議
VGA(Video Graphics Array)視頻圖形陣列是 IBM 于 1987 年提出的一個使 用模擬信號的電腦顯示標準。VGA 接口即電腦采用 VGA 標準輸出數(shù)據(jù)的專用接口。VGA 接口共有 15 針,分成 3 排,每排 5 個孔,顯卡上應用最為廣泛的接口類型, 絕大多數(shù)顯卡都帶有此種接口。它傳輸紅、綠、藍模擬信號以及場與行的同步信號。
VGA 協(xié)議簡述
VGA 中定義行時序和場時序都需要同步脈沖、顯示后沿、顯示時序段和顯示前沿四部分。VGA 工業(yè)標準顯示模式要求:行同步,場同步都為負極性,即同步脈沖要求是負脈沖。
由 VGA 的行時序可知:沒一行都有一個負極性行同步脈沖,是數(shù)據(jù)行的結(jié)束標志,同時也是下一行的開始標志。在同步脈沖之后為顯示后沿,在顯示時序段顯示器為亮的過程,RGB 數(shù)據(jù)驅(qū)動一行上的每一個像素點,從而顯示一行。在一 行的最后為顯示前沿。在顯示時間段之外沒有圖像投射到屏幕是插入消隱信號。同步脈沖、顯示后沿和顯示前沿都是在行消隱間隔內(nèi),當消隱有效時,RGB 信號無效,屏幕不顯示數(shù)據(jù)。
2.2.4 JY901 姿態(tài)傳感器
模塊概述:
1、 模塊集成高精度的陀螺儀、加速度計、地磁場傳感器,采用高性能的微處理器和先進的動力學解算與卡爾曼動態(tài)濾波算法,能夠快速求解出模塊當前的實時運動姿態(tài)。
2、 采用先進的數(shù)字濾波技術(shù),能有效降低測量噪聲,提高測量精度。
3、 模塊內(nèi)部集成了姿態(tài)解算器,配合動態(tài)卡爾曼濾波算法,能夠在動態(tài)環(huán)境下準確輸出模塊的當前姿態(tài),姿態(tài)測量精度靜態(tài) 0.05 度,動 態(tài) 0.1 度,穩(wěn)定性極高,性能甚至優(yōu)于某些專業(yè)的傾角儀!
4、 模塊內(nèi)部自帶電壓穩(wěn)定電路,工作電壓 3.3v~5v,引腳電平兼容 3.3V/5V 的嵌入式系統(tǒng),連接方便。
5、 支持串口和 IIC 兩種數(shù)字接口。方便用戶選擇最佳的連接方式。串 口速率 2400bps~921600bps 可調(diào),IIC 接口支持全速 400K 速率。最高 200Hz 數(shù)據(jù)輸出速率。輸入內(nèi)容可以任意選擇,輸出速率 0.1~ 200HZ 可調(diào)節(jié)。
6、 保留 4 路擴展端口,可以分別配置為模擬輸入,數(shù)字輸入,數(shù)字輸出,PWM 輸出等功能。
7、 具備 GPS 連接能力??山邮芊?NMEA-0183 標準的串口 GPS 數(shù)據(jù), 形成 GPS-IMU 組合導航單元。
8、 采用郵票孔鍍金工藝,可嵌入用戶的 PCB 板中。注意:要加底板或者嵌入到其他 PCB 板子上,MPU9250 芯片下方不能布線,以免干擾到磁力計。
9、 4 層 PCB 板工藝,更薄、更小、更可靠。
性能參數(shù):
1、 電壓:3.3V~5V
2、 電流:《25mA
3、 體積:15.24mm X 15.24mm X 2mm
4、 焊盤間距:上下 100mil(2.54mm),左右 600mil(15.24mm)
5、 測量維度:加速度:3 維,角速度:3 維,磁場:3 維,角度:3 維, 氣壓:1 維(JY-901B), GPS:3 維(接 GPS 模塊)
6、 量程:加速度 :±2/4/8/16 g ( 可 選 ) , 角速度:±250/500/1000/2000 °/s(可選),角度±180°。
7、 量程:加速度 :±2/4/8/16 g ( 可 選 ) , 角速度:±250/500/1000/2000 °/s(可選),角度±180°。
8、 姿態(tài)測量穩(wěn)定度:0.01°。
9、 數(shù)據(jù)輸出內(nèi)容:時間、加速度、角速度、角度、磁場、端口狀態(tài)、氣壓(JY-901B)、高度 (JY-901B)、經(jīng)緯度(需連接 GPS)、地速(需連接 GPS)。
10、 數(shù)據(jù)輸出頻率 0.1Hz~200Hz。
11、 數(shù)據(jù)接口:串口(TTL 電平,波特率支持 2400、4800、9600、19200、38400、 57600、115200、230400、460800、921600),I2C(最大支持高速 IIC 速率 400K)
12、 擴展口功能:模擬輸入(0~VCC)、數(shù)字輸入、數(shù)字輸出、PWM 輸出(周期 1us-65535us, 分辨率 1us)
2.2.5 指紋模塊
模塊介紹:
1.外形尺寸(23.320.348.1)
3.供電電壓:DC3.3V,供電電流:《60mA,峰值電流:《60mA
4.指紋圖像錄入時間:《1.0 秒
5.窗口面積:15.3×18.2mm
6.分辨率:500dpi
7.模塊工作原理
①指紋特征
指紋算法從獲取的指紋圖像中提取的特征,代表了指紋的信息。指紋的 存儲、對比和搜索等都是通過操作指紋特征來完成的。
②指紋處理包含兩個過程:指紋登陸過程和指紋匹配過程[其中指紋匹 配分為指紋比對(1:1)和指紋搜索(1:N)兩種方式] 。
指紋登錄時,對每一枚指紋錄入 2 次,將 2 次錄入的圖像進行處理, 合成模板存儲于模塊中。
指紋匹配時,通過指紋傳感器,錄入要驗證指紋圖像并進行處理,然后 與模塊中的指紋模板進行匹配比較(若與模塊中指定的一個模板進行匹配,稱為指紋比對方式,即 1:1 方式;若與多個模板進行匹配,稱為指紋搜索 方式,即 1:N 方式),模塊給出匹配結(jié)果(通過或失敗)。
2.2.6 GPS 模塊
BLOX 6M GPS 模塊,具有高靈敏度、低功耗、小型化、其極高追蹤靈敏度大大擴大了其定位的覆蓋面,在普通 GPS 接受模塊不能定位的地方,如狹窄都市天空下、密集的叢林環(huán)境,UBLOX 6M 都能高精度定位。模塊的高靈敏度、小靜態(tài)漂移、低功耗及輕巧的體積,非常適用于車載、手持設備如 PDA,車輛監(jiān)控、手機、攝像頭及其他移動定位系統(tǒng)的應用,是 GPS 產(chǎn)品應用的最佳選擇。
2.2.7 SYN6288 語音播模塊
模塊介紹:
*清晰、自然、準確的中文語音合成效果;可合成任意的中文文本,支持英文字母的合成;
*具有智能的文本分析處理算法,可正確識別數(shù)值、號碼、時間日期及常用的度量衡符號;
*具備很強的多音字處理和中文姓氏處理能力;
*支持多種文本控制標記,提升文本處理的正確率;
*每次合成的文本量最多可達 200 字節(jié);
*支持多種控制命令,包括:合成、停止、暫停合成、繼續(xù)合成、改變波特率等;
*支持休眠功能,在休眠狀態(tài)下可降低功耗;支持多種方式查詢芯片工作狀態(tài);
*支持串行數(shù)據(jù)通訊接口,支持三種通訊波特率:9600bps,19200bps、38400bps;
*支持 16 級音量調(diào)整;播放文本的前景音量和播放背景音樂的背景音量可分開控制;
*可通過發(fā)送控制標記調(diào)節(jié)詞語語速,支持 6 級詞語語速調(diào)整;
*芯片內(nèi)固化有多首和弦音樂、提示音效和針對某些行業(yè)領(lǐng)域的常見語音提示音;
*內(nèi)部集成 19 首聲音提示音,23 首和弦提示音,15 首背景音樂;
*最終產(chǎn)品提供 SSOP 貼片封裝形式;體積業(yè)內(nèi)最?。?/p>
*芯片各項指標均滿足室外嚴酷環(huán)境下的應用;
模塊介紹
物理尺寸: 50mm48mm28mm。
供電: 5V 1A 直流電源。
數(shù)據(jù)接口:1.85V、3.3V、5VTTL
電平接口;標準 232 接口。
正常工作溫度: -30~80°C。
SIM900A 可實現(xiàn)發(fā)短信,接收短信,打電話,接聽電話等功能。連接時,需將 SIM900A TXD 與開發(fā)板設置的 RXD I/O 相連接,SIM900A RXD 與開發(fā)板設置的 TXD I/O 相連接,GND 與開發(fā)板上的 GND 相連接。
SIM900A 模塊通過發(fā)送和接受國際電信聯(lián)盟規(guī)定的 AT 指令集來進行控制和數(shù)據(jù)接收,本系統(tǒng)用到的 AT 指令集有:
2.2.10GY-39 光強模塊
GY-39 是一款低成本,氣壓,溫濕度,光強度傳感器模塊。工作電壓 3-5v, 功耗小,安裝方便。其工作原理是,MCU 收集各種傳感器數(shù)據(jù), 統(tǒng)一處理, 直接輸出計算后的結(jié)果, 此模塊,有兩種方式讀取數(shù)據(jù),即串口 UART(TTL 電平)或者 IIC(2 線)。串口的波特率有 9600bps 與 115200bps,可配置, 有連續(xù),詢問輸出兩種方式,可掉電保存設置。可適應不同的工作環(huán)境,與單片機及電腦連接。模塊另外可以設置單獨傳感器芯片工作模式,作為簡單傳感器模塊,MCU 不參與數(shù)據(jù)處理工作。提供 arduino,51,stm32 單片機通訊程序,不提供原理圖及內(nèi)部單片機源碼。此 GY39 模塊另外贈送安卓手機軟件 app 查看數(shù)據(jù),且支持 wifi 局域內(nèi)網(wǎng)連接, 手機及電腦同時顯示數(shù)據(jù)。
串口協(xié)議:當 GY-39 模塊硬件 PinA(S0)=1 時候使用
(1)、串口通信參數(shù)(默認波特率值 9600bps,可通過軟件設定) 波特 率:9600 bps 校驗位:N 數(shù)據(jù)位:8 停止位:1 波特率:115200 bps 校驗 位:N 數(shù)據(jù)位:8 停止位:1
(2)、模塊輸出格式,每幀包含 8-13 個字節(jié)(十六進制):①.Byte0: 0x5A 幀頭標志 ②.Byte1: 0x5A 幀頭標志 ③.Byte2: 0x15 本幀數(shù)據(jù)類型 (參考含義說明) ④.Byte3: 0x04 數(shù)據(jù)量 ⑤.Byte4: 0x00~0xFF 數(shù)據(jù)前 高 8 位 ⑤.Byte5: 0x00~0xFF 數(shù)據(jù)前低 8 位 ⑥.Byte6: 0x00~0xFF 數(shù)據(jù) 后高 8 位 ⑦.Byte7: 0x00~0xFF 數(shù)據(jù)后低 8 位 ⑧.Byte8: 0x00~0xFF 校驗和(前面數(shù)據(jù)累加和,僅留低 8 位)Byte2 代表的含義說明:Byte2 0x15 0x45 0x55 含義:光照強度溫度、氣壓、濕度、海拔 IIC 地址
(3)、數(shù)據(jù)計算方法 ①光照強度計算方法(當 Byte2=0x15 時,數(shù) 據(jù) :Byte4~Byte7 ) :Lux=( 前 高 8 位 T=(0x0B《《《24)(0x97《《16)(C4《《《 IIC_ADD=0xB6 (8bit iic_add) 則 7bit iic_add 為 8bit iic_add 右移 1bit 得 0x5b(4)、命令字節(jié),由外部控制器發(fā)送至 GY-39 模塊(十六進制) 1、所 有串口指令格式,幀頭:0xa5 指令格式:幀頭+指令+校驗和(8bit)
2、串口命令指令:①,串口輸出配置寄存器:command Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 輸出命令 AUTO 0 0 0 0 0 BME MAX AUTO(默 認 1)1:上電后按照上次的輸出配置輸出,0:上電后不自動輸出 bit6-bit2 必需置零:00000 BME(默認 1) 1:連續(xù)輸出溫度、氣壓、濕度、海拔 0: 不輸出;當 Auto 置 1,掉電保存 MAX(默認 1) 1:連續(xù)輸出光照強度 0: 不輸出;當 Auto 置 1,掉電保存 命令格式:0xA5+command+sum 例:bit7(Auto=1), bit0(MAX=1) 發(fā)送命令:0xA5+0x81+0x26,表示連續(xù)輸出光照強度,掉電后保存該設置,重新上電后將 自動連續(xù)輸出光照強度;
2.2.11紅外測溫模塊
模塊介紹:
GY-MCU90614 是一款低成本溫度模塊。工作電壓 3-5v 功耗小,體積小。其工作原理,是通過單片機讀取紅外溫度傳感器數(shù)據(jù),串口(TTL 電平) 通信方式輸出。串口的波特率有 9600bps 與 115200bps 有連續(xù)輸出與詢問輸出兩種方式, 可設定 ID,如果應用在 485 總線時候, 可以掛多個傳感器在總線上。
2.2.12氣壓高度模塊
模塊介紹:
MP280 氣壓傳感器是專為移動應用。該傳感器模塊是使用一個非常緊湊的封裝。它的 小尺寸和低功耗允許在電池供電的移動電話等設備的使用。BMP280 已 探明的壓阻式壓力傳感器技術(shù)具有精度高、線性度以及長期穩(wěn)定性和魯棒性高的電磁兼容。許多設備操作選項提供靈活性,優(yōu)化的功耗的裝置,分辨率和濾波器的性能。模塊內(nèi)部自帶電壓穩(wěn)定電路,可以兼容 3.3V 的嵌入式系統(tǒng),連接方便。采用先進的數(shù)字濾波技術(shù),能有效降低測量噪聲,提高測量精度。采用郵票孔鍍金工藝,品質(zhì)保證,可嵌入用戶的 PCB 板中。
性能:
1、電壓:2.1V~3.3V
2、電流:2.5mA(3.3V 10HZ) 1.0mA(3.3V 0.1HZ)
3、體積:15.24mm X 15.24mm X 2mm
4、焊盤間距:上下 100mil(2.54mm),左右 600mil(15.24mm)
5、輸出內(nèi)容:氣壓,高度。
6、波特率:115200
7、回傳速率:10 5 2 1 0.5 0.2 0.1HZ 可選
8、量程:氣壓:300~1100HPa
9、測量精度:高度:0.5M
10、數(shù)據(jù)接口:串口(UART TTL 電平,)
11、數(shù)據(jù)格式:數(shù)字輸出(ASCLL 碼)
2.2.13溫濕度傳感器
AT 指令集:
數(shù)據(jù)處理:
2.2.14數(shù)字舵機
2.2.15超聲測距模塊
超聲波是震動頻率高于 20khz 的機械波。它具有頻率高、波長短、繞射現(xiàn)象小、 方向性好、能夠成為射線而定向傳播等特點。
本模塊的使用方法是:一個控制口發(fā)一個 10us 以上的高電平,就可以在接受口 等待高電平輸出。一有輸出就可以開定時器計時,當此口變?yōu)榈碗娖綍r就可以讀 定時器的值,此時就為此測距的時間,方可算出距離。如此不斷的周期測,就可 以達到移動測量的值了。
模塊參數(shù):
使用電壓:DC5V
靜態(tài)電流:小于 2mA
電平輸出:低 0V
感應角度:不大于 15 度
探測距離:2CM-450CM
高精度:可達 3MM
工作原理:
①采用(IO 觸發(fā)測距、給至少 10us 的高電平信號)
②模塊自動發(fā)送 8 個 40KHZ 的方波、自動檢測是否有信號返回
③有信號返回、通過 IO 輸出一高電平、高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間、測試距離(高電平時間*聲速(340M/S)12)
時序圖:
電氣特性及注意事項:
①建議測量周期 60MS 以上,以防止發(fā)射信號對回響信號影響;
②測距時,被測物體面積要大于 0.5 平方米且平面盡量平整;
③電源供電不要低于 5V,否則會影響測試結(jié)果。
2.2.16煙霧檢測模塊
MQ135 氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化 錫(SnO2)。當傳感器所處環(huán)境中存在污染氣體時,傳感器的電導率隨空氣中污染氣體濃度的增加而增大。使用簡單的電路即可將電導率的變化轉(zhuǎn)換為與該氣體濃 度相對應的輸出信號。
MQ135 氣體傳感器對氨氣、硫化物、苯系蒸汽的靈敏度高,對煙霧和其它有害氣體的監(jiān)測也很理想。這種傳感器可檢測多種有害氣體,是一款適合多種應用的低成本傳感器。
電氣性能:
輸入電壓:DC5V
功耗(電流):150mA
DO 輸出:TTL 數(shù)字量 0 和 1(0.1 和 5V)
AO 輸出:0.1-0.3V(相對無污染),高濃度電壓 4V 左右
特別提醒:傳感器通電后,需要預熱 20S 左右,測量的數(shù)據(jù)才穩(wěn)定,傳感器發(fā)熱屬于正?,F(xiàn)象,因為內(nèi)部有電熱絲,燙手是屬于不正常現(xiàn)象。
2.2.17語音識別模塊
YS-LDV7 模塊為一體化語音識別模塊,可對用戶的語音進行識別。支持中文音素識別,可任意指定中文識別詞條(最好小于 8 個字)。識別詞條個數(shù)為 50 句??蓪?0.2 秒至 3.2 秒的語音命令進行響應,響應時間約為 0.4 秒至 1.2 秒。安靜環(huán)境下,標準普通話,識別率大于 95%。其與計算機或者單片機之間采用串口進行通訊,模塊串口采用的是 3.3V/5.0V TTL 電平標準進行通信。模塊參數(shù)如下圖:
2.2.18火焰檢測模塊
該模塊可以檢測火焰或者波長在 760 納米~1100 納米范圍內(nèi)的光源,探測角度在 60 度左右,對火焰光譜特別靈敏(靈敏度可通過電位器調(diào)節(jié)),對火焰的探測距離:跟靈敏度和火焰強度有關(guān),一般 1m 以內(nèi)適用(以打火機 火焰測試,半米內(nèi)能夠觸發(fā)傳感器),工作電壓 3.3V-5V。
2.2.19SDRAM 控制器
SDRAM(Synchronous Dynamic Random Access Memory),同步動態(tài)隨機存儲器。同步是指內(nèi)存工作需要同步時鐘,內(nèi)部的命令的發(fā)送與數(shù)據(jù)的傳輸都以它為基準;動態(tài)是指存儲陣列需要不斷的刷新來保證數(shù)據(jù)不丟失。這里的隨機指的是數(shù)據(jù)的存儲不是線性依次存儲,而是自由指定地址進行數(shù)據(jù)讀寫。SDRAM 具有空間存儲量大、讀寫速度快、價格相對便宜等優(yōu)點。然而由于 SDRAM 內(nèi)部利用電容來存儲數(shù)據(jù),為保證數(shù)據(jù)不丟失,需要持續(xù)對各存儲電容進行刷新操作;同時在讀寫過程中需要考慮行列管理、各種操作延時等,由此導致了其控制邏輯復雜的特點。因而在一般使用中,我們將其封裝為 FIFO 接口,使用時只需要向操作 FIFO 那么簡單,就可以操作 SDRAM。
SDRAM 的內(nèi)部是一個存儲陣列??梢韵胂蟪梢粋€表格,我們可以對每一個表格中的每一個單元格進行操作,單元格也是他的存儲單元,向這樣的一個單元格, 我們稱其為“L-Bank”,一般 SDRAM 有四個 bank。
SDRAM 的存儲容量計算:SDRAM 總存儲容量 = L-Bank 的數(shù)量×行數(shù)×列數(shù) ×存儲單元的容量。
在使用 SDRAM 時候,需要其不斷地自刷新。來確保其數(shù)據(jù)不丟失,因此在讀寫模塊正在工作的時候需要進行刷新的時候,必須退出讀寫進行刷新。由于 SDRAM 是電容存儲的原件,所以在使用前需要上電初始化。
100us 的延時需要在任何操作之前除過 NOP 和 INHIBIT 命令。這兩個命令必須在 200us 期間應用并且持續(xù)在這個區(qū)間結(jié)束后。(這句話不懂什么意思)在滿足上述條件后,precharge 命令應該被應用在 100us 延時以后。所有的 bank 必須預充電,這將使得所有的 bank 進入 idle 狀態(tài)。在兩個 auto refresh 命令之 后,SDRAM 準備進行模式寄存器配置。
就是說這里需要上電后進行(1)最少 100us 的延時。之后所有 bank 進入 idle 狀態(tài),然后進行(2)兩次 auto refresh 狀態(tài)。之后對其進行(3)模式寄存器配置。使用 TimeGen 輔助軟件畫出波形圖。如下圖。
模式寄存器配置可以按照用戶的需求進行配置,下圖是數(shù)據(jù)手冊中給出的官方解釋
這里的仿真后續(xù)和 SDRAM 的其他操作結(jié)合進行仿真。
SDRAM 的自刷新
SDRAM 是電容存儲元件,所以使用過程必須通過刷新來保證數(shù)據(jù)的不丟 失。經(jīng)計算得出 15us 刷新周期,所以代碼使用 15us 計數(shù)器,每 15us 進行 一次刷新。在進行刷新的時候,同樣需要根據(jù)時許進行命令的使用。
SDRAM 的讀寫操作
SDRAM 的讀寫操作時序基本一致,這里對寫模塊進行分析,讀模塊只是在命令上有不同,在讀命令收有一段時間的潛伏期,數(shù)據(jù)才會讀出。這里的讀寫都使 用突發(fā)長度為 4,也就是一次寫入 4 個數(shù)據(jù)。
這里是一次的寫操作。當然,在具體的應用中,我們不可能只寫入 4 個數(shù)據(jù), 所以將在后文的仲裁模塊對寫時序內(nèi)部進行更好的處理,使其可以滿足我們的應用需求。
在幾個基本模塊使用完成之后,需要對幾個模塊之間的狀態(tài)跳轉(zhuǎn)進行描述約束。
這里使用 Visio 畫出的狀態(tài)跳轉(zhuǎn)圖,將所有的狀態(tài)連接在一起。在任意狀態(tài),都可以保證刷新時間到來時進行刷新。這里的所有請求信號都是在使能信號到來。
2.2.20微型單目顯示器
第三部分 完成情況及性能參數(shù)
3.1 系統(tǒng)整體完成情況:
系統(tǒng)主要由三部分組成,分別是:頭盔部分、炮塔部分以及操控板部分。
1、頭盔部分主要由各種傳感器以及一個微型單目顯示器組成,傳感器負責采集當下的環(huán)境信息,微型單目顯示器實時顯示攝像頭所拍到的畫面。
2、炮塔部分主要由一個 2 度云臺,一個波箱,一個旋轉(zhuǎn)舵機,兩個攝像頭組成, 云臺控制波箱的朝向,旋轉(zhuǎn)舵機負責和攝像頭負責目標的搜尋與預警。
3、操控板主要由一個串口屏,一個指紋模塊,一個搖桿模塊,一個語音識別模塊以及語音播報模塊組成,串口品為控制中心和顯示中心,指紋模塊負責解鎖進 入系統(tǒng),搖桿模塊負責控制炮臺朝向,語音識別以及語音播報模塊輔助操作。
4、搖桿模式下,操作者通過搖桿和微型單目顯示器控制炮臺的轉(zhuǎn)動從而精確打擊 目標。
5、輔助模式下,操作者可以用頭盔和微型單目顯示器,通過頭的擺動顯示器的瞄準來瞄準目標實現(xiàn)精確打擊同時還可以通過頭盔上的各種傳感器來檢測人體和環(huán)境的信息
6、自動模式下,炮臺自動預警搜尋目標,當識別到目標時語音報警并且炮臺自動瞄準,通過操作人員決定擊打,當目標消失時語音提醒,炮 臺轉(zhuǎn)為繼搜尋狀態(tài)。
3.2 部分模塊介紹:
3.2.1 MPU 姿態(tài)檢測模塊
角度輸出格式
實現(xiàn)方法:
MPU 自動將數(shù)據(jù)通過 UART 協(xié)議發(fā)送到 FPGA 開發(fā)板,F(xiàn)PGA 開發(fā)板將數(shù)據(jù)流接收并在眾多數(shù)據(jù)流中檢測到與角度匹配的數(shù)據(jù),及那個角度數(shù)據(jù)存儲并進行姿態(tài)角解算公式將姿態(tài)解算出來實現(xiàn)頭部姿態(tài)的測量。
實現(xiàn)性能:
在實際使用中,MPU 的解算數(shù)據(jù)和頭部運動的角度完全一致,誤差不到 2 度, 同步率較高,延時在 300ms 左右,基本可以實現(xiàn)頭部姿態(tài)數(shù)據(jù)的同步測量。
3.2.2 指紋解鎖模塊
數(shù)據(jù)加密算法(DES)簡介
密碼的生成采用借鑒數(shù)據(jù)加密算法(DES)。DES 算法是一種分組加密算 法,他以 64 位的分組數(shù)據(jù)進行加密。密匙通常為 64 位,但每個第 8 位通常作為奇偶校驗位,實際密匙為 56 位。
DES 算法的流程:輸入明文通過初始置換,將其分為左右兩段各 32 位 的兩個部分,然后進行 16 輪完全相同的運算。經(jīng)過 16 輪運算后左、右部分合并在一起經(jīng)過一個末置數(shù),算法結(jié)束。見下圖 3.9。
在每一輪具體運算中,密匙位移位,然后從密匙的 56 位中選取 48 位。通過擴展置換,將數(shù)據(jù)的右半邊擴展成 48 位,并通過一個異或操作與一個 48 位密匙結(jié)合,通過 8 個 S 盒將這 48 位替換成新的 3 位數(shù)據(jù),再通過一次置換操作。
將輸入的 20 位數(shù)據(jù)擴展成 30 位的明文數(shù)據(jù),該操作是為了產(chǎn)生與密匙長度一樣的數(shù)據(jù)進行異或等操作。異或的結(jié)果進行 S 盒替代,將數(shù)據(jù)壓縮至 18 位。密匙的產(chǎn)生通過用戶打開天窗時隨機輸入產(chǎn)生。最后將 S 盒中所得數(shù)據(jù)經(jīng)過 P 盒置換,得到最終密碼。因為在整個監(jiān)護系統(tǒng)中數(shù)據(jù)傳輸基本由 ASCII 碼格式傳輸,就將最后產(chǎn)生的密碼轉(zhuǎn)換成 ASCII 碼格式。
安全性分析
DES 算法的安全性主要由非線性 S 盒模塊和密匙模塊決定。
1.非線性 S 盒模塊是按照 DES 算法的要求設置的??煽啃院芨?。
2.因為密碼只需要通過明文生成,而不需要通過密碼翻譯明文數(shù)據(jù),故密匙采用時刻流動的數(shù)據(jù),大大提高了安全性。
3.2.3 串口屏模塊
我們的項目主要是通過串口屏進行控制,當觸摸到串口屏特定的熱區(qū)時,它就會通過串口發(fā)送相應的鍵值到 FPGA 開發(fā)板上,我們采用 UART 通信協(xié)議的接受模塊接收,根據(jù)發(fā)來的鍵值跳轉(zhuǎn)到不同的狀態(tài),使 FPGA 中狀態(tài)機的狀態(tài)與串口 屏的顯示界面一致。并且根據(jù)串口屏發(fā)來的鍵值進行發(fā)送相關(guān)的指令,同時在狀態(tài)機檢測到串口屏進入特定的頁面時,會向串口屏發(fā)送相應的顯示信息進行顯示, 例如溫度、海拔、指南針等。圖 3.3.5 為串口屏指令接收發(fā)送模塊 RTL 圖,本模塊負責接收串口屏發(fā)來的信息,并將接收的信息發(fā)送給指令控制模塊進行處理。并根據(jù)指令控制模塊傳來的指令向串口屏發(fā)送對應的顯示指令,包括各傳感器的數(shù)據(jù)以及模式跳轉(zhuǎn)指令等。
3.2.4 角度分析與控制
該系統(tǒng)由三種模式,搖桿模式通過搖桿控制舵機的轉(zhuǎn)動角度,輔助模式通過 MPU 姿態(tài)數(shù)據(jù)進行舵機的控制,自動模式通過攝像頭的圖像處理算法得出目標的位置信息控制舵機轉(zhuǎn)動,本模塊將所有控制信號進行處理并在相應模式下控制舵機二度云臺進行精準的轉(zhuǎn)動,經(jīng)過實際使用測量,該模塊的控制信息處理非常準確,有著較好的穩(wěn)定性和通用性。
3.2.4 SIM9001A 短信模塊
SIM9001A 模塊通過發(fā)送和接受國際電信聯(lián)盟規(guī)定的 AT 指令集來進行控 制和數(shù)據(jù)接收,我們使用了 UART 通信協(xié)議的發(fā)送模塊進行指令的發(fā)送。該模塊會定時向用戶發(fā)送信息,其中短信內(nèi)容包括了由 GPS 定位模塊所傳送過來的數(shù)據(jù) 實時位置,經(jīng)度、緯度等等,對于設備和使用者有一定的安全保障。
3.2.5 目標預警搜尋模塊
系統(tǒng)由 OV5640、SDRAM 兩模塊構(gòu)成,通過配置 OV5640 不斷提取 RGB 值并通過 FIFO 存放入 SDRAM 當中讀取,后對數(shù)據(jù)進行實時逐幀處理,以達到動態(tài)捕捉目標的位置并輸出其坐標值的功能。
首先將從 SDRAM 讀出的數(shù)據(jù)從 RGB565 轉(zhuǎn)換成 RGB888,然后將其從 RGB 轉(zhuǎn)成 YCBCR 的格式,同時算出目標特征顏色的 CB,CR 的閾值,閾值是通過將目標的圖片生成 mif 文件然后取出其中分布最多的最大和最小值,然后算出其 CBCR 的值,該范 圍就是目標特征的閾值。
然后通過該閾值將圖象二值化,得到二值化圖像后,由 于外部因素圖象會出現(xiàn)一些噪點,然后通過開運算,即先腐蝕再膨脹來濾除多余 的圖象噪點,但是由于非目標上也會出現(xiàn)目標顏色,所以需要對目標有效點進行計數(shù),當大于一定的閾值后,認定該目標為有效目標,否則舍棄該目標,該閾值通過試驗得到最佳閾值。
為了得到目標物體的像素點坐標,由于有非目標顏色存在,所以最小包圍盒算法不是很適合。所以我們用了另外一種算法,當檢測出目標后,通過對有效點 x,y 坐標的累加以及有效點的計數(shù),然后將累加后的坐標除以有效點的數(shù)量,來得到平均像素點坐標,然后將該像素點的坐標通過另一個的模塊的運算輸出給舵機,然后進行對目標的追蹤。
第四部分 總結(jié)
4.1 可擴展之處
(1)在目標識別中,對目標的特征可以提取的更加充分,比如識別目標的形狀,或者其他一些可以精準識別的特征,以此來對目標識別的更加準確。
(2)可以使用光流法或者其他方法對目標運動軌跡進行預測,以便于更精確的打擊目標。
(3)可以增加一些對使用人員的生命特征檢測,環(huán)境信息檢測,以便于更好的保護使用人員的安全。
(4)可以將很多個該系統(tǒng)的數(shù)據(jù)通過無線傳輸?shù)揭粋€總系統(tǒng)中,以便于各個系統(tǒng)可以實時共享信息。
(5)可以將該系統(tǒng)搭載到一些小型機器人上,來實現(xiàn)一些反恐作戰(zhàn)或者搜救任務。
作品來源:Xilinx開源社區(qū),已授權(quán),作者:強濤、秋森、王杰。
編輯:jq
-
傳感器
+關(guān)注
關(guān)注
2545文章
50448瀏覽量
751077 -
FPGA
+關(guān)注
關(guān)注
1625文章
21623瀏覽量
601242 -
SDRAM
+關(guān)注
關(guān)注
7文章
422瀏覽量
55133 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6817瀏覽量
88743
原文標題:基于 FPGA 的頭盔式輔助瞄準系統(tǒng)
文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術(shù)江湖】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論