FTDI Bit-Bang抖动(FT232R与FT232H)

时间:2018-04-29 20:43:28

标签: usb microcontroller ftdi jitter oscilloscope

当我对FT232H上的RX和TX引脚进行bit-bang时,输出很漂亮。当我在FT232R上重复时,它很糟糕。 什么导致信号在FT232R上看起来如此糟糕?请注意,我使用的是FT232R分线板(from sparkfun)和FT232H分线板(from ADAfruit)。

OSCILLOSCOPE SCREENSHOT:https://i.stack.imgur.com/e4PYD.jpg

<img src="https://i.stack.imgur.com/e4PYD.jpg">

上面的图片来自在两个分组板上运行的C#程序:

const byte PIN_TX = 0b00000001;
const byte PIN_RX = 0b00000010;

public static FTDI ftdi = new FTDI();
public static FTDI.FT_STATUS ft_status = FTDI.FT_STATUS.FT_OK;
public static UInt32 bytesWritten = 0;

static void Main(string[] args)
{

    // open and configure the FTDI device
    ftdi.OpenByIndex(0);
    ftdi.SetBitMode(0, 0);
    ftdi.SetBitMode(PIN_TX | PIN_RX, 0x01); // Asynchronous Bit Bang Mode
    ftdi.SetBaudRate(9600);

    // create some data to send
    byte[] data = new byte[1234];
    for (int i = 0; i < data.Length; i++)
    {
        data[i] = 0;
        if (i % 2 == 1) data[i] |= PIN_RX;
        if (i % 4 == 1) data[i] |= PIN_TX;
    }

    while (true)
    {
        ftdi.Write(data, data.Length, ref bytesWritten);
    }

}

2 个答案:

答案 0 :(得分:1)

这是勘误表,应该只是FT232R的修订版A。但是,我可以确认这一点在2019年仍然没有解决。

答案 1 :(得分:-1)

显然这是FT232R的已知问题。 它在FT232R errata(第4页)中得到解决,并在这些网页上进行了演示: