国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32和FPGA的可擴展校園儲物柜設計

2022-05-18 06:39:42白龍溫
關鍵詞:接口板校園卡柜門

白龍溫,賈 銘

(1.天津機電職業(yè)技術學院,天津 300401;2.河北工業(yè)大學,天津 300401)

隨著數(shù)字信息化時代到來、經(jīng)濟和科技的不斷發(fā)展,人們對生活品質有了更高的追求,生活的各個領域整日趨凸顯高效便捷和智能化,這就使得電子儲物柜在商場、體育館、車站、超市等地方應用越來越廣泛。但這些傳統(tǒng)儲物柜存在如下缺點:1)一般使用密碼條、鑰匙進行存取,存在存取效率低下、密碼條攜帶不方便且易丟失、信息無法監(jiān)控等缺點;2)使用MCU作為主控芯片并直接驅動柜門,受限于芯片的管腳數(shù)量,不能很好擴展大量儲物柜。在人數(shù)眾多且校園卡(一卡通)廣泛普及的高校當中,電子儲物柜的需求量大、使用率高,使用嚴格的校園卡識別等方法,可以高效、安全地進行儲物柜的管理和使用,為此在校園的圖書館、食堂、體育場等人流密集場所配置一種校園卡識別的低成本、易擴展、響應快的智能儲物柜將具有積極的意義[1]。

為此,本文設計一款基于STM32和FPGA的可擴展智能儲物柜,通過配置多塊擴展接口板可快速擴展儲物柜數(shù)量,使用RFID識別技術的校園卡打開指定物品柜,該系統(tǒng)會自動保存儲物柜使用記錄,實現(xiàn)了監(jiān)控等功能。

1 系統(tǒng)設計

整體系統(tǒng)框圖如圖1所示,主要分為核心處理板、擴展接口板、上位機平臺,以及校園卡RFID讀卡器,220 V交流電源適配器,柜門的電磁動作機構等其他部分。

上位機登記學生校園卡號和儲物柜號碼,并通過TCP協(xié)議將卡號等信息通過網(wǎng)口下發(fā)到核心處理板并存儲。學生使用校園卡后,擴展接口板解析RFID讀卡器發(fā)來的卡號信息并通過串口轉發(fā)到核心處理板,核心處理板接收該卡號信息進行查找比對,并通知對應的擴展接口板打開相應的儲物柜,同時將卡號等信息上發(fā)上位機進行記錄保存,從而實現(xiàn)信息監(jiān)控功能。

核心處理板的主控芯片為ST公司的STM32F407,該單片機基于ARM公司的Cortex-M4內核設計,時鐘頻率可達168 MHz,自帶1MB FLASH和192 KB RAM,具有高性能、低成本、低功耗的優(yōu)點,是嵌入式應用設計中良好的選擇[2]。為保證讀卡信息的實時響應和快速TCP通信,MCU運行UCOS-II實時操作系統(tǒng)和LwIP協(xié)議棧。UCOS-II是一個實時可剝奪系統(tǒng)內核的嵌入式操作系統(tǒng),包括資源同步、資源管理、任務之間通信,多達64個任務,通過任務間的不同優(yōu)先級來調度任務運行。LwIP是一個小型開源的輕量級TCP/IP的協(xié)議棧,由于其對RAM和ROM需求較低,在中低端嵌入式系統(tǒng)中應用廣泛[3-4]。

擴展接口板以FPGA為控制核心,F(xiàn)PGA具有并行效率高、IO管腳多、使用靈活、擴展能力強等特點。選用型號為Altera公司的CycloneIII系列的EP3C25F324,普通IO管腳達215個,每個IO管腳即可驅動一個電磁動作機構,可擴展儲物柜數(shù)量達200個。FPGA還進行RFID卡的協(xié)議解析,可以大大減輕MCU解析協(xié)議造成的資源和時間開銷,減少系統(tǒng)響應時間,并且后期更新擴展新校園RFID卡協(xié)議和增加其他擴展功能也更方便。

一塊核心處理板SRAM存儲信息可達上萬條,配置多塊擴展接口板即可大量擴展儲物柜,各個擴展接口板之間通過串口通信,最終由擴展接口板0緩存所有卡號信息并和核心處理板通信。

其中RFID讀卡器通信協(xié)議為26位韋根協(xié)議,電源適配器為整個系統(tǒng)提供二次電源12 V和5 V。

2 系統(tǒng)硬件設計

2.1 核心處理板的硬件設計

核心處理板硬件方案如圖2所示。

