Klik hier voor de Engelse versie van de broncode.

Prototypeer snel Bluetooth IoT-toepassingen met een ontwikkelingskit en kant-en-klare add-on-kaarten

Door Stephen Evanczuk

Bijgedragen door De Noord-Amerikaanse redacteurs van Digi-Key

De vraag naar slimme, onderling verbonden producten biedt brede mogelijkheden voor ontwikkelaars die concepten snel kunnen omzetten in werkende Internet of Things (IoT)-toepassingen. De beschikbaarheid van energie-efficiënte processoren, draadloze connectiviteitsopties en een breed scala aan hardware-randapparatuur biedt een stevige basis voor de implementatie van geschikte, energiezuinige, productieklare ontwerpen.

In het vroege stadium van productdefinitie hebben ontwikkelaars echter een flexibel ontwikkelingsplatform nodig voor het bouwen van snelle prototypes op basis van dezelfde klasse processoren, connectiviteitssubsystemen en randapparatuur. De mogelijkheid om snel werkende prototypes te bouwen en gemakkelijk functionaliteit toe te voegen is essentieel voor het leveren van vroege proofs of concept en voor het ondersteunen van softwareontwikkeling op maat.

Dit artikel laat zien hoe ontwikkelaars hardware en software van Silicon Labs kunnen gebruiken om snel gespecialiseerde energie-efficiënte connected IoT-apparaatprototypes te bouwen met behulp van een brede selectie van gemakkelijk verkrijgbare off-the-shelf add-on boards.

Snelle prototyping mogelijk maken

Bij het verkennen van nieuwe mogelijkheden voor batterijgevoede draadloze IoT-apparaten, kunnen ontwikkelaars vastlopen door de vele details die komen kijken bij het creëren van een werkend ontwikkelplatform. Met hun geïntegreerde subsystemen kunnen geavanceerde systeem-op-chip (SoC) apparaten de kern van een dergelijk platform vormen, maar ontwikkelaars moeten er nog steeds een compleet systeem omheen bouwen.

Om een geschikt ontwikkelingsplatform voor deze toestellen te bouwen, moeten ontwikkelaars niet alleen voldoen aan fundamentele eisen inzake robuuste prestaties en langere batterijlevensduur, maar moeten zij ook flexibiliteit inbouwen om de specifieke eisen van elke toepassing te ondersteunen. De Silicon Labs BGM220-EK4314A Explorer Kit voldoet aan deze combinatie van behoeften, waardoor ontwikkelaars zich kunnen concentreren op het snel maken van prototypes van nieuwe ontwerpconcepten in plaats van zich bezig te houden met de details die komen kijken bij het bouwen van een eigen ontwikkelplatform.

Flexibel platform voor snelle ontwikkeling

De BGM220-EK4314A Explorer Kit is een goedkoop platform voor de ontwikkeling van Bluetooth-toepassingen en combineert de BGM220P Wireless Gecko-module(BGM220PC22HNA) van SiLabs met een ingebouwde SEGGER J-Link debugger, een drukknop, een lichtemitterende diode (LED) en verscheidene uitbreidingsopties (Afbeelding 1).

Afbeelding van SiLabs BGM220-EK4314A Explorer KitAfbeelding 1: De SiLabs BGM220-EK4314A Explorer Kit biedt de combinatie van verwerkingsprestaties, energiebeheer en configuratieflexibiliteit die nodig is om snel prototypes te bouwen en verschillende perifere hardwareconfiguraties te evalueren. (Bron afbeelding: Silicon Labs)

De BGM220P-module dient als een complete oplossing voor kleine batterijgevoede IoT-apparaten. De geïntegreerde EFR32BG22 Blue Gecko SoC heeft een ultralaag stroomverbruik, Bluetooth mogelijkheden voor angle of arrival (AoA) en angle of departure (AoD), en een locatienauwkeurigheid van minder dan een meter. Dit alles is nodig voor een groeiend aantal populaire Bluetooth-toepassingen, waaronder tags voor het traceren van goederen, slimme deursloten, fitness, en meer.

De BGM220P module kan werken als een standalone systeem en combineert de EFR32BG22 SoC met 512 Kbytes flash, 32 Kbytes random access memory (RAM), hoge frequentie (HF) en lage frequentie (LF) kristallen (XTAL), en een 2,4 gigahertz (GHz) matching netwerk en keramische antenne voor draadloze connectiviteit (Afbeelding 2).

