VäyläPiraatti aka Bus Pirate

buspiratev3a.jpg

Bus Pirate (http://dangerousprototypes.com/docs/Bus_Pirate) eli kotoisammin VäyläPiraatti on "an open source hacker multi-tool that talks to electronic stuff". ?VäyläPiraatilla voi jutella helposti ja vaivattomasti älyllisen elektroniikan kanssa käyttäen esimerkiksi I2C, JTAG, 1-Wire, jne. väyliä.

1-Wire väylää piratoimassa

1-Wire laite kytketään Bus Pirateen seuraavasti:

Tätä tekstiä kirjoittaessa on käytössä Bus Pirate v3a firmwaren versiolla 5.10, kuten alta näkyy:

Bus Piratelle juttelu tapahtuu sarjakonsolin kautta. Rivit, jotka tässä esimerkissä alkavat HiZ> tai 1-WIRE> ovat komentokehotteita, joiden perässä on annettu yleensä yhden tai useamman merkin mittainen komento. Sen jälkeen tulevat rivit ovat vastaus Bus Piratelta.

Bus Piratella on useita moodeja. Ensimmäinen moodi, johon piraatti käynnistyy on HiZ (high impedance). Tässä moodissa kaikki väylät ovat jännitteettömiä ja suuri-impedanssisessa tilassa. Muita tiloja on firmwaren mukaan tarjolla useita.

Siirrytään 1Wire moodiin:

Bus Piraten käynnistyessä jännitelähteet ovat pois päältä. Tämä voidaan tarkastaa seuraavasti:

Mutta piraatista irtoaa kyllä sähköä sitä haluaville:

Huomionarvoista on jännite viitospinnissä (VPU). VPU ja 3.3V on oikosuljettu, jolloin voidaan käyttää Bus Piraten pull-up vastusta 1-Wire väylän sähkönsyöttöön. Ja piraatin jännitemonitori huomaa jännitteen.

Jännitteet sammutetaan seuraavasti (huomaa komennot w jännite pois ja W jännite päälle):

Mutta nyt halutaan jutella 1-Wire laitteelle. Joten jännitteet ylös, pull-up vastus esiin ja Bus Pirate magiaa käyttöön!

Komento (0xF0) (sulut oleelliset!) on Bus Piraten firmwaresta löytyvä makro, jolla suoritetaan 1Wire antureiden tunnistus väylästä. Ja sieltähän sitä löytyi Dallasin valmistama DS1822 lämpöanturi.

1-Wire laitteen kanssa oikea juttelu:

1-WIRE> { 0x55 (1) 0x44 &:750 { 0x55 (1) 0xBE r:9
BUS RESET  OK                                            # "{" merkki komennon alussa
WRITE: 0x55                                              # 0x55 (ROM command: MATCH ROM)
ADDRESS MACRO 1: 0x22 0x8B 0xDA 0x03 0x00 0x00 0x00 0xEC # Makro "(1)". 1-Wire anturin oma osoite
WRITE: 0x44                                              # 0x44 (Function command: CONVERT T)
DELAY 750us                                              # &:740 (& = 1ms, toistetaan 750 kertaa)
BUS RESET  OK                                            # "{" merkki komennon alussa
WRITE: 0x55                                              # 0x55 (ROM command: MATCH ROM)
ADDRESS MACRO 1: 0x22 0x8B 0xDA 0x03 0x00 0x00 0x00 0xEC # Makro "(1"). 1-Wire anturin oma osoite
WRITE: 0xBE                                              # 0xBE (Function command: READ SCRATCHPAD)
READ: 0x63 0x01 0x4B 0x46 0x7F 0xFF 0x0D 0x10 0x15       # 8 tavua scratchpadin sisältöä + CRC

Varrella Väylän (Piratoidaan UART:ia)

Vastapäänä Buffalon WZR-HP-G300NH wlan-tukiasema. Buffalosta kannet aukaisemalla löytyy liitin J1, jonka pinout on seuraava:

VäyläPiraatti kytketään UART:iin kiinni seuraavasti:

Bus Pirate alkaa jutella UART:ia komentamalla:

Kiinnostavin ominaisuus tässä moodissa bridge-moodi, mikä löytyy makrojen takaa:

}}}


Linked in pages: VäyläPiraatti