-
        

Ergebnis 1 bis 8 von 8

Thema: Porterweiterungen und synchrones Setzen

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2006
    Beiträge
    18

    Porterweiterungen und synchrones Setzen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo Ihr,

    ich habe ein großes Problem, ich möchte über meinen ATMega mehrere Digitale Ein- und Ausgänge realisieren. Ich möchte nämlich eine Steuerkarte für ein Experiment in meiner Masterthesis bauen, wo sehr genaues Timing notwendig ist. So müssen zum gleichen Zeitpunkt Ausgänge gesetzt und gelesen werden können. Ich möchte dabei einen Puls mit meinem Controller ausgeben, welches dann alle Ausgänge setzt und alle Eingänge speichert.

    Für die Realisierung der Eingänge hatte ich an PIPO-Latches gedacht (PIPO=parallel in, parallel out), da könnte ich dann alle Set/Store-Pins mit einander verbinden und so gleichzeitig alle Eingänge speichern und dann getrennt über Output Enable auslesen.
    Für die Ausgänge ist allerdings ein Latch nicht geeignet, ich bräuchte einen Baustein der zwei latches besitzt, wo ich zuerst meine Daten hineinladen kann und dann später am Ausgang setzen kann. Eine serielle Eingabe der Daten kommt allerdings aus Zeitgründen nicht in Frage, da die Ausgänge alle 10ys aktualisiert werden sollen. Kennt Ihr einen solchen CHIP ?

    Vielen Dank schon einmal im Vorraus für Eure Hilfe

    drylemon

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Hallo,

    um gleich im Vorfeld unsinnge Vorschläge zu vermeiden: wieviele Ein- und Ausgänge brauchst du denn für dein Experiment?

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    02.08.2006
    Ort
    Würzburg, Germany
    Beiträge
    672
    Hallo,

    ich habe sowas mit dem 4094 gelöst. Ist seriell in, da sparst du dir Pins. Der hat 8 "gelatchte" Ausgänge plus zusätzlich den letzten im Schieberegister nicht "gelatcht". Somit brauchst du nur 3 Leitungen: Data, Clock und Latch. Du schiebst einfach alle Eingänge durch die Register und setzt dann alle Ausgänge mit parallel geschaltetem Latch-Impuls.

    Viele Grüße
    Andreas

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.11.2007
    Beiträge
    100
    klingt nach einer aufgabe für CPLDs .. z.B. Xilinx xc 9572 oder xc95144

    da könnte man die benötigten latches drin realisieren. die dinger muß man natürlich auch erst wieder "programmieren" .. aber das ist nicht ganz so furchtbar wenn man das prinzip einmal durchschaut hat..

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2006
    Beiträge
    18
    Danke für eure Antworten

    Es wäre schön, wenn ich einen IC hätte, der 8 Ausgänge/Eingänge hätte, damit ich diese leicht über einen Port des Atmega ansteuern kann. Insgesamt sollte das relativ flexibel gehalten werden. Ich plane aber 16 oder 32 Eingänge und 16 oder 32 Ausgänge (@ MeckPommER).

    Da ich meinen Atmega nur mit max 16 Mhz tackten kann, aber alle 10ys neue Ausgangszustände realisieren möchte, kann ich nicht auf eine serielle Datenübertragung zurückgreifen, da ich zum Aktualisieren nur 160 Tacktzyklen habe und ich den seriellen Port nicht mit 16 Mhz tackten kann (@ Bumbum)

    Das mit den CPLDs hört sich toll an, allerdings habe ich da noch nie was damit gemacht. Ich habe gehört, dass man die jetzt auch mit C++ programmieren kann, gibts da was kostenloses ? Brauche ich spezielle Programmierhardware ? Mit was programmierst Du die denn und was für Schaltungen kann ich damit realisieren ? (@ _werwurm_)

    Aber vielleicht hat ja einer von euch noch eine Idee für einen paralell in und parallel out IC mit doppeltem latch ?

    Vielen Dank schon mal im Voraus für Eure Hilfe

    Viele Grüße - Joost

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.11.2007
    Beiträge
    100
    also CPLDs wären dafür optimal glaube ich da flexibel, schnell und jede menge io-leitungen möglich

    programmiert werden die in einer hardwarebeschreibungssprache z.B. VHDL oder bei Xilinx kann man auch mit der kostenlosen software sich vorgefertigte latches oder register zusammenklicken (wie bei schematic software zum schaltplanerstellen) und das dann kompilieren lassen.. ist meist nicht genauso optimal wie in VHDL geschrieben aber schnell und einfach.

    mit cpld kann man nur relativ einfache sachen wie latches und logische verknüpfungen und vielleicht noch nen zähler machen .. bei zu komplexen sachen reicht es dann nicht mehr aber für einfache porterweiterungen sind die optimal

    programmierhardware kann man leicht selber zusammensetzen wenn ein parallelport am rechner vorhanden ist. das geht auch schon mal auf lochraster oder breadboard

    http://www.fischl.de/thomas/elektronik/cpld/index.html
    http://www.seas.upenn.edu/~ese201/fo...chCapFinal.GIF
    http://de.wikipedia.org/wiki/CPLD

    ich selber kenne nur Xilinx - gibt natürlich auch andere wie Altera und Lattice

  7. #7
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Ein CPLD hört sich einfach an, die Programmierung daert aber etwas bis man sich eingearbeitet hat. Mit normalen TTL D-Latches oder auch schieberegistern sollte das auch gehen.
    Die Schieberegister kann man mit der Hardware SPI Schnittstelle verbinden und dann fast so schnell wie parallele Daten ansprechen (16 Zyken je Byte). Zum Ausgeben 74 HC595 zum einlesen HC166 ?. Alternativ natürlich eine schnellere low voltage version.

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    22.02.2006
    Beiträge
    18
    Danke für die Links _werwurm_,
    die werd ich mir gleich mal anschauen und versuchen so was in einem CPLD aufzubauen Du hast mir wirklich sehr geholfen, Danke

    Leider kann ich keine SerialIn/ParallelOut benutzen, weil ich nur eine begrenzte Zeit habe um die Daten zu laden und zu verarbeiten. Aber Danke für die Idee und deine Hilfe (@Besserwessi)

    Vielen Dank euch allen

    Gruß - Joost

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •