FT2232C, FT2232L, FT2232D

Час від часу зустрічаю запитання по відмінностях між цими мікросхемами. В описах чи відкритих проектах в інтернеті згадується FT2232C, а в продажу зараз є FT2232D. Виникають сумніви у сумісності програм та адаптерів.
Як це часто буває, всі ці сумніви розвіюються при перегляді сторінки опису FT2232D. Але чомусь багатьом легше не подивитися на сайті виробника, а спитати на форумі чи набрати рядок «різниця FT2232C та FT2232D» в пошуковику. Ну що ж, ось він, цей рядок для нього, хай йому буде легше :-)

Документації на старіші версії мікросхем на сайті вже немає, але безпосередньо на сторінці сказано:

The FT2232D is the 3rd generation of FTDI’s popular USB UART/FIFO IC. The FT2232D is an updated version of the FT2232C and its lead free version, the FT2232L. Please note that the FT2232D is not an new generation of device.

The FT2232D is lead free and pin compatible with the original FT2232C and FT2232L devices. All the original device features are supported with some additional features available including a CPU-style FIFO mode and an extended operating temperature range.

»»» І що ж все це означає?

AVReAl update — 1.28r6

avreal v1.28r6 (Sun 2011-01-09) has been released.

  • ATmega325A and ATmega329A are added.
  • Aliases for “A”-versions are added:
        ATmega165A, ATmega645A, ATmega6450A
        ATmega169A, ATmega329PA, ATmega649A, ATmega6490A
  • avreal/Linux64, FT2232* and FT4232H-based adapters:
    Library named libftd2xx.so.0 instead of previously used libftd2xx.so is loaded for FTDI chips support.
    This allows installation both old (required for avreal) and new library versions, for example libftd2xx.so.0.4.16 and libftd2xx.so.1.0.0.
    Read more about libftd2xx.so.1.0.0 problems in 64-bit Linux.
  • -k/-K switch now has two forms with different avreal stages execution order.

The FTDI’s gift

The FTDI’s gift is very interesting.

Keeping the “See Figure 1.” motto in their minds, they have changed data types when switching over from library libftd2xx.so versions 0.4.x to libftd2xx.so.1.0.0. The gift affects on 64-bit libraries only. There is no problem for 32-bit ones.

ftd2xx library was born in Windows and contains WinAPI-like UART support functions FT_W32_ххх(). That’s why WinAPI standard types DWORD, BYTE and so on are used in the library. For Linux version of the library they have added WinTypes.h header file with typedefs for these types. In general, it seems to be a logical step, but…

Continue reading ‘The FTDI’s gift’ »

avreal/linux and libftd2xx.so.1.0.0 64-bit

At the beginning of december FTDI gave us a small gift — a new version 1.0.0 of libftd2xx.so library. But avreal/Linux 64 bit doesn’t work with the library. I will check avreal code later. I have placed previous version 0.4.16 of libftd2xx.so with which avreal works properly, on the download page.


Read more in another post: “The FTDI’s gift”

bug in avreal 1.28r2 and 1.28r3

A strange bug was found in avreal 1.28r2 and 1.28r3. At the coincidence of conditions

  • An FT2232/FT4232-based adapter is used
  • There are some data for top two flash bytes — either data from hex-file or erase counter
  • flash and fuses are used in one avreal call
  • -v verification switch is used

for some microcontroller types avreal fails with “synchronosation lost” error after the first verification.

Continue reading ‘bug in avreal 1.28r2 and 1.28r3’ »

AVReAl @ XP/64, Windows7/32, Windows7/64

Working of avreal with FT2232C/L/D/H has been checked for WindowsXP/64, Windows7/32 Windows7/64 and CDM 2.06.00 driver. All OK.

AVReAl update – 1.28r1

avreal v1.28r1 (Sun 2010-01-31) has been released.

  • FT2232H, FT4232H support is added. Both channels with MPSSE are allowed for programming. Allowable pin names are listed in configuration description.
  • Switch -k is added for waiting an adapter’s key being pressed before starting the programming. See key record description.
  • Switch modifier -os is added for selecting SCK frequency instead of MCU clocking frequency.

AVReAl update – 1.28r0

