From f601acc1cf9c3093b880755b8e32580c570ff8ff Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Sat, 9 Nov 2019 16:41:35 +0100 Subject: [PATCH] microwire: Add a Microchip 93LC46B dump. --- microwire/microchip_93lc46b/README | 27 ++++++++++++++++++ .../microchip_93lc46b/microchip_93lc46b.sr | Bin 0 -> 66530 bytes 2 files changed, 27 insertions(+) create mode 100644 microwire/microchip_93lc46b/README create mode 100644 microwire/microchip_93lc46b/microchip_93lc46b.sr diff --git a/microwire/microchip_93lc46b/README b/microwire/microchip_93lc46b/README new file mode 100644 index 0000000..773da8e --- /dev/null +++ b/microwire/microchip_93lc46b/README @@ -0,0 +1,27 @@ +------------------------------------------------------------------------------- +Microchip 93LC46B Microwire EEPROM +------------------------------------------------------------------------------- + +This is a set of example captures of the Microwire traffic from a +Microchip 93LC46B Microwire EEPROM to an FTDI FT232* chip on a random +unknown eval board. + +Details: +https://www.microchip.com/wwwproducts/en/93LC46B +http://ww1.microchip.com/downloads/en/DeviceDoc/20001749K.pdf + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a CWAV USBee SX (at 8MHz): + + Probe 93LC46B pin + ----------------------- + 0 CS + 1 CLK + 2 DI + 3 DO + 4 ORG + +The ORG pin is tied high to use the x16 memory organisation (16-bit words). diff --git a/microwire/microchip_93lc46b/microchip_93lc46b.sr b/microwire/microchip_93lc46b/microchip_93lc46b.sr new file mode 100644 index 0000000000000000000000000000000000000000..43d609a0e4b27895727a030458a10fad4cbb4d7c GIT binary patch literal 66530 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