This is the code that I am referring to:
// Set baudrate
// if ( (f = ftdi_set_baudrate(ftdic, 115200)) < 0 ) {
if ( (f = ftdi_set_baudrate(ftdic, 6000000)) < 0 ) { // 6 MHz?
fprintf(stderr, "ftdi device: %d unable to set baudrate: %d (%s)\n",
index, f, ftdi_get_error_string(ftdic));
exit(-1);
}
if ( (f=ftdi_usb_reset(ftdic)) <0) {
fprintf(stderr,"ftdi device: %d usb reset failed: %d (%s)\n",index, f,
ftdi_get_error_string(ftdic));
exit(-1);
}
// completely clear the receive buffer before beginning
//while(ftdi_read_data(ftdic, rxbuf, bufsize)>0);
// Clears the read buffer on the chip and the internal read buffer.
if ( (f=ftdi_usb_purge_buffers(ftdic)) <0) {
fprintf(stderr,"ftdi device: %d buffer purge failed: %d (%s)\n",index,
f, ftdi_get_error_string(ftdic));
exit(-1);
}
printf("ftdi device: %d enabling mpsse mode\n",index);
if ( (f=ftdi_set_bit_mode(ftdic,0xFF,BITMODE_MPSSE)) <0) {
fprintf(stderr,"ftdi device: %d cannot enable mpsse mode: %d
(%s)\n",index, f, ftdi_get_error_string(ftdic));
exit(-1);
}
if ( (f=ftdi_read_data_set_chunksize(ftdic, RXCHUNKSIZE)) < 0) {
fprintf(stderr,"ftdi device: %d Can't set chunksize: %d (%s)\n",index,
f,ftdi_get_error_string(ftdic));
exit(-1);
}
printf("ftdi device: %d ftdi open succeeded(channel 1): %d\n",index, f);
// got the below from
http://developer.intra2net.com/mailarchive/html/libftdi/2009/msg000287.html
unsigned char init_commands[] = {
0x86, 0x00, 0x00, // initial clock frequency (6 MHz)
0x80, 0x08, 0x0b, // initial line states
0x85 // disable loopback
};
printf("ftdi device: %d sending initialisation commands\n",index);
if ( (f=ftdi_write_data(ftdic, init_commands,sizeof(init_commands))) < 0) {
fprintf(stderr,"ftdi device: %d write data error for initialisation
commands: %d (%s)\n",index,f, ftdi_get_error_string(ftdic));
exit(-1);
}
From: [email protected]
To: [email protected]
Subject: RE: MPSSE baudrate
Date: Thu, 31 Dec 2009 07:09:42 -0500
There is a function in the api called
ftdi_set_baudrate(ftdi_context,baudrate)
I am not sure if it is as simple as calling this function with a 3000000 for
3MHz or if there is some other calculation involved.
Does ftdi_set_baudrate(ftdi_context,3000000) == 3MHz MPSSE SPI mode?
I am trying to sample a 1.5 MHz signal on the "Data Input (DI)" pin of both
channels(A & B).
Thanks
Siva
From: [email protected]
To: [email protected]
Subject: MPSSE baudrate
Date: Thu, 31 Dec 2009 06:50:05 -0500
Hello,
I am a beginner to using FTDI chips and want to use FT4232H for sampling a 1.5
MHz line. I am hoping that if I could run MPSSE SPI at a baud rate of > 3Mhz or
6 Mhz, will give me a reliable sample.
I am struggling to understand how the baud rate interacts with MPSSE. I have
been through the examples in the libftdi source and the mailing list, but am
not having much luck. Any documentation that I can find on baudrate seems to be
correlated with BitBang mode or UART mode.
Can anyone please guide me to where I can find more information on how the
baudrate interacts with MPSSE SPI?
Thanks
Siva
Hotmail: Trusted email with powerful SPAM protection. Sign up now.
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]
Hotmail: Powerful Free email with security by Microsoft. Get it now.
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]
_________________________________________________________________
Hotmail: Trusted email with powerful SPAM protection.
http://clk.atdmt.com/GBL/go/177141665/direct/01/
--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]