FT232R之Bit Bang

FT232R之Bit Bang那啥 FT232R 强大而憋屈 FT232R 是各种平常可以用到的串口中质量比较好的芯片 如果有一个 FT232R 的板子 你会发现上面会有 CBUS0 4 四个空焊的引脚 或许一开始不清楚是做什么用的 一般来

大家好,欢迎来到IT知识分享网。

那啥FT232R

强大而憋屈

图片来自上面的博客,由于没有外部晶振导致的输出的信号会乱掉,大多数串口都是按照官方原理图,使用内部晶振,所以释放身边FT232串口的潜力希望不大了。另一种方法是飞线到晶振上去,这样的方法很不稳,也很丑,除非自制一个个性的串口,把晶振给加上去,使用12MHz有源或者无源晶振。

重新设计,释放潜力

电路布线

FT232R实际可以编程的3种模式

  • Asynchronous Bit Bang Mode (异步BitBang)
  • Synchronous Bit Bang Mode (同步BitBang)
  • CBUS Bit Bang Mode (CBUS BitBang)
  1. 异步BitBang (0x01)
    异步BitBang是最容易理解的,他一共有8个可配置输入输出的 IO,所指代的也就是FTDI芯片中的DBUS,分别对应Bit0-7,未配置情况下也就是RS232的标准引脚分别是:TX RX RTS# CTS# DTR# DSR# DCD# RI# 手册的只标明了引脚号,其实对应的就是这个功能。每个IO的输入和输出可以单独配置,不受影响。可以选CBUS配置WR# RD#功能,这些功能需要在EEPROM中配置,而不是通过编程!
    在这里插入图片描述
    FT232RL自带了EEPROM,在官网下载FT PROG就可以配置FT232R的功能了,配制成BiBang WRn等等
    在这里插入图片描述



  2. 同步BitBang(0x04)
    这个模式是一定要先读在写入,需要的话和异步模式相同可以配置WR# RD#功能到CBUS上,具体参考手册。这种模式也是实现SPI,I2C的主要模式,讲一些类生成好的时钟序列写给芯片后,每次写电平FT232都会记录输入管脚的电平,然后取出对应位置的电平进行解码。
    在这里插入图片描述

  3. CBUS BitBang(0x20)
    在这里插入图片描述
    CBUS并不是提供了API可以自由控制,而且只能控制CBUS0-3一共4个IO。跟当初想的不一样,与控制DBUS的BirBang只能两者取其一。需要上面提到的那样,在FT_PROG中配置成I/O MODE。切换很不灵活,而且官方说传输大的buffer,CBUS起来和DBUS相比会慢很多,受到USB的帧决定,可能应该是,DBUS有硬件FIFO的缘故。

不标准的Hello World

TXRX口软件输出50%占空比的方波

#include "ftd2xx.h" #include <stdio.h> #include <stdlib.h> #include <windows.h> int main() { 
    FT_STATUS ftStatus; FT_HANDLE handle; FT_DEVICE_LIST_INFO_NODE *ftDevInfoList; DWORD numDevs; ftStatus = FT_CreateDeviceInfoList(&numDevs); if (ftStatus == FT_OK) { 
    printf("Number of FTDI devices is:%ld\n", numDevs); if (numDevs == 0) { 
    return 0; } } else { 
    return 1; } if (FT_Open(0, &handle)) { 
    puts("Can't open device"); return 1; } BYTE dat[] = { 
   0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02}; DWORD bytes; ftStatus = FT_SetBitMode(handle, 0x03, 0x01); if (ftStatus) { 
    puts("BitMode"); return 1; } ftStatus = FT_SetBaudRate(handle, 9600); if (ftStatus) { 
    puts("BaudRate"); return 1; } for (int i = 0; i < 4; ++i) { 
    FT_Write(handle, dat, sizeof(dat), &bytes); } FT_Close(handle); } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/126133.html

(0)
上一篇 2025-09-21 14:45
下一篇 2025-09-21 15:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信