摘要:針對日常生活中使用的NFC卡片存在功能單一、安全性不高、與智能設(shè)備兼容性差等問題,文章基于STM32L051單片機和ST25DV芯片開發(fā)了一款智能NFC卡片。相關(guān)實驗測試結(jié)果表明,該NFC卡片能集成多張獨立卡片的功能,不僅支持IC卡的模擬、復(fù)制和刷卡功能,而且用戶可通過App完成個性化的定制。在安全性方面,該卡片能保證用戶的隱私數(shù)據(jù)安全。該設(shè)計可以為IC卡片在未來的多樣化和智能化開發(fā)提供有益參考。
關(guān)鍵詞:近場通信;STM32;ST25DV;個性化;數(shù)據(jù)安全
中圖分類號:TP368.1 "文獻標(biāo)志碼:A
0 引言
由于物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,無線通信技術(shù)逐漸成為連接物理世界與數(shù)字世界的關(guān)鍵橋梁。非接觸式近場通信(Near Field Communication,NFC)作為一種高頻率短距離無線通信技術(shù),以其便捷性、高效性和高安全性,在移動支付、智能門禁、身份認(rèn)證、醫(yī)療設(shè)備等領(lǐng)域展現(xiàn)巨大的應(yīng)用前景和市場價值[1]。NFC技術(shù)通過無線射頻識別(Radio Frequency Identification,RFID)實現(xiàn)數(shù)據(jù)傳輸,允許電子設(shè)備在幾厘米的距離內(nèi)交換信息,極大地提高了人們的生活效率和便利性[2]。特別是在智能卡片領(lǐng)域,NFC技術(shù)不僅簡化了信息交換過程,而且顯著提升了用戶體驗和數(shù)據(jù)安全性[3]。傳統(tǒng)的NFC卡片功能單一、安全性不高,在設(shè)計上缺乏靈活性和可擴展性[4]。為解決這些問題,基于STM32微控制器與ST25DV動態(tài)標(biāo)簽芯片的智能NFC卡片設(shè)計成為研究熱點。STM32系列MCU以高性能、低功耗和豐富的外設(shè)接口成為嵌入式系統(tǒng)設(shè)計的首選平臺之一[5]。ST25DV系列芯片作為動態(tài)NFC標(biāo)簽的領(lǐng)先產(chǎn)品,支持I2C、SPI等多種通信接口,具備靈活的內(nèi)存配置和強大的安全特性,支持動態(tài)數(shù)據(jù)讀寫,為智能NFC卡片的設(shè)計提供了強大的硬件支持[6]。
為滿足用戶對個性化、多功能NFC卡片的需求,本研究基于STM32微控制器和ST25DV動態(tài)NFC標(biāo)簽設(shè)計并實現(xiàn)一款功能豐富、性能優(yōu)越、安全可靠的智能NFC卡片。功能測試結(jié)果表明,該卡片具備數(shù)據(jù)存儲、安全認(rèn)證、動態(tài)更新以及與其他NFC設(shè)備交互的能力,能夠為人們的日常生活帶來更多便利,同時為NFC技術(shù)的應(yīng)用和發(fā)展提供新的參考。
1 硬件設(shè)計
1.1 STM32L051單片機
STM32L051K8U6單片機屬于超低功耗的ARM Cortex-M0+MCU系列單片機[7],適用于長時間運行且能耗需求低的產(chǎn)品。在運行模式下,該單片機電流消耗為88 μA/MHz;在待機和停止模式下,電流消耗分別為0.4 μA和0.27 μA;在停止模式+RTC+8 k字節(jié)RAM的配置下,電流消耗為0.8 μA,即在極低功耗時也能保留一定的RAM數(shù)據(jù)。STM32L051K8U6在1.65~3.6 V的電壓范圍內(nèi)能穩(wěn)定工作,且在-40~125℃的溫度范圍內(nèi)能正常工作。STM32L051K8U6采用UFQFPN-32封裝,占用空間小,便于集成到小巧緊湊型設(shè)備中,符合本設(shè)計的產(chǎn)品需求。
1.2 ST25DV16K芯片
ST25DV16K-IER6S3是意法半導(dǎo)體生產(chǎn)的一款射頻芯片[8]。該芯片內(nèi)的EEPROM存儲容量為16 KB,能滿足一定量數(shù)據(jù)的存儲需求。ST25DV16K-IER6S3的工作頻率范圍廣,可適應(yīng)不同射頻通信場景,支持SPI(串行外圍設(shè)備接口),便于與其他微控制器或數(shù)字邏輯電路連接。ST25DV16K-IER6S3采用緊湊型封裝設(shè)計,在空間受限產(chǎn)品中仍能使用,且在-40~105 ℃的溫度范圍內(nèi)能正常工作。ST25DV16K-IER6S3支持1.8~3.6 V的電源電壓,能在不同電壓條件下穩(wěn)定工作,其具有的數(shù)據(jù)加密和保護機制能防止未授權(quán)訪問和數(shù)據(jù)篡改。作為一款射頻卡芯片,ST25DV16K-IER6S3同時具有低功耗的特性,符合本設(shè)計的能耗需求,適用于無線通信、智能卡、身份驗證、物聯(lián)網(wǎng)設(shè)備等領(lǐng)域。
1.3 鋰電池充電模塊
鋰電池充電模塊主要由TP4056芯片和紅綠LED組成。充電模塊原理如圖1所示,輸入電源電壓為4~8 V;CE為高電平時,TP4056處正常工作狀態(tài),輸入電平時,TP4056處于禁止充電狀態(tài)。TEMP接地取消電池溫度檢測,PROG連接外部電阻接地可對充電電流進行編程,充電電流估算如式(1)所示。
Ibat=11200/Rprog(1)
式中,Ibat為充電電流,Rprog是恒流充電電流設(shè)置和充電電流監(jiān)測端PROG腳的電阻。充電時,CHRG管腳被內(nèi)部拉至低電平(否則處于高阻態(tài)),D1導(dǎo)通,紅燈亮,表示正在充電;充電完成時,STDBY內(nèi)部開關(guān)拉至低電平(否則處于高阻態(tài)),D2導(dǎo)通,綠燈亮。
1.4 LDO降壓穩(wěn)壓電路
LDO降壓穩(wěn)壓電路由XC6206線性穩(wěn)壓芯片和2對差值為100倍以上的濾波電容組成[9]。LDO降壓穩(wěn)壓電路工作原理如圖2所示。電池通過VBAT接口對模塊供電,當(dāng)S1閉合時,電壓通過C1、C2濾波電容進入XC6206線性穩(wěn)壓芯片降壓,通過Vout輸出至濾波電路,由V_3輸出至MCU進行供電。當(dāng)負(fù)載電壓Vout上升時,通過電阻R1、R2進行采樣反饋,反饋點VFB電壓上升,放大器U1對誤差進行放大,此時UG電壓增大,當(dāng)輸入電壓Vin不變時VGS電壓減小,源極電流ID減小,VDS電壓增大,輸出電壓Vout減小。當(dāng)負(fù)載電壓Vout降低時,通過電阻R1、R2進行采樣反饋,反饋點VFB電壓下降,放大器U1對誤差進行放大,此時UG電位降低,當(dāng)輸入電壓Vin不變時VGS電壓增大,源極電流ID增大,VDS電壓減小,輸出電壓Vout增大。
1.5 USB轉(zhuǎn)TTL電路
USB轉(zhuǎn)TTL電路由TYPE-C接口電路和CH340C芯片組成。圖3(a)和圖3(b)分別是USB接口電路和串口燒錄電路。程序編譯完成后,單片機通過USB接口與計算機連接,經(jīng)CH340驅(qū)動將計算機端的USB電平轉(zhuǎn)化為TTL電平,再利用CH340芯片將USB數(shù)據(jù)轉(zhuǎn)化為串口數(shù)據(jù),最后經(jīng)TXD和RXD發(fā)送到STM32L051K8U6中。
1.6 NFC電路
NFC模塊電路原理如圖4所示,由ST25DV16K芯片、2張模擬IC和撥輪開關(guān)電路組成。ST25DV具備雙接口動態(tài)標(biāo)簽,AC0、AC1為差分天線接口,內(nèi)部包含EEPROM空間,通過手機、NFC讀卡器等設(shè)備與板載環(huán)狀天線對內(nèi)存進行讀寫操作。動態(tài)標(biāo)簽與普通標(biāo)簽相比多了一個I2C接口和GPO中斷接口,I2C接口與NFC接口實現(xiàn)數(shù)據(jù)交互。I2C接口工作時須接入VCC電源,普通標(biāo)簽中讀卡器磁場與標(biāo)簽天線耦合,讀卡器產(chǎn)生的磁場為標(biāo)簽芯片供電,動態(tài)標(biāo)簽在讀寫memory時經(jīng)過NFC無須VCC供電,因此,動態(tài)標(biāo)簽在關(guān)機狀態(tài)能將參數(shù)寫入,MCU上電時通過I2C在EEPROM中讀取參數(shù),完成一次參數(shù)配置過程。撥輪開關(guān)通過控制內(nèi)部電路連通方向,切換不同的天線接口與對應(yīng)的I2C,實現(xiàn)卡片切換的功能。
1.7 墨水屏拓展電路
微雪1.54英寸V2版的墨水屏的詳細(xì)參數(shù)如表1所示。該墨水屏的功耗非常低,休眠電流小于0.01 μA??梢暯嵌葞缀踹_180°,用戶能從多個角度清晰地看到顯示內(nèi)容。墨水屏無需背光,斷電后可長時間保持最后一屏的顯示內(nèi)容,非常適合需要長時間顯示的應(yīng)用場景。墨水屏采用“微膠囊電泳顯示”技術(shù),在環(huán)境光下通過反射形成接近傳統(tǒng)印刷紙張的顯示效果。墨水屏模塊具有SPI控制接口,可接入Raspberry Pi、Jetson Nano、Arduino、STM32等多種主控板。同時,部分版本還板載電平轉(zhuǎn)換芯片,可兼容3.3 V和5 V單片機接口,提供了更大的靈活性。這些優(yōu)勢使該墨水屏在商場貨架標(biāo)簽、工業(yè)儀表和閱讀器中的應(yīng)用較廣泛。
1.8 硬件電路執(zhí)行流程
硬件電路的主要執(zhí)行流程如圖5所示。數(shù)據(jù)通過NFC設(shè)備寫入內(nèi)存到天線的EEPROM,再傳到
ST25DV芯片。芯片上電后可選擇通過I2C直接傳輸數(shù)據(jù)至STM32L051單片機,同時寫入IC卡。通過USB轉(zhuǎn)TTL電路將IC卡里的數(shù)據(jù)燒錄到STM32L051單片機,然后發(fā)送數(shù)據(jù)至EPD顯示模塊。如果接收數(shù)據(jù)為圖片則全屏顯示,如果接收到文字或其他格式數(shù)據(jù)則不顯示內(nèi)容。
2 軟件設(shè)計
通過軟件編程實現(xiàn)的具體功能包括:驅(qū)動各模塊完成STM32L051與ST25DV之間的通信、墨水屏的顯示功能及串口燒錄功能。軟件設(shè)計和實現(xiàn)的主要流程如圖6所示。首先調(diào)用對應(yīng)的函數(shù)完成各模塊的初始化,配置硬件的時鐘信息并調(diào)節(jié)輸出電壓為1級。然后讀取NFC射頻卡片中的信息并寫入墨水屏,再將內(nèi)容顯示在墨水屏上,檢查內(nèi)容是否正確,如果正確則說明數(shù)據(jù)讀取和寫入成功,如果不正確則返回上一步重新讀取和寫入內(nèi)容。
3 功能測試與分析
3.1 功能測試結(jié)果
設(shè)計完成后進行相關(guān)的實驗測試,測試內(nèi)容包括:各模塊間的線路連接是否正確,LED燈在充電狀態(tài)是否正常,USB轉(zhuǎn)TTL的串口燒錄是否正常,NFC電路對卡片數(shù)據(jù)的復(fù)制和寫入是否有丟失現(xiàn)象,STM32與ST52DV的通信狀態(tài)是否正常,遠(yuǎn)程控制的通信功能是否正常,墨水屏顯示是否正常。
經(jīng)過測試,各模塊間線路連接正確,LED燈充電狀態(tài)正常,串口燒錄正常(見圖7),NFC電路對卡片數(shù)據(jù)的復(fù)制和寫入功能完整,STM32與ST52DV之間的通信正常。所有測試結(jié)果如表2所示。
3.2 App與墨水屏交互結(jié)果
手機App與墨水屏實現(xiàn)數(shù)據(jù)交互的過程如下:先同時按下2個側(cè)面按鍵清空墨水屏數(shù)據(jù),變成白色屏幕;然后打開手機NFC,打開配套的NFC軟件,點擊單幀算法,使用二值化或者模擬灰度算法;最后將撥輪開關(guān)向下按使能NFC芯片,同時按住電源按鍵,將NFC卡片置于手機背面,等待App讀取進度條加載完即完成數(shù)據(jù)傳輸。
將撥輪開關(guān)撥向左或右是分別選擇2張IC卡,然后使用PN532模塊完成數(shù)據(jù)的讀取和復(fù)制。讀卡過程中,在NFC上位機顯示界面可以發(fā)現(xiàn)未加密卡的每一塊03扇區(qū)上的內(nèi)容都是00,說明初始化完成。依次點擊左上角三角形、確認(rèn)文本框,然后完成卡片配置內(nèi)容的重命名,保存文件。將NFC射頻卡片置于PN532線圈上,在上位機界面分別點擊“讀取卡片內(nèi)容”和“寫入卡片”,等待讀取和寫入完成并找到保存的.dump文件。
3.3 功能不足與展望
充電模塊在充放電過程中,放電電壓在4 V以上時設(shè)備正常工作,但電壓低于3.5 CV時芯片發(fā)熱情況明顯增加。檢查發(fā)現(xiàn)在低電量模式下,該模塊出現(xiàn)了掉電過快現(xiàn)象,使芯片發(fā)熱增加。前人設(shè)計的許多類似設(shè)備都存在這個問題[10],后期筆者將嘗試從以下幾個方面進行改進,以緩解充放電模塊在低電量模式下的芯片發(fā)熱情況,以提高設(shè)備的穩(wěn)定性和可靠性。
(1)優(yōu)化電源管理策略,確保低電量模式下,電源模塊可以更高效地工作,減少不必要的能量損耗,
從而降低芯片的發(fā)熱。例如,通過動態(tài)調(diào)整電源轉(zhuǎn)換效率來適應(yīng)不同的負(fù)載需求。
(2)在電路設(shè)計上,嘗試用開關(guān)電源代替線性電源,來提高電源轉(zhuǎn)換效率,以減少能量損耗和發(fā)熱。同時,確保電路設(shè)計中有足夠的過流保護,避免因負(fù)載過流而造成的額外發(fā)熱。
(3)軟件設(shè)計方面,通過優(yōu)化軟件算法,減少CPU的運算負(fù)載,達到降低芯片的功耗和發(fā)熱的目的。此外,合理控制軟件的運行狀態(tài),如在低電量模式下限制后臺應(yīng)用刷新、降低屏幕亮度等。
(4)采用實時監(jiān)控芯片溫度的措施,根據(jù)反饋信息動態(tài)調(diào)整電源管理和散熱策略,以保持芯片在最佳溫度范圍內(nèi)工作。
4 結(jié)語
為提高NFC卡片的智能化水平,本文基于STM32L051單片機和ST25DV芯片設(shè)計了一款集成度高、安全性好的NFC卡片。該卡片具有一卡多用、攜帶方便和安全性高的優(yōu)點。用戶可通過PN532芯片實時復(fù)制和寫入數(shù)據(jù)到卡片,保證用戶的隱私數(shù)據(jù)不易丟失。同時,通過撥輪開關(guān)實現(xiàn)卡片切換,用戶可以在手機App上實現(xiàn)墨水屏內(nèi)容的顯示和更換,多種交互方式方便用戶根據(jù)自己的喜好制定個性化方案。在未來的研究中,研究人員可以將墨水屏驅(qū)動板分離,方便產(chǎn)品進行硬件修護和軟件升級操作,同時優(yōu)化結(jié)構(gòu)設(shè)計以緩解充放電模塊在低電量模式下的芯片發(fā)熱情況。
參考文獻
[1]李敏儀,胡镕顯,劉韜,等.探究無線通信技術(shù)智能化現(xiàn)狀與發(fā)展趨勢[J].信息記錄材料,2023(9):30-33.
[2]王沛毅,巨新新,趙俊巖,等.基于NFC技術(shù)的一卡通系統(tǒng)設(shè)計與應(yīng)用[J].無線互聯(lián)科技,2021(18):50-51.
[3]嚴(yán)安軍,錢鋼,袁琪,等.基于位移傳感器的NFC數(shù)據(jù)抗干擾傳輸機制研究[J].電子設(shè)計工程,2024(10):101-105.
[4]楊祺.基于NFC的新一代移動支付體系及其安全問題研究[J].無線互聯(lián)科技,2015(22):6-7.
[5]楊陽,劉慶華.基于STM32的智能小車設(shè)計[J].無線互聯(lián)科技,2022(21):20-24.
[6]WANG R.The design of motor precision positioning system based on STM32 single chip microcomputer[J].Journal of Physics: Conference Series,2018(6):062020.
[7]張夢飛.NFC移動支付的安全技術(shù)和認(rèn)證方案研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2019.
[8]周凱迪,周德明,楊益,等.基于STM32L051的電梯振動高溫預(yù)警系統(tǒng)設(shè)計[J].電子制作,2024(8):78-81.
[9]KERSTIN R,ADRIAN R.STMicroelectronics and the commission’s communication “A Chips Act for Europe”[J].European State Aid Law Quarterly,2023(1):29-41.
[10]熊園園,劉沛,付予,等.基于內(nèi)嵌式微通道芯片散熱結(jié)構(gòu)設(shè)計研究綜述[J].集成電路與嵌入式系統(tǒng),2024(7):12-18.
(編輯 王雪芬編輯)
Design of smart NFC card based on STM32 and ST25DV microcontroller
ZHU" Daoheng, TANG Yibing, LI Xiaoyu
(School of Electronics and Information Engineering, Guangdong Ocean University, Zhanjiang 524088, China)
Abstract:" Aiming at the problems of single function, low security, and poor compatibility with smart devices of NFC cards used in daily life, an smart NFC card is developed based on STM32L051 microcontroller and ST25DV chip. Relevant experimental test results show that the NFC card can integrate the functions of multiple independent cards, not only supporting the simulation, copying, and swiping functions of IC cards but also allowing users to complete personalized customization through App. In terms of security, the card can guarantee the safety of users’ private data. This design can provide a useful reference for IC cards in future diversification and intelligent development.
Key words: NFC; STM32; ST25DV; personalized; data safety