Stap 2: Software
Nu voor sommige software.
Hieronder zijn een paar van LSA (logica staat analyzer) percelen die aantonen dat communicatie tussen de UPA-module en de sensoren.
Het plan is begrijpen deze percelen tot een punt waar ik de MBed hebben kan reproduceren. Als de MBed zou kunnen tot de pols treinen leiden kon dan misschien de sensor overtuigd worden normaal functioneren.
Neem een kijkje op de oscilloscoop plot hieronder. Het is een goede zaak ik stapte uit mijn duffs en aangesloten op mijn bereik. Het toepassingsgebied maakt het mogelijk om te onderscheiden tussen de micro en de sensor in termen van wie actief op de bus spreekt. De werkingssfeer plot toont een ping-opdracht wordt verzonden en de onmiddellijke reactie van de sensor. Onderscheid het kan worden gemaakt op basis van het spanningsniveau tijdens een laag niveau op de bus. De UPA trekt de bus naar een spanning lager dan de sensor. Nou, kwam die ontdekking zeker ter handzaam!
Ontwikkeling van de MBed-broncode werd een mater langzaam het reproduceren van de puls-trein die ik met de LSA gevangen.
Direct na opstarten lijkt het dat de UPA een heleboel gegevens naar de sensoren stuurt. De twee sensoren die gemonteerd in het midden van de fascia krijgen een set van gegevens en de twee buiten sensoren krijgen een andere set. I 'm guessing dat de twee center-sensoren zijn opgezet met een hogere waarde van de winst dan de buiten twee sensoren. Het is ook waarschijnlijk deze waarden verschillen tussen de verschillende voertuig platformen. Niet echt belangrijk, ik heb beide sets gevangen en of één met de MBed kan reproduceren.
Nadat de initialisatie pulsen er een ander paar van pulsen zijn. Misschien een paar reset-commando's? Ik weet het niet. Nogmaals, ik heb broncode voor de MBed die hen kan reproduceren.
Tot slot, de UPA module gaat in actieve sensor scanmodus. Deze scanmodus bestaat uit pingen en luisteren naar de sensoren in een round robin-mode. Houd er rekening mee dat een sensor kan worden geboden te pingen, of alleen luisteren. Dus, een andere truc. Tegelijkertijd direct in de tijd opdrachten de UPA een sensor te pingen als commandant van een andere sensor (of twee) te luisteren. Als een object is recht voor de sensor die de ping gegenereerd dan horen die sensor waarschijnlijk niet de terugkeer echo. Dit is bekend als de ring-down-probleem. Wanneer een sensor een ping genereert is er een vertraging voordat het elke echo's terug kunt ontvangen. Een object sluiten terug echo is waarschijnlijk verloren in deze Nadruktijd. Een luister alleen sensor beschikt niet over een ring-down dode tijd. Daarom de ultrasone energie wordt geproduceerd op een sensor (de pingen sensor), de energie een nabijgelegen object weerkaatst en keert terug naar een andere sensor. Cool uh?
Laat me herhalen van het ring-down probleem omdat mijn bovenstaande beschrijving waarschijnlijk verwarrend was. Een sensor kan fungeren als een ultrasone luidspreker, of, als een ultrasone microfoon. Schakelen tussen luidspreker modus naar de modus van de microfoon neemt een beetje tijd, omdat het gezicht van de sensor nog steeds voor een korte tijd trilt na het piëzo-element stopt. De nadruktijd tussen modus heet ring-down en alle enkel element sensoren hebben dit probleem. Ring-down dicteert hoe dicht die een object kan worden gedetecteerd. Voor deze sensoren die is ongeveer 16cm.
Met de hardware en software in plaats kunnen de sensoren nu worden gecontroleerd zonder veel probleem. De bijgevoegde MBed code initialiseert de sensoren en dan begint ze actief te pingen.
De MBed-code kan eenvoudig worden aangepast voor het vervolgen van andere toepassingen. Het doel was om gewoon een fundament van code die kan worden aangepast aan andere toepassingen.
Update: Na een beetje testen ontdekte ik dat de sensor zal reageren op ping-opdrachten, zelfs als de initialisatie-gegevens niet naar de sensor op power-up verzonden. De sensor moet de kalibratiegegevens opslaan in flash of EEPROM. De productiemodule UPA resends de gegevens op elke macht cyclus gewoon voor goede maatregel.