Forum: Mikrocontroller und Digitale Elektronik FT232RL bit banging SPI


von BeastyK (Gast)


Lesenswert?

Moin,

wollte gern über den PC Daten an den FT232RL schicken, der sollte dann 
über bit banging SPI Transfer zum RFID Modul RC522 übernehmen.
Hab zwei Progs in Delphi/Lazarus geschrieben, die Synaser oder die 
dxxunit.pas benutzen und ein Loop mit RTS/CTS funktioniert schonmal.
Gibs da schon Codebsple zum implementieren von SPI unter Delphi/Lazarus. 
Nehme jeden Link dazu gerne an.
Gruß
dat
Beast

von Rainer U. (r-u)


Lesenswert?

BeastyK schrieb:
> RTS/CTS

RTS/CTS != SPI

Zum Senden per SPI brauchst Du 3 Leitungen: MOSI, Clock und CS.

Schritt 1) programmteile schreiben, um diese 3 Leitungen unabhängig 
voneinander High oder Low zu schalten.

SChritt 2) SPI protokoll verstehen, und die Leitungen passend setzen: 
erst CS auf LOW, dann Clock auf (je SPI-Variante), dann MOSI mit 
Datenbit belegen, Dann Clock wieder andersrum, etc.

Kaum hast Du das so 8x gemacht, ist ein BYte gesendet.. :-) Das ist Bit 
banging.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Du solltest Dir im klaren darüber sein, daß das sehr ineffizient und 
vor allem langsam ist - der maximale Takt, den Du hinbekommen kannst, 
liegt bei 500 Hz.

Vergiss' den FT232R, und wende Dich seinem Bruder, dem FT2232 zu. Der 
enthält Hardwareunterstützung für synchrone serielle Protokolle wie SPI 
und I2C, und für den gibt es geeignete Softwareunterstützung von FTDI.

von BeastyK (Gast)


Lesenswert?

Moin,

danke Rainer, und ja, CTS/RTS != SPI (lach), ich hatte zuerst was für 
UART(EUSART) gebastelt. Das war dann auch eher für den PIC18F4550 und 
dem PIC16F1827 gedacht gewesen. Hab dann an das RC522-Modul gedacht und 
das dort die Pins sowohl mit SPI als auch UART belegt sind. Einige 
chinesische Module sind aber anscheinend mit nem Fakechip eines anderen 
Hersteller bestückt und der hat wohl die NXP Pinbelegung dann nicht 
mehr. Daraufhin dachte ich "Hey, bit banging!"...naja....dann fand ich 
im Netz nix dazu und stieß auf (Rufus Idee) den FT2232 mit MPSSE, nur 
leider sind da die Module etwas teuer.
Sieht so aus als könnte ich die Idee mit dem FT232RL zu den Akten legen.

MfG
dat
Beast

von Gerd E. (robberknight)


Lesenswert?

BeastyK schrieb:
> Sieht so aus als könnte ich die Idee mit dem FT232RL zu den Akten legen.

Ja, solltest Du. Denn der R hat auch noch eine ganz tolle, 
undokumentierte Eigentschaft beim Sync Bitbanging: er sendet immer nen 
Block an Daten und macht dann mittendrin eine Pause undefinierter Dauer, 
dann macht er weiter etc.

Das verhagelt Dir das ganze Timing.

Nimm einen aus der 2232-Serie oder einer von der neuen Generation, da 
gibt es glaube ich welche extra nur für SPI, welche nur für I2C etc.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.