Bluetooth 5.1-compatibele platforms gebruiken voor nauwkeurige goederenvolgsystemen en binnenhuispositioneringssystemen - Deel 2
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2019-08-14
Noot van de redactie: In deel 1 van deze tweedelige serie bespreken we de mogelijkheden van Bluetooth 5.1 richtingsbepaling, een aanvulling op de energiezuinige Bluetooth-firmware die ontwerpers in staat stelt om op Angle of Arrival (AoA) en Angle of Departure (AoD) gebaseerde locatietoepassingen te ontwikkelen, zoals goederenvolgsystemen en binnenhuispositioneringssystemen (IPS). In dit tweede en laatste deel part onderzoeken we geschikte ontwikkelingsplatforms en SoC's die kunnen worden gebruikt om Bluetooth 5.1 richtingsbepalingstoepassingen te bouwen en configureren.
De laatste versie van de Bluetooth Core Specification, versie 5.1, heeft het gemakkelijker gemaakt voor ontwikkelaars om goederenvolgsystemen en binnenhuispositioneringssystemen (IPS) te implementeren. De specificatie voegt in het bijzonder een extensie voor een doorlopende toon (continuous tone extension - CTE) toe aan een Bluetooth-pakket om een ontvanger in staat te stellen om “IQ”-data (de informatie over in-fase en kwadratuur-fase die nodig is om de positie van een transceiver te berekenen) uit het RF-signaal te extraheren zonder de verstorende effecten van modulatie. Bovendien is het nu veel eenvoudiger voor de ontwikkelaar om het protocol te configureren om IQ-sampling uit te voeren, door gebruik te maken van de Host Controller Interface (HCI) om de controller voor een dergelijke sampling te configureren.
Het extraheren van IQ-data is echter nog steeds niet eenvoudig en vereist het gebruik van een degelijk ontworpen antenne-array in combinatie met een draadloze microprocessor. Ook nadat de IQ-data beschikbaar zijn gemaakt, moeten de gegevens nog steeds worden bewerkt om rekening te houden met ontvangst via verschillende paden, signaalpolarisatie, propagatievertraging, ruis en jitter voordat de locatie van de zender kan worden berekend.
In dit artikel wordt beschreven wat er nodig is voor een praktische oplossing en worden vervolgens geschikte ontwikkelingsplatforms en modules van Dialog Semiconductor, Silicon Labs en Nordic Semiconductor gepresenteerd, die kunnen worden gebruikt om 5.1 richtingsbepalingstoepassingen te bouwen. Tot slot laat het artikel zien hoe je begint met het prototyperen, testen en controleren van ontwerpen op deze platforms.
Architectuur van Bluetooth 5.1-pakketten
Bluetooth 5.1-pakketten bevatten een CTE met digitale “enen (1)” om ervoor te zorgen dat voor dit deel van het signaal de antenne een constante frequentie ontvangt (in plaats van de gemoduleerde frequentie die normaliter wordt gebruikt om Bluetooth-gegevens over te dragen). Bovendien is deze datastring niet gewit (d.w.z. gedecorreleerd). Een op passende wijze geconfigureerde Bluetooth Low Energy (LE) radio die een pakket ontvangt dat een CTE-signaal bevat, neemt om te beginnen IQ-samples gedurende de CTE-periode. Eén enkele IQ-sample bestaat uit de amplitude van het signaal en de fasehoek, weergegeven als Cartesiaanse coördinaten (Afbeelding 1).
Afbeelding 1: richtingsbepalingstoepassingen beginnen met het ontvangende Bluetooth LE apparaat dat IQ-samples voor fasehoek en amplitude neemt gedurende het CTE-deel van een Bluetooth-pakket voor elke antenne in een array. Deze samples worden weergegeven als (I,Q) Cartesiaanse coördinaten. (Afbeelding: Bluetooth SIG)
De Bluetooth Core Specification v5.1 beschrijft details in de Bluetooth LE-controller waardoor AoA- en AoD-technieken gebruik kunnen maken van verbonden (“paired” oftewel gepaarde) of verbindingsloze communicatie. AoA wordt echter meestal gebruikt voor verbonden toepassingen zoals goederenvolgsystemen, terwijl AoD wordt gebruikt met verbindingsloze toepassingen zoals IPS.
Richtingsbepaling met verbinding gebruikt standaard Bluetooth 5.1-pakketten met de CTE aan het einde toegevoegd. Verbindingsloze richtingsbepaling daarentegen gebruikt een CTE die is toegevoegd aan periodieke Bluetooth advertentiepakketten (Afbeelding 2).
Afbeelding 2: structuur van Bluetooth 5.1-pakket die locatie en duur van CTE toont. Verbonden toepassingen voegen de CTE toe aan standaard pakketten, terwijl verbindingsloze toepassingen een advertentiepakket gebruiken. (Afbeelding: Bluetooth SIG)
In zowel de verbonden als de verbindingsloze scenario's moeten ontwikkelaars enige instel- en configuratiestappen uitvoeren om CTE's te initiëren op de zender en IQ-sampling op de ontvanger. De keuze voor op AoA of AoD gebaseerde toepassingen bepaalt hoe het proces exact verloopt.
Een richtingbepalingssysteem bouwen
AoA is geschikt voor toepassingen zoals goederenvolgsystemen, waar de zender een mobiel onderdeel is, zoals een simpele, goedkope tag, terwijl de ontvangers (of locators) vaste referentiepunten zijn. Het voordeel van deze implementatie is dat de tag de Bluetooth 5.1 protocolpakketten alleen hoeft te verzenden met behulp van een enkele antenne (in plaats van een array) en dat het niet nodig is om de rekenintensieve algoritmen uit te voeren die uiteindelijk de locatie van de zender bepalen (zie deel 1).
Alhoewel het ontwerp van een tag in een goederenvolgsysteem relatief eenvoudige radiofrequentie (RF) ontwerpprincipes volgt, heeft de tag wel een Bluetooth 5.1 transceiver nodig zodat pakketten kunnen worden geconfigureerd om CTE's te bevatten. Bij het selecteren van een transceiver is het belangrijk om er rekening mee te houden dat de CTE niet over een Bluetooth LE-gecodeerde PHY kan worden verzonden (de radio die wordt gebruikt om de lange-afstand functie van de Bluetooth 5-technologie te implementeren); in plaats daarvan moet de PHY van het ongecodeerde type zijn.
Er zijn verschillende commerciële Bluetooth 5.1-producten beschikbaar, waaronder bijvoorbeeld de DA14691 Bluetooth 5 LE SoC van Dialog Semiconductor voor locatieservicetoepassingen. De chip wordt gevoed door een Arm® Cortex®-M33 microprocessor en beschikt over een random access memory (RAM) van 512 Kbytes. Dialog heeft een Bluetooth 5.1 stack beschikbaar gesteld voor de DA14691. Silicon Labs heeft een Bluetooth 5.1-stack geïntroduceerd voor zijn EFR32BG13 Bluetooth LE SoC; de chip is voorzien van een Arm Cortex-M4-microprocessor met 64 Kbytes RAM en 512 Kbytes flash. Nordic Semiconductor gaat daarnaast nog een stap verder met zijn nieuwe "Direction Finding”-hardware- en softwareoplossing, in de vorm van de nRF52811. Deze Bluetooth LE SoC is compatibel met Bluetooth 5.1 en integreert een Arm Cortex-M4 microprocessor in combinatie met de multiprotocolradio van de geavanceerde nRF52840 van Nordic. De chip bevat 192 Kbytes flash en 24 Kbytes RAM.
Deze apparaten zijn geschikt voor zenders en ontvangers in een Bluetooth-richtingsbepalingtoepassing. De apparaten ondersteunen allemaal CTE-overdracht en kunnen IQ-samples vastleggen met behulp van profielniveau-informatie die de antenne-layout van de zender specificeert. In theorie kunnen deze apparaten ook de complexe berekeningen uitvoeren die nodig zijn om de invalshoek van het inkomende radiosignaal uit te werken, en op basis hiervan de positie van de transceiver. Alhoewel de door deze SoC's gebruikte Arm Cortex-M33- en M4-processors relatief krachtig zijn, kan de toepassing traag worden als deze tegelijkertijd belast zijn met de supervisie van het draadloze protocol terwijl complexe richtingsbepalingsalgoritmen worden uitgevoerd.
Afhankelijk van de prestaties en latentie die in de toepassing nodig zijn, kan een ontwikkelaar het gebruik van een tweede processor kunnen overwegen —met toegang tot extra RAM en flash—specifiek voor de toepassingssoftware. De nRF52811 van Nordic is bijvoorbeeld ontworpen om te worden gekoppeld aan een tweede processor via interfaces van het type Inter-Integrated Circuit (I2C) en Serial Peripheral Interface (SPI).
Een andere uitdaging bij het ontwerpen, is dat, om de kosten laag te houden, Bluetooth LE SoC's meestal niet over de meerdere antennepoorten of over de schakelmogelijkheden beschikken die nodig zijn om systematisch alle antennes in de array af te gaan. Dit betekent dat er een RF-switch nodig is om de enkele antennepoort van de Bluetooth LE SoC’ te verbinden met de antennes van de array en tussen antennes om te schakelen om van elk ervan IQ-gegevens te verzamelen (Afbeelding 3).
Afbeelding 3: in een AoA-goederenvolgsysteem met richtingsbepaling gebruikt de tag een enkele antenne en conventionele Bluetooth LE SoC om Bluetooth 5.1-pakketten met CTE te verzenden. De hoofdberekening vindt plaats aan de multi-antenne locatorzijde van het systeem waar de door de locator verzamelde signaalgegevens worden ingevoerd in een locatie-engine worden die de richtingsbepalingsalgoritmen uitvoert. (Afbeelding: Bluetooth SIG)
De ontvanger (of locator) vereist een antenne-array om —via de IQ-data—het faseverschil van het signaal op basis van het verschil in afstand van elke antenne in de array tot de enkele zendende antenne te detecteren. Het is het verschil tussen de fasehoek op elke antenne dat de AoA of AoD bepaalt.
Het ontwerp van de antenne behoort gewoonlijk tot één van de volgende drie types: uniforme lineaire array (ULA), uniforme rechthoekige array (URA) en uniforme circulaire array (UCA). Het ontwerp van antenne-arrays vereist erg veel ervaring en vaak is het efficiënter voor de ontwikkelaar om het aan een externe specialist over te laten om zowel de optimale array te configureren als een stuklijst (BoM) voor de constructie ervan in productievolumes op te stellen, zoals we in Deel 1 hebben uiteengezet.
De noodzaak tot het gebruik van een antenne-array, extra processors, extra geheugen en antennebeheer brengt een toename van de complexiteit aan de locatorzijde van het goederenvolgsysteem met zich mee, alsmede een verhoging van de kosten en het stroomverbruik. Een pluspunt daarentegen is dat locators meestal op vaste locaties blijven en dus op netvoeding kunnen werken. Voor de meeste oplossingen zullen relatief weinig apparaten nodig zijn in verhouding tot het aantal tags.
AoD-implementaties zijn nog iets complexer. In dit scenario is het de zender die de antenne-array bevat. De ontvanger voert IQ-sampling uit door metingen te nemen vanaf zijn enkele antenne en details van het ontwerp van de antenne-array in de remote-zender te gebruiken om de metingen toe te kennen aan specifieke antennes.
In de AoD-implementatie hebben vaste locator-beacons een Bluetooth 5.1 transceiver, een RF-switch en meerdere antennes nodig om het beaconsignaal te verzenden, maar niet de extra processor en geheugens die nodig zijn voor AoA-implementaties aangezien er aan deze kant van de link geen signaalanalyse wordt uitgevoerd. Hoewel de mobiele ontvanger slechts een enkele antenne nodig heeft, heeft hij wel hardware en software nodig om de berekeningen voor de richtingsbepaling uit te voeren (Afbeelding 4). In IPS-toepassingen is de ontvanger waarschijnlijk een met Bluetooth 5.1 compatibele smartphone, met ruim genoeg processor en geheugencapaciteit om de taak uit te voeren.
Afbeelding 4: in een AoD IPS-systeem met richtingsbepaling gebruiken de vaste beacons antenne-arrays om Bluetooth 5.1-pakketten met CTE te verzenden. De voornaamste berekening vindt plaats op het mobiele toestel, bijvoorbeeld de smartphone van de consument. (Afbeelding: Bluetooth SIG)
Prototypering met Bluetooth 5.1
Dialog Semiconductor, Silicon Labs en Nordic Semiconductor richten hun oplossingen momenteel op AoA- en AoD-toepassingen die de CTE verzenden, dergelijke pakketten ontvangen en de IQ-sampling uitvoeren. Het wordt vervolgens aan de ontwikkelaar overgelaten om te beslissen welke bronnen (d.w.z. hardware en firmware van de locatie-engine) nodig zullen zijn om de feitelijke berekeningen voor de richtingsbepaling uit te voeren. Dit zal in de nabije toekomst echter waarschijnlijk veranderen, naarmate leveranciers meer geavanceerde oplossingen voor richtingsbepaling uitbrengen.
Elk van de bedrijven biedt bijvoorbeeld ontwikkelingstools die het prototyperen van een tag in een AoA-goederenvolgtoepassing ondersteunen. Het ontwikkelingsproces volgt in het algemeen dat voor een conventioneel draadloos apparaat met laag energieverbruik. Een ontwikkelingskit bestaande uit een af-fabriek geleverde, volledig functionele transceiver op basis van het Bluetooth 5.1-doelapparaat en randapparatuur, is bijvoorbeeld verbonden met een pc of Mac die een geschikte geïntegreerde ontwikkelingsomgeving (IDE) host en de softwaretools van de chipleverancier, om ontwikkeling van de toepassing mogelijk te maken.
In het geval van Dialog adviseert het bedrijf Bluetooth 5.1 ontwikkeling de baseren op de kit DA14695-00HQDEVKT-P-ND. De kit bevat een moederbord, een dochterbord op basis van de DA14695 Bluetooth 5.1 SoC en kabels voor aansluiting op een pc. De DK ondersteunt ook Arduino en MikroElektronika mikroBUS shields en stroommetingen.
Silicon Labs biedt de SLWSTK6006A Wireless Gecko starterkit. Deze DK wordt geleverd met maar liefst zes op EFR32BG21 Bluetooth 5.1 SoC gebaseerde dochterborden, die prototypering van een goederenvolgsysteem met meerdere tags mogelijk maken. De DK is ontworpen voor gebruik met de Simplicity Studio van het bedrijf, die de Flex SDK-toepassing en configuratiesoftware-ontwikkelingstools ondersteunt.
Nordic biedt het nRF52840-DK evaluatiebord dat is gebaseerd op de nRF52840 SoC van het bedrijf, die volledig compatibel is met de nRF52811 Bluetooth 5.1 SoC. De ontwikkeling van de toepassing en systeemconfiguratie worden uitgevoerd via de nRF5 SDK van het bedrijf, een software-ontwikkelingstool dat door verschillende populaire IDE's wordt ondersteund. (Zie voor meer informatie over de ontwikkeling van Bluetooth Low Energy-toepassingen het DigiKey artikel “Bluetooth 4.1, 4.2 en 5 compatibele Bluetooth low-energy SoC's en tools staan voor IoT uitdaging”.)
Bluetooth 5.1 verzendt geen pakketten met CTE en voert evenmin standaard IQ-sampling uit; de ontwikkelaar moet het systeem configureren om deze functies toe te volgen met behulp van de ontwikkelingstools van de leverancier. De tools geven toegang tot de Host Controller Interface (HCI), die op zijn beurt door de host wordt gebruikt om de controller te configureren voor generatie van CTE en IQ-sampling.
Voor verbindingsloze scenario's (het type dat gewoonlijk wordt gebruikt door AoD), voert de host de volgende stappen voor initialisatie van de controller uit (Afbeelding 5):
- Doorlopende advertenties (extended advertising) configureren
- Periodieke advertenties configureren
- CTE-overdracht configureren
- CTE-advertenties inschakelen
- Periodieke advertenties inschakelen
- Doorlopende advertenties inschakelen
- Advertentiegegevens instellen
Afbeelding 5: stappen voor initialisatie van de controller die worden uitgevoerd door de host voor verbindingsloze scenario's (gewoonlijk gebruikt door AoD). (Afbeelding: Bluetooth SIG)
Scanapparaten die zijn ontworpen om CTE-gegevens te ontvangen en IQ-samples te nemen die door de adverteerder zijn verzonden, moeten als volgt worden geconfigureerd:
- Doorlopend scannen configureren
- Doorlopend scannen starten
- Synchroniseren met ontvangen periodieke advertentie-sync-pakketten
- Verbindingsloze IQ-sampling inschakelen
Met verbonden scenario's, zoals gewoonlijk worden gebruikt door AoA, vraagt ofwel het master ofwel het slave apparaat het andere apparaat om pakketten met CTE's te verzenden. Aanvragen worden gedaan door een Link Layer (LL) CTE aanvraagpakket te verzenden dat een aantal parameters bevat die het aanmaken van CTE's configureren. Als het remote apparaat geen CTE ondersteunt, zal dit het lokale apparaat hiervan op de hoogte stellen, en het lokale apparaat zal geen verdere aanvragen voor CTE verzenden met behulp van de huidige verbinding.
Het gedetailleerde proces is als volgt. Het aanvragende apparaat doet het volgende:
- Configureren van parameters voor ontvangst van CTE in de controller
- Inschakelen van CTE aanvragen in de controller
- Ontvangen en verwerken van IQ-rapporten
- Deactiveren van het verzenden van aanvragen voor CTE wanneer dit niet langer nodig is
Het antwoordende apparaat doet het volgende:
- Configureren van parameters voor het verzenden van CTE in de controller
- Inschakelen van CTE antwoorden in de controller
- Ontvangen van en antwoorden op LL CTE aanvragen van het andere apparaat
In de Bluetooth 5.1 specificatie beschikt de HCI over een nieuw commando — “LE Read Antenna Information” — dat de host in staat stelt om informatie over de door zijn controller ondersteunde antennes te verkrijgen. De procedure voor het verkrijgen van informatie over de antenne-array in een remote apparaat moet nog gedefinieerd worden.
Bij het uitvoeren van IQ-sampling met een antenne-array, moet elk van de vastgelegde samples aan een specifieke antenne worden toegewezen en moet het nemen van samples op systematische wijze worden uitgevoerd. Gebruikmaken van een patroon dat in HCI configuratiecommando's en strikte timingregels volgen helpt bij het verkrijgen van een dergelijke systematische aanpak. Hoe deze regels worden toegepast en welk apparaat onder welke regels valt, is afhankelijk van of de toepassing AoA of AoD gebruikt en of het apparaat verzendt of ontvangt. Een verzendend apparaat met een enkele antenne verzendt bijvoorbeeld doorlopende pakketten met CTE. IQ-sampling wordt echter altijd uitgevoerd door het ontvangende apparaat, ongeacht het aantal antennes dat het gebruikt.
De tijd die wordt toegewezen aan de CTE-verwerking wordt verdeeld in een initiële bewakingsperiode van 4 microseconden (μs), een referentieperiode van 8 μs en vervolgens een reeks van schakelperiodes, sample-periodes of paren van schakel- en sample-periodes (Afbeelding 6).
Afbeelding 6: dit voorbeeld illustreert de schakeling en sampling voor een timing van 1 µs en 2 µs voor een AoA-toepassing. Het verzendende apparaat met enkele antenne verzendt continu pakketten met CTE terwijl de IQ-sampling wordt uitgevoerd door het ontvangende apparaat volgens een bepaalde schakel- en sampling-sequens. (Afbeelding: Bluetooth SIG)
Gedurende de referentieperiode vindt geen schakeling tussen antennes plaats en worden acht IQ-samples verworven. De host kan de referentie-samples gebruiken om de frequentie van het signaal te schatten en de golflengte af te leiden, waardoor de nauwkeurigheid van de hoekberekeningen wordt verbeterd.[1]
Conclusie
Verbeteringen die zijn aangebracht in de Bluetooth Core-specificatie in de versie 5.1, genereren de onbewerkte gegevens die nodig zijn voor richtingsbepaling met behulp van CTE en IQ-sampling. De specificatie gebruikt beproefde technieken voor het bepalen van de signaalrichting en standaardiseert de interfaces, configuraties en interacties. Een bijkomend voordeel is dat nauwkeurige richtingsbepaling nu interoperabel is voor alle chipleveranciers die Bluetooth-oplossingen aanbieden.
Chipproducenten hebben er niet lang over gedaan om met hardware-oplossingen, software, DK's en SDK's te komen die ontwikkelaars helpen om zich snel vertrouwd te maken met het configureren van systemen die Bluetooth-richtingsbepaling gebruiken. De ontwikkeling van commerciële goederenvolgsystemen en IPS-toepassingen vraagt nog steeds een hoog kennisniveau, met name voor het ontwerpen van antenne-arrays en firmware voor locatie-engines, maar toekomstige Bluetooth-profielen voor richtingsbepaling beloven steeds betere antwoorden op deze uitdaging te bieden.
Referentie
1: Bluetooth Direction Finding: A Technical Overview, Martin Wooley, Bluetooth SIG, maart 2019.
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.




