SPI MOSI and clock edge

Technical questions regarding the XTC tools and programming with XMOS.
norman
Active Member
Posts: 55
Joined: Wed Jan 11, 2012 2:27 pm

SPI MOSI and clock edge

Post by norman »

Hello everybody,

I received my own board some days ago. I was working before with the AVB evaluation board and everything was fine. With my board i've got a strange phenomenon : i can program and debug it and start with the app_spi_master_demo provided, then the SPI MOSI is buffered on rising and falling of his SPI clock.
I've load the exact same program on the AVB evaluation board, and it's work fine (obviously.). On both boards, the SPI clock is clean and at the right frequency. The master clock is the same also.

My board is designed on the board of the AVB eval, the difference i think is that the avb eval is provided with an XS1-L02A-QF124-C5 and on mine is an XS1-L16A-QF124-C10.
edit : after reading again both datasheet, it's look like their the same, just been renamed.

I've tried to use the right .xn file but i suppose i'm not doing it right or does anybody have an idea to change something else ?

(maybe this topic have to move to "getting start"...)


User avatar
larry
Respected Member
Posts: 275
Joined: Fri Mar 12, 2010 6:03 pm

Post by larry »

Some debugging suggestions:

1. Swap I/O assignments around to some spare ports and see if simply driving the SPI bus from software generates the correct timing

2. Configure different SPI modes (clock/data polarity) to explore the possibility of a software issue

3. Run some simple examples on the same hardware using libflash, the built-in built-in flash access library to hint at a hardware issue

libflash is documented in the xTIMEcomposer user guide. Use examples should be easy to find online as well.
norman
Active Member
Posts: 55
Joined: Wed Jan 11, 2012 2:27 pm

Post by norman »

Thank you for this.
I've tried MODE 0 to 3, clock and polarity change as they should but the MOSI bit data is still half the length.
For the 2 other points, i have to look further.
norman
Active Member
Posts: 55
Joined: Wed Jan 11, 2012 2:27 pm

Post by norman »

I was working with the flash memory SST25VF040B. the flash memory designed in the SpecMacros.h is the SST25VF040 (without B). I didn't look for the difference but finally i try the M25P16.

I wasn't able to start from the flash with the SST but i can flash and start from the M25P16, that is the good part. Because i've got the same clock edge problem with the M25P16 as the SST. The 0 and 1 are half the time of what the should be with the standard application spi proposed in this case.

I'll keep searching, to be continued...