libftdi Archives

Subject: SPI clock issue?!?

From: Ed <spied@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Mon, 11 Jun 2012 00:46:36 +0400
Good day.

I wrote small test:

#include <ftdi.h>

#define DEVICE_VID      0x0403
#define DEVICE_PID      0x6011


int main(int argc, char **argv)
{
    struct ftdi_context ftdic;
    char buf[16];
    int i;

    ftdi_init(&ftdic);
    ftdi_usb_open(&ftdic, DEVICE_VID, DEVICE_PID);
    ftdi_set_interface(&ftdic, INTERFACE_A);
    ftdi_usb_reset(&ftdic);
    ftdi_set_bitmode(&ftdic, 0, 2);
    i=0;
    buf[i++] =  0x8a;
    buf[i++] = 0x86;
    buf[i++] = 29;   // 1MHz
    buf[i++] = 0x00;
    ftdi_write_data(&ftdic, buf, i);
    i=0;
    buf[i++] = SET_BITS_LOW;
    buf[i++] = 0x18;
    buf[i++] = 0x1B;
    buf[i++] = 0x11; // XXXX
    buf[i++] = 1;    // two bytes
    buf[i++] = 0;
    buf[i++] = 0x33;
    buf[i++] = 0x55;
    ftdi_write_data(&ftdic, buf, i);
    ftdi_usb_close(&ftdic);
    ftdi_deinit(&ftdic);
}

With 0x11 command (look for "XXXX" in comments) I got nice output on CLK pin:
http://dionis.pnz.ru/DS0019.BMP
http://dionis.pnz.ru/DS0021.BMP

But with 0x10 I got not so good picture:
http://dionis.pnz.ru/DS0020.BMP
http://dionis.pnz.ru/DS0022.BMP

Why?
IMO "Clock Data Bytes Out on +ve clock edge MSB first" and "Clock Data Bytes Out on -ve clock edge MSB first" can provide different output only on DO pin, not on CLK pin.

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
Current Thread