Stap 2: De PC - miniterm (eerste contact)
In Tutorial 214; Met behulp van een UART om een 1-Wire Bus Master wordt beschreven hoe te genereren/ophalen 1-wire bus pulse sequenties. Helaas moeten de RESET & aanwezigheid pulsen worden gegenereerd met 9600 baud overwegende dat alle andere (lezen, schrijven van 0 en 1) moeten worden gemaakt met behulp van 115200 baud. Zoals aangegeven in App. Opmerking 74; Lezen en schrijven 1-Wire apparaten via seriële Interfaces: "Hoewel efficiënt onder besturingssystemen zoals DOS, moderne besturingssystemen maken de toegang tot UART registers vrij inefficiënt." en omdat we niet gebruiken een DS2480B willen, we moeten leven met het feit dat een snelle switch van de baud-rate bij een gecontroleerde buffer positie onmogelijk is.
Voor het systeem die ik gebruikte was dit geen probleem aangezien ik betrouwbaar RESET & aanwezigheid pulsen op een baud-rate van 115200 als 0x00 0x00-reeks detecteren kon. Eigenlijk gaande van 9600 tot 115200 zou resulteren in 12 bytes in plaats van 1, maar in dit geval hebben we slechts 2 start bits - dus 2 bytes alleen. Hoewel 0x00 zou een schrijven 0 - ik zag nooit waarden onder 0x80 op de bus en dus onderscheid kon maken tussen 0 en RESET & aanwezigheid schrijven. In het geval van andere systemen gebruikt (Master & slaven) zouden kunnen de exacte timing en dus dit feit veranderen.
(Ik gebruikte een OW Server 2 ENET met 1 DS2438 als een systeem voor deze tests.)
Dat al zei, voor een eerste contact dat we eigenlijk niet moeten zorgen te veel, we moeten beslissen wat we willen zien en selecteer vervolgens de juiste baudrate. Ik gebruikte de Python script miniterm.py die wordt geleverd met de pySerial module (later gebruikt toch - Interface Python en Arduino met pySerial is zeer nuttig in het algemeen) om de poort te openen en Bekijk de binnenkomend verkeer:
$ miniterm.py -D -D -D /dev/ttyACM0 9600
$ miniterm.py -D -D -D /dev/ttyACM0 115200
(De andere poortinstellingen zijn: 8 bits, geen pariteit, 1 stopbit, die standaard in miniterm is.)
Zodra we een verbinding tot stand gebracht hebben en zie gegevens komen, kunnen we beginnen te analyseren van het busverkeer. Kijken naar de hexadecimale waarden weergegeven (moet ongeveer 5 verschillende waarden alleen komen over en weer), converteren van de HEXUITDRAAI om beetje sequenties en studie van de timing van de bus, proberen om te onderscheiden tussen schrijven en lezen operaties, enz.
Wilt u eens een kijkje op een zeer waardeloze, vroege en eenvoudig ("proof of concept staat zoals") script om een idee over hoe om door te gaan vanaf hier te krijgen, gaat u verder met de volgende stap.