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
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.
Benutzer323693
Ismail