Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2011-09-02 21:29:29
Size: 5142
Editor: ?oherrala@gmail.com
Comment:
Revision 7 as of 2011-09-04 13:56:56
Size: 6960
Editor: ?oherrala@gmail.com
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:

<<TableOfContents()>>
Line 118: Line 120:
= 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:

 || Nasta || Selitys ||
 || 1 || DC 3.3V ||
 || 2 || GND ||
 || 3 || TX ||
 || 4 || RX ||


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

 || '''Bus Pirate''' || '''UART''' ||
 || GND || GND ||
 || MOSI || RX ||
 || MISO || TX ||

Bus Pirate alkaa jutella UART:ia komentamalla:

  {{{
HiZ>m3
Set serial port speed: (bps)
 1. 300
 2. 1200
 3. 2400
 4. 4800
 5. 9600
 6. 19200
 7. 38400
 8. 57600
 9. 115200
10. BRG raw value

(1)>9
Data bits and parity:
 1. 8, NONE *default
 2. 8, EVEN
 3. 8, ODD
 4. 9, NONE
(1)>1
Stop bits:
 1. 1 *default
 2. 2
(1)>1
Receive polarity:
 1. Idle 1 *default
 2. Idle 0
(1)>1
Select output type:
 1. Open drain (H=Hi-Z, L=GND)
 2. Normal (H=3.3V, L=GND)

(1)>2
Ready
UART>
}}}

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

 {{{
UART>(0)
 0.Macro menu
 1.Transparent bridge
 2. Live monitor
 3.Bridge with flow control
}}}

 {{{
UART>(1)
UART bridge
Reset to exit
Are you sure? y

#
# uname -a
Linux AP001D73B3EBDD 2.6.15 #1 Thu Oct 14 11:02:39 JST 2010 mips unknown
# cat /proc/cpuinfo
system type : Atheros AR9100
processor : 0
cpu model : MIPS 24K V7.4
BogoMIPS : 265.21
wait instruction : yes
microsecond timers : yes
tlb_entries : 16
extra interrupt vector : yes
hardware watchpoint : yes
ASEs implemented : mips16
VCED exceptions : not available
VCEI exceptions : not available
}}}
}}}

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:

  • Bus Pirate

    1-Wire

    GND

    GND

    MOSI

    DQ

    3.3V

    Vdd

    VPU

    Vdd

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

  • HiZ> i
    Bus Pirate v3a
    Firmware v5.10 (r559)  Bootloader v4.1
    DEVID:0x0447 REVID:0x3043 (24FJ64GA002 B5)
    http://dangerousprototypes.com

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:

  • HiZ> m2
    1WIRE routines (C) 2000 Michael Pearce GNU GPL
    Ready

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

  • 1-WIRE> v
    Pinstates:
    1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
    GND     3.3V    5.0V    ADC     VPU     AUX     -       OWD     -       -
    P       P       P       I       I       I       I       I       I       I
    GND     0.00V   0.00V   0.00V   0.00V   L       L       L       L       L

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

  • 1-WIRE> W
    Power supplies ON
    1-WIRE> v
    Pinstates:
    1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
    GND     3.3V    5.0V    ADC     VPU     AUX     -       OWD     -       -
    P       P       P       I       I       I       I       I       I       I
    GND     3.36V   5.00V   0.00V   3.22V   H       L       L       L       H

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):

  • 1-WIRE> w
    Power supplies OFF
    1-WIRE> v
    Pinstates:
    1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
    GND     3.3V    5.0V    ADC     VPU     AUX     -       OWD     -       -
    P       P       P       I       I       I       I       I       I       I
    GND     0.00V   0.00V   0.00V   0.00V   H       L       L       L       H

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

  • 1-WIRE> W
    Power supplies ON
    1-WIRE> P
    Pull-up resistors ON
    1-WIRE> v
    Pinstates:
    1.(BR)  2.(RD)  3.(OR)  4.(YW)  5.(GN)  6.(BL)  7.(PU)  8.(GR)  9.(WT)  0.(Blk)
    GND     3.3V    5.0V    ADC     VPU     AUX     -       OWD     -       -
    P       P       P       I       I       I       I       I       I       I
    GND     3.23V   5.01V   0.00V   3.26V   H       H       H       H       H
    1-WIRE> (0xF0)
    SEARCH (0xF0)
    Macro     1WIRE address
     1.0x22 0x8B 0xDA 0x03 0x00 0x00 0x00 0xEC
       *DS1822 Econ Dig Therm
    Device IDs are available by MACRO, see (0).

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:

  • Nasta

    Selitys

    1

    DC 3.3V

    2

    GND

    3

    TX

    4

    RX

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

  • Bus Pirate

    UART

    GND

    GND

    MOSI

    RX

    MISO

    TX

Bus Pirate alkaa jutella UART:ia komentamalla:

  • HiZ>m3
    Set serial port speed: (bps)
     1. 300
     2. 1200
     3. 2400
     4. 4800
     5. 9600
     6. 19200
     7. 38400
     8. 57600
     9. 115200
    10. BRG raw value
    
    (1)>9
    Data bits and parity:
     1. 8, NONE *default 
     2. 8, EVEN 
     3. 8, ODD 
     4. 9, NONE
    (1)>1
    Stop bits:
     1. 1 *default
     2. 2
    (1)>1
    Receive polarity:
     1. Idle 1 *default
     2. Idle 0
    (1)>1
    Select output type:
     1. Open drain (H=Hi-Z, L=GND)
     2. Normal (H=3.3V, L=GND)
    
    (1)>2
    Ready
    UART>

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

  • UART>(0)
     0.Macro menu
     1.Transparent bridge
     2. Live monitor
     3.Bridge with flow control
    UART>(1)
    UART bridge
    Reset to exit
    Are you sure? y
    
    # 
    # uname -a
    Linux AP001D73B3EBDD 2.6.15 #1 Thu Oct 14 11:02:39 JST 2010 mips unknown
    # cat /proc/cpuinfo 
    system type             : Atheros AR9100
    processor               : 0
    cpu model               : MIPS 24K V7.4
    BogoMIPS                : 265.21
    wait instruction        : yes
    microsecond timers      : yes
    tlb_entries             : 16
    extra interrupt vector  : yes
    hardware watchpoint     : yes
    ASEs implemented        : mips16
    VCED exceptions         : not available
    VCEI exceptions         : not available

}}}


Linked in pages: VäyläPiraatti