Настройка светодиодных выводов в качестве входа на плате MACHxo2
Я пытаюсь настроить контакты, подключенные к встроенным светодиодам, в качестве входных контактов. Документация утверждает, что они являются свободными ввода-вывода, но когда я проверяю их с помощью области видимости, он говорит, что они выводят "высокий" сигнал. Это на MACHXO2 7000he cpld, но я предполагаю, что ответ будет одинаковым для любой из плат MACH. Заранее благодарю за любую помощь.
2 ответа
Эй, ребята, извините, что так долго отвечал. Я бы прикрепил изображение схемы, но у меня сейчас слишком низкая репутация, чтобы сделать это.
Светодиоды подключены к VCC 3,3 В. Я обнаружил, что, отделяя светодиоды от платы, я мог свободно использовать контакты, к которым они были подключены, как свободный ввод / вывод, потому что это создало бы разомкнутую цепь между выводами и 3,3В.
Предполагается, что контакты уже свободны от ввода-вывода, но светодиоды были активны на низком уровне, что заставляло мою программу постоянно видеть их как высокие сигналы, что в конечном итоге делало эти выводы постоянными выходами.
Во всяком случае, есть мой ответ, и я надеюсь, что он имеет смысл и поможет одному из вас на днях.
Спасибо за ответы.
Вы могли бы попробовать led blinking
пример, например, такой:
LIBRARY ieee;
USE ieee.std_logic_1164.all;
LIBRARY lattice;
USE lattice.components.all;
ENTITY blinking_led IS
PORT(
led : BUFFER STD_LOGIC);
END blinking_led;
ARCHITECTURE behavior OF blinking_led IS
SIGNAL clk : STD_LOGIC;
--internal oscillator
COMPONENT OSCH
GENERIC(
NOM_FREQ: string := "53.20");
PORT(
STDBY : IN STD_LOGIC;
OSC : OUT STD_LOGIC;
SEDSTDBY : OUT STD_LOGIC);
END COMPONENT;
BEGIN
--internal oscillator
OSCInst0: OSCH
GENERIC MAP (NOM_FREQ => "53.20")
PORT MAP (STDBY => '0', OSC => clk, SEDSTDBY => OPEN);
PROCESS(clk)
VARIABLE count : INTEGER RANGE 0 TO 25_000_000;
BEGIN
IF(clk'EVENT AND clk = '1') THEN
IF(count < 25_000_000) THEN
count := count + 1;
ELSE
count := 0;
led <= NOT led;
END IF;
END IF;
END PROCESS;
END behavior;
Для более подробной информации смотрите Учебное пособие по Lattice Diamond и MachXO2 Breakout Board.