Kaksisuuntainen I / O

K

Kalsinoidun

Guest
Hei,

Olen kanssa hankkeen, jossa minun pitää tehdä yksinkertaisen jännitetason Valittavana MCU databus ja pheripheral.Kysymykseni kuuluu: Onko mahdollista yhdistää kaksi kaksisuuntaista nastaa toisiinsa?Käytän UCL: n MachXO.

Olen yrittänyt tätä:

BIDIR_DATA1 <= BIDIR_DATA2 kun (RW = '0 ') else (others =>' Z ');
BIDIR_DATA2 <= BIDIR_DATA1 kun (RW = '1 ') else (others =>' Z ');

Kun minä simuloida minun koodin modelsim, tuotos bussit ovat "Z: n.

I'll appreciate any help!VHDL-ja CPLD / FPGA: t ovat aivan uusi "leikkipaikka" minulle.

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Hymyillä" border="0" />
 
Esittäkää lisätietoja

Sooda kirjoitti:BIDIR_DATA1 <= BIDIR_DATA2 kun (RW = '0 ') else (others =>' Z ');

BIDIR_DATA2 <= BIDIR_DATA1 kun (RW = '1 ') else (others =>' Z ');
 
olet oikeassa, älä unohda lisätä vetää ylös vastukset, todellisesta nastat, myös mallin sim testipenkkiin lisätä bidir_data1 <= 'H', simuloida vetää ylös vastukset

 
Kiitos pikaisen vastauksen!

Tässä on koodi, olen tehnyt tähän mennessä:

library IEEE;
käytön ieee.std_logic_1164.all;

yksikkö lohkon
satama (
BIDIR_DATA1: InOut std_logic_vector (15 downto 0); - datasignaalien
BIDIR_DATA2: InOut std_logic_vector (15 downto 0);
RW: in std_logic);
varten;

arkkitehtuuri makki ja lohkon
aloittaa

BIDIR_DATA1 <= BIDIR_DATA2 kun (RW = '0 ') else (others =>' Z ');
BIDIR_DATA2 <= BIDIR_DATA1 kun (RW = '1 ') else (others =>' Z ');

lopussa makki;
varten;

Niin, minun käsitykseni on, että olen CPLD-ic välillä MCU ja pheripheral jännitteen taso siirtää.Olen yhteydessä eri jännitettä toimitukset CPLD: n pankeille.Koodia ei tarvitse tehdä mitään muuta, mutta taso siirtää ..... Myöhemmin, I'll lisää logiikkaa virtapiiriin.Olen simuloitu tätä testbench kun olen niitä kiskaista ups, mutta sain tuloksen, jossa BIDIR_DATA1 <= BIDIR_DATA2 on ok, mutta BIDIR_DATA2 <= BIDIR_DATA1 ei ole.(jotkut Datas on BIDIR2 ovat "X: n).

Muuten, olen yrittänyt esittää näitä lauseita (bidir_data1 <= bidir_data2 etc.) Sisällä proces, mutta simulaattori antoi minulle virhe: Laiton peräkkäistä selvitys.

Toinen kysymys tuli mieleeni.Jos haluaisin yhdistää joitakin SDIO-rajapinta pheripheral minun MCU, esimerkiksi WLAN-moduuli, en tiedä, kun tiedot on menossa peräisin MCU tai MCU.Ei ole mitään RW tai antaa signaaleja saatavilla ja kaikki signaalit (execpt clock) on bidirectionals.On, että tällainen yhteys voidaan tehdä MachXO ja VHDL?

 

Welcome to EDABoard.com

Sponsor

Back
Top