avreal v1.28r0 (Wed 2010-01-20) has been released.

  • FTDI device list switch -aft2232 -p? doesn’t require microcontroller type switch +name.
  • tiny2313A, tiny4313 added.
  • -az switch leaves FT2232 in MPSSE mode with programming pins configured as inputs.
  • Pin groups led_ok, led_error are added for LPT-based adapters.
  • All record types including led_ok, led_error are supported now for FT2232-based adapter configuration.
  • enable pin for FT2232-based adapters is processed in the same way as for LPT-based so inversion mark ‘~’ is required for buffers with active low enable input.
  • Unbuffered mode is always used for program output for better information refreshing when IDE redirection is used.
  • HEX-file data records (type 00) with zero-length data field are ignored.
  • -ar switch was removed so configuration file must be created for inverted RESET.

AVReAl – ISP programmer for AVR

 

AVReAl designed for programming of Atmel AVR microcontrollers in ISP (in-circuit serial programming) mode.
AVReAl requires one of

AVReAl is console application which makes possible to integrate it into almost any development environment (IDE).
Now supported Windows, Linux and FreeBSD (no FT2232 support for FreeBSD).
DOS-version not supported since 1.27rev0. Last DOS version 1.25r6 is available for downloading.
Working of avreal/win32 with FT2232C/L/D/H has been checked for Windows2000, WindowsXP/32, WindowsXP/64, Windows7/32, Windows7/64.
Working of avreal/win32 with LPT via DLPortIO drivers has been checked for Windows2000, WindowsXP/32, WindowsXP/64, Windows7/32, Windows7/64. No drivers needed for Windows98.

The program is free for commercial or non-commercial use but it’s sources unavailable. Shortly, it is freeware but not free software.

You can download avreal and DLPortIO driver for 32- and 64-bit Windows here. Visit description page for detailed information and adapters page for schematics of programming adapters.
Posts about updates and bug fixes are published under ‘History’ category. Separate posts about bug is published in that case, when I have no time for urgent correction or I treat the bug as “feature” up to next avreal release.
List of previous changes and some of previous versions can be found on “old” History page.

Supported microcontroller list can be got by the command

avreal -h

avreal (and any other programmer) can’t differ microcontrollers listed by character ‘|’ (read more).

 AT86RF401
 AT90S1200    AT90S2313    AT90S4414    AT90S8515    AT90S4434
 AT90S8535    AT90S2333    AT90S4433    AT90S2323    AT90S2343
 ATtiny12     ATtiny22L    ATtiny22     ATtiny13|ATtiny13A
 ATtiny2313|ATtiny2313A    ATtiny4313
 ATtiny15     ATtiny25     ATtiny45     ATtiny85     ATtiny43u
 ATtiny87     ATtiny167
 ATtiny26     ATtiny261|ATtiny261A      ATtiny461|ATtiny461A
 ATtiny861|ATtiny861A
 ATtiny24     ATtiny44     ATtiny84     ATtiny48     ATtiny88
 ATmega603    ATmega103    ATmega161    ATmega163    ATmega323
 ATmega8515   ATmega8535   ATmega162
 ATmega8|ATmega8A     ATmega48|ATmega48A     ATmega48P|ATmega48PA
 ATmega88|ATmega88A   ATmega88P|ATmega88PA
 ATmega168|ATmega168A ATmega168P|ATmega168PA
 ATmega328     ATmega328P
 ATmega16|ATmega16A   ATmega32|ATmega32A     ATmega64|ATmega64A
 ATmega128|ATmega128A
 AT90CAN32    AT90CAN64    AT90CAN128
 AT90usb82    AT90usb162   ATmega8U2    ATmega16U2   ATmega32U2
 ATmega16U4   ATmega32U4
 ATmega32U6   AT90usb646|AT90usb647     AT90usb1286|AT90usb1287
 ATmega164A   ATmega164P|ATmega164PA
 ATmega324A   ATmega324P   ATmega324PA
 ATmega644|ATmega644A      ATmega644P|ATmega644PA
 ATmega1284   ATmega1284P
 ATmega165|ATmega165P|ATmega165PA       ATmega325    ATmega325P
 ATmega3250   ATmega3250P  ATmega645    ATmega6450
 ATmega169|ATmega169P      ATmega329    ATmega329P
 ATmega3290   ATmega3290P
 ATmega649    ATmega6490
 ATmega640    ATmega1280   ATmega1281   ATmega2560   ATmega2561
 AT90pwm2|AT90pwm3  AT90pwm1|AT90pwm2B|AT90pwm3B
 AT90pwm216|AT90pwm316 AT90pwm81
 ATmega16M1   ATmega32M1   ATmega64M1   ATmega32C1   ATmega64C1
 ATmega8HVA   ATmega16HVA  ATmega16HVB  ATmega32HVB  ATmega8HVD
 ATmega128RFA1
[flagcounter image]