存儲模塊包括FLASH和SRAM,F(xiàn)LASH為學生卡號等信息存儲模塊,STM32將接收到卡號信息存儲到該FLASH中,型號為Winbod公司的SPI接口FLASH,W25Q128。當系統(tǒng)啟動后,將FLASH中學生卡號信息加載到SRAM中,STM32通過FSMC接口訪問SRAM,以便快速檢索卡號信息,SRAM型號為IS62 WV51216,原理圖見圖3。

DP83848為網(wǎng)口的外部PHY芯片,采用RMII接入形式,相比MII的方式可減少一半的接入信號數(shù)量,網(wǎng)口模塊原理圖見圖4。

2.2 擴展接口板的硬件設計

擴展接口板硬件方案如圖5所示。

FPGA的程序存儲FLASH選型為M25P16,時鐘和存儲器配置原理圖見圖6。

電源輸入主要包括12 V和5 V,12 V為繼電器和RFID讀卡器供電。繼電器為隔離驅動模塊,是驅動柜門的電磁動作機構。

5 V電源模塊為整板其他模塊供電,采用TI公司的TPS650243,可輸出1.8 V,3.3 V,1.2 V,2.5 V等多路電壓,分別供給FPGA的核電壓、AUX電壓、接口電壓和其他外設器件等,其原理圖見圖7。

3 系統(tǒng)軟件設計

系統(tǒng)軟件按照功能模塊分為核心處理板STM32軟件、擴展接口板FPGA軟件和PC上位機軟件,工作流程圖如圖8所示。

當RFID讀卡器讀取卡號后,以韋根協(xié)議的形式發(fā)送給FPGA,卡號由PID(2字節(jié))和HID(1字節(jié))組合而成3個字節(jié),F(xiàn)PGA解析出PID和HID后通過串口UART1發(fā)送給STM32,同時STM32根據(jù)PID和HID讀取SRAM對應地址內柜門號碼,如存在則將該柜門號碼通過串口UART2發(fā)送給FPGA,F(xiàn)PGA譯碼后驅動對應號碼繼電器,從而打開對應柜門。同時STM32通過TCP告知上位機卡號等信息,以便上位機監(jiān)控記錄。

FPGA軟件使用Verilog語言,以Modelsim 10.0C作為代碼邏輯仿真軟件,最終使用Quartus II 13.1作為編譯和調試平臺。程序主要包括韋根協(xié)議解析模塊,F(xiàn)IFO,UART1串口模塊,UART2串口模塊和IO口輸出等模塊。對于如圖1所示的擴展接口板0,其他擴展接口板控制的串口1和串口2均和擴展接口板0的預留串口通信,故擴展接口板0的FPGA程序需單獨增加調度緩存模塊,負責緩沖記錄各個擴展接口板發(fā)來的卡號信息,并通過串口UART1和UART2與核心處理板通信。其程序結構如下圖見圖9。

3.1 STM32軟件設計

STM32軟件采用C語言設計,使用Keil軟件作為編譯和調試工具。STM32接收到信息更新后,存儲所有學生的卡號和對應柜門號到FLASH中。每次更新完會員信息后,自動重新啟動系統(tǒng),以便將FLASH中會員信息加載到SRAM中。為了快速方便檢索,直接將會員卡號作為SRAM地址,對應柜門號作為數(shù)據(jù)內容。

由于STM32運行實時操作系統(tǒng),可以多任務搶占式工作,其軟件流程如圖3所示,主要包括初始化和多任務設計兩部分[5]。

初始化包括內容如下:

1)系統(tǒng)初始化以及外設自檢:系統(tǒng)時鐘和內存初始化等,中斷分組配置,串口初始化,F(xiàn)lash和SRAM初始化,F(xiàn)lash和SRAM自檢。

2)學生信息加載:通過SPI接口讀取FLASH內學生信息并更新到SRAM中。

3)UCOSII初始化:操作系統(tǒng)核心程序包括任務控制塊初始化,任務就續(xù)表等初始化。

4)LWIP協(xié)議棧初始化:TCP/IP內核協(xié)議初始化,PHY芯片DP8838驅動配置(IO初始化、時鐘初始化、中斷初始化、寄存器配置),IP地址,子網(wǎng)掩碼和默認網(wǎng)關設置等。

5)客戶端線程初始化:創(chuàng)建TCP客戶端任務,創(chuàng)建TCP連接,綁定端口,進入監(jiān)聽模式,收發(fā)數(shù)據(jù)。該任務基于NETCONN進行TCP/IP編程,NETCONN結構類似標準BSD Socket,對各種類型連接函數(shù)做了統(tǒng)一封裝,相當于提供了一個API調用接口,方便配合操作系統(tǒng)使用,方便快速大量數(shù)據(jù)通信[6]。

