libftdi Archives

Subject: Re: strange chip select issue

From: Ryan Tennill <rtennill@xxxxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Wed, 11 Sep 2013 09:26:40 -0500
On 9/11/2013 7:25 AM, Chaves, Kevin wrote:
You need to understand the MPSSE processor. Look at
http://www.ftdichip.com/Support/Documents/AppNotes/AN_108_Command_Processor_for_MPSSE_and_MCU_Host_Bus_Emulation_Modes.pdf
I found this shortly after sending that last email out. I'm still not quite 
sure what it means

0x80 seems simple command to set bits low
0xvalue sets bit or bits low?, but 0x08 sets a bit high? I'm not sure I get 
this. Is it literally toggling between bits, 0x00 sets bit 0x00 low and all 
other bits high, so toggling 0x08 causes 0x08 to go low and 0x00 to go high?
0xdirection this I don't understand at all, or why there is a difference in each lib 
I have 0xfb <-> 0x0b, is that first nibble ignored?

Disclaimer: I've never used MPSEE. This is just my understanding having read through the relevant section of the shared AppNote.

Value = bit field for each pin's logic level
Direction = set pin as input or output, you can read driven value and actual pin value separately with libftdi I believe.

Are you setting direction = 0xFB and then reading 0x0B or do you use those values depending on the lib? I don't quite follow what you mean there.

the command 0x80 0x08 0x00 should
- configure only low byte pins (ADBUS 7-0)
- set pin[3] high
- set all low byte pins as input

I don't know if there are any MPSEE based examples in the libFTDI tree but that would also be a good reference.

Ryan

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