DE0-nano I/O mit TTL-Kabel

Ich arbeite derzeit an einem Projekt über I/O mit FPGA. Ich verwende ein TTL-232R-3v3-Kabel für die serielle Kommunikation zwischen meinem Laptop und DE0-nano. Ich möchte wissen, ob es möglich ist, ein Signal über RX-Draht an FPGA zu senden und LEDs mit diesem Signal zum Leuchten zu bringen, oder wird UART benötigt?

Jeder Rat oder jede Anleitung wäre sehr willkommen, vielen Dank für Ihre Zeit.

bearbeiten-

Ich verwende ein USB-Kabel für die Stromversorgung und verwende nur RX-, TX- und GND-Drähte des TTL-Kabels. Hier ist mein Kollisionscode

module Blinker where

import CLaSH.Prelude

{-# ANN topEntity
  (defTop
    { t_name     = "blinker"
    , t_inputs   = ["GPIO_IN"]
    , t_outputs  = ["LED"]
    , t_extraIn  = [ ("CLOCK_50", 1)
                   , ("KEY0"    , 1)
                   ]
    , t_clocks   = [ (altpll "altpll50"
                             "CLOCK_50(0)"
                             "not KEY0(0)")
                   ]
    }) #-}
topEntity :: Signal Bit -> Signal (BitVector 8)
topEntity gpio_in = mealy blinkerT 0 gpio_in
blinkerT :: Int -> Bit -> (Int,BitVector 8)
blinkerT a bit = (a,pack bits)
    where bits = repeat $ bit == high   
Möchten Sie ein Zeichen vom PC über das Kabel an den 3,3-V-toleranten Eingangspin des FPGA senden? FPGA sollte das Datenbyte decodieren und LEDs einschalten? Es wird dann eine Halbimplementierung von UART sein. Wenn Sie nur mit LED und IO spielen müssen, konfigurieren Sie zunächst das FPGA so, dass es die LED für jede fallende Flanke an seinem Eingangspin umschaltet. Senden Sie eine Null als Daten vom PC über eine beliebige serielle Terminalanwendung. Auf diese Weise können Sie die serielle UART-Implementierung umgehen, aber ich bezweifle, dass dies nicht das ist, was Sie brauchen. Denn das findet zumindest aus meiner Sicht keinen Nutzen.
Hallo Umar, danke für deinen Kommentar. Im Moment interessiere ich mich nur für leuchtende LEDs zum Testen. Ich weiß nicht viel über Elektronik, ich interessiere mich für die Softwareseite. Ich möchte nur 2 Signale für blinkende LEDs senden und kenne VHDL nicht. Wir verwenden Clash dafür, aber ich bin neu darin.

Antworten (3)

Kommunikation der seriellen Schnittstelle im Leerlauf hoch (1). Wenn dies direkt an das FPGA angeschlossen und ohne logische Inversion zu einer LED geleitet wird, sehen Sie, wie die LED aufleuchtet (vorausgesetzt, dass die richtigen Spannungen und Stromtreiber vorhanden sind). Um die LED (meistens) auszuschalten, können Sie ständig eine binäre 0x0000_0000 über die serielle Schnittstelle senden und die LED sollte dimmen oder ausgehen. Solange die Baudrate ausreichend niedrig ist, dass das PC-Programm die Verbindung sättigen kann, werden Sie mit Ausnahme des vom Protokoll vorgeschriebenen Stoppbits hauptsächlich Nullen senden.

Allerdings sind einfache Beispiele für serielle Ports im Internet üblich und sollten einfach zu implementieren sein.

Ihr Adapterkabel wird an einem Ende mit einem USB-Anschluss verbunden und bietet am anderen Ende einen seriellen Anschluss im UART-Stil mit LVTTL-Pegeln. Das Kabel wandelt die USB-Kommunikation in einen seriellen UART-Port um.

Sie müssen einen UART-Kern in Ihrem Logikdesign für Ihr FPGA implementieren. Dadurch werden serielle Daten vom UART in Ihrem Kabel empfangen und serielle Daten an diesen übertragen.

Dann können Sie die DE0-Nano-LEDs usw. ansteuern, wie Sie möchten.

Dies ist der Teil des Allegro Core. Es wäre überflüssig, Antworten zu duplizieren, die bereits im Internet vorhanden sind, und dies kann nicht auf 1 Seite vereinfacht werden.Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

http://www.recontech.co.uk/index.php/tutorial/tutorial-1-a-serial-communication-fpga-debug-module/54-de0-nano-serial-communications-tutorial .

Bitte ergänzen Sie Ihre Antwort mit Erläuterungen, sonst ist sie schwer verständlich.
@Ariser Soll ich das Buch kopieren, das benötigt wird, um jedes Detail zu erklären? EEs sollten die Motivation und Intelligenz haben, mehr Details aus Schlüsselwörtern in der Antwort zu finden, wenn sie Schritt für Schritt oder 7 Schichten des OSI-Modells erklärt werden müssen.
Ich bin kein EE und ich kenne diese Seite, aber es ist kompliziert für mich. Ich versuche zu verstehen, ob es möglich ist, dies zu Testzwecken ohne UART zu erreichen.
ja Ihr PC und Ihr Nano haben jeweils einen UART und Sie haben ein RS-232-Kabel. Als nächstes kommt die Kernbibliothek und das Setup, und schließen Sie RTS/CTS aus, wenn Sie es nicht verwenden. (nicht ankreuzen inkludieren)