Hacking Automotive ultraljudssensorer (3 / 3 steg)
Steg 3: Avkodning resultaten
Jag gjorde några anteckningar av Wikipedia webbplatsen som hade att göra med ljudets hastighet. Det anmärkningsvärda faktumet är att ljudet tar ca 900us (mikrosekunder) att resa en fot. Detta är i torr luft vid normal temperatur (25 grader C) och standard tryck (havsnivå). När temperaturen går ner går ljudets hastighet ner också. Detta innebär att resa att ena foten går upp. Om temperaturen sänks till-25 grader C tar det en extra 72 mikrosekunder för ljudet att täcka det samma fot! Chockerande, vet jag.
OK, kan sortera ut några förväntade timing. Även om sensorerna är endast avsedda att nå ut två meter kan planen på tre rättvis till vara kassaskåp. Vem vet, kanske det blir några stora monster objekt som kan studsa ultraljud energi tillbaka från tre meter.
Om vi tänker mäta ut till högst tre meter då ljudet kommer faktiskt att resa tre meter ut, studsar några stora objekt, och sedan resa tre meter tillbaka. Rund resa är sex meter. Tja, låter resor på 2939 mikrosekunder / meter. Vi kan därför förvänta oss 6 meter att ta 17.634 millisekunder. Kan runda som upp till en fin helhet numrerar av 18ms.
Nu, eftersom vi bultande miljön med ultraljud energi konstiga saker kan hända. Vår ping kunde faktiskt resa ännu längre ut och träffa några super reflektor (sopor dumprar är en awesome reflektor) och studsa tillbaka. Om vi omedelbart börja en annan ping kan vi få en falsk blandning av nuvarande ping med tidigare ping som tog den långa vägen hem. Inte bra. För att förhindra detta, bättre att lägga till en dwell tid, eller vakt-band tid, mellan varje ping. Kan lägga till en annan 18ms för den omgivande miljön att gå ultraljud slutade efter vår ping.
På grund av falska buller i miljön är det bäst att dubbel kontrollera objekt i stället för att förlita sig på en enda ping. Det finns massor av skräp i miljön de genererar ultraljud energi. Därför ping objektet en andra gång för att kontrollera läget. Oddsen att en bullerkälla ses på exakt samma avstånd är slim.
Därför objektet identifiering går så här: vakt-band, andra ping, ping, andra guard-band.
Totalsumma, då, för att deklarera ett objekt som "riktiga" är två ping med två vakt-band (18ms * 4) är lika med 72ms. Detta är värsta fall (mest robusta) timing. Observera, vi kan också samtidigt samla ekon från lyssnande sensor utan påföljd tid. Geometrin mellan pinga sensor och lyssnande sensor måste dock beaktas för att fastställa faktiska avståndet till objektet.
Eftersom vi har total kontroll över sensorer kunde vi programmera dem andra timing som vi önskar. Jag har aldrig provat detta, men, vad sägs om pinga alla sensorer samtidigt! Bang! Tala om tjat miljön med ultraljud energi.
====================
Tja, det är allt. Jag har ett gäng mer information på min hemsida om modulen UPA och reverse engineering systemet. Om du är intresserad av har en titt på:
Tack
Jim