diff options
Diffstat (limited to 'spi')
-rw-r--r-- | spi/spi_atmega32/README | 69 | ||||
-rw-r--r-- | spi/spi_atmega32/spi_atmega32_00.sr | bin | 0 -> 20428 bytes | |||
-rw-r--r-- | spi/spi_atmega32/spi_atmega32_01.sr | bin | 0 -> 21811 bytes | |||
-rw-r--r-- | spi/spi_atmega32/spi_atmega32_10.sr | bin | 0 -> 20507 bytes | |||
-rw-r--r-- | spi/spi_atmega32/spi_atmega32_11.sr | bin | 0 -> 21926 bytes |
5 files changed, 69 insertions, 0 deletions
diff --git a/spi/spi_atmega32/README b/spi/spi_atmega32/README new file mode 100644 index 0000000..90e8780 --- /dev/null +++ b/spi/spi_atmega32/README @@ -0,0 +1,69 @@ +------------------------------------------------------------------------------- +SPI / Atmel ATMEGA32 +------------------------------------------------------------------------------- + +This is a set of SPI captures from an Atmel ATMEGA32 device. The main loop of +the C program outputs an 8-bit value which is increased by one between +subsequent transmissions: + + unsigned char c = 0; + for (;;) { + _delay_us(250); + cbi(PORTB, DD_SS); + SPDR = c; + c++; + while (!(SPSR & (1 << SPIF))); + sbi(PORTB, DD_SS); + } + + +Logic analyzer setup +-------------------- + +The logic analyzer used was a Saleae Logic (at 500kHz). + + Probe ATMEGA32 pins (PDIP-40) + --------------------------------- + 0 (CS) SS/PB4 (Pin 5) + 1 (MOSI) MOSI/PB5 (Pin 6) + 2 (SCK) SCK/PB7 (Pin 8) + + +Probing +------- + +The sigrok command line used was: + + sigrok-cli --driver fx2lafw --samples=1m --config samplerate=500k -o <file> + + +SPI setup +--------- + +There are 4 different SPI setups each captured in a separate capture file +(see the ATMEGA datasheet for the meaning of the CPOL & CPHA flags). + + +spi_atmega32_00.sr +------------------ + +SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1); + + +spi_atmega32_11.sr +------------------ + +SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1) | (1<<CPOL) | (1<<CPHA); + + +spi_atmega32_01.sr +------------------ + +SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1) | (1<<CPHA); + + +spi_atmega32_10.sr +------------------ + +SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1) | (1<<CPOL); + diff --git a/spi/spi_atmega32/spi_atmega32_00.sr b/spi/spi_atmega32/spi_atmega32_00.sr Binary files differnew file mode 100644 index 0000000..f63dc91 --- /dev/null +++ b/spi/spi_atmega32/spi_atmega32_00.sr diff --git a/spi/spi_atmega32/spi_atmega32_01.sr b/spi/spi_atmega32/spi_atmega32_01.sr Binary files differnew file mode 100644 index 0000000..2ae0404 --- /dev/null +++ b/spi/spi_atmega32/spi_atmega32_01.sr diff --git a/spi/spi_atmega32/spi_atmega32_10.sr b/spi/spi_atmega32/spi_atmega32_10.sr Binary files differnew file mode 100644 index 0000000..aa5a9e8 --- /dev/null +++ b/spi/spi_atmega32/spi_atmega32_10.sr diff --git a/spi/spi_atmega32/spi_atmega32_11.sr b/spi/spi_atmega32/spi_atmega32_11.sr Binary files differnew file mode 100644 index 0000000..3e574db --- /dev/null +++ b/spi/spi_atmega32/spi_atmega32_11.sr |