6)起始任務創(chuàng)建:創(chuàng)建其它全部任務。

7)啟動多任務:開始Start任務,UCOSII 根據(jù)任務優(yōu)先級和掛起等狀態(tài)自動切換任務調度。

多任務設計如下,按照各個任務的優(yōu)先級由先及后排列(見圖10)。

①TCP客戶端任務(task1):TCP客戶端啟動進入監(jiān)聽模式,接收和發(fā)送TCP數(shù)據(jù)。

②SRAM查找任務(task2):接收STM32串口UART1信息,搜索SRAM地址查找對應柜門號,并通過STM32串口UART2輸出,并通過TCP上傳卡號。

③FLASH更新任務(task3):更新學生卡號等信息到FLASH。

④工作正常任務(task4):狀態(tài)工作指示燈

⑤開始任務(task5):Start任務

3.2 上位機軟件

使用C++作為編程語言,應用了QT框架和SQlite數(shù)據(jù)庫。SQLite數(shù)據(jù)庫是一款輕型的文件型數(shù)據(jù)庫,主要應用于嵌入式領域,支持跨平臺移植,而且得到了QT很好的默認支持[8]。SQlite數(shù)據(jù)庫用于記錄學生信息,包括卡號、姓名、柜號、手機號、開柜時間等信息。上位機作為服務器,其TCP接口通信使用QT框架下的SOCKET類進行編程,用于向STM32更新卡號信息和接收存儲其發(fā)來的卡號使用信息,并添加系統(tǒng)時間作為開柜時間記錄,更新到數(shù)據(jù)庫當中。其調試界面如圖11所示。

4 結論及系統(tǒng)改進

本系統(tǒng)充分利用Ucos-II實時操作系統(tǒng)多任務和LwIP輕量型協(xié)議棧的優(yōu)勢,并利用FPGA并行處理效率高、易擴展等特點,實現(xiàn)了RFID卡韋根協(xié)議解析、系統(tǒng)和上位機TCP協(xié)議互傳、快速搜索學生信息、儲物柜數(shù)量擴展等功能,系統(tǒng)工作狀態(tài)良好,響應迅速,滿足設計需要。但需注意的是本系統(tǒng)中采用RFID卡號作為SRAM的尋址地址,尋址地址存在限制。例如本文選取FSMC_NE3作為SRAM的片選信號,STM32內部尋址空間為0x6800_0000到0x6BFF_FFFF,26位韋根協(xié)議ID卡占用3字節(jié),正好滿足需求。若RFID卡協(xié)議后期更改為32位,則不能使用卡號作為SRAM尋址地址,只能使用柜門號作為尋址地址,ID卡號作為內容,這樣需遍歷SRAM才能找到對應ID卡號,會增加系統(tǒng)時間開銷。

猜你喜歡
接口板校園卡柜門
一種接口板可更換模塊化儀器結構設計
Picking Up a Package取快遞
基材和壓貼工藝對浸漬膠膜紙飾面細木工板柜門翹曲度的影響?
移動支付在校園卡自助補換卡業(yè)務中的實現(xiàn)——以濰坊學院為例
客運交通裝備內話系統(tǒng)的話機板卡設計
數(shù)理:它是幾號柜
孩子(2020年9期)2020-09-16 06:29:36
高校中冒用他人校園卡法律定性問題研究
法制博覽(2019年18期)2019-12-15 21:12:28
伊寧CINRAD CC雷達兩類故障分析
防撞柜門結構及配電柜實用分析
江西建材(2018年13期)2018-11-28 07:00:36
淺談拾卡后盜刷校園卡的行為定性
法制博覽(2018年4期)2018-01-22 15:02:52
沂源县| 千阳县| 伊通| 峡江县| 岳阳县| 香格里拉县| 即墨市| 津市市| 哈密市| 湄潭县| 苗栗县| 农安县| 保德县| 大余县| 锦屏县| 元氏县| 黑河市| 江陵县| 巧家县| 揭阳市| 茂名市| 米易县| 广宁县| 奈曼旗| 邳州市| 上饶市| 阿合奇县| 浏阳市| 肥西县| 基隆市| 大洼县| 玉龙| 中阳县| 张掖市| 黄冈市| 宾川县| 山东省| 上思县| 万盛区| 南宁市| 宜丰县|