• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于STM32和FPGA的可擴(kuò)展校園儲(chǔ)物柜設(shè)計(jì)

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

      白龍溫,賈 銘

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

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

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

      1 系統(tǒng)設(shè)計(jì)

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

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

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

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

      一塊核心處理板SRAM存儲(chǔ)信息可達(dá)上萬條,配置多塊擴(kuò)展接口板即可大量擴(kuò)展儲(chǔ)物柜,各個(gè)擴(kuò)展接口板之間通過串口通信,最終由擴(kuò)展接口板0緩存所有卡號(hào)信息并和核心處理板通信。

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

      2 系統(tǒng)硬件設(shè)計(jì)

      2.1 核心處理板的硬件設(shè)計(jì)

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

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

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

      2.2 擴(kuò)展接口板的硬件設(shè)計(jì)

      擴(kuò)展接口板硬件方案如圖5所示。

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

      電源輸入主要包括12 V和5 V,12 V為繼電器和RFID讀卡器供電。繼電器為隔離驅(qū)動(dòng)模塊,是驅(qū)動(dòng)柜門的電磁動(dòng)作機(jī)構(gòu)。

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

      3 系統(tǒng)軟件設(shè)計(jì)

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

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

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

      3.1 STM32軟件設(shè)計(jì)

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

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

      初始化包括內(nèi)容如下:

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

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

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

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

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

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

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

      多任務(wù)設(shè)計(jì)如下,按照各個(gè)任務(wù)的優(yōu)先級(jí)由先及后排列(見圖10)。

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

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

      ③FLASH更新任務(wù)(task3):更新學(xué)生卡號(hào)等信息到FLASH。

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

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

      3.2 上位機(jī)軟件

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

      4 結(jié)論及系統(tǒng)改進(jìn)

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

      猜你喜歡
      接口板校園卡柜門
      歲月磨礪 [外一首]
      詩潮(2023年1期)2023-05-30 10:48:04
      基材和壓貼工藝對浸漬膠膜紙飾面細(xì)木工板柜門翹曲度的影響?
      移動(dòng)支付在校園卡自助補(bǔ)換卡業(yè)務(wù)中的實(shí)現(xiàn)——以濰坊學(xué)院為例
      客運(yùn)交通裝備內(nèi)話系統(tǒng)的話機(jī)板卡設(shè)計(jì)
      數(shù)理:它是幾號(hào)柜
      孩子(2020年9期)2020-09-16 06:29:36
      高校中冒用他人校園卡法律定性問題研究
      法制博覽(2019年18期)2019-12-15 21:12:28
      伊寧CINRAD CC雷達(dá)兩類故障分析
      防撞柜門結(jié)構(gòu)及配電柜實(shí)用分析
      江西建材(2018年13期)2018-11-28 07:00:36
      淺談拾卡后盜刷校園卡的行為定性
      法制博覽(2018年4期)2018-01-22 15:02:52
      淺談高校校園卡財(cái)務(wù)管理存在的問題與對策
      犍为县| 家居| 乌拉特后旗| 壤塘县| 青岛市| 周宁县| 七台河市| 云和县| 定结县| 镇巴县| 卫辉市| 阳春市| 西宁市| 象州县| 灵宝市| 岳阳市| 灌阳县| 吐鲁番市| 金阳县| 巴南区| 澜沧| 喜德县| 大安市| 保德县| 福清市| 来宾市| 泰宁县| 房产| 手游| 广河县| 蒲江县| 陵水| 绍兴市| 噶尔县| 辽阳市| 德阳市| 贡觉县| 河东区| 将乐县| 安陆市| 博罗县|