Start
Experimente
- I/Q-Mischer
- I/Q-DRM
- Wetterfax
- Antialiasing
- DDS + PLL
- Verstärker
- I/Q mit ICS307
- USB FT232R
- Ferritantenne
Grundlagen
Produkte
Neues
Impressum
|
Abstimmung über den USB
Der programmierbare Quarzoszillator wird üblicherweise
über die serielle Schnittstelle programmiert. Tatsächlich wird
aber über die RS232 ein I2C-Bus erzeugt, der den CY27EE16 ansteuert.
Die Busleitungen SCL und SDA sind auch direkt an die Anschlüsse der
Baugruppe geführt und können z.B. über einen Mikrocontroller
angesteuert werden. Damit hat man auch die Möglichkeit, einen USB-Adapter
UM232R zu verwenden. Die Leitungen DB0 bis DB7 sind zwar einer seriellen
Schnittstelle zugeordnet, können aber im Bit-Bang-Modus auch als schneller
paralleler Datenbus verwendet werden. Genau dieses Verfahren wird beim
"Software Defined
Radio mit USB-Schnittstelle" von Elektor verwendet. Für
die Entwicklung des Empfängers wurden das UM232R
und der CLCKGEN
verwendet. Daher lässt sich auch der IQ-Mischer über den USB
abstimmen. |
Die Busleitungen werden einfach über zwei Widerstände
mit 330 Ohm verbunden. Man ist im Prinzip frei in der Wahl der Portleitungen.
Hier wurden jedoch die Leitungen DB2 (RTS) und DB4 (DTR) verwendet, damit
mit geringen Änderungen auch ein fertiger USB/Seriell-Wandler eingesetzt
werden kann. |
Der bei AK MODUL-BUS angebotene USB/RS232-Wandler
ADAPUSBCOM
arbeitet genau wie das UM232R auf der Basis des FT232. Deshalb kann die
schnelle USB-Abstimmung mit dem Bit-Bang-Modus auch über diesen USB-Adapter
ausgeführt werden. Man muss nur beachten, dass die Ausgangsleitungen
über den Schnittsellentreiber invertiert werden und dass nur die drei
Leitungen TXD, RXD und DTR als Ausgänge genutzt werden können.
Mit der passenden Software kann dann mit hoher Geschwindigkeit über
den USB abgestimmt werden. |
Das Abstimmprogramm ist eine erweiterte Version des
Programms ClockIQ, wobei sowohl die COM-Schnittstelle als auch beide Versionen
der USB-Schnittstelle verwendet werden können. Voraussetzung ist der
aktuelle Treiber, der vor dem Verbinden des USB-Geräts automatisch
mit CDM_Setup.exe installiert wird. Das Programm erlaubt Abstimmschritte
von 1 kHz über den gesamten Bereich von 30 kHz bis 30 MHz. Die Einsatzmöglichkeiten
entsprechen weitgehend denen des Programms ElektorSDR2.
Download ClockIQ2 mit Quelltext und Treiber
(Clockiq2.zip, 702 KB)
|
Der Delphi-Quelltext zeigt die Ansteuerung der I2C-Schnittstelle.
Intern wird die USB-Ansteuerung über das UM232R als "COM=11"
geführt, der USB-Adapter als "COM=12". Für die schnelle
Übertragung im Bit-Bang-Modus werden zuerst alle Pegeländerungen
an den Ports in einem Puffer FT_Out_Buffer gespeichert und dann als Block
übertragen. Anders als über eine virtuelle serielle Schnittstelle
wird damit eine extrem schnelle Abstimmung in weniger als 2 ms erreicht.
|
procedure SCL(d:Integer); begin if COM < 11 then begin if d=1 then RTS (1) else RTS (0); Delay (0.01); end; If COM = 11 then begin //UM232R if d=0 then FT_port := FT_port and (255-4) else FT_port := FT_port or (4); //Bit 2 FT_Out_Buffer[Buf_adr] := FT_port; Buf_adr := Buf_adr +1; end; If COM = 12 then begin //USB/Seriell-Adapter mit FT232 if d=1 then FT_port := FT_port and (255-4) else FT_port := FT_port or (4); //Bit 2 FT_Out_Buffer[Buf_adr] := FT_port; Buf_adr := Buf_adr +1; end; end;
procedure SDA(d:Integer); begin if COM < 11 then begin if d=1 then DTR (1) else DTR (0); Delay (0.01); end; if COM = 11 then begin //UM232R if d=0 then FT_port := FT_port and (255-16) else FT_port := FT_port or (16); //Bit 2 FT_Out_Buffer[Buf_adr] := FT_port; Buf_adr := Buf_adr +1; end; if COM = 12 then begin //USB/Seriell-Adapter mit FT232 if d=1 then FT_port := FT_port and (255-16) else FT_port := FT_port or (16); //Bit 2 FT_Out_Buffer[Buf_adr] := FT_port; Buf_adr := Buf_adr +1; end; end;
Das verwendete Übertragungsverfahren lässt
sich übrigens leicht auch für eine DDS oder z.B. für den
ICS307 anpassen. Bei Bedarf kann man die Stromversorgung des USB verwenden
und kommt dann ohne ein Netzteil aus. |
|