Skip to main content

Az NFC-képesség minden alkalmazásra

Megjelent: 2018. június 01.

lidDigi KeyAnnak érdekében, hogy megfeleljenek az NFC-alkalmasság (NFC – kis távolságú kommunikáció) iránti egyre növekvő igénynek, a fejlesztőktől gyors és optimalizált megoldásokat kérnek.
A hagyományos módszerek lassítják a fejlesztést, mert a tervezőknek olyan kihívásokkal kell megküzdeniük, mint a rádiófrekvenciás (RF) áramkör optimalizálása, az NFC-protokoll kezelése, a fogyasztás és a minél kisebb kialakítási méret. Az NXP mikrokontrollere, az arra épülő fejlesztőkártya és a hozzákapcsolódó szoftvercsomag leegyszerűsítik az eszközök NFC-alkalmassággal való kiegészítését.

 

Miért az NFC?

Az NFC az eszközök olyan fontos jellemzőjévé vált, amely túlmutat eredeti célján, az NFC használatával történő fizetésen. A fejlesztők az NFC okostelefonokban és más mobileszközökben általánosan meglévő támogatását használják fel arra, hogy egyszerűsítsék a berendezések vezérlését a fogyasztói, ipari és egyéb szegmensekben.
A felhasználók pusztán az okostelefonjukat egy okosjátékhoz, háztartási eszközhöz vagy hálózati készülékhez közelítve egyszerűen és biztonságosan tudják beállítani és vezérelni a célrendszert. Az okostelefonban lévő „kezdeményezőegység”, azaz a közelségi csatolóeszköz (PCD) rádiófrekvenciás tere energiával látja el a céleszköz közelségi indukciós csatolókártyáját (PICC).
Ezzel a módszerrel minden ISO 14443-kompatibilis PCD és PICC képes kétirányú kommunikációt folytatni a rádiófrekvenciás térnek az adatokkal történő – a szabványban megadott modulációs és kódolási séma szerinti – modulálásával.

 

NFC mikrovezérlő egység

Az NXP LPC8N04 MCU (mikrovezérlő egység) költségtakarékos megoldást kínál az NFC tervezéséhez. Ez a 4 × 4 mm-es, 24 kivezetésű mikrovezérlő, amelynek az alapja egy ARM® Cortex®-M0+ processzormag, egy teljes NFC/RFID alrendszert ötvöz soros illesztőfelületekkel, GPIO-kkal (általános célú be- és kimenettel) és memóriával, beleértve 32 kB flash memóriát, 8 kB SRAM-ot és 4 kB EEPROM-ot. A kis fogyasztásnak köszönhetően képes kizárólag a közelében lévő rádiófrekvenciás tér energiájából kicsatolt energiával működni, aminek köszönhetően kiválóan illeszkedik a dolgok internetére (IoT) csatlakozó akkumulátormentes internetes rendszerekhez, az intelligens címkés önálló rendszerekhez és az optimalizált NFC-s megoldást igénylő eszközökhöz.
A fejlesztés egyszerűsítése érdekében az LPC8N04 egyesíti az ARM beágyazott vektoros megszakításkezelőt (NVIC, Nested Vectored Interrupt Controller) és a soroshuzal-hibakeresőt (SWD, Serial Wire Debug). Ebben az esetben két figyelőponti komparátorral és négy töréspont-komparátorral megvalósított SWD kétirányú adatkapcsolatot tesz lehetővé JTAG ellenőrzéshez és hibakereséshez, valamint futásidejű hozzáférést ad a rendszer-
memóriához anélkül, hogy ehhez más szoftver meglétét igényelné az eszközön. Az LPC8N04 firmware-je ezenkívül teljes alkalmazásprogramozói felületet (API) kínál a flash memória szektorainak törléséhez, az adatok flash memóriába másolásához, a gyárilag beprogramozott egyedi gyári szám kiolvasásához és sok egyébhez.
A jelen cikkhez leginkább kapcsolódó funkció az NFC-alrendszerben található. Az egyre növekvő igények alapján fellépő NFC-alkalmazások támogatására szánt eszköz teljes kétirányú kommunikációt tesz lehetővé 13,56 MHz-es közelségi jelet használva. Az eszköz kompatibilis az NFC-előírások széles skálájával, többek közt az NFC/RFID ISO 14443A, az NFC Forum Type 2 és a MIFARE Ultralight EV1 PICC szabvánnyal.
Az alrendszer egyszerű illesztőfelület-típust kínál mind hardveres, mind szoftveres csatlakozásokhoz (1. ábra). Hardveres illesztőfelületek esetén az alrendszer 50 pF belső kapacitása kompatibilis az olyan szabványos NFC-antennákkal, mint a Molex 1462360021-es típusa. Ennek következtében a tervezők a boltban készen kapható antennákat csatlakoztathatnak az LPC8N04 LA és LB kivezetéseihez. Ezenkívül az eszköz a rádiófrekvenciás térből nyeri az órajelét, szükségtelenné téve további órajel-előállító alkatrészek használatát. (1. ábra)