Schema van SiLabs BGM220P-moduleAfbeelding 2: De SiLabs BGM220P-module kan dienst doen als een autonoom systeem en combineert de EFR32BG22 Blue Gecko SoC met bijkomende componenten die nodig zijn om een Bluetooth-apparaat te implementeren. (Bron afbeelding: Silicon Labs)

Naast de mogelijkheid om te dienen als een standalone host voor kleine voetafdruk IoT-ontwerpen, kan de module ook dienen als een netwerk coprocessor (NCP) voor een hostprocessor aangesloten via de UART-interface van de module. De geïntegreerde Bluetooth-stack voert draadloze diensten uit voor toepassingen die op de module draaien in standalone ontwerpen, of verwerkt commando's die van de host worden ontvangen wanneer deze in NCP-ontwerpen draaien.

Energie-efficiënte draadloze SoC

De EFR32BG22 Bluetooth draadloze SoC van de BGM220P module integreert een 32-bit Arm Cortex-M33 kern, een 2,4 GHz radio, subsystemen voor beveiliging en energiebeheer, en meerdere timers en interface-opties. De EFR32BG22 SoC is speciaal ontworpen voor batterijgevoede ontwerpen met ultralaag vermogen en maakt gebruik van meervoudige energiebeheersfuncties waarmee muntcelbatterijen tot tien jaar lang kunnen werken.

