Table des matières

comparatif des chips

http://www.ftdichip.com/Products/ICs.htm

chip à utiliser: http://www.ftdichip.com/Products/ICs/FT2232H.htm

doc

http://hackaday.com/2009/09/22/introduction-to-ftdi-bitbang-mode/

doc avec exemples payants sous windows

http://embedded-usb.com/getting-started-with-embedded-usb/libusb-windows-example

D2XX

D2XX distribué sans les sources d'apres le README.dat

http://www.ftdichip.com/Drivers/D2XX.htm

sudo cp ftd2xx.h /usr/include/ sudo cp WinTypes.h /usr/include/

projet Example1 copie dans: /home/shiva/ftdi/app1

g++ -c Example1.cpp
g++ -o ex Example1.o -lftd2xx

lib alternative avec les sources

http://www.intra2net.com/en/developer/libftdi/

doc: http://www.intra2net.com/en/developer/libftdi/documentation/

usbview

http://www.kroah.com/linux/usb/

Sous Mac

interface python: http://pypi.python.org/pypi/ftd2xx/bzr12

doc: http://staton.us/electronics/python/OSX_FTDI_USB.html

Il faut désactiver le module FTDIUSBSerialDriver qui préempte le periph pour faire l'émulation série, quand le ft est branché

sudo kextstat | grep FTDI
    151    0 0x57c85000 0x7000     0x6000     com.FTDI.driver.FTDIUSBSerialDriver (2.2.14) <108 39 12>
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext

pour réactiver le driver USB-série

sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext

Pour le FTDI2232 changer dans les programmes d'exemple de libftdi les identifiants pour qu'ils matchent ceux fournis par UsbProber

if ((ret = ftdi_usb_open(&ftdic, 0x0403, 0x6010)) < 0)
  

Sous windows

usb-i2C: http://ftdi-guyvo.blogspot.com/

installation pour libftdi sous windows: il faut cygwin, gcc etc: http://plugcomputer.org/plugwiki/index.php/Build_OpenOCD

http://urjtag.org/book/_compilation_and_installation.html

sinon cross compilation pour generer la dll depuis linux: http://developer.intra2net.com/mailarchive/html/libftdi/2010/msg00312.html

version précompilée: http://libftdi.141977.n3.nabble.com/How-to-run-both-libftdi-and-libftdi-1-0-under-Windows-td3311090.html

libusb

il y a besoin d'avoir libusb pour windows:

sources: http://sourceforge.net/apps/trac/libusb-win32/wiki

http://www.libusb.org/wiki/libusb-win32

http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.6.0/

binaires

binaires que je n'arrive pas à utiliser: http://sourceforge.net/projects/libusb-win32/

ATTENTION IL FAUT copier le fichier lusb0_usb.h en usb.h

Installation drivers FTDI

pour VCP (emulation port série) ou D2XX (fonctions plus avancées)

CDM= Combined Driver Model. Installer CDM20814_WHQL_Certified, permet une installation silencieuse des peripheriques

Désinstallation drivers FTDI pour certains periph

desinstaller avec CDMUninstaller (choisir id puis add puis remove)

redirection vers drivers libusb

lancer \libusb-win32-bin-1.2.6.0\bin\amd64\install-filter-win.exe de libusb choisir install a filter device brancher le periph usb → il doit apparaitre dans la liste cliquer dessus et faire install

pour remettre le driver d'origine, relancer install-filter-win.exe et faire des remove puis réinstaller les drivers d'origine (D2XX OU VCP)

Apparemment avec le driver CDM20814_WHQL_Certified, j'ai toujours accés à l'émulation port série même si le filtre libusb a été activé, donc il n'y a pas forcement intérêt à désactiver le filtre

fichier .pro pour qtcreator

TARGET = test1

TEMPLATE = app
SOURCES += main.cpp\
      mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui
HEADERS  += "C:\Documents and Settings\MAC\Bureau\ftdiwin\libftdi-0.19_mingw32\include\ftdi.h"
INCLUDEPATH += "C:\Documents and Settings\MAC\Bureau\ftdiwin\libftdi-0.19_mingw32\include"
INCLUDEPATH += "C:\Documents and Settings\MAC\Bureau\ftdiwin\libusb-win32-bin-1.2.6.0\include"
LIBS += "C:\Documents and Settings\MAC\Bureau\ftdiwin\libftdi-0.19_mingw32\lib\libftdi.a" 
LIBS += "C:\Documents and Settings\MAC\Bureau\ftdiwin\libftdi-0.19_mingw32\lib\libftdi.dll.a"
LIBS += "C:\Documents and Settings\MAC\Bureau\ftdiwin\libusb-win32-bin-1.2.6.0\lib\gcc\libusb.a"

Utilisation en emulation port série sous windows

ATTENTION AVEC LES ADAPTATEURS USB SERIE, les numéros de ports grands tels que COM15 ne peuvent pas être utilisés par toutes les applis (hyperterminal fonctionne….). Il faut donc reconfigurer le numero de port com associés dans panneau de configuration→Avancé

linux

http://yosemitefoothills.com/Electronics/FT2232C-based_projects.html

configuration EEPROM FT2232H

FTDI configuration eeprom

utiliser l'outils FT_Prog.exe

Onglet EEPROM:
Device->Scan & Parse
FT EEPROM->USB String Descriptor->Production Description: rentrer une chaine qui indique qu'on a désactivé le vcp
Hardware Specific->Port A-> Driver-> D2XX
Hardware Specific->Port A-> Hardware-> FT245 FIFO
Hardware Specific->Port B-> Driver-> D2XX
Hardware Specific->Port B-> Hardware-> FT245 FIFO
USB Device Descriptor->idProduct->Custom VID/PID-> cocher Custom PID
USB Device Descriptor->idProduct->Product ID: entrer 1234

c'est les 2 dernières étapes qui ont empéché OSX de prendre la main en émulation Port série