Hi Mikael,
I found the following text in the FT2232H data sheet:
3.4.2 FT2232H pins used in an FT245 Style Synchronous FIFO Interface
"In this mode the 'B' channel is not available as all resources have been switched onto channel A."
Regards
Will
On Wed, Oct 13, 2010 at 9:17 PM, Mikael Krus <mk@xxxxxxxxxx> wrote:
Hi Will,
If I read the datasheet correct, single channel means that the
synchronous FIFO mode is only available in interface A and not in B.
So you mean if I choose this mode in interface A, interface B must
be unconfigured?
Regards
Mikael
Will Zhang skrev 2010-10-13 11:06:
Hi Mikael,
To my knowledge, FT2232H supports SINGLE CHANNEL synchronous FIFO
mode. I suggest double check the data sheet to make sure your
desired configuration is possible in hardware.
Will
On Wed, Oct 13, 2010 at 7:13 PM, Mikael Krus <mk@xxxxxxxxxx>
wrote:
Hi,
I am trying to configure both interfaces in FT2232H, and use
them and at the same time. This isn't working as expected
though.
This is how I like it:
Interface A should be in synchrounous FIFO mode continously
reading the buffer waiting for data.
Interface B should be in MPSSE mode (simple general purpose
IO). Toggling a pin writes data to the FIFO (for interface A
to read).
This is a snippet from my code when sertting up the interfaces
(I can attach my full code if someone like to see it):
// Select and open interface A, reset and purge, enable
syncFIFO
ret = ftdi_set_interface(&ftdicA, INTERFACE_A);
ret |= ftdi_usb_open_dev(&ftdicA, devlist->dev);
ret |= ftdi_usb_reset(&ftdicA);
ret |= ftdi_usb_purge_buffers(&ftdicA);
ret |= ftdi_set_bitmode(&ftdicA, 0, BITMODE_RESET);
ret |= ftdi_set_bitmode(&ftdicA, 0, BITMODE_SYNCFF);
ret = ftdi_set_interface(&ftdicB, INTERFACE_B);
ret |= ftdi_usb_open_dev(&ftdicB, devlist->dev);
ret |= ftdi_usb_reset(&ftdicB);
ret |= ftdi_usb_purge_buffers(&ftdicB);
ret |= ftdi_set_bitmode(&ftdicB, 0, BITMODE_RESET);
ret |= ftdi_set_bitmode(&ftdicB, 0, BITMODE_MPSSE);
After this I try to send a "bogus" command to the MPSSE
expecting it to send back a two byte "error code" message, but
this never happens.
If I comment out the setup of interface A, however it works as
expected (regarding the "error message" sent back).
What did I do wrong??
Besides this, what effect will my ftdi_usb_reset() call have
on interface A when calling it for interface B? Does it also
get reset?
Best regards
Mikael
--
libftdi - see http://www.intra2net.com/en/developer/libftdi
for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
--
Mikael Krus, M.Sc.EE
Omnisys Instruments AB
August Barks Gata 6B
SE-421 32 Västra Frölunda
Sweden
Phone: +46 31 734 34 10
http://www.omnisys.se
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx
|