1 abraDigi Key

1. ábra  Az NXP LPC8N04 mikrovezérlő egység (MCU) beépített rádiófrekvenciás alrendszere antennacsatlakoztatási lehetőséget kínál az LA és LB lábaknál, valamint a regiszterekhez és az SRAM-hoz való hozzáféréshez használható szoftveres illesztőfelületet (A kép forrása: NXP)

 

Funkciójukat tekintve az NFC ÍRÁSI/OLVASÁSI műveleteinél használt regiszterek (CMDIN, DATAOUT, SR) és SRAM mind egy közös memóriában vannak leképezve, amelyhez a hozzáférést egy beépített egyeztetőegység végzi. A kommunikációs munkamenet során a külső NFC/RFID kezdeményezőegység olvassa és írja az SRAM-ot. Az LPC8N04 eszköz ARM Cortex-M0+ magján futó firmware viszont hozzáfér a regiszterekhez és az SRAM-hoz, elemzi az üzeneteket, és megfelelőképpen válaszol ugyanazokat a közös erőforrásokat használva. A kommunikációs csatorna védelme érdekében a fejlesztők használhatják a MIFARE protokoll jelszóhitelesítési módszerét, hogy lehetővé tegyék a blokkokhoz való szükség szerinti hozzáférést.
A teljes kommunikációs szekvencia akkor indul el, amikor valamilyen külső kezdeményezőegység rádiófrekvenciás jelet küld az LPC8N04 vételi tartományán belülről. A rádiófrekvenciás tér használható az LPC8N04 kis fogyasztású alvó üzemmódból való felélesztésére, és az lesz az egység kizárólagos energiaforrása, amint az alábbi leírásban is olvasható.

 

Energiagazdálkodás

Az energiafogyasztás az ilyen eszközök esetében kritikus szempont. A múltban a fejlesztőknek gyakran kompromisszumot kellett kötniük a funkciók és a teljesítmény között, hogy minimálisra csökkentsék a fogyasztást. Az LPC8N04 esetében a fejlesztők az eszköz számos tulajdonságát felhasználhatják a fogyasztás és a teljesítmény követelményeinek megfelelő beállítására.
A fogyasztás csökkentésére irányuló jellegzetes módszerek egyikeként a fejlesztők rutinszerűen módosíthatják a rendszer órajelének frekvenciáját. Az LPC8N04 eszközt használva a fejlesztők ezzel a megoldással jelentős mértékben csökkenthetik a fogyasztást (2. ábra).
A maximális 8 MHz-es órajelen az LPC8N04 nagyjából 900 µA-t vesz fel. Az órajelet 1 MHz-re csökkentve a fogyasztás nagyjából 200 µA-re csökken. Az órajel frekvenciájának csökkentésén kívül a fejlesztők kihasználhatják a számos különféle teljesítmény-üzemmódot, amelyek az LPC8N04 bizonyos részeit szelektív módon leállítva csökkentik a fogyasztást. (2. ábra)

2 abraDigi Key

2. ábra  A fejlesztők jelentősen csökkenthetik az LPC8N04 áramfelvételét, ha a maximális 8 MHz-es frekvenciát (6. görbe) 4 MHz-re (5.), 2 MHz-re (4.), 1 MHz-re (3.), 500 kHz-re (2.) vagy akár 250 kHz-re (1.) csökkentik (A kép forrása: NXP)

 

