Rakenna akuton langaton kytkin Bluetooth-älytuotteille
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2019-03-05
Verkkoon liitettyjen älylaitteiden nopea kehitys on lisännyt yhteyksien muodostamiseen tarvittavien langattomien kytkimien kysyntää. Koska tällaiset kytkimet ovat langattomia, niitä ei tarvitse johdottaa ja ne voi sijoittaa haluttuun paikkaan. Viimeaikaiset langattomat kytkimet käyttävät kuitenkin paristoja tai akkuja, mikä lisää suunnittelun kustannuksia ja kompleksisuutta sekä pakottaa käyttäjät huolehtimaan pariston tai akun vaihdoista. Ratkaisu saattaa löytyä induktiivisesta energian talteenotosta.
Ympäristössä on erilaisia energian lähteitä, esimerkiksi fotonit, RF-energia, tärinä, lämpötilaerot ja paine. Tässä artikkelissa kuvaillaan kuitenkin induktiivisen energian talteenottolaitteen referenssisuunnitelmaa. Tämä perustuu ON Semiconductor- ja ZF Electronics ‑yhtiöiden komponentteihin ja uudenlaiseen Bluetooth-pohjaiseen ratkaisuun, jossa hyödynnetään myös avointa Eddystone-majakka-protokollaa.
Suunnitelma ja siihen liittyvä kehityssarja tarjoavat yhdessä erittäin vähän tehoa kuluttavalle Bluetooth 5.0 ‑moduulille kaiken sen tehon, jota se tarvitsee langattomaan viestintään Bluetooth-yhteydellä varustetun hubin tai älytuotteen kanssa.
Erittäin vähävirtainen suunnitelma
ON Semiconductor BLE-SWITCH001-GEVB ‑kehityssarja sisältää käyttövalmiin Bluetooth 5.0 ‑moduulin sekä energiaa talteen ottavan mekaanisen kytkimen. Kehittäjät saavat käyttöönsä välittömästi langattoman kytkinratkaisun, jota voidaan käyttää pohjana räätälöidyille langattomille kytkinsovelluksille. Tässä suunnitelmassa ZF Electronicsin induktiivinen energian talteenottolaite AFIG-0007 toimittaa ON Semiconductor RSL10 Bluetooth 5 ‑SiP:lle (system-in-package) riittävästi tehoa niin pitkään, että se pystyy lähettämään BLE-majakkaviestejä. Kun älytuotteen tai hubin BLE-vastaanotin vastaanottaa majakkaviestin, se pystyy suorittamaan siihen liittyvän toimenpiteen eli ohjaamaan valoa, relettä tai muuta laitetta.
Tämä akuton ja ilman paristoa toimiva ratkaisu perustuu näiden komponenttien ihanteelliseen yhdistelmään: RSL10:n tarvitsema teho majakkasignaalin lähettämiseen ja AFIG-0007:n kyky generoida riittävästi energiaa sitä varten.
RSL10-moduuli on suunniteltu täyttämään vähävirtaisten langattomien yhteyksien lisääntyvä tarve ja se sisältää useita toimilohkoja täyden Bluetooth 5 ‑ratkaisun tarjoamiseksi (kuva 1). Yleistä prosessointia varten moduulissa on Arm® Cortex®-M3 ‑ydin. Lisäksi se sisältää ON Semiconductorin oman 32-bittisen LPDSP32- digitaalisen signaaliprosessoriytimen (DSP) erityissovellusten käyttöön.
Kuva 1: ON Semiconductorin RSL10-SiP-moduuli sisältää useita toimilohkoja ja tarjoaa täyden Bluetooth 5.0 ‑ratkaisun erittäin pienellä tehontarpeella. (Kuvan lähde: ON Semiconductor)
Moduuli tukee näitä prosessoreita tarjoten lukuisia oheislaitteita sekä muistia, mukaan lukien 384 kilotavua flash-muistia, 76 kilotavua ohjelmamuistia sekä 88 kilotavua datamuistia. Bluetooth-tiedonsiirrosta huolehtivat moduulin 2,4 gigahertsin (GHz) RF-etuaste, joka tukee Bluetoothin fyysistä kerrosta (PHY), sekä monipuolisempia Bluetooth 5.0 ‑protokollia tukeva kantataajuusohjain.
RSL10 pystyy toimimaan laajalla 1,1–3,3 voltin syöttöjännitealueella ja se kuluttaa poikkeuksellisen vähän tehoa. Embedded Microprocessor Benchmark (EEMB) Consortiumin ULPMark-testissä RSL10 saavuttaa alan johtavat tulokset: 1 090 pistettä käytettäessä 3 voltin syöttöjännitettä ja 2,1 voltin syöttöjännitteellä 1 360 pistettä.
Jopa kaikkein tehokkaimpienkin ratkaisujen rajat saattavat kuitenkin tulla vastaan monissa langattomissa sovelluksissa, joissa joudutaan tekemään toistuvia, pitkään kestäviä langattomia tapahtumia. ON Semiconductorin referenssisuunnitelmassa käytetään Bluetoothin majakkaprotokollien mahdollistamia erittäin lyhytkestoisia langattomia tapahtumia.
Majakkaviestit ovat Bluetooth Advertising ‑protokollien mukaisia lyhyitä viestejä, joilla lähetään tunniste tai muu lyhyt tieto mille tahansa kuuntelijalle. Majakat ovat yhdessä erityisten mobiilisovellusten kanssa käytettynä levinneet laajalti käyttöön vähittäiskaupassa, viihteessä, kuljetuksessa ja muissa julkisissa paikoissa, joissa majakka pystyy tarjoamaan käyttäjän sijaintipaikkaan liittyvää informaatiota. ON Semiconductorin langattomassa kytkimessä käytetään majakkaviestin erästä erikoistyyppiä, Eddystone-majakkaviestiä.
Eddystone-majakkaviestit perustuvat avoimeen standardiin, jossa määritetään vain muutaman tavun pituisten pakettien muoto ja hyötykuorma. Eddystone-majakkaviestien hyötykuormaformaateissa voidaan määritellä yksilöivä tunnus (UUID), URL-osoite tai erilaisia telemetriatietoja (TLM), kuten lämpötila (kuva 2).
Kuva 2: Teollisuusstandardin mukaisessa Eddystone-formaatissa määritellään majakkaviestin muoto ja hyötykuorma vain muutamassa tavussa. (Kuvan lähde: ON Semiconductor)
Kun vastaanottava sovellus saa Eddystone-majakkaviestin, se pystyy tekemään UUID-tunnukseen liittyvät toiminnot, lähettämään käyttäjän kyseiseen URL-osoitteeseen tai reagoimaan telemetriatietoihin asianmukaisesti.
Energian talteenottoon perustuva energialähde
Eddystone-majakkaviestin lähetys saattaa kestää vain 10 millisekuntia (ms), ja yhdessä erittäin vähävirtaisen RSL10:n kanssa käytettynä lähetykseen tarvittava energiamäärä saattaa olla vain 100 millijoulea (mJ), mikä on hienosti energian talteenottolaitteen AFIG-0007 tehontuotantokyvyn rajoissa.
AFIG-0007-laitteessa kela ympäröi magneettilohkon kanssa kosketuksessa olevaa metalliydintä (kuva 3, vasemmalla). Kun käyttäjä painaa jousikuormitettua aktuaattoria, magneettilohko liikkuu (kuva 3, oikealla). Tämä toiminto kääntää kelan tuottaman magneettikentän napaisuuden, jolloin magneettisen induktion periaatteiden mukaisesti muodostuu sähköenergiapulssi. Kun aktuaattori vapautetaan, magneettilohko palautuu jousen voimasta takaisin alkuperäiseen asentoonsa, jolloin muodostuu toinen, napaisuudeltaan vastakkainen energiapulssi.
Kuva 3: Kun käyttäjä painaa ZF Electronicsin energian talteenottolaitteeseen AFIG-0007 kuuluvaa aktuaattoria, magneettilohko siirtyy lepoasennostaan (vasemmalla) ääriasentoonsa (oikealla). Tällöin aktuaattoria painettaessa syntyy energiapulssi ja toinen pulssi, kun se vapautetaan. (Kuvan lähde: ZF Electronics)
ZF:n odotettavissa oleva käyttöikä on 1 000 000 kytkentäsykliä ja sen koko on 20 x 7 x 15 millimetriä (mm), joten se täyttää tärkeimmät langattoman kytkimen suunnitteluun liittyvät mekaaniset ja fyysiset vaatimukset. AFIG-0007 täyttää myös reilusti tämän sovelluksen energiavaatimukset. ZF pystyy tuottamaan jokaisella painallus- ja vapautussyklillä noin 300 mJ energiaa ja tarjoaa RSL10:lle riittävästi energiaa kahden tai kolmen Eddystone-majakkaviestin lähettämiseen. Näiden kahden komponentin lisäksi langattoman kytkimen toteutukseen tarvitaan vain pari lisäkomponenttia energian talteenoton tehonsyöttöpiiriin.
Energian talteenottoon perustuvan teholähteen suunnittelu
Energian talteenottoon perustuvissa syöttöpiireissä käytetään tyypillisesti jännitemuuntimia ja keloja tuotettujen jännitetasojen muuntamiseen tarkalleen mikrokontrollerin tarvitsemiksi tasoiksi. RSL10:n laaja 1,1–3,3 voltin syöttöalue helpottaa tässä ratkaisussa syöttöpiirin suunnittelua. AFIG-007-piirin lähtö tasasuunnataan NSR1030-Schottky-kokosiltatasasuuntaajalla ja rajoitetaan yksinkertaisella piirillä, johon kuuluu SZMM3Z6V2ST1G-zenerdiodi, suodatus/varastointikondensaattori (C1) ja NCP170-LDO-regulaattori, kaikki ON Semiconductorin tuotteita (kuva 4).
Kuva 4: Kehittäjät generoida ON Semiconductor RSL10-piirin tarvitseman tehon yksinkertaisella tehonsyöttöpiirillä, jolla rajoitetaan ZF Electronics energian talteenottolaitteen AFIG-007 tasasuunnattu lähtöjännite. (Kuvan lähde: ON Semiconductor)
ON Semiconductor BLE-SWITCH001-GEVB ‑sarja sisältää AFIG-007-piirin sekä yllä kuvaillun syöttövirtapiirin sekä RSL10-piirin käyttäen 23 x 23 mm:n korttia (kuva 5).
Kuva 5: ON Semiconductor BLE-SWITCH001-GEVB ‑kortissa toiminnallinen komponentti on sijoitettu 23 x 23 mm:n kortin keskiosaan (vasemmalla). Kehitysrajapinnat sijaitsevat irrotettavissa siivekkeissä, muun muassa 10-nastainen JTAG-liitäntä, johon pääsee käsiksi pohjasta (oikealla). (Kuvan lähde: ON Semiconductor)
Ydinkomponentit on sijoitettu 7 mm leveään keskiosaan. Kehitysrajapinnat sijaitsevat irrotettavissa siivekkeissä, kuten 10-nastainen JTAG/SWD-liitäntä vakioadaptorille (esimerkiksi Tag-Connect TC2050-IDC). Sivusiivekkeet tarjoavat 10-nastaisen liitännän lisäksi hyppyjohdon ja ulkoisen 3,3 voltin teholähteen (Vout) liittimet, joita voidaan käyttää kytketyn JTAG-ohjelmointilaitteen ohjelmointiin ja viankorjaukseen. Tällainen ohjelmointilaite on esimerkiksi Segger Microcontroller Systems 8.16.28 J-LINK ULTRA+.
Kytkimen kehittäminen
BLE-SWITCH001-GEVB-kortille on ladattu valmiiksi laiteohjelmisto, joka lähettää Eddystone-majakkaviestin 20 ms:n välein, kunnes järjestelmä on käyttänyt yhden kytkimen aktivoinnin tuottaman energian loppuun. Tässä esimerkkisovelluksessa laite lähettää ensin Eddystone-URL-kehyksen, joka sisältää URL-osoitteen ”https://onsemi.com/idk”. Tämän ensimmäisen kehyksen jälkeen sovellus lähettää Eddystone-TLM-kehyksiä, jotka sisältävät telemetriatietoja, kuten kytkimen syöttöjännitteen, kauanko laite on ollut päällä sekä kyseiseen ajankohtaan mennessä lähetettyjen pakettien kokonaismäärän.
ON Semiconductorin RSL10 Eddystone-esimerkkiohjelmisto näyttää kehyksien kokoamisen ja lähettämisen perusmallit (listaus 1). Kuten listauksesta käy ilmi, kehittäjät voivat kutsua funktiota EddyService_Env_Initialize(), joka lataa Eddystone-ympäristörakenteeseen eddy_env_tag Eddystone-URL-kehyksen hyötykuorman. Majakkaviestin lähettämiseksi kutsutaan funktiota Eddy_GATTC_WriteReqInd(), joka kokoaa paketin, salaa datan RSL10:n AES-salauskiihdyttimellä ja lähettää (ke_msg_send()) sitten viestin lähetysjonoon. Alemmat palvelukerrokset hakevat jonossa olevat viestit, kokoavat paketit ja lähettävät ne.
Kopioi
struct eddy_env_tag eddy_env;
void EddyService_Env_Initialize(void) {
/* Reset the application manager environment */
memset(&eddy_env, 0, sizeof(eddy_env));
.
.
.
memcpy(eddy_env.advslotdata_value, (uint8_t[16] ) { 0x10, 0x03, 'o', 'n',
's', 'e', 'm', 'i', '.', 'c', 'o', 'm', '/', 'i', 'd', 'k' },
eddy_env.advslotdata_length);
eddy_env.advtxpower_value = OUTPUT_POWER_DBM; /* Set radio output power of RF */
Eddy_GATTC_WriteReqInd(…)
.
.
.
valptr = (uint8_t *) &eddy_env.advtxpower_value;
.
.
.
/* Enable and configure the base band block */
BBIF->CTRL = BB_CLK_ENABLE | BBCLK_DIVIDER_8 | BB_WAKEUP;
/* Copy in the exchange memory */
uint8_t plain_text[16];
for (int i = 0; i<=15;i++)
plain_text[i] = eddy_env.challenge_value[15-i];
memcpy((void *) (EM_BLE_ENC_PLAIN_OFFSET + EM_BASE_ADDR), plain_text, 16);
/* Configure the AES-128 engine for ciphering with the key and the memory
* zone */
uint8_t encryptionkey[16];
for (int i = 0; i<=15;i++)
encryptionkey[i] = eddy_env.lockstate_value[16-i];
Sys_AES_Config((void *) encryptionkey, EM_BLE_ENC_PLAIN_OFFSET);
/* Run AES-128 encryption block */
Sys_AES_Cipher();
/* Access to the cipher-text at EM_BLE_ENC_CIPHER_OFFSET address */
uint8_t encryptedtext_temp[16];
memcpy(&encryptedtext_temp[0], (void *) (EM_BLE_ENC_CIPHER_OFFSET + EM_BASE_ADDR), 16);
uint8_t encryptedtext[16];
for (int i = 0; i<=15;i++)
encryptedtext[i] = encryptedtext_temp[15-i];
if (!memcmp(encryptedtext, eddy_env.unlocktoken_value, 16))
.
.
.
ke_msg_send(…)
Listaus 1: ON Semiconductorin esimerkkikoodi sisältää Eddystone-URL-kehyksen hyötykuorman ja valmiin kehyksen lähettämisen perussuunnittelumallin. (Koodin lähde: ON Semiconductor)
Mikä tahansa kantoalueella oleva BLE-protokollaa tukeva isäntäkone voi havaita lähetetyt majakat tai ne voidaan näyttää lähistöllä olevan mobiililaitteen majakkasovelluksessa, kuten ON Semiconductorin RSL10-mobiilisovelluksessa. Langattomalla kytkimellä voidaan ohjata laitteita ON Semiconductorin RSL10-piiriin perustuvan BDK-GEVK BLE IoT ‑kehityssarjan avulla, jolla voidaan prosessoida majakkaviestejä ja suorittaa niihin liittyviä tehtäviä. Kehittäjät voivat esimerkiksi toteuttaa langattomalla kytkimellä ohjattavan valon yhdistämällä BDK-GEVK-peruskorttiin ON Semiconductorin kahden ledin D−LED−B−GEVK-virranrajoitinkortin. Moottorikäyttöisten sovellusten suunnittelussa peruskorttiin voidaan liittää ON Semiconductorin BLDC-GEVK-ohjainkortti, jolla voidaan ohjata harjattoman DC-moottorin ohjainkorttia, tai askelmoottorin D-STPR-GEVK-ohjainkorttia.
Langatonta kytkintä voi käyttää myös yksinkertaisesti napsauttamalla molemmat siivekkeet irti. Jäljelle jäävä yksittäinen 7 x 23 mm:n kokoinen kokoonpano sisältää kaikki toiminnalliset komponentit (kuva 6).
Kuva 6: Poistamalla siivekkeet ON Semiconductorin kehityskortista (vasemmalla) kehittäjät voivat sijoittaa 7 x 23 mm:n kokoonpanon keinuvipukytkimen kehykseen (oikealla). (Kuvan lähde: ON Semiconductor)
Koska ZF-aktuaattori sijaitsee kokoonpanon takaosassa, se voidaan sijoittaa keinuvipukytkimen tai kytkimen kehykseen.
Yhteenveto
Langattomat kytkimet tarjoavat nopeasti kasvavaan älytuotteiden ohjaustarpeeseen ratkaisun, joka ei vaadi kunnossapitoa. Perinteisten langattomien kytkimien tehotarpeet tarvitsevat kuitenkin toimiakseen paristoja tai akkuja, mikä lisää suunnittelun kustannuksia ja kompleksisuutta sekä pakottaa käyttäjät huolehtimaan pariston tai akun hallinnasta ja vaihdosta. ON Semiconductorin referenssisuunnitelma poistaa pitkälti nämä ongelmat hyödyntämällä energian talteenottoa, joka tarjoaa erittäin vähävirtaiselle Bluetooth 5.0 ‑moduulille kaiken sen tehon, jota se tarvitsee langattomaan viestintään Bluetooth-yhteydellä varustetun hubin tai älytuotteen kanssa.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.