Bit-Sequenz schicken

Gast #2269924
Lesenswert?
• ▲
▼
Hallo,

ich fange grad mit VHDL an und wuerde gerne wissen wie man intelligent 
eine folge von Bits über eine serielle Datenleitung schicken kann.

Beispiel: Ich möchte die Sequenz "101000100010" schicken.
Ich weiss nur wie das mit einen counter und einer state maschine machen 
kann.

architecture Beispiel of test is

Signal Bit_folge: std_logic_vector(11 downto 0) := "101000100010";
Signal Counter: unsigned(4 downto 0);

process(clk, senden)
begin
if senden = '0' then

counter <= (others => '0');

elsif rising_edge(clk) then

if counter = 12 then
senden = '0';
else
DatenLeitung <= Bit_folge(to_integer(counter));
counter <= counter + 1;
end if;


end if;
end process;

end Beispiel;


Das muss doch besser gehen.
Vielen Dank fuer eure Hilfe...
Moderator (Firma: Titel) Persönliche Seite #2269944
Lesenswert?
• ▲
▼
Kalle schrieb:
> wie man intelligent
> eine folge von Bits über eine serielle Datenleitung schicken kann.
Nimm ein Schieberegister. So wie hier beim SPI z.B.:
http://www.lothar-miller.de/s9y/categories/45-SPI-Master
Und der ganze Trick spielt sich hier ab:
1
  ---- Sendeschieberegister -------
2
  process begin 
3
     wait until rising_edge(CLK);
4
       :
5
       tx_reg <= tx_reg(tx_reg'left-1 downto 0) & tx_reg(0); -- Schieberegister
6
       :
7
  end process;   
8

9
  MOSI    <= tx_reg(tx_reg'left);  -- Ausgang, linkes Bit MSB voran

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren