Differences
This shows you the differences between two versions of the page.
projects:bus-parrot [2015/01/09 22:35] darron [Communications] |
projects:bus-parrot [2017/01/12 22:44] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Bus Parrot Bus Pirate ==== | ||
- | <wrap right> | ||
- | {{: | ||
- | </ | ||
- | The Bus Parrot is a clone of the Bus Pirate general purpose I/O device for the RPi. | ||
- | |||
- | In this instance communication is performed via the RPi built-in UART rather than using a USB bridge as in the original. | ||
- | |||
- | === Licence === | ||
- | |||
- | Bus Parrot is derived from and uses the same licensing as the original Bus Pirate. | ||
- | Visit this [[http:// | ||
- | |||
- | === Credits and Thanks === | ||
- | |||
- | All the hard work was done by Dangerous Prototypes and it's really worth visiting their site for a proper overview of the Bus Pirate [[http:// | ||
- | |||
- | === Build === | ||
- | |||
- | This layout is a work-in-progress and is almost functionally the same | ||
- | as the original the difference being the the power section. | ||
- | |||
- | {{: | ||
- | |||
- | All components should be available from CPC in the UK including the PICMicro. | ||
- | |||
- | === Firmware ==== | ||
- | |||
- | Install the [[: | ||
- | |||
- | == Configuration === | ||
- | < | ||
- | DEVICE=RPI | ||
- | SLEEP=1 | ||
- | BITRULES=0x1700 | ||
- | VPP=9 | ||
- | PGM=255 | ||
- | PGC=10 | ||
- | PGD=11 | ||
- | </ | ||
- | |||
- | == Detect Chip == | ||
- | < | ||
- | k24 lvp id | ||
- | [000000] [PROGRAM] | ||
- | [00ABFC] [CONFIG2] | ||
- | [00ABFE] [CONFIG1] | ||
- | [8007F0] [APPID] | ||
- | [8007F4] [CALIB1] | ||
- | [8007F6] [CALIB2] | ||
- | [8007F8] [CALIB3] | ||
- | [8007FA] [CALIB4] | ||
- | [8007FC] [CALIB5] | ||
- | [8007FE] [CALIB6] | ||
- | [FF0000] [DEVID] | ||
- | [FF0002] [DEVREV] | ||
- | Time: 0:00.07s | ||
- | </ | ||
- | |||
- | == Program firmware == | ||
- | < | ||
- | hg clone http:// | ||
- | cd BPv3 | ||
- | k24 lvp program BPv3-Firmware_v6.3-beta1_r2151__Bootloader_v4.4.hex | ||
- | Total: 18436 | ||
- | Time: 0:03.97s | ||
- | </ | ||
- | |||
- | == Verify firmware == | ||
- | < | ||
- | k24 lvp verify BPv3-Firmware_v6.3-beta1_r2151__Bootloader_v4.4.hex | ||
- | Total: 18436 Pass: 18436 Fail: 0 | ||
- | Time: 0:04.58s | ||
- | </ | ||
- | |||
- | === Communications === | ||
- | |||
- | To communicate we will use `kermit' | ||
- | |||
- | == Install == | ||
- | < | ||
- | apt-get install ckermit | ||
- | </ | ||
- | |||
- | == Configure == | ||
- | < | ||
- | set modem type none | ||
- | set line / | ||
- | set carrier-watch off | ||
- | set speed 115200 | ||
- | set flow none | ||
- | connect | ||
- | </ | ||
- | |||
- | == Test == | ||
- | < | ||
- | kermit | ||
- | # | ||
- | RE | ||
- | Bus Pirate v3.a | ||
- | Firmware v6.3-beta1 r2151 Bootloader v4.4 | ||
- | DEVID: | ||
- | http:// | ||
- | HiZ> | ||
- | < | ||
- | </ | ||
- | |||
- | < | ||
- | Hold and release this and afterward enter upper case Q. This will quit kermit and return | ||
- | to the UNIX shell. | ||
- | |||
- | === Demonstration === | ||
- | |||
- | == I2C EEPROM == | ||
- | |||
- | [[http:// | ||
- | |||
- | < | ||
- | kermit | ||
- | # | ||
- | RE | ||
- | Bus Pirate v3.a | ||
- | Firmware v6.3-beta1 r2151 Bootloader v4.4 | ||
- | DEVID: | ||
- | http:// | ||
- | HiZ>m | ||
- | 1. HiZ | ||
- | 2. 1-WIRE | ||
- | 3. UART | ||
- | 4. I2C | ||
- | 5. SPI | ||
- | 6. 2WIRE | ||
- | 7. 3WIRE | ||
- | 8. LCD | ||
- | x. exit(without change) | ||
- | |||
- | (1)>4 | ||
- | Set speed: | ||
- | 1. ~5KHz | ||
- | 2. ~50KHz | ||
- | 3. ~100KHz | ||
- | 4. ~400KHz | ||
- | |||
- | (1)> | ||
- | Clutch disengaged!!! | ||
- | To finish setup, start up the power supplies with command ' | ||
- | |||
- | Ready | ||
- | I2C>P | ||
- | Pull-up resistors ON | ||
- | I2C>W | ||
- | POWER SUPPLIES ON | ||
- | Clutch engaged!!! | ||
- | I2C>(0) | ||
- | | ||
- | | ||
- | 2.I2C sniffer | ||
- | I2C>(1) | ||
- | Searching I2C address space. Found devices at: | ||
- | 0xA0(0x50 W) 0xA1(0x50 R) | ||
- | |||
- | I2C> | ||
- | I2C START BIT | ||
- | WRITE: 0xA0 ACK | ||
- | WRITE: 0x00 ACK | ||
- | WRITE: 0x00 ACK | ||
- | WRITE: 0x03 ACK | ||
- | WRITE: 0x02 ACK | ||
- | WRITE: 0x01 ACK | ||
- | I2C STOP BIT | ||
- | I2C> | ||
- | I2C START BIT | ||
- | WRITE: 0xA0 ACK | ||
- | WRITE: 0x00 ACK | ||
- | WRITE: 0x00 ACK | ||
- | I2C STOP BIT | ||
- | I2C> | ||
- | I2C START BIT | ||
- | WRITE: 0xA1 ACK | ||
- | READ: 0x03 ACK 0x02 ACK 0x01 | ||
- | NACK | ||
- | I2C STOP BIT | ||
- | I2C> | ||
- | < | ||
- | </ |