Динамическая индикация на ПЛИС
- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07
Есть готовый проект у кого?
- Реклама
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
На чем (AHDL,VHDL,Verilog) и под какую (чью) ПЛИСину?nick17 писал(а):Есть готовый проект у кого?
У меня где то валялся проект мультиплексного вывода под Альтеровские MAX7xxxS. Но там прием в параллельном коде и вывод с дешифратора с признаком включения разряда (тоже дешифратор)
- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07
VHDL или схематик, или вместе....Работаю с Xilinx.Meteor писал(а):На чем (AHDL,VHDL,Verilog) и под какую (чью) ПЛИСину?nick17 писал(а):Есть готовый проект у кого?
У меня где то валялся проект мультиплексного вывода под Альтеровские MAX7xxxS. Но там прием в параллельном коде и вывод с дешифратора с признаком включения разряда (тоже дешифратор)
на каком языке у тебя под альтеру?
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Делал "смесь" вначале на AHDL компоненты бил, затем в схемном их вставлял. Такты снаружи кошачил. Привык работать со схемами, а не с абстракциями.nick17 писал(а):на каком языке у тебя под альтеру?
- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07
- Реклама
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
90% идет именно этим путем. После того как проекты "расширяются", уровня схематики становится мало и.. происходит переход на абстракции:))nick17 писал(а):Щас описываю на VHDL определенную схему и создаю компонент по описанию....
Так в чем загвоздка со своим проектом?
Динамическая индикация -- это в каком смысле? Что динамически индицировать и на чём?nick17 писал(а):Есть готовый проект у кого?
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Ага правильно, у меня были просто 4 разрядные семисегментники:)). С ЖК только на МК фурыкал...SII писал(а):Что динамически индицировать и на чём?
- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07
Meteor писал(а):Ага правильно, у меня были просто 4 разрядные семисегментники:)). С ЖК только на МК фурыкал...SII писал(а):Что динамически индицировать и на чём?
Вот вот!!! Именно это и нужно----просто 4 разрядные семисегментники
Мой модуль для управления 7-сегментными индикаторами вот:
К нему осталось прикрутить источник информации и источник синхронизации. Ну и, естественно, связать сигналы с соответствующими ногами ПЛИС (связь описывается в ucf-файле и зависит от платы и модели ПЛИС).
Код: Выделить всё
----------------------------------------------------------------------------------
--
-- ИНДИКАТОР ШЕСТНАДЦАТЕРИЧНЫХ КОДОВ
--
-- По шине Hexs[15:0] поступают прямые коды четырёх шестнадцатеричных цифр, ко-
-- торые должны быть отображены на четырёхразрядном семисегментном индикаторе, а
-- по шине Points[3:0] - обратные сигналы зажигания точек, относящихся к этим циф-
-- рам (активный уровень низкий).
-- Выходными являются шины Segs[7:0] и Anodes[3:0], подаваемые на индикаторы
-- (активный уровень низкий). В каждый момент времени может быть активна только
-- одна из линий Anodes, поскольку используется мультиплексирование выходных
-- линий.
-- Сигнал Enable разрешает работу индикатора. Когда он равен нулю, индикатор бу-
-- дет погашен.
-- Сигнал Clock определяет частоту мультиплексирования. Для нормального отобра-
-- жения необходимо поддерживать её в пределах от 60 Гц до 1 кГц.
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity HexInd is
port ( Hexs : in std_logic_vector (15 downto 0);
Points : in std_logic_vector (3 downto 0);
Enable : in std_logic;
Clock : in std_logic;
Segs : out std_logic_vector (7 downto 0);
Anodes : out std_logic_vector (3 downto 0));
end HexInd;
architecture Behavioral of HexInd is
signal Counter : std_logic_vector (1 downto 0);
signal Hex : std_logic_vector (3 downto 0);
signal Point : std_logic;
signal SegInt : std_logic_vector (7 downto 0);
signal AnInt : std_logic_vector (3 downto 0);
begin
-- Обработка сигнала разрешения индикации
Segs <= SegInt when Enable = '1' else "11111111";
Anodes <= AnInt when Enable = '1' else "1111";
-- Счётчик мультиплексирования
process(Clock) is
begin
if rising_edge(Clock) then
Counter <= Counter + 1;
end if;
end process;
-- Мультиплексор
with Counter select
Hex <= Hexs(3 downto 0) when "00",
Hexs(7 downto 4) when "01",
Hexs(11 downto 8) when "10",
Hexs(15 downto 12) when others;
with Counter select
SegInt(7) <= Points(0) when "00",
Points(1) when "01",
Points(2) when "10",
Points(3) when others;
with Counter select
AnInt <= "1110" when "00",
"1101" when "01",
"1011" when "10",
"0111" when others;
-- Преобразователь кода цифры в код индикатора
with Hex select
SegInt(6 downto 0 ) <= "1000000" when "0000",
"1111001" when "0001",
"0100100" when "0010",
"0110000" when "0011",
"0011001" when "0100",
"0010010" when "0101",
"0000010" when "0110",
"1111000" when "0111",
"0000000" when "1000",
"0010000" when "1001",
"0001000" when "1010",
"0000011" when "1011",
"1000110" when "1100",
"0100001" when "1101",
"0000110" when "1110",
"0001110" when others;
end Behavioral;- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07
SII, спасибо огромное сегодня буду пробовать
это из апноута какого то? и где ты это находишь?! 
Есть для работы с ЖКИ без мультиплексирования.http://haos.homeip.net/LCDdriver/index.html. Загрузка данных последовательная.nick17 писал(а):Есть готовый проект у кого?
Есть (был) для ВЛИ (годится и для светодиодов), но это мой самый первый проект, и нигде не опубликован. И неуверен, что сохранился, потому как был сделан в XILINX Foundation (сейчас использую ISE WebPack).
Нет, это моя разработка. Правда, не совсем с нуля: я почитываю одну книжку в электронном виде (на буржуйском, есно), разбираю тамошние примеры, а потом пытаюсь слепить своё. Недавно вот клавиатуру PS/2 сделал, правда, один непонятный глюк пока остался, но в общем работает. Следующим на очереди VGA будет, но пока опять нет времени из-за работыnick17 писал(а):SII, спасибо огромное сегодня буду пробоватьэто из апноута какого то? и где ты это находишь?!
Красиво. Можно еще добавить сюда еще память и будет законченный модуль. Я такую штуку в схематике наваял. 6х4 защелки в которые пишется по 4х-разрядной шине данных выбираемые 3х-разрядной шиной адреса. Планировалось под XC9572, но достать тогда ее не смог, и пришлось урезать аппетит, чтобы упаковать в 9536. получилось 4 с половиной разряда.SII писал(а):Мой модуль для управления 7-сегментными индикаторами вот:
Схема была очень трудночитаемая. А твой вариант на VHDL - просто и изящно.
- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07
а что за книга буржуйская?
есть возможность мне прислать?
есть возможность мне прислать?
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Думаю лучше ссылочку или архивчик (если небольшой), много нас таких ща наберется:)))nick17 писал(а):а что за книга буржуйская?
есть возможность мне прислать?
- Сообщения: 134
- Зарегистрирован: Пт июн 26, 2009 06:40:07