Mint a legtöbb összetett eszköz, az LPC8N04 is elkülönített energiaellátású csoportokra rendszerezi az alrendszereit: ilyen a memória és az analóg perifériák; a digitális mag; valamint az olyan állandó feszültséget igénylő áramkörök, mint a valós idejű óra (RTC), és a feszültségesés-érzékelő (BOD) (3. ábra). Cserébe a beépített energiamenedzsment-egység (PMU) engedélyezi vagy letiltja az analóg és digitális energiaellátási csoportokat energiával ellátó kis feszültségkülönbségű (LDO) szabályozóegységeket. (3. ábra)
Az LPC8N04 tápellátás-szabályozó (PCON) regiszterében lévő biteket megfelelően beállítva a fejlesztők ezeknek az energiaellátási csoportoknak három kis fogyasztású üzemmódjára tudják beprogramozni a PMU-t:

  • Alvó üzemmód: a PMU táplálja mindkét csoportot – csökkentve a feszültséget, de közben engedélyezve a processzorfunkciók és az utasításvégrehajtások gyors folytatását.
  • Mély alvás üzemmód: a PMU csak az analóg csoportot tiltja le – a lehető legkisebb táplálást biztosítva, amely még elegendő a processzorállapot, a perifériaregiszterek és a belső SRAM-ban lévő adatok megtartásához, de a nem felejtő memória eléréséhez nagyobb feszültségnövekedési időre van szükség.
  • Mély tápfeszültség-csökkentés üzemmód: a PMU leállítja az analóg és a digitális csoportot is, a fogyasztást mindössze 3 µA-re csökkentve, azon az áron, hogy a processzorállapot visszaállítása és az utasításvégrehajtás nagyobb késedelmet szenved.

A PMU mindhárom fenti, kis fogyasztású üzemmódban leállítja a processzormagot. Ennek eredményeképpen a kis fogyasztású üzemmódok használata esetén hosszabb lesz a teljesen aktív üzemmódba való visszatéréshez szükséges feléledési idő. Természetesen a feléledési idő a mélyebb kis fogyasztású üzemmódok esetén még hosszabb lesz. A gyakorlatban azonban a feléledési idő valószínűleg elég rövid a legtöbb NFC-eszköz számára. A legrosszabb esetben az aktív üzemmód eléréséhez szükséges teljes feléledési idő a táplálás bekapcsolása vagy újraindítása esetén nagyjából 2,5 ezredmásodperc (ms).

3 abraDigi Key

3. ábra  Az NXP LPC8N04 mikrovezérlő egység energiaellátási architektúrájában egy energiagazdálkodó egység (PMU) lát el több kis fogyasztású üzemmódot, szelektíven engedélyezve vagy letiltva az analóg és digitális energiaellátó csoportokat energiával ellátó kis feszültségkülönbségű (LDO) szabályozóegységeket (A kép forrása: NXP) 

 

A rádiófrekvenciás energia kicsatolása

Az LPC8N04 viszonylag gyors feléledési ideje lehetővé teszi a fejlesztők számára, hogy kihasználják az eszköz azon képességét, hogy energiát csatol ki magából a kezdeményezőegység rádiófrekvenciás teréből. Amikor a VNFC (a rádiófrekvenciás térből kinyert vagy kicsatolt feszültség) a küszöbérték fölé emelkedik, az eszköz energiaellátási architektúrájában a forrásválasztó egység automatikusan átkapcsolja az eszköz energiaellátását az akkumulátorról a kicsatolt energiára (lásd ismét a 3. ábrát). A fejlesztők üzemeltethetik az LPC8N04-et kizárólag erről a forrásról, vagy használhatják a rádiófrekvenciás energiakicsatolást az akkumulátort kiegészítő áramforrásként. Bár a forrásválasztó egység auto-
matikusan kiválasztja a legjobb energiaforrást, a fejlesztők az eszköz által megkövetelteknek megfelelően kikényszeríthetik a VBAT vagy a VNFC választását.
A gyakorlatban az LPC8N04 rádiófrekvenciás térből kicsatolt energiával való táplálásának lehetősége a külső olvasó által kibocsátott rádiófrekvenciás térerőtől és az LPC8N04-hez kapcsolt vevőantenna-áramkör nyereségétől függ. Amint már említésre került, a fejlesztőknek csak egy megfelelő antennát kell kapcsolniuk az LPC8N04 LA és LB kivezetéseihez. A gyakorlatban azonban a felvett energia maximalizálására való képesség attól függ, optimálisan van-e kialakítva az antennaáramkör.
Mint bármilyen RFID/NFC tervezése esetén, az antenna induktanciája rezgőkört képez a rádiófrekvenciás bemenet teljes bemeneti kapacitásával (antenna, vevő és a csatlakozások parazitakapacitásai). Ennek az összeállításnak a teljes ohmos ellenállása határozza meg a jósági tényezőt, amely a rezgőkör teljesítményéhez és a térerőhöz kapcsolódik. Például ha nagyobb a csatlakozás ohmos ellenállása, az csökkenti a jósági tényezőt, és csökken a rádiófrekvenciás adó hatékony adástávolsága.
A megfelelő antenna megtervezését tovább nehezíti az, hogy a bemeneti kapacitás és a bemeneti ohmos ellenállás függ a bemeneti feszültségtől (az LPC8N04 esetében: VLA-LB). Ahogy változik a bemeneti feszültség, a bemeneti kapacitás ennek megfelelő változása miatt megváltozik a rezgőkör rezonanciafrekvenciája, míg a bemeneti ohmos ellenállásnak a bemeneti feszültség miatti változása révén változik a jósági tényező. Az antennatervezés szakértői általában számítanak ezekre a változásokra, és a minimális bemeneti feszültségre tervezik az antennát.

 

