Hallo zusammen, wie schon in Beitrag "Schnittstelle DDR-DVM G1002.500 -> USB" angekündigt, habe ich eine Schnittstelle entworfen, die die Ausgaben am IMS1-Bus der DDR-Messtechnik auf USB oder RS232 verfügbar macht. Ich habe hoffentlich Alles berücksichtigt, dass die Platine universell einsetzbar macht. Alle Pins der EFS3x13, für die ich Belegungen gefunden habe, stehen an Eingängen der MCP23S17 zur Verfügung (die MCP23S17 können auch als Ausgänge konfiguriert werden, z.B. um damit einen Drucker anzusteuern). Es gibt für alle der sechs Koax-Steckverbindungen Ein/Ausgänge am Prozessor. An der senkrechten weissen Linie kann die Platine in zwei Stücke geteilt werden - für den Fall dass die beiden EFS3x13 Steckverbinder nicht genauso angeordnet sind. (die 2x7 Lötaugen müssen dann nur 1:1 miteinander verbunden werden) Nachdem ich die MCP23S17 im falschen Gehäuse bestellt hatte und die Bestellung der richtigen bei Mouser einen ganzen Monat bis zu mir gebraucht hat, gibt es nun Ergebnisse. Ich habe die Werte des DVM G1002.500 verfügbar gemacht, solch ein Gerät besitze ich selbst. Anbei Fotos von der zum DVM zeigenden Seite, der Rückseite am DVM steckend. Auf der DVM-Seite sieht man die vier MCP23S17, die als Eingänge die Pins des DVM abfragen. Als Verbinung zur kleinen Extraplatine mit den SMB-Steckern hatte ich Steckverbindungen vorgesehen, bei mir ist es aber ein simples eingelötetes Flachbandkabel geworden. Auf der Rückseite sind der Atmega32U2 mit seinem Quarz usw. zu sehen, der Quarz ist leider etwas schief.:-) Ebenfalls hier zu sehen ist die USB-Verbindung, der Stecker zeigt nach unten, ich hasse es, wenn sowas frei in den Raum ragt (und man nach hinten 5cm Platz nur wegen eines solchen Steckers braucht). Hier gibt es auch Platz für einen MAX3232CPE mit Beschaltung, der eine richtige RS232 bereitstellen kann. Wenn dann die 5V-Versorgung nicht aus dem USB kommt, muss man diese am vorgesehenen Steckverbinder J3 separat einspeisen. Um die RS232 zu nutzen, müssen noch die Pins "serial" mit Drahtbrücken verbunden werden, rund mit rund, eckig mit eckig. Deren Routing habe ich nicht mehr dazwischen bekommen. Angehängt habe ich auch den Schaltplan als PDF, die KICAD-Dateien muss ich erst noch ein wenig aufräumen. Der verschachtelte Anschluss der Pins an die MCP23s17 ist dem Routing geschuldet. An U2 und an U4 gibt es je 4 freie Pins, die ich auf TP (U2) bzw. auf Durchkontaktierungen geführt habe. Das Hexfile um den Prozessor zu programmieren, habe ich auch angehängt, den Quellcode in C muss ich auch erst noch aufräumen. Das Programm baut auf LUFA (http://www.fourwalledcubicle.com/LUFA.php) auf, ich habe den "USB to Serial adapter" als Basis benutzt. Many thanks to Dean Camera. Der Atmega32U2 kommt mit eingebautem Bootloader und kann direkt über USB mit dfu-programmer unter Linux (unter Win$ heisst das wohl Atmel FLIP) programmiert werden. Das Programm im Atmega liest die Werte und sendet diese ca. alle 250ms an die USB-Schnittstelle, die als /dev/ttyACMx unter Linux erscheint. Das Format habe ich so gebaut, dass das Protokoll https://sigrok.org/wiki/Voltcraft_VC-96#Protocol gesendet wird und damit der Treiber voltcraft-vc96 mit sigrok direkt verwendet werden kann. Senden eines "v" gibt den Versionsstring zurück (Compiledatum und -zeit) Senden eines CTRL-B bewirkt ein Springen in den Bootloader. Ich habe hier noch 2 Platinen aus der Fertigung bei Aisler, die ich abgeben würde. Matthias
:
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.