朱嶸濤, 徐愛(ài)鈞,葉傳濤
(1.長(zhǎng)江大學(xué)工程技術(shù)學(xué)院 信息系,荊州 434020; 2.長(zhǎng)江大學(xué) 電信學(xué)院;3.川慶測(cè)井公司)
?
STC15單片機(jī)和nRF2401的無(wú)線(xiàn)門(mén)禁系統(tǒng)設(shè)計(jì)
朱嶸濤1, 徐愛(ài)鈞2,葉傳濤3
(1.長(zhǎng)江大學(xué)工程技術(shù)學(xué)院 信息系,荊州 434020; 2.長(zhǎng)江大學(xué) 電信學(xué)院;3.川慶測(cè)井公司)
為了解決目前門(mén)禁系統(tǒng)存在的成本高、功耗高和安裝復(fù)雜等問(wèn)題,本文提出一種基于STC15單片機(jī)和nRF2401的低功耗無(wú)線(xiàn)門(mén)禁系統(tǒng),系統(tǒng)由門(mén)禁執(zhí)行終端和門(mén)禁主控終端組成。經(jīng)測(cè)試證明,該系統(tǒng)具有安裝簡(jiǎn)單、維護(hù)方便、成本低等優(yōu)勢(shì)。
STC15單片機(jī);nRF2401;門(mén)禁執(zhí)行終端;門(mén)禁主控終端
門(mén)禁系統(tǒng)是一種用來(lái)保護(hù)人民群眾財(cái)產(chǎn)安全和人身安全的現(xiàn)代化安防手段。隨著社會(huì)的發(fā)展和科學(xué)技術(shù)的進(jìn)步,門(mén)禁系統(tǒng)從機(jī)械鎖具發(fā)展到電子門(mén)禁,從單獨(dú)的門(mén)禁系統(tǒng)發(fā)展到報(bào)警一體化,從單個(gè)門(mén)禁控制發(fā)展到網(wǎng)絡(luò)互連。目前市場(chǎng)上還是主要以有線(xiàn)門(mén)禁系統(tǒng)為主,但根據(jù)市場(chǎng)需求分析和前景預(yù)測(cè), 無(wú)線(xiàn)門(mén)禁系統(tǒng)無(wú)疑更適用于要求日益提高的安防產(chǎn)業(yè)。相比有線(xiàn)門(mén)禁系統(tǒng), 無(wú)線(xiàn)門(mén)禁系統(tǒng)具有安裝簡(jiǎn)單、維護(hù)方便和成本低等特點(diǎn)[1]。
本文研究設(shè)計(jì)的基于STC15單片機(jī)和nRF2401的無(wú)線(xiàn)門(mén)禁系統(tǒng),通過(guò)人臉識(shí)別上位機(jī)系統(tǒng),能夠?qū)崟r(shí)檢測(cè)和識(shí)別來(lái)訪(fǎng)者身份。若數(shù)據(jù)庫(kù)中包含來(lái)訪(fǎng)者信息,則門(mén)禁執(zhí)行終端打開(kāi)門(mén)鎖,并在LCD顯示來(lái)訪(fǎng)者信息; 否則,報(bào)警器報(bào)警。
系統(tǒng)結(jié)構(gòu)主要由PC端軟件系統(tǒng)、門(mén)禁主控終端和門(mén)禁執(zhí)行終端組成,系統(tǒng)整體結(jié)構(gòu)如圖1所示。PC端上位機(jī)軟件主要負(fù)責(zé)識(shí)別來(lái)訪(fǎng)者身份信息,并將信息轉(zhuǎn)換成對(duì)應(yīng)的數(shù)據(jù)幀格式,通過(guò)串口發(fā)送給門(mén)禁主控終端。門(mén)禁主控終端主要負(fù)責(zé)數(shù)據(jù)加密、射頻模塊的初始化和信息的發(fā)送。門(mén)禁執(zhí)行終端主要負(fù)責(zé)數(shù)據(jù)解密,并根據(jù)解密出來(lái)的信息來(lái)執(zhí)行相應(yīng)的操作,從而達(dá)到控制門(mén)禁系統(tǒng)的作用。
圖1 門(mén)禁系統(tǒng)整體框圖
2.1 STC15L2K61S2簡(jiǎn)介
STC15L2K61S2是STC公司生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/高可靠/低功耗/超強(qiáng)干擾的新一代8051單片機(jī),采用第8代加密技術(shù),加密性強(qiáng),并且指令代碼完全兼容傳統(tǒng)的8051單片機(jī),但速度又比傳統(tǒng)的8051單片機(jī)快8~12倍。STC15系列單片機(jī)內(nèi)部集成高精度R/C時(shí)鐘,可配置時(shí)鐘的范圍5~35 MHz,同時(shí)STC15系列單片機(jī)內(nèi)部集成了高可靠復(fù)位電路,因此STC15L2K61S2最小系統(tǒng)不需要外部晶振和時(shí)鐘電路。
STC15L2K61S2具有3路CCP/PWM/PCA,8路10位高速A/D轉(zhuǎn)換器,內(nèi)置2K大容量SRAM,2組超高速異步串行通信端口和1組高速同步串行通信端口SPI,并且對(duì)于STC15L2K61S2這款單片機(jī)來(lái)說(shuō),它的供電電壓只需要3.3 V,因此它的功耗相比傳統(tǒng)的8051單片機(jī)要低很多。
2.2 電源模塊
nRF2401的工作電壓是在1.9~3.6 V之間,單片機(jī)的供電電壓是3.3 V。為了讓nRF2401正常穩(wěn)定工作,必須給nRF2401接一個(gè)直流電源模塊。經(jīng)測(cè)試nRF2401在3.3 V時(shí)工作比較穩(wěn)定,并且STC15L2K61S2單片機(jī)的供電電壓也為3.3 V。系統(tǒng)采用USB供電,電壓約為5 V,因此需要將5 V電壓轉(zhuǎn)換成3.3 V電壓。電源模塊選用線(xiàn)性穩(wěn)壓電源LM317組成模擬電源,通過(guò)調(diào)節(jié)滑動(dòng)變阻器,來(lái)使輸出電壓為3.3 V,3.3 V電源模塊原理圖如圖2所示。
圖2 3.3 V電源模塊
2.3 nRF2401射頻模塊接口電路設(shè)計(jì)[4-5]
nRF2401是由Nordic公司出品的單芯片無(wú)線(xiàn)收發(fā)芯片,工作于2.4~2.5 GHz的全球免申請(qǐng)(ISM)頻率。芯片內(nèi)置地址解碼器、先入后出堆棧區(qū)、解調(diào)處理器、時(shí)鐘處理器、GFSK濾波器、低噪聲放大器、頻率合成器,功率放大器等功能模塊,需要很少的外圍元件,因此使用起來(lái)非常方便。
nRF2401工作模式有4種:收發(fā)模式、配置模式、空閑模式和關(guān)機(jī)模式。nRF2401的工作模式由PWR_UP 、CE、TX_EN三個(gè)引腳決定。nRF2401的收發(fā)模式有Enhanced ShockBurstTM收發(fā)模式、ShockBurstTM收發(fā)模式和直接收發(fā)模式三種。為了節(jié)能,本系統(tǒng)選擇使用Enhanced ShockBurstTM收發(fā)模式進(jìn)行無(wú)線(xiàn)傳輸,nRF2401射頻模塊與STC15L2K61S2的連接電路如圖3所示。CSN為芯片的片選線(xiàn),當(dāng)CSN 為低電平時(shí),芯片工作。SCK為芯片控制的時(shí)鐘線(xiàn)(SPI時(shí)鐘)。MISO與MOSI為芯片控制數(shù)據(jù)線(xiàn)。IRQ為中斷信號(hào),無(wú)線(xiàn)通信過(guò)程中MCU主要是通過(guò)IRQ與nRF24L01進(jìn)行通信。 CE為芯片的模式控制線(xiàn)。在CSN為低的情況下,CE 協(xié)同nRF24L01的CONFIG寄存器共同決定nRF24L01的狀態(tài)。
圖3 nRF2401射頻模塊與STC15L2K61S2的連接電路
2.4 LCD顯示模塊接口電路設(shè)計(jì)
Nokia5110是諾基亞公司生產(chǎn)的一款液晶顯示屏,既可以顯示字符也可以顯示圖形,采用低壓供電時(shí),正常顯示的工作電流在200 μA之下,并且價(jià)格便宜。一塊帶有驅(qū)動(dòng)芯片的Nokia5110模塊只要15元,而1602液晶顯示屏需要20元,12864液晶顯示屏則需要50~70元,并且Nokia5110的接口只有8個(gè)引腳包括背光,相比1602和12864來(lái)說(shuō)引腳少了很多,在硬件設(shè)計(jì)上也更加方便。Nokia5110的8個(gè)引腳分別為RST、CE、D/C、SDIN、SCLK、VCC、BL和GND,其中RST為復(fù)位引腳,CE為芯片使能引腳,D/C為模式選擇引腳,SDIN為串行數(shù)據(jù)線(xiàn),SCLK為串行時(shí)鐘,VCC為3.3 V工作電壓,BL為背光引腳,GND為電源地,Nokia5110接口電路如圖4所示。
圖4 Nokia5110接口電路
2.5 步進(jìn)電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)
本文采用L298N構(gòu)成電機(jī)驅(qū)動(dòng)電路,L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片采用15引腳封裝。主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46 V;輸出電流大,瞬間峰值電流可達(dá)3 A,持續(xù)工作電流為2 A;額定功率25 W。使用L298N芯片驅(qū)動(dòng)電機(jī),該芯片可以驅(qū)動(dòng)一臺(tái)兩相步進(jìn)電機(jī)或四相步進(jìn)電機(jī),正好滿(mǎn)足本系統(tǒng)的設(shè)計(jì)需要,步進(jìn)電機(jī)驅(qū)動(dòng)電路如圖5所示。
圖5 步進(jìn)電機(jī)驅(qū)動(dòng)電路
3.1 nRF2401軟件設(shè)計(jì)[6]
nRF24L01數(shù)據(jù)發(fā)送或接收主要通過(guò)SPI接口實(shí)現(xiàn),采用STC15L2K61S2單片機(jī)I/O口模擬SPI接口的工作時(shí)序,SPI讀寫(xiě)時(shí)序如圖6和圖7所示。
圖6 SPI讀時(shí)序
圖7 SPI寫(xiě)時(shí)序
單片機(jī)I/O口模擬SPI時(shí)序讀取數(shù)據(jù)的函數(shù)如下:
uchar SPI_Read(uchar reg){
uchar reg_val;
CSN = 0;
//CSN置低電平,啟動(dòng)SPI數(shù)據(jù)傳輸
SPI_RW(reg); //選擇要讀取的寄存器
reg_val = SPI_RW(0);
//讀取寄存器的數(shù)值寫(xiě)入reg_val
CSN = 1; //CSN置高電平,結(jié)束此次SPI傳輸
return(reg_val); //返回寄存器的值
}
單片機(jī)I/O口模擬SPI時(shí)序?qū)懭霐?shù)據(jù)的函數(shù)如下:
uint SPI_RW_Reg(uchar reg, uchar value){
uint status;
CSN = 0;
//CSN置低電平,啟動(dòng)SPI數(shù)據(jù)傳輸
status = SPI_RW(reg);
//選擇要讀取的寄存器
SPI_RW(value); //寫(xiě)入數(shù)據(jù)
CSN = 1; //CSN置高電平,結(jié)束此次SPI傳輸
return(status); //返回狀態(tài)值
完成芯片基本功能后需要對(duì)芯片進(jìn)行初始化,保證發(fā)送端和接收端的地址寬度,信道工作頻率,發(fā)射和接收速率以及功率一致,射頻初始化函數(shù)如下:
void init_NRF24L01(void){
inerDelay_us(100);
//延時(shí)100 μs
CE=0;
//選中射頻芯片
CSN=1; SCK=0;
//禁止SPI傳輸
SPI_Write_Buf(WRITE_REG + TX_ADDR, TX_ADDRESS, TX_ADR_WIDTH);
//寫(xiě)本地地址
SPI_Write_Buf(WRITE_REG + RX_ADDR_P0, RX_ADDRESS, RX_ADR_WIDTH);
//寫(xiě)接收端地址
SPI_RW_Reg(WRITE_REG + EN_AA, 0x01);
//頻道0自動(dòng) ACK應(yīng)答允許
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01);
//允許接收地址只有頻道頻道0
SPI_RW_Reg(WRITE_REG + RF_CH, 0);
//設(shè)置信道工作為2.4 GHz,收發(fā)必須一致
SPI_RW_Reg(WRITE_REG + RX_PW_P0, RX_PLOAD_WIDTH);
//設(shè)置接收數(shù)據(jù)長(zhǎng)度,本次設(shè)置為32字節(jié)
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07);
//設(shè)置發(fā)射速率為1 MHz,發(fā)射功率為最大值0 dB
}
3.2 步進(jìn)電機(jī)軟件設(shè)計(jì)[7]
四相步進(jìn)電機(jī)按照通電順序的不同可分為單4拍、雙4拍、8拍三種工作方式。單4拍與雙4拍的步距角相等,但單4拍的轉(zhuǎn)動(dòng)力矩小。8拍工作方式的步距角是單4拍與雙4拍的一半。因?yàn)?拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度,所以本文采用4相8拍的工作方式。
單4拍、雙4拍與8拍工作方式的電源通電時(shí)序與波形分別如圖8所示。
單片機(jī)控制步進(jìn)電機(jī)的部分程序如下:
/***** P2.0=A ;P2.1=B ;P2.2=A' ; P2.3=B'**** /
code unsigned char run[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};
//四相八拍工作方式
unsigned char s,i,j,k;
void delay(i){
//延時(shí)函數(shù)
for(j=0;j
for(k=0;k<250;k++);
}
main(){
unsigned char z,y;
y=8;//定義延時(shí)時(shí)間,時(shí)間越長(zhǎng)電機(jī)轉(zhuǎn)速越慢,反之則越快
while(1){
for(z=0;z<8;z++){
//改變數(shù)組的長(zhǎng)度值需改變數(shù)字8,8為數(shù)組的長(zhǎng)度
P2=run[z];
delay(y);
}
}
}
圖8 步進(jìn)電機(jī)波形圖
[1] 戴敏,謝椿.基于ZIGBEE的無(wú)線(xiàn)門(mén)禁系統(tǒng)的設(shè)計(jì)[J].嵌入式與SoC,2011,27(3).
[2] 張宏等.基于51單片機(jī)與nRF2401無(wú)線(xiàn)門(mén)禁控制系統(tǒng)的設(shè)計(jì)[J].江蘇科技大學(xué)學(xué)報(bào):自然科學(xué)版,2013,27(1).
[3] 王旭,馬汝建,王洪斌. 基于nRF24E1的多點(diǎn)無(wú)線(xiàn)測(cè)溫報(bào)警系統(tǒng)設(shè)計(jì)[J].濟(jì)南大學(xué)學(xué)報(bào):自然科學(xué)版,2013,27(4).
[4] 丁恩杰,蹤曉志.基于nRF2401和DS18B20無(wú)線(xiàn)測(cè)溫系統(tǒng)[J].儀表技術(shù)與傳感器,2012,15(11).
[5] 劉恒,馬建倉(cāng),張小兵.基于nRF2401的點(diǎn)到多點(diǎn)的無(wú)線(xiàn)測(cè)控系統(tǒng)的設(shè)計(jì)[J].微電子與計(jì)算機(jī),2006,23(11).
[6] 李霞,鄭恩讓.基于nRF2401的無(wú)線(xiàn)測(cè)溫報(bào)警系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(23).
[7] 高琴,劉淑聰,彭宏偉.步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)及應(yīng)用[J].制造業(yè)自動(dòng)化,2012,34(1).
朱嶸濤(講師),主要研究領(lǐng)域?yàn)閱纹瑱C(jī)與嵌入式系統(tǒng);徐愛(ài)鈞(教授),主要研究領(lǐng)域?yàn)槟:刂评碚撆c應(yīng)用、智能化儀器儀表;葉傳濤(工程師),主要從事測(cè)井現(xiàn)場(chǎng)數(shù)據(jù)采集和研發(fā)工作。
參考文獻(xiàn)
[1] 何科.基于GPRS網(wǎng)絡(luò)的GPS圖形導(dǎo)航儀[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(10):59.
[2] 高陽(yáng).GPS天線(xiàn)技術(shù)及其發(fā)展[J].無(wú)線(xiàn)通信技術(shù),2008(4):34-39.
[3] STMicroelectronics. LIS3DH: MEMS digital output motion sensor ultra low-power high performance 3-axis “nano” accelerometer, Application note, 2012.
[4] 李道忠.基于MEMS加速度計(jì)的強(qiáng)振動(dòng)記錄黑匣子的設(shè)計(jì)[J].大地測(cè)量與地球動(dòng)力學(xué),2010(11).
[5] 李劍.基于MEMS加速度計(jì)的瞬態(tài)振動(dòng)信號(hào)采集系統(tǒng)[J].電子測(cè)試,2011(8):88-91.
(責(zé)任編輯:高珍 收修改稿日期:2014-01-02)
Wireless Entrance Guard System Based on STC15 MCU and nRF2401
Zhu Rongtao1, Xu Aijun2, Ye Chuantao3
(1.Information Department,College of Technology&Enginerring, Yangtze University, Jingzhou 434020,China;2. School of Electronics and Information Engineering, Yangtze University;3.Chuanqing Logging Company)
This paper presents the hardware and software design of a low-power wireless door-guard control system based on STC15 MCU and nRF24L01, so as to solve the current door-guard system for high power, high cost and install complex problems.The system consists of entrance guard executive terminal and entrance guard control terminal.The test has proved that the system has advantages of simple installment, friendly maintenance and low cost.
STC15 MCU;nRF2401;entrance guard executive terminal; entrance guard control terminal
TP393
A
珍
2014-01-14)