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