Benutzer:Gvegidy: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(meine branch ist gemerged)
(Geschwindigkeit unter ECMD Geschwindigkeit)
 
Zeile 20: Zeile 20:
  
 
=== Geschwindigkeit ===
 
=== Geschwindigkeit ===
Ich wollte mal die Geschwindigkeit testen und hab dafür [http://github.com/pklaus/avrnetio avrnetio] verwendet.
 
  
Der Atmega168p läuft mit 18.432 MHz und lässt sich damit mit maximal 460800 Baud ansteuern.
+
Der FT232R schlägt sich im Geschwindigkeitsvergleich z.B. mit Ethernet nicht schlecht, ein detaillierter Vergleich ist unter [[ECMD Geschwindigkeit]] zu finden.
Bei 921600 Baud ging nichts mehr, vermutlich kommt das nächste Byte noch innerhalb des Receive-Interrupts. Mögliche Zwischenwerte wie z.B. 691200 hab ich nicht probiert, weil auf dem PC dann das Setzen der Baudrate komplizierter wird.
 
 
 
{| border='1'
 
| ''Beantwortete Anfragen pro Sekunde''
 
| ''Weg der Anfrage''
 
| ''gesandtes ECMD''
 
|-
 
| 299
 
| TCP, serielles ZBUS über FT232R, 460800 Baud
 
| whm
 
|-
 
| 250
 
| TCP, serielles ZBUS über FT232R, 460800 Baud
 
| adc get
 
|-
 
|}
 
 
 
Wenn man das mit den auf [[ECMD]] geposteten Werten vergleicht, liegt diese Form der Anbindung etwa bei der halben Geschwindigkeit eines ENC28J60.
 

Aktuelle Version vom 1. Jänner 2010, 16:20 Uhr

Ethersex ohne Ether und ohne 6

Atmega168p mit FT232R

Das ist meine Experimentierplatine. Der USB-Anschluß an den Rechner wird über einen FT232R von FTDI-Chip realisiert. Das ist ein einfacher und gängiger USB-Seriell-Konverter, zu sehen auf der grünen Adapterplatine.

Das Ding hat hier 2 Funktionen:

  • Serielle Verbindung für das ZBUS-Protokoll, aber eben ohne RS485. Schnelle und stabile USB-Ethersex-Verbindung
  • Programmierung des Atmegas. Über den Bitbang-Modus des FT232s kann ich Reset, SCK, MISO und MOSI des Controllers direkt ansteuern und so den Atmega ohne weitere Programmieradapter, -Stecker etc. programmieren.

Nicht von dem RJ45-Stecker verwirren lassen, ich hab keinen ENC auf der Rückseite versteckt oder so. Der ist nur für den Anschluß von Sensoren und anderem gedacht.

Ansteuerung auf dem PC

Für den FT232R (und auch die anderen Chips von FTDI) gibt es den Kerneltreiber ftdi_sio, der automatisch ein tty wie z.B. /dev/ttyUSB0 anbietet.

Mit dem ZBus_Serial_Host kann ich das dann so mit meinem Netzwerk verbinden:

zbus-serial-host -r 460800 -d /dev/ttyUSB0 -a 192.168.23.1/24

Geschwindigkeit

Der FT232R schlägt sich im Geschwindigkeitsvergleich z.B. mit Ethernet nicht schlecht, ein detaillierter Vergleich ist unter ECMD Geschwindigkeit zu finden.