De SoC werkt met één externe spanningsbron en gebruikt zijn interne energiebeheereenheid om interne voedingsspanningen te genereren. Tijdens de werking regelt de energiebeheerseenheid de overgangen tussen de vijf energiemodi (EM's) van de SoC. Elke modus vermindert het stroomverbruik verder door steeds minder actieve functionele blokken te handhaven naarmate de SoC van de actieve modus (EM0) overgaat naar de slaapmodus (EM1), de diepe slaapmodus (EM2), de stopmodus (EM3) of de uitschakelmodus (EM4) (Afbeelding 3).

Schema van Silicon Labs EFR32BG22 SoC (klik om te vergroten)Afbeelding 3: De energiebeheereenheid van de EFR32BG22 SoC regelt de overgangen tussen de energiemodi EM0, EM1, EM2, EM3, en EM4 (kleurcode onderaan de afbeelding). (Bron afbeelding: Silicon Labs)

In de actieve modus (EM0) bij 76,8 MHz en 3 volt, met gebruikmaking van de interne DC/DC-convertor, verbruikt de SoC 27 microampère per megahertz (μA/MHz). EM0 is de normale bedrijfsmodus en is de enige waarin de Cortex M33 processorkern en alle periferieblokken beschikbaar zijn.

Alle randapparatuur is beschikbaar in de slaapstand (EM1), en minder randapparatuur blijft actief wanneer het systeem naar een nog lagere energiestand gaat. In de lagere vermogensmodi leidt de vermindering van het aantal actieve klokken en functionele blokken tot een aanzienlijk lager stroomverbruik:

  • 17 μA/MHz in slaapstand (EM1)
  • 1,40 μA diepe slaapstand (EM2) met 32 Kbytes RAM-retentie en real-time klok (RTC) die loopt vanaf de LFXO
  • 1,05 μA stopmodus (EM3) met 8 Kbytes RAM-retentie en RTC die loopt vanaf de geïntegreerde ultra-lage frequentie 1 kilohertz (kHz) weerstand-capaciteit (RC) oscillator (ULFRCO) van de SoC
  • 0,17 μA uitschakelmodus (EM4)

Sommige apparaten die op batterijen werken, hebben meer nodig dan de mogelijkheid om de processor in de spaarstand te laten werken. Veel Bluetooth-toepassingen zullen lange perioden van weinig of geen activiteit kennen, maar vereisen een responsiviteit met een lage latentie wanneer de activiteit wordt hervat. Zelfs als een toepassing soepelere latentie-eisen stelt, wordt met een langzame ontwakingstijd energie verspild omdat de processor geen nuttig werk verricht terwijl hij het ontwaakproces voltooit en naar de actieve modus overschakelt (of het proces voltooit waarbij vanuit een hogere energiemodus naar een lagere energiemodus wordt overgeschakeld).

Naarmate de tijd tussen actieve perioden korter wordt, kan het gebruik van een slaapstand met laag stroomverbruik zelfs contraproductief worden wanneer een langzame opstart- of inschakeltijd meer energie verbruikt dan het geval zou zijn indien de processor tijdens de inactieve periode in een stand met hoger stroomverbruik zou blijven. Als gevolg daarvan zullen ontwikkelaars die de levensduur van de batterij willen optimaliseren, een processor soms in een hogere energiestand laten staan dan nodig is voor de verwerking die de toepassing nodig heeft.

Door gebruik te maken van een processor met snellere opstart- en invoertijden kunnen ontwikkelaars meer voordeel halen uit de lagere energiemodi van de processor. In EM1 ontwaakt de EFG32BG22 in drie klokken/1,24 microseconden (µs) en heeft een instaptijd van 1,29 µs, oplopend tot respectievelijk 8,81 milliseconden (ms) en 9,96 µs in EM4 (Tabel 1).

Energiestand Wakeup (uitvoeren vanuit RAM/Flash) Ingang (uitvoeren vanuit Flash)
EM1 3 klok / 1.24 μs 1,29 μs
EM2 5,15 / 13,22 μs 5,23 μs
EM3 5,15 / 13,21 μs 5,23 μs
EM4 8,81 ms (alleen Flash) 9,96 μs

Tabel 1: Ontwaak- en energiemodus-inschakeltijden voor de EFG32BG22 SoC. (Bron tabel: Silicon Labs)

De methode die wordt gebruikt om de processor te wekken wanneer de activiteit wordt hervat, kan ook de levensduur van de batterij aanzienlijk beïnvloeden. Hoewel sommige toepassingen, zoals industriële, vereisen dat systemen gebruik maken van "polled processing" om een strikte periodieke timing te waarborgen, maken veel toepassingen op consumentengebied gebruik van "event-based processing" om te reageren op specifieke activiteit. Het gebruik van polling-methoden voor event-gebaseerde toepassingen, bijvoorbeeld, kan de levensduur van de batterij aanzienlijk verkorten wanneer de processor herhaaldelijk onnodig wakker wordt.

Net zoals veel op sensoren gebaseerde ontwerpen gebruik maken van de functie wake-on-interrupt om te voorkomen dat de processor herhaaldelijk wordt gewekt alleen maar om te controleren of er activiteit is, maakt een in het radiosubsysteem van de EFG32BG22 SoC ingebouwde wake-on-RF-functie een soortgelijke interrupt-gestuurde aanpak mogelijk. Hierdoor kunnen ontwikkelaars de processor in een energiezuinige stand houden totdat er radiofrequente (RF) activiteit plaatsvindt.

In de praktijk plaatsen ontwikkelaars de EFG32BG22 draadloze SoC in een ultralage EM2-, EM3- of EM4-modus en vertrouwen ze op de wake-on-RF-capaciteit om de SoC te wekken wanneer RF-energie wordt gedetecteerd. Wanneer alleen energie boven de drempelwaarde wordt gedetecteerd, verbruikt de RFSENSE-capaciteit 131 nano-ampère (nA). Een selectievere RFSENSE-modus verbruikt iets meer stroom (138 nA), maar in deze modus filtert de RFSENSE de inkomende RF-signalen om te voorkomen dat deze worden gewekt door RF-ruis in plaats van een geldig RF-signaal.

In sommige gevallen hoeft de EFG32BG22 SoC de processorkern helemaal niet te wekken om te reageren op externe gebeurtenissen: Het Peripheral Reflex System (PRS) van SiLabs stelt randapparatuur in staat te reageren op gebeurtenissen en te werken zonder de processorkern te wekken. Randapparatuur kan rechtstreeks met elkaar communiceren, en hun functies kunnen worden gecombineerd om complexe functionaliteit te bieden. Door gebruik te maken van PRS-mogelijkheden met lagere energiemodi, kunnen ontwikkelaars het stroomverbruik aanzienlijk verminderen zonder dat dit ten koste gaat van cruciale functionaliteit, zoals de verwerving van sensorgegevens.

Ingebouwde debug en eenvoudige uitbreiding

Ingebouwd in het BGM220 Explorer Kit bord, brengt de BGM220P-module de volledige set van energiebeheer en verwerkingsmogelijkheden van de EFR32BG22 SoC naar batterij gevoede Bluetooth-ontwerpen. Wanneer er snel prototypes moeten worden gebouwd om nieuwe ontwerpconcepten te verkennen, helpen andere kenmerken van het bord de ontwikkeling te versnellen.

Via de USB Micro-B-connector van het bord kan een onboard SEGGER J-Link debugger code downloaden en debuggen, en is er een virtuele COM-poort voor host consoletoegang. De debugger ondersteunt ook SiLabs' packet trace interface (PTI) voor het analyseren van pakketten die over een draadloos netwerk worden verzonden of ontvangen.

Voor snelle prototyping biedt de ondersteuning van meerdere uitbreidingsopties de flexibiliteit om nieuwe ontwerpideeën te onderzoeken die verschillende combinaties van sensoren, actuatoren, connectiviteitsopties en andere randapparatuur vereisen. Gebruikmakend van de uitgebreide variëteit van beschikbare mikroBUS add-on boards en Qwiic Connect System hardware van meerdere leveranciers, kunnen ontwikkelaars snel een ontwikkelingsplatform configureren voor elke toepassing.

Aangesloten op de mikroBUS bus van de kaart, kan een mikroBUS kaart verbinding maken met de BGM220P module via I2C, SPI, of UART-interfaces. De Qwiic-connector levert de I2C interface van het Qwiic systeem voor het aansluiten van een of meer Qwiic printen over afstanden tot ongeveer vier voet (ft.). Voor verbindingen over langere afstanden kunnen ontwikkelaars gebruik maken van het SparkFun QwiicBus EndPoint bord(COM-16988), dat differentiële signalering gebruikt om I2C-signaalintegriteit te behouden op afstanden tot ongeveer 100 ft.

Snelle ontwikkeling van toepassingen

SiLabs past het concept van snelle uitbreiding toe op de ontwikkeling van applicatiesoftware. Samen met bordondersteuningspakketten, stuurprogramma's, bibliotheken en headers voor aangepaste ontwikkeling, biedt het bedrijf verschillende voorbeeldapplicaties gebundeld in zijn Simplicity Studio ontwikkelomgeving, evenals aanvullende projecten beschikbaar via de GitHub repositories van SiLabs. In feite kunnen ontwikkelaars beginnen met het verkennen van de ontwikkeling van sensortoepassingen met een meegeleverde voorbeeldtoepassing voor temperatuur die de interne temperatuursensor van de EFR32BG22 SoC als gegevensbron gebruikt.

De temperatuurapplicatie is gebouwd rond de standaard Bluetooth Health Temperature service en biedt een out-of-the-box demonstratie van de verwerkingsstroom door een generieke Bluetooth IoT applicatie gebouwd op de SiLabs software architectuur. De toepassing roept een reeks initialisatieroutines aan voor systeemdiensten en toepassingsdiensten die interrupt-handlers en callbacks instellen. Nadat de initialisatie is voltooid, komt de toepassing terecht in een eindeloze lus om te wachten op gebeurtenissen (Lijst 1).

Kopieer
int main(void)
{
  // Initialize Silicon Labs device, system, service(s) and protocol stack(s).
  // Note that if the kernel is present, processing task(s) will be created by
  // this call.
  sl_system_init();



  // Initialize the application. For example, create periodic timer(s) or
  // task(s) if the kernel is present.
  app_init();



#if defined(SL_CATALOG_KERNEL_PRESENT)
  // Start the kernel. Task(s) created in app_init() will start running.
  sl_system_kernel_start();
#else // SL_CATALOG_KERNEL_PRESENT
  while (1) {
    // Do not remove this call: Silicon Labs components process action routine
    // must be called from the super loop.
    sl_system_process_action();



    // Application process.
    app_process_action();



#if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
    // Let the CPU go to sleep if the system allows it.
    sl_power_manager_sleep();
#endif
  }
#endif // SL_CATALOG_KERNEL_PRESENT
}
Lijst 1: De Bluetooth-voorbeeldtoepassingen van SiLabs gebruiken een generiek uitvoeringsraamwerk waarin een eindeloze lus callbacks en event handlers toestaat om systeem- en toepassingsacties na initialisatie te verwerken. (Bron code: Silicon Labs)

In deze toepassing wordt, wanneer een tijdens de initialisatie ingestelde timer afloopt, door een bijbehorende callback-routine een temperatuurmeting uitgevoerd. Nadat ontwikkelaars de toepassing hebben gebouwd en het bord hebben geflasht, kunnen ze de SiLabs EFR Connect app gebruiken-een generieke mobiele Bluetooth app die werkt met alle Silicon Labs Bluetooth kits en apparaten. De app biedt niet alleen een kader voor eigen apps, maar helpt ook bij de ontwikkeling door een overzicht te geven van de ondersteunde kenmerken van een Bluetooth-dienst, zoals de Bluetooth-gezondheidsthermometerdienst die in deze voorbeeldtoepassing wordt gebruikt (Afbeelding 4).

Afbeelding van SiLabs EFR Connect appAfbeelding 4: De SiLabs EFR Connect app toont kenmerken van Bluetooth-diensten die in een toepassing worden gebruikt, waardoor niet alleen de ontwikkeling van prototypen wordt versneld, maar ook een kader wordt geboden voor de ontwikkeling van aangepaste apps. (Bron afbeelding: Silicon Labs)

In Simplicity Studio kunnen ontwikkelaars een aantal verschillende Bluetooth-applicatievoorbeelden importeren die verschillende gebruiksscenario's demonstreren, waaronder ontwerpen die zijn gebouwd met Qwiic- of mikroBUS-boards, afzonderlijk of in combinatie. Bijvoorbeeld een voorbeeldtoepassing die het gebruik demonstreert van de standaard Bluetooth Hartslag (HR) en Bluetooth Pulsoximeter (SpO2) diensten in combinatie met MikroElektronika 's MIKROE-4037 Hartslag 2 Klik mikroBUS bord, dat de MAX86161-biosensor van Maxim Integrated bevat. De MAX86161 biedt een compleet subsysteem met laag stroomverbruik dat in staat is nauwkeurige HR- en SpO2-metingen te leveren aan een host-processor die is aangesloten via de I2C-interface. (Voor meer informatie over het gebruik van de MAX86161, zie Een echte draadloze fitness hearable bouwen - deel 1: Hartslag- en SpO2-meting).

Met de noodzaak van een extra driver en een veeleisender verwerkingsalgoritme dan in de temperatuurtoepassing, biedt deze toepassing een complexere demonstratie van de architectuur van een IoT-apparaatsoftwaretoepassing (Afbeelding 5).

Schema van HR/SpO2-toepassingAfbeelding 5: Voorbeeldprojecten zoals een HR/SpO2-toepassing helpen de ontwikkeling van prototypes te versnellen en tonen een typische processtroom voor Bluetooth-sensortoepassingen met laag vermogen. (Bron afbeelding: Silicon Labs)

Net als bij de hierboven genoemde temperatuurtoepassing, vertrouwt deze toepassing op een reeks initialisatieroutines om het systeem en de toepassingsdiensten in te stellen. Waar de routine app_process_action leeg is in de temperatuurtoepassing, voegt deze toepassing een aanroep toe aan een routine, hrm_loop, in app_process_action. Dit resulteert in een aanroep van hrm_loop bij elke doorloop van de eindeloze lus op het hoogste niveau die eerder in Lijst 1 getoond werd. Bovendien wordt een softwaretimer gebruikt om de HR- en SpO2-gegevens periodiek bij te werken.

De hrm_loop routine roept op zijn beurt maxm86161_hrm_process aan, die monsters uit een wachtrij haalt die wordt onderhouden door helperfuncties en ze doorgeeft aan een routine voor een monsterproces. Dit roept op zijn beurt een paar routines aan, maxm86161_hrm_frame_process en maxm86161_hrm_spo2_frame_process, die algoritmen uitvoeren om respectievelijk de HR- en SpO2-resultaten te valideren en te genereren. Ontwikkelaars kunnen de resultaten samen met andere kenmerken van de dienst bekijken met de eerder genoemde EFR Connect-app.

Een andere voorbeeldsoftwaretoepassing laat zien hoe ontwikkelaars kunnen voortbouwen op een complexe toepassing zoals deze HR/SpO2-toepassing wanneer zij hun hardwareplatform uitbreiden. Met het BGM220-EK4314A Explorer Kit-bord en het SiLabs software-ecosysteem, is het bouwen op bestaande hardware en software relatief eenvoudig. SiLabs demonstreert deze aanpak met een voorbeeldtoepassing die een OLED-display toevoegt aan het hardware/softwareplatform dat wordt gebruikt voor de HR/SpO2-toepassing hierboven. In dit voorbeeld wordt een SparkFun OLED display Qwiic add-on bord(LCD-14532) bevestigd aan de Qwiic connector van het bord, terwijl het MikroElektronika Heart Rate 2 Click add-on-bord op zijn plaats blijft uit de vorige HR/SpO2-voorbeeldapplicatie (Afbeelding 6).

Afbeelding van Silicon Labs BGM220-EK4314A Explorer Kit-bord met OLED-displayAfbeelding 6: Ontwikkelaars kunnen snel functionaliteit toevoegen aan een bestaand ontwerp dat is gebouwd op de BGM220-EK4314A Explorer Kit-kaart - hier wordt een OLED-display toegevoegd aan een bestaand HR/SpO2-prototype. (Bron afbeelding: Silicon Labs)

Afgezien van de toevoeging van een stuurprogramma en ondersteunende diensten voor het OLED bord, blijft de software toepassing grotendeels hetzelfde voor deze uitgebreide versie van de HR/SpO2-toepassing. De eerder genoemde softwaretimer voor de HR/SpO2-toepassing voegt een oproep toe aan de functie hrm_update_display, die de HR en SpO2 gegevens weergeeft (Lijst 2).

Kopiëren
    /* Software Timer event */
    case sl_bt_evt_system_soft_timer_id:
      /* Check which software timer handle is in question */
      if (evt->data.evt_system_soft_timer.handle == HEART_RATE_TIMER) {
        heart_rate_send_new_data(connection_handle);
        break;
      }
 
      if (evt->data.evt_system_soft_timer.handle == PULSE_OXIMETER_TIMER) {
        pulse_oximeter_send_new_data(connection_handle);
        break;
      }
 
      if (evt->data.evt_system_soft_timer.handle == DISPLAY_TIMER) {
        hrm_update_display();
        break;
      }
      break;
Lijst 2: Met behulp van de kit en het software-ecosysteem kunnen ontwikkelaars displayfunctionaliteit toevoegen aan een bestaande HR/SpO2-toepassing door een displayboard aan te sluiten en minimale wijzigingen in de software aan te brengen, afgezien van het toevoegen van een functie-oproep, hrm_update_display, aan de software timer handler van de bestaande toepassing. (Bron code: Silicon Labs)

Dankzij deze uitbreidbare hardware- en softwarebenadering kunnen ontwikkelaars snel werkende IoT-toepassingen bouwen. Omdat zowel hardware als software gemakkelijk kunnen worden toegevoegd of verwijderd, kunnen ontwikkelaars gemakkelijker nieuwe ontwerpoplossingen verkennen en alternatieve configuraties evalueren.

Conclusie

Bluetooth-gevoede IoT-apparaten op batterijen vormen de kern van populaire toepassingen en zijn de belangrijkste voorwaarde om te voldoen aan de aanhoudende vraag naar meer functionaliteit en een langere levensduur. Om aan deze tegenstrijdige eisen te kunnen voldoen, moeten ontwikkelaars in staat zijn snel nieuwe ontwerpen te onderzoeken en alternatieve ontwerpconcepten te evalueren. Met behulp van een ontwikkelingskit en bijbehorende software van Silicon Labs kunnen ontwikkelaars snel prototypes bouwen, waarbij ze naar behoefte hardware kunnen toevoegen en verwijderen om aan specifieke toepassingsvereisten te voldoen.

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 Digi-Key Electronics or official policies of Digi-Key Electronics.

Achtergrondinformatie over deze auteur

Stephen Evanczuk

Stephen Evanczuk heeft meer dan 20 jaar ervaring in het schrijven voor en over de elektronicasector met betrekking tot heel wat onderwerpen, waaronder hardware, software, systemen en toepassingen zoals het IoT. Hij behaalde zijn filosofiediplomain neurowetenschappen over neuronale netwerken en werkte in de ruimtevaartsector op massaal verspreide veilige systemen en algoritmeversnellingsmethoden. Wanneer hij geen artikels over technologie en techniek schrijft, werkt hij aan toepassingen voor “deep learning” voor herkennings- en aanbevelingssystemen.

Over deze uitgever

De Noord-Amerikaanse redacteurs van Digi-Key