]> sigrok.org Git - sigrok-dumps.git/blame - i2c/microchip_mcp23017/README.md
mcp23017: Add dumps of the microchip mcp23017 i/o expander
[sigrok-dumps.git] / i2c / microchip_mcp23017 / README.md
CommitLineData
91e85d43
BO
1-------------------------------------------------------------------------------
2Microchip MCP23017 I/O expander with I2C interface
3-------------------------------------------------------------------------------
4
5This is a set of example captures of the MCP23017 16-bit I/O expander with
6an I2C interface. For details see the MCP23017/MCP23S17 datasheet which is
7titled "16-Bit I/O Expander with Serial Interface":
8
9 http://ww1.microchip.com/downloads/en/DeviceDoc/20001952C.pdf
10
11
12Logic analyzer setup
13--------------------
14
15The logic analyzer used was a Saleae clone (samplerate 1MHz). In addition
16to the I2C datalines, 6 output pins are captured too.
17
18The host was a Raspberry Pi using Python to access the I2C port. The bitrate
19decreased after a few 100ms.
20
21 Probe MCP23017
22 -------------------
23 0 A0
24 1 A1
25 2 A2
26 3 B0 / A3
27 4 B1 / A4
28 5 B2 / A5
29 6 SDA
30 7 SCL
31
32
33mcp23017_counter_a_write.sr
34---------------------------
35
36Count the Registers OLATA ascending. The lowest 6 bits of the Output A Port
37are captured too (A0 - A5).
38
39
40mcp23017_counter_init_ab_write.sr
41---------------------------------
42
43Reset all registers, then count the registers OLATA ascending and OLATB
44descending. Both registers are set using one word write operation. The
45lowest 3 bits of both output ports are captured too (A0 - A2, B0 - B2).
46
47
48mcp23017_counter_init_ab_write_read.sr
49-------------------------------------
50
51Reset all registers, then count the registers OLATA ascending and OLATB
52descending. Both registers are set and read using one word write operations.
53The lowest 3 bits of both output ports are captured too (A0 - A2, B0 - B2).