Gyors fejlesztésre szolgáló platform

Bár az elv egyszerű, a hatékony NFC nulláról való megtervezése a gyakorlatban lelassíthatja azokat a tervezőket, akik gyorsan szeretnének olyan eszközöket használatba venni, amelyek az NFC-re alkalmas okostelefonok széles körű elterjedtségét használnák ki. Saját rendszer létrehozása helyett a fejlesztők azonnal elkezdhetik az NFC-eszközök fejlesztését az NXP LPC8N04-re épülő OM40002 fejlesztőkártyát használva. Az LPC8N04 kártya és a hozzá kapcsolódó NXP szoftverfejlesztő csomag kombinálásával azonnal használható NFC-megoldást nyújt, és egy olyan platformot, amely alkalmas egyéni hardvereszközök és szoftveralkalmazások létrehozására.
A OM40002 kártya két, eltörhető illesztőfelülettel elválasztott részből áll (lásd a 4. ábrán a bevágások közt húzódó függőleges vonalat). A fő processzort (MP) tartalmazó részen található egy LPC8N04 a kártya tetején (4a ábra, jobbra) és egy beépített antenna a kártya alján (4b ábra, jobbra). A hibakereső szondát (DP) tartalmazó részen található egy NXP ARM Cortex-M0 LPC11U35FHI33 mikrovezérlő egység (MCU) és hibakereső erőforrások (4a ábra, balra). A hibakereső szondát (DP) tartalmazó rész alján (4b ábra, balra) egy 5 × 7 LED-ből álló tömb és egy felületre szerelt hangszóró egy egyszerű kezelőmechanizmust kínál a fejlesztőcsomagban található mintaalkalmazáshoz.
A fejlesztés során a mérnökök az egész kártyát teljes rendszerként használhatják. Az egyéni tervekhez a fejlesztők használhatják a teljes kártyát az eszközük szoftverének hibakeresésére, és később leválaszthatják a fő processzort tartalmazó részt, amelyet önálló NFC alrendszerként használhatnak. (4a ábra) (4b ábra)

4 abraDigi Key

4. ábra  Az NXP OM40002 kártya kombinálja a hibakereső egységet (DP) (az a és a b rész bal oldala) és a fő processzort (MP) tartalmazó részt, lehetőséget adva a fejlesztőknek, hogy leválasszák a fő processzort tartalmazó részt, és hozzáadják ezt a teljes NFC alrendszert a saját tervükhöz (A kép forrása: NXP)

 

A kártyára gyárilag fel van töltve egy az LPC11U35FHI33 mikrovezérlő egységen firmware-ként futó mintaalkalmazás.
A kártya LED-tömbjének és hangszórójának használatával az eszközzel szemléltethető az NFC adatcsere-formátumában (NDEF) az LPC8N04 és az NFC-re alkalmas, az NXP által kínált ingyenes androidos alkalmazást futtató okostelefon között váltott üzenet. A legtöbb NFC-re alkalmas okostelefon és más mobil eszközök által használt NDEF kevés kiegészítő adatot tartalmazó formátum, amely egyetlen üzenetbe beágyazva tartalmaz tetszőleges adatokat. Az androidos mintaalkalmazással a fejlesztők jobban megismerhetik az NDEF útján az okostelefonjuk és az OM40002 kártya között cserélhető adatok típusát és méretét.

 

NDEF-adatfeldolgozás

