1
Bus Pirate Support / 93C56 Read/Write?
I'm using a 93C56A, so it's 256x8 with no need to do anything with the ORG pin.
I've connected it thusly.
Code: [Select]
BP3 -> ROM
CS -> CS
CLK -> CLK
MOSI -> DI
MISO -> DO
+5v -> VCC
GND -> VSS
I'm a software engineer, but a self proclaimed electronics n00b, and this is my first time using the Bus Pirate in earnest, so I'm almost certainly making an elementary mistake, but I can't seem to spot it.
I've been reading through some threads that are similar, and trying to piece together the info into a working solution for myself.
I've read these;
viewtopic.php?f=4&t=5273
viewtopic.php?t=665
viewtopic.php?t=510
I'm running a 3.a with the latest firmware I could find/use
Code: [Select]
Bus Pirate v3.a
Firmware v6.3-beta1 r2088 Bootloader v4.4
DEVID:0x0447 REVID:0x3046 (24FJ64GA002 B8)
http://dangerousprototypes.com
It passes self tests
Code: [Select]
HiZ>~
Disconnect any devices
Connect (Vpu to +5V) and (ADC to +3.3V)
Space to continue
Ctrl
AUX OK
MODE LED OK
PULLUP H OK
PULLUP L OK
VREG OK
ADC and supply
5V(4.98) OK
VPU(4.98) OK
3.3V(3.35) OK
ADC(3.31) OK
Bus high
MOSI OK
CLK OK
MISO OK
CS OK
Bus Hi-Z 0
MOSI OK
CLK OK
MISO OK
CS OK
Bus Hi-Z 1
MOSI OK
CLK OK
MISO OK
CS OK
MODE and VREG LEDs should be on!
Any key to exit
Found 0 errors.
I'm using 3 wire mode, with "default" settings
Code: [Select]
HiZ>m7
Set speed:
1. ~5KHz
2. ~50KHz
3. ~100KHz
4. ~400KHz
(1)>1
CS:
1. CS
2. /CS *default
(2)>2
Select output type:
1. Open drain (H=Hi-Z, L=GND)
2. Normal (H=3.3V, L=GND)
(1)>1
Ready
3WIRE>
When I read a new chip, I get all zeros
Code: [Select]
3WIRE>]0b110 _^_^_^ 0x00 r:10[
/CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
CLOCK TICKS: 0x01
DATA OUTPUT, 0
CLOCK TICKS: 0x01
DATA OUTPUT, 0
CLOCK TICKS: 0x01
WRITE: 0x00
READ: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
/CS ENABLED
I try to write to it with an EWEN -> Write -> EWDS, which seems fine..
Code: [Select]
3WIRE>]0b10011[
/CS DISABLED
WRITE: 0x13
/CS ENABLED
3WIRE>]0b101 _^_^_^ 0x00 0xab[
/CS DISABLED
WRITE: 0x05
DATA OUTPUT, 0
CLOCK TICKS: 0x01
DATA OUTPUT, 0
CLOCK TICKS: 0x01
DATA OUTPUT, 0
CLOCK TICKS: 0x01
WRITE: 0x00
WRITE: 0xAB
/CS ENABLED
3WIRE>]0b10000[
/CS DISABLED
WRITE: 0x10
/CS ENABLED
But it doesn't seem to take, or.. My reads are incorrect
Code: [Select]
3WIRE>]0b110 _^_^_^ 0x00 r[
/CS DISABLED
WRITE: 0x06
DATA OUTPUT, 0
CLOCK TICKS: 0x01
DATA OUTPUT, 0
CLOCK TICKS: 0x01
DATA OUTPUT, 0
CLOCK TICKS: 0x01
WRITE: 0x00
READ: 0x00
/CS ENABLED
Any guidance for a n00b? Apologies in advance that I'll likely ask you to explain acronyms and common terms, so feel free to direct me to links/manuals/guides.