PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Keine Daten vom FT232BL



Cyclon
05.06.2006, 14:16
Ich wollte mir mit nem FT232BL ein Datenkabel von einem Atmega8 zum PC bauen. Nu hab ich das Problem, das am PC keine Daten ankommen.
Der Mega sendet ununterbrochen "Hallo" aber ankommen tut nix...
Hat vielleicht jemand Zeit, um sich das mal anzusehen?

Schaltplan: Hier (http://planet-map.de/temp/schaltung.gif)
Layout: Hier (http://planet-map.de/temp/layout.GIF)



#include <stdio.h>
#include <windows.h>
#include "FTD2XX.H"

void main(void)
{
FT_HANDLE ftHandle;
FT_STATUS ftStatus;
DWORD EventDWord;
DWORD TxBytes=0;
DWORD RxBytes=0;
DWORD BytesReceived;
char RxBuffer[256];

for(int i=0;i<256;i++)
RxBuffer[0] = ' ';

ftStatus = FT_Open(0, &ftHandle);
if(ftStatus != FT_OK) {
printf("Open failed\n");
return;
}

ftStatus = FT_ResetDevice(ftHandle);
if(ftStatus != FT_OK)
{
printf("Reset failed\n");
return;
}

ftStatus=FT_SetBaudRate(ftHandle,19200);
if(ftStatus!=FT_OK)
{
printf("SetBaudRate failed\n");
return;
}
ftStatus = FT_SetDataCharacteristics(ftHandle,FT_BITS_8,FT_ST OP_BITS_1,FT_PARITY_NONE);
if(ftStatus != FT_OK)
{
printf("SetDataCharacteristics failed\n");
return;
}
ftStatus = FT_SetTimeouts(ftHandle,1000,0);
if(ftStatus !=FT_OK)
{
printf("SetTimeouts failed\n");
return;
}






while(RxBytes==0)
FT_GetStatus(ftHandle,&RxBytes,&TxBytes,&EventDWord);

printf("%d - %d - %x\n",TxBytes,RxBytes,EventDWord);
if (RxBytes > 0) {
ftStatus = FT_Read(ftHandle,RxBuffer,RxBytes,&BytesReceived);
if (ftStatus == FT_OK) {
// FT_Read OK
printf("Read ok,%d - %s\n",BytesReceived,RxBuffer);
}
else {
// FT_Read Failed
printf("Read failed");
}
}
else
printf("Nothing\n");



FT_Close(ftHandle);
}

PS: Das Programmiern des EEProms funktioniert, also wird die Schaltung wohl in Ordnung sein, oder?!

repi64
05.06.2006, 16:58
Ich habe mich noch nicht so richtig mit dem FT232BL befasst.
Habe grad in einer Schaltung von ELV geschaut.

http://www.elv-downloads.de/service/manuals/FM3TX/66016_FM3TX_km.pdf

Die verwenden den FT232BM.
Was mir auffält: dein RESET hängt ein wenig undefiniert mit den Rs.
Bei ELV ist der direkt auf 5V gelegt und der PWRCTL Pin ist auf GND gelegt.

Vergleich doch selbst mal

Cyclon
05.06.2006, 18:16
Der PWRCTL Pin gibt nur an woher das IC seinen Saft bekommt. Wenn es auf GND liegt vom USB-Port, wenn es auf 5V liegt von einer externen Quelle, so wie es bei mir der Fall ist.
Das mit dem RESET hab ich mir auch schon überlegt, aber da liegen bei angeschlossenem USB-Kabel ca. 4V dran, was ja eigentlich reichen sollte.
Zudem ist das mit den Widerständen im Datenblatt so abgebildetet.

Cyclon
06.06.2006, 16:07
Keiner da, der mir helfen kann?

Was ich bei der ELV Schaltung nicht verstehe ist, warum sie den /CTS Eingang auf High legen?! Der is doch Low-Active und was heißt "Clear To Send Control Input"? Heißt das, dass alles im Buffer gelöscht wird, oder das die Daten gesendet werden sollen?

Hier ist mal das Datenblatt des FT232BL:
http://www.ftdichip.com/Documents/DataSheets/ds232bl18.pdf

izaseba
06.06.2006, 17:16
Hallo Cyclon,
Ich habe mehrere Schaltungen mit FT232BM aufgebaut und nie Probleme damit gehabt.
Den CTS lass ich unbeschaltet, versuch mal den Reset direkt an 5V .
Was sag die RX Led? Blinkt die, wenn der Megfa was sendet ?

Gruß Sebastian

Cyclon
06.06.2006, 19:18
Nö, die LEDs leuchten überhaupt nicht :(

izaseba
06.06.2006, 19:48
Dann mal ganz langsam,
Wenn Du den USB Stecker einsteckst, wird ein USB<->RS232 Konverter erkannt ?

Cyclon
06.06.2006, 20:18
Ja, der wird als "FTDI FT..irgendwas.. Device" erkannt.
Als Treiber hab ich den D2XX-Treiber installiert.

darwin.nuernberg
06.06.2006, 20:32
Hast Du den Pin "TEST" auf Masse (GND) ?
da hatte ich anfangs auch probleme damit.
EDIT: ja ich sehe gerade ist dran.

EDIT: dann kann es eigentlich nur noch das EEPROM sein:
Hast Du ein EEPROM dran, falls ja weg damit, die entspr. Pins offen lassen.

Wenn der FT ein EEPROM findet, dann muss auch was schlüssiges drin stehen,
falls nicht arbeitet er im, ich sag jetzt mal "OEM-Modus".

Schau doch mal mein Schaltbild & Doku an: https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=327

izaseba
06.06.2006, 20:36
Als Treiber hab ich den D2XX-Treiber installiert.


Hust, jetzt bewege ich mich auf dünnem Eis, weil ich von Win keine Ahnung habe, ABER :
Ich habe gelesen, daß D2XX Direkttreiber u.a. zum EEprom programmieren gedacht sind, und nachdem man das erledigt hat soll er deinstalliert werden und dafür der VCP- Virtual COM Port Treiber benutzt werden sollte...

Hm, sollte ich da falsch liegen bitte nicht schlagen, versuche nur zu helfen ... :-)


Probier das mal, vielleicht klappt es dann :-s

Gruß Sebastian

EDIT:


Hast Du ein EEPROM dran, falls ja weg damit

Warum das denn ?

darwin.nuernberg
06.06.2006, 20:42
Hast Du ein EEPROM dran, falls ja weg damit

Warum das denn ?

Siehe mein EDIT

Das EEPROM wird ja für den eigentlichen Betrieb nicht benötigt, sonst braucht man den FT ja auch nicht.
Was im EEPROM gespeichert wird, sind Herstellerspezifische Angaben wie Device-Name usw.

Da ich mich im Vorfeld auch ein bisschen kundig gemacht habe,
scheint das nicht so einfach zu sein.
Sowas wie ein Verfication Code oder so wird da noch benötigt.
Wozu der Hokus Pokus, geht doch auch so.

Wenn Du darauf Wert legst, dass beim einstecken die Meldung kommt:
"Neues Gerät gefunden: izaseba - Device" :cheesy:
dann kannst Du das gerne versuchen.

Deine Ergebnisse würden auch mich interresieren.

Cyclon
06.06.2006, 20:46
Hust, jetzt bewege ich mich auf dünnem Eis, weil ich von Win keine Ahnung habe, ABER :
Ich habe gelesen, daß D2XX Direkttreiber u.a. zum EEprom programmieren gedacht sind, und nachdem man das erledigt hat soll er deinstalliert werden und dafür der VCP- Virtual COM Port Treiber benutzt werden sollte...

Der Treiber sollte schon in Ordnung sein:

D2XX drivers allow direct access to the USB device through a DLL. Application software can access the USB device through a series of DLL function calls.


Da fällt mir grad ein, kann ein falschrum eingelöteter EEPROM den Chip stören? Das Ding hatte nämlich kein Zeichen an dem man Pin1 hätte erkenne könnte. Also hab ich mir das von nem EEPROM im DIP-Format abgeschaut, wo da die Markierung ist, wie rum die Aufschrift ist und wo dort Pin1 ist. :-b
Nur, wie bekomm ich den jetzt wieder raus? :-k

EDIT:
TEST-Pin ist mit GND verbunden, hab das grad noch mal nachgemessen. Der RESET liegt jetzt auch auf den 5V vom USB-Kabel.
Tut sich aber nix. Muss wohl wirklich den EEPROM ausbauen...

izaseba
06.06.2006, 20:49
Naja, Darwin, was machst Du aber, wenn Du irgendwann auf die Idee kommst einen zweiten FTDI an deinem Rechner anzuschliessen?

Hier (http://www.holger-klabunde.de/usb/usb.htm#FirstTry) ist vielleicht was nützliches.

Gruß Sebastian

darwin.nuernberg
06.06.2006, 20:53
Naja, Darwin, was machst Du aber, wenn Du irgendwann auf die Idee kommst einen zweiten FTDI an deinem Rechner anzuschliessen?

Hier (http://www.holger-klabunde.de/usb/usb.htm#FirstTry) ist vielleicht was nützliches.

Gruß Sebastian

Das hat doch nix mit dem EEPORM zu tun.
Klar man tut sich (Humanoide) leichter das entsprechende Gerät zu finden, wenn zwei FTDI's angeschlossen sind, aber generell gehandelt wird das von Windows/MacOS (oder sonst. BS bzw. Master HW) und nicht vom Chip.

Man kann sich ja auch zwei sgen wir mal USB-Modems kaufen und anschließen.... das jeht ja auch.

EDIT: OK scheint doch nicht so einfach zu sein, habe gerade erst deinen Link entdeckt. Naja das änder aber nix daran dass was schlüssiges im EEPROM stehen muss.

Mit einen einzelnen Controller passt das aber ganz gut. und zum Testen erst mal effektiv

izaseba
06.06.2006, 21:14
Mit einen einzelnen Controller passt das aber ganz gut. und zum Testen erst mal effektiv

Das stimmt, aber bevor er denn EEprom rauslötet, bin ich der Meinung, daß er den VCP Treiber nehmen soll, was meinst Du ?

@Cyclon,
Kriegst Du überhaupt ein COM Port zugewiesen mit Deinem Treiber?

Gruß Sebastian

hertzschüler
06.06.2006, 21:14
Nur, wie bekomm ich den jetzt wieder raus? Think


schau mal hier, wenns ein DIP / DIL Gehäuse ist: http://ulrichradig.de/site/tippstricks/tipp1.php
sonst hier: http://ulrichradig.de/site/tippstricks/tipp2.php

darwin.nuernberg
06.06.2006, 21:19
Da fällt mir grad ein, kann ein falschrum eingelöteter EEPROM den Chip stören? Das Ding hatte nämlich kein Zeichen an dem man Pin1 hätte erkenne könnte.


Mit den SMD's ist das so eine Sache:
da man ja alles soooo toll erkennen kann weil die Dingenr ja Soooo rießig sind,
haben manche hersteller eine absolut klar erkennbare Schräge (Dachkante) an der Seite wo sich Pin 1 befindet.
Schau mal mit einem Mikroskop nach :-)




-|-|-|-|-
| |
| |
|_________|
| |
-|-|-|-|-

^
1

darwin.nuernberg
06.06.2006, 21:23
Nur, wie bekomm ich den jetzt wieder raus? Think


Erst mal mit viel Zinn auf einer Seite heiß machen und anheben
dann auf der anderen Seite und ausbauen,

Verbeibendenes Zinn absaugen mit Entlötlitze oder Pumpe.


Oder mit Heißluft (Rework-Station)

Oder mit Feuerzeug (nicht zu empfehlen)

Hammer und Meißel???

Oder eindach die Leitebahnen (erst mal) durchtrennen???
kann man dann später wieder zusammenlöten.

darwin.nuernberg
06.06.2006, 21:26
Das stimmt, aber bevor er denn EEprom rauslötet, bin ich der Meinung, daß er den VCP Treiber nehmen soll, was meinst Du ?


Wenn das EEPROM wirklich falsch drin war, dann muss es so oder so raus.

izaseba
06.06.2006, 21:31
Zum entlöten nach Ulrich Radig Methode mit Kupferlackdraht,

Hab schon selber ausprobiert, klappt sehr gut, man muß den Draht nur sehr flach halten, wenn man die Beinchen nicht zu doll verbiegen will, und man braucht viel Geduld, vor allem wenn der Chip hinterher wieder eingelötet werden soll(Hab einen halben Tag gebraucht um einen RTL8019 rauszukriegen und wieder einzulöten )

Gruß Sebastian

izaseba
06.06.2006, 21:35
Wenn das EEPROM wirklich falsch drin war, dann muss es so oder so raus.

Richtig, das sehe ich genauso, aber Cyclon hat ja am Anfang geschrieben:

Das Programmiern des EEProms funktioniert, also wird die Schaltung wohl in Ordnung sein, oder?!


Deswegen verstehe ich jetzt nicht, wie er darauf kommt daß er jetzt wieder raus muß.

Naja, wenns Spaß macht :-)

Gruß Sebastian

darwin.nuernberg
06.06.2006, 21:38
Es hilft auch sowas:
http://image01.conrad.com/s/1000_1999/1400/1440/1448/144894_BB_00_FB.EPS.gif
Entllötklinge:
Zwischen das Pad und den Pin schieben wenn das Lot flüsig ist,
sollte auf keiner SMD-Werkbank fehlen
Conrad: ENTLOETKLINGEN - Artikel-Nr.: 144894

Entlötklinge

Flexibles Stahlband RB641. Mit der Schere in die passende Form schneidbar. Entlötklinge unter eine Ecke des SMD-Bauteils schieben und mit dem Heißluftgerät oder Lötkolben gleichzeitig das Lot schmelzen. Wenn alle 4 Seiten abgelötet sind, kann das SMD-Bauteil abgehoben werden. Die Entlötklinge verhindert eine erneute Verbindung von SMD-Bauteilfüßchen und Lötpad.




Das Programmiern des EEProms funktioniert, also wird die Schaltung wohl in Ordnung sein, oder?!

Deswegen verstehe ich jetzt nicht, wie er darauf kommt daß er jetzt wieder raus muß.
Naja, wenns Spaß macht :-)
Gruß Sebastian

Hmmmm.

Wie kommt er dann drauf, dass er falsch eingelötet sein kann?
Entweder es funzt oder nicht.
Sehr seltsam.
Im Zweifel gegen den Angeklagten Chip.

Cyclon
06.06.2006, 22:02
AHHRRG, ich werd noch Irre ](*,)
Die Pins für RX und TX waren nicht richtig fest.
32 Pins hat das Ding und genau die beiden,die ich extra mit etwas mehr Lötzinn versehen hab, damit sie auch wirklich halten, sind lose.. ](*,)
Nu funktionierts auch \:D/