Képességeinek észszerű szemléltetésén kívül azonban a mintaalkalmazás fontos tervezési mintákkal is ellátja a tervezőket ahhoz, hogyan használhatják az LPC8N04-et az NDEF-üzenetek feldolgozására. Az NXP szoftverfejlesztő csomagja tartalmaz – regiszterszintű tranzakciókat kezelő alacsony szintű – szolgáltatási rutinokat, miközben a mintaalkalmazás szemlélteti a magasabb szintű műveleteket. A fejlesztőcsomagban található egy főrutin, amely megjeleníti, hogyan inicializálhatják a fejlesztők az LPC8N04 hardvert és a hozzá kapcsolódó, a fő feldolgozási hurok előtti szoftverfelépítéseket (1. lista).
Az első meghívásakor a főrutin először ellenőrzi, hogy egy olyan RTC-esemény indította-e el (wakeupReason = PMU_DPD_WAKEUPREASON_RTC), amely azt jelzi, hogy lejárt az ébresztési számláló. Ha nem, a rutin belép a fő hurokba, ellenőrzi az olvasótól származó különféle parancsokat, és végrehajtja válaszul a megfelelő műveleteket. Ha semmilyen NFC-tevékenység nem történik (például mert az okostelefon már nincs hatótávolságon belül), a rutin végül időtúllépésbe kerül.
Bár az elv egyszerű, a mintaalkalmazás és az alapját képező szolgáltatási rutinok átfogóan ismertetik, hogyan kezeli az NDEF-üzeneteket az LPC8N04.

Digi Key lista

1. lista  Az NXP LPC8N04 fejlesztői szoftvercsomag teljes könyvtárkészleteket és a legfontosabb NFC-műveletekhez – amilyen például az NDEF-üzenetek olvasása, amit ez a kódrészlet mutat – szükséges alapszintű tervezési mintákat szemléltető szoftveres mintaalkalmazásokat kínál (A kód forrása: NXP)


Amint az 1. listán látható, a mintaalkalmazás fő hurka szemlélteti az NDEF-üzenetek kezeléséhez használt műveletek sorrendjét.
Ha normál üzem közben egy új NDEF-üzenet jelenik meg az LPC8N04 közös memóriájában, az egy megszakítást vált ki, amely beállít egy jelzőt (sTargetWritten). Ebben a szemafor alapú architektúrában a fő rutin várakozik, amíg el nem kérheti a szemafort (takeMemSemaphore()), mielőtt betöltené az üzenetet (NDEFT2T_GetMessage) a pufferjébe. A rutin feldolgozza az NDEF-üzenetet (NDEFT2T_GetNextRecord), kinyerve annak hasznos részét, és elemzi az eredményt.
Ebben az alkalmazásban ha a hasznos rész karakterlánc, akkor a rendszer az EEPROM-ba írja az adatokat (eepromWriteTag), és elindítja a LED-es kijelzést (startLEDDisplay). Ha a hasznos rész ehelyett „application/octet-stream” mime-típus, a rendszer ellenőrzi a binData[0] értékét, megnézve, hogy az adat zene-e (binData[0] == 0x53), vagy görgetésisebesség-beállítás (binData[0] == 0x51). Utóbbi esetben a rendszer menti az új görgetési sebességet az EEPROM-ba. Előbbi esetben a rendszer kinyeri a zenei adatokat (extractMusic), kiírja az adatokat az EEPROM-ba, majd ha a felhasználó használja a zenelejátszót, akkor újraindítja azt (startMusic).
A szoftvercsomagban megtalálható az alkalmazás és a szolgáltatási rutinok teljes forráskódja. A fejlesztők megvizsgálhatják például a forráskódot az NDEFT2T_GetMessage() és az NDEFT2T_GetNextRecord() függvényben, hogy megtudják az NDEF-üzenetek olvasási és feldolgozási jellemzőit. A fejlesztők számos esetben valószínűleg módosítás nélkül használni tudják majd a szolgáltatási rutinokat, ehelyett összpontosíthatnak a main() rutinra és saját alkalmazásuk részleteire.

 

Következtetés

Az NFC-re alkalmas eszközök egyre növekvő számú alkalmazási területre találnak utat a kereskedelmi fizetőrendszereken túl.
A fejlesztők szemszögéből azonban az a kihívás, hogy a fogyasztást a rádiófrekvenciás teljesítmény optimalizálása mellett kell minimalizálni, komoly feladat elé állítja még a legtapasztaltabb mérnököket is.
Az NXP LPC8N04 mikrovezérlő egység (MCU) azzal, hogy egy teljes NFC alrendszert tartalmaz beépítve, kiküszöböli az NFC-tervezés bonyolultságának nagy részét. A gyors megoldást kereső fejlesztők számára az NXP LPC8N04-re épülő fejlesztőkártya és szoftver azonnali használatra kész, teljes eszközt, valamint egyéni NFC-megoldások létrehozására alkalmas fejlesztőplatformot kínál.

 

Szerző: Rich Miron – Digi-Key Electronics

 

Digi-Key Electronics

Angol / német nyelvű kapcsolat
Hermann W. Reiter
Director, Global Strategic Business Development
Digi-Key Electronics Germany
Tel.: +49 151 6286 5934
E-mail: Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.

www.digikey.hu



Még több Digi-Key Electronics