Érzékelőhálózat kiépítése biztonságos, kis fogyasztású Bluetooth-os elosztóval
Megjelent: 2018. szeptember 13.
A Bluetooth rendszert az okostelefonok és más mobileszközök széles körű támogatása miatt sok helyen használják az ügyfelek és személyes elektronikus készülékeik – egyebek mellett például viselhető vagy orvosi eszközeik – összekapcsolására szolgáló vezeték nélküli technikaként. A Bluetooth 5 megjelenésével a dolgok internetére (Internet of Things – IoT) fejlesztő informatikusok ugyanazokat az előnyöket aknázhatják ki, miközben hosszabb távon meg tudnak felelni az érzékelőhálózatok és a dolgok internetére kapcsolódó egyéb alkalmazások egyre növekvő követelményeinek és az általuk megkövetelt egyre nagyobb adatátviteli sávszélességnek.
Ha ezekhez az alkalmazásokhoz szeretnének tervmodelleket készíteni a fejlesztők, akkor a Bluetooth 5-re képes készülékek egyre nagyobb tárházából válogathatnak. Egy teljes rádiós alrendszert és egy processzormagot kombinálva velük, ezek a készülékek képesek a Bluetooth-kommunikációhoz kapcsolódó alacsony szintű tranzakciók végrehajtására. Persze a kis fogyasztás fenntartása és a dolgok internetének hálózatában a biztonságos kapcsolat fenntartása további bonyodalmat jelenthet a Bluetooth ezen alkalmazásokban való használata során.
1. ábra A Cypress Semiconductor CYW20719 egy Arm® Cortex®-M4 magot, egy teljes Bluetooth alrendszert és beépített szoftverszolgáltatásokat tartalmaz, amelyek segítségével Bluetooth 5 használatára képes mikrovezérlő egységet (MCU) kínál kis fogyasztású tervmodellekhez (A kép forrása: Cypress Semiconductor)
Egyesített megoldás
A Cypress Semiconductor CYW20719 eszközét kifejezetten arra tervezték, hogy megfeleljen a dolgok internetéhez, viselhető készülékekhez, személyi elektronikai eszközökhöz és más kis fogyasztású alkalmazásokhoz tervezett, akkumulátorról vagy szárazelemről táplált, Bluetooth útján összekapcsolt tervmodellek egyre növekvő követelményeinek. Kis fogyasztásával és azzal, hogy támogatja a fejlett Bluetooth 5-funkciókat, köztük az alkalmazkodó frekvenciaugratást is, egy fontos előnyt nyújt az ezekhez az alkalmazásokhoz társuló zsúfolt rádiós környezetben.
Az eszköz tartalmaz egy kis fogyasztású Bluetooth rádiós alrendszert, egy lebegőpontos egységet (FPU) magában foglaló Arm® Cortex®-M4 magot és számos perifériablokkot (1. ábra). Ezenkívül a lapkán elhelyezett biztonsági motor gyorsítja a nyilvános kulcsú titkosítást, és a Bluetooth-műveletek biztonságos voltát segítő kritikus titkosítási funkciókat kínál. Végezetül a lapkán elhelyezett energiagazdálkodó egység (PMU) egy rugalmas mechanizmust kínál a fejlesztők számára, hogy teljesíthessék a Bluetooth-képes készülékektől egyre inkább elvárt nagyon kis fogyasztású működéssel kapcsolatos követelményeket.
A CYW20719 rádiós alrendszer egy teljes 2,4 GHz-en működő rádiós jelátviteli részt tartalmaz adási (Tx) és vételi (Rx) műveletekhez. A vételi jelátviteli útvonal esetében az eszköz gyengíti a sávon kívüli jeleket, amivel -95,5 dBm-es vételi érzékenységet ér el, miközben lehetővé teszi a fejlesztők számára, hogy szükség esetén a lapkán kívüli szűrők nélkül használják az eszközt. Az eszköz adási jelátviteli útvonala tartalmaz egy beépített teljesítményerősítőt (PA), amelyet úgy terveztek, hogy támogassa a beállítható adási jelszinteket -24 dBm-től egészen a maximális +4 dBm-ig. A beépített fizikai réteg (PHY) képességgel együtt az eszköz tartalmaz egy lapkán elhelyezett Bluetooth 5 eszközhozzáférés-vezérlő (MAC) réteget is. Optimalizált adási és vételi jelátviteli útvonalaival az eszköz mindössze 5,9 mA-es adóáramot és 5,6 mA-es vevőáramot (0 dBm-en) használ.
2. ábra A Cypress CYW20719 PMU kezeli a szétválasztott fogyasztási területeket, amelyek külön lekapcsolhatók a különböző kis fogyasztású
üzemmódokban, így csökkentve az áramfelvételt a kis fogyasztású tervmodellekben (A kép forrása: Cypress Semiconductor)
A fogyasztás további csökkentése érdekében az eszköz több fogyasztási üzemmódot használ, amelyeket egy beépített energiagazdálkodó egység (PMU) vezérel. A rádiófrekvenciás és digitális fogyasztási területek szétválasztásának támogatására tervezett energiagazdálkodó egységben található egy beépített egyenáramú feszültségszabályozó, egy kis feszültségesésű (LDO) feszültségszabályozó a digitális áramkörökhöz és egy külön kis feszültségesésű feszültségszabályozó a rádiófrekvenciás áramkörökhöz (2. ábra). Ezenkívül az energiagazdálkodó egység tartalmaz még egy különálló megkerülő kis feszültségesésű feszültségszabályozót (BYPLDO), amely automatikusan megkerüli az egyenáramú feszültségszabályozót, hogy táplálja a digitális és rádiófrekvenciás áramköröket, ha az áramforrásként szolgáló akkumulátor vagy a szárazelem feszültsége (VBAT) 2,1 V alá esne.
3. ábra Mivel a Cypress CYW20719 az összes kritikus funkciót egyesíti magában, a fejlesztők mindössze néhány további alkatrészt, például a harmonikus összetevők csökkentése érdekében ajánlott sáváteresztő szűrőt hozzáadva tehetik teljessé a hardver összeépítését (A kép forrása: Cypress Semiconductor)
Üzem közben az energiagazdálkodó egység a választott fogyasztási üzemmódnak (teljesen aktív üzemmód, tétlen üzemmód és három különböző alvási üzemmód) megfelelően felügyeli a fogyasztási területeket. A legalacsonyabb fogyasztású kikapcsolási, alvási (SDS) üzemmódban az energiagazdálkodó egység kikapcsolja az eszköz minden blokkját, kivéve a be- és kimeneti feszültséget, a valós idejű órát (RTC) és a célorientált kis fogyasztású oszcillátort (LPO), amely az órajelet szolgáltatja egyes blokkok számára és a felébredés időzítéséhez.
A CYW20719 SDS üzemmódban még ezen minimális erőforrások használata esetén is képes a kapcsolatot fenntartani egy korábban párosított másik Bluetooth-készülékkel, a folyamat során kevesebb mint 70 μA áramot felvéve.
A rendszer összeépítése
A CYW20719 még rugalmas üzemmódjaival és kiterjedt funkcióival együtt is kíván néhány kiegészítő alkatrészt, hogy megvalósítsa a rendszer-tervmodellen belüli teljes hardver-összeépítést. Mivel a kritikus alkotóelemeket a lapka összeépítve tartalmazza, a fejlesztőknek csak néhány ellenállással, csatolókondenzátorral, egy 2,2 µH-s tekerccsel (például a Murata LQH2MCN2R2M52L típusjelűvel) és egy ferritmaggal (például a Murata BLM15AG601SN1D jelűvel) kell kiegészíteniük (3. ábra). Ezenkívül bölcs dolog egy sáváteresztő szűrőt elhelyezni a CYW20719 és az alkotóelemeket összekapcsoló antenna között a harmonikus összetevők csökkentése érdekében.
Az eszköz ehhez hasonlóan segít egyszerűsíteni a szoftver-összeépítést is a lapkán elhelyezett meglehetősen nagy memóriájával (1 MB gyorsmemória [flash], 512 kB RAM és 2 MB ROM). Míg a gyorsmemória és a RAM az alkalmazásaikhoz való memóriaterületet kínál a fejlesztőknek, a lapkán elhelyezett ROM az eszköz firmware-jének és Bluetooth-profiljának tárolására van fenntartva. A firmware szükség esetén történő javításának támogatására az eszköz javítási RAM-ot biztosít – ez a RAM egy olyan területe, amely a javításvezérlő logikán át kapcsolódik a sínhez (lásd fent az 1. ábrát). Végül az eszközben található egy mindig bekapcsolt (AON) memóriaterület, amely lehetővé teszi, hogy az eszköz adatokat tároljon még az olyan kis fogyasztású üzemmódokban is, mint az SDS, amelyek egyébként kikapcsolják a felejtő memóriát.
Bár a RAM és a lapkán lévő gyorsmemória korlátozott méretűnek tűnhet más csúcstechnikájú eszközökhöz képest, a ROM-ba beépített, kiterjedt szoftvertámogatás a jellegzetes alkalmazások részére rengeteg memóriát biztosít. A Cypress átfogó szoftverkészletet állít be a lapkán elhelyezett ROM-hoz, amely a legalsó hardverabsztrakciós rétegtől (HAL) egészen a WICED (Wireless Internet Connectivity for Embedded Devices, vezeték nélküli internetkapcsolat beágyazott eszközökhöz) környezet alkalmazásprogramozói felületéig (API) terjed (4. ábra).
4. ábra A Cypress CYW20719 2 MB-os ROM firmware-je teljes szoftverkészletet kínál, beleértve a valós idejű operációs rendszert, igy csökkentve ezáltal a fejlesztő alkalmazáskódjának bonyolultságát és helyigényét (A kép forrása: Cypress Semiconductor)
A ROM a hardverabsztrakciós rétegre alapozva futtat egy valós idejű operációs rendszert, és intéz minden kommunikációt a CYW20719 hardverrel. Ugyanakkor a ROM firmware a Bluetooth szolgáltatási rétegek teljes készletét tartalmazza, beleértve azokat is, amelyek a nélkülözhetetlen Bluetooth általános attribútum profilt (GATT) és általános hozzáférési profilt (GAP) támogatják.
A tipikus alkalmazások esetében a fejlesztői kód a RAM-ból fut, a WICED API-kat használva a valós idejű operációs rendszer (RTOS), a perifériák és más eszközfunkciók elérésére. Bár a RAM-mal szembeni követelmények jelentős mértékben változhatnak, a CYW20719 legtöbb alkalmazáskódja általában rengeteg RAM-ot hagy üresen az adatok és a munkamemória számára. A későbbiekben ismertetett hello_sensor alkalmazás például körülbelül 240 kB RAM-ot hagy szabadon.
A különösen nagy kódbázisú alkalmazások esetében ellenben a fejlesztők kihasználhatják a CYW20719 azon előnyét, hogy képes a lapkán elhelyezett gyorsmemóriában helyben futó (XIP) alkalmazáskódot használni. Itt a WICED környezet a lapkán elhelyezett gyorsmemóriába tölti be a fejlesztő által kijelölt kódrészt és az írásvédett adatrészeket, és csak a fennmaradó részeket helyezi a RAM-ba. Ez a módszer természetesen csökkenti az alkalmazás RAM-beli helyigényét, de kihathat a teljesítményre is. Ennek következtében a fejlesztőknek óvatosaknak kell lenniük az XIP-kódrészek kijelölésekor, és biztosítaniuk kell, hogy azok a funkciók, amelyeknél lényeges a végrehajtási idő, a RAM-ba kerüljenek.
Alkalmazásfejlesztés
Bár a CYW20719 egyszerűsíti a tervmodell összeépítését, a biztonságos, kis teljesítményű Bluetooth-alkalmazások létrehozására összpontosító fejlesztők továbbra is jelentős késéseket tapasztalhatnak a hardver kialakítása és az alkalmazásfejlesztés során. A CYW20719 eszközre épülő alkalmazások bemutatására tervezett Cypress CYW920719Q40EVB-01 kiértékelőkészlet a Cypress WICED szoftverkörnyezetet használva kínál referencia-tervmodellt és átfogó fejlesztési platformot a dolgok internetéhez készült Bluetooth 5.0-kompatibilis alkalmazások létrehozására.
A kiértékelőkészlet egy olyan hordozómodulra épül, amely a 3. ábrán látható kialakításban tartalmazza a CYW20719 eszközt, kiegészítve azt a CYW20719 RST_N lábára kötött Torex Semiconductor XC6119N feszültségérzékelővel az alaphelyzetbe állítás végrehajtásához. A hordozómodul a készlet alaplapjára van forrasztva, amelyen az alábbiak találhatók: egy STMicroelectronics LSM9DS1TR 9 tengelyű mozgásérzékelő, egy Murata NCU sorozatú NTC hőellenállás, CYW20719 GPIO portok, egy hibakereső csatlakozó, Arduino-kompatibilis foglalatok a bővítéshez, valamint egyszerű kezelőfelületet biztosító kapcsolók és LED-ek (5. ábra).
5. ábra A Cypress CYW920719Q40EVB-01 kiértékelőkészlet egy olyan hordozómodulon helyezi el a CYW20719 eszközt, amelyen több alaplapi részegység képes támogatni a dolgok internetéhez készült tipikus alkalmazásokat (A kép forrása: Cypress Semiconductor)