Konnte aber dennoch einiges lernen (z.b woran man Pin1 bei SMD EEPROMS erkennt :) )

Vielen Dank euch allen!!

izaseba
06.06.2006, 22:03
Im Zweifel gegen den Angeklagten Chip.

Na gut, lassen wir das jetzt mit dem EEProm, wobei ich da noch eine sinnvolle Verwendung nennen kann, außer "Neues Gerät gefunden: izaseba - Device" zu schreiben (habe gerade Dein Edit oben entdeckt :-) ) .
Du willst mehr als 100 mA vom USB ziehen, dann muß es im EEPROM abgelegt sein.

Aber wie gesagt, egal soll er Ihn rauslöten.

Ich hab mir gerade Deine Doku (sehr schön gemacht, Hochachtung) runtergeladen um Referenz bezüglich Treiber zu bekommen.
Du benutzt auch den VCP Treiber

Cyclon schmeiß den Direkttreiber runter und nimm den VCP, dann wird es klappen. Hier (http://www.ftdichip.com/Drivers/VCP.htm) ist der direkte Link.

Gruß Sebastian

EDIT: Naja hat sich erledigt, es freut mich, daß es geklappt hat.
*Kopf schüttel* kann jetzt bitte jemand sagen welcher Treiber der richtige ist 8-[

darwin.nuernberg
06.06.2006, 22:08
Beim ALDI (SÜD) hat' s vor kurzem ein Mikroskop mit USB-Camera gegeben €49,99.

Damit kontrolliere ich solche Dinger immer öfters
Hab gerade kein Bild auf lager :-(


http://traveler-forum.de/phpmyforum/topic.php?id=1715




EDIT: Naja hat sich erledigt, es freut mich, daß es geklappt hat.
*Kopf schüttel* kann jetzt bitte jemand sagen welcher Treiber der richtige ist 8-[

Na ist doch klar, immer den, der funktioniert :^o .
Da man meist selbstgestickte Programme mit selbstgestickter Hardware verwenden will, ist der VCP wohl das einfachste.
Da kann man dann mittels COMx: darauf zugreifen.
Ich will mir nicht zutrauen das USB-Device selbst und direkt zu programmieren, hab auch keinen Bock drauf.