Динамическая индикация на ПЛИС

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

Есть готовый проект у кого?
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

nick17 писал(а):Есть готовый проект у кого?
На чем (AHDL,VHDL,Verilog) и под какую (чью) ПЛИСину?
У меня где то валялся проект мультиплексного вывода под Альтеровские MAX7xxxS. Но там прием в параллельном коде и вывод с дешифратора с признаком включения разряда (тоже дешифратор)
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

Meteor писал(а):
nick17 писал(а):Есть готовый проект у кого?
На чем (AHDL,VHDL,Verilog) и под какую (чью) ПЛИСину?
У меня где то валялся проект мультиплексного вывода под Альтеровские MAX7xxxS. Но там прием в параллельном коде и вывод с дешифратора с признаком включения разряда (тоже дешифратор)
VHDL или схематик, или вместе....Работаю с Xilinx.
на каком языке у тебя под альтеру?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

nick17 писал(а):на каком языке у тебя под альтеру?
Делал "смесь" вначале на AHDL компоненты бил, затем в схемном их вставлял. Такты снаружи кошачил. Привык работать со схемами, а не с абстракциями.:) Пройдет наверное со временем...
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

:)) Щас описываю на VHDL определенную схему и создаю компонент по описанию.... :)
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

nick17 писал(а)::)) Щас описываю на VHDL определенную схему и создаю компонент по описанию.... :)
90% идет именно этим путем. После того как проекты "расширяются", уровня схематики становится мало и.. происходит переход на абстракции:))
Так в чем загвоздка со своим проектом?
Контактная информация:
Реклама
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

nick17 писал(а):Есть готовый проект у кого?
Динамическая индикация -- это в каком смысле? Что динамически индицировать и на чём?
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

SII писал(а):Что динамически индицировать и на чём?
Ага правильно, у меня были просто 4 разрядные семисегментники:)). С ЖК только на МК фурыкал...
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

Meteor писал(а):
SII писал(а):Что динамически индицировать и на чём?
Ага правильно, у меня были просто 4 разрядные семисегментники:)). С ЖК только на МК фурыкал...

Вот вот!!! Именно это и нужно----просто 4 разрядные семисегментники
:))
Контактная информация:
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Мой модуль для управления 7-сегментными индикаторами вот:

Код: Выделить всё

----------------------------------------------------------------------------------
--
--  ИНДИКАТОР ШЕСТНАДЦАТЕРИЧНЫХ КОДОВ
-- 
--   По шине 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;
К нему осталось прикрутить источник информации и источник синхронизации. Ну и, естественно, связать сигналы с соответствующими ногами ПЛИС (связь описывается в ucf-файле и зависит от платы и модели ПЛИС).
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

SII, спасибо огромное сегодня буду пробовать :) это из апноута какого то? и где ты это находишь?! :))
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7377
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

nick17 писал(а):Есть готовый проект у кого?
Есть для работы с ЖКИ без мультиплексирования.http://haos.homeip.net/LCDdriver/index.html. Загрузка данных последовательная.
Есть (был) для ВЛИ (годится и для светодиодов), но это мой самый первый проект, и нигде не опубликован. И неуверен, что сохранился, потому как был сделан в XILINX Foundation (сейчас использую ISE WebPack).
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

nick17 писал(а):SII, спасибо огромное сегодня буду пробовать :) это из апноута какого то? и где ты это находишь?! :))
Нет, это моя разработка. Правда, не совсем с нуля: я почитываю одну книжку в электронном виде (на буржуйском, есно), разбираю тамошние примеры, а потом пытаюсь слепить своё. Недавно вот клавиатуру PS/2 сделал, правда, один непонятный глюк пока остался, но в общем работает. Следующим на очереди VGA будет, но пока опять нет времени из-за работы :(
Друг Кота
Аватара пользователя
Сообщения: 7377
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

SII писал(а):Мой модуль для управления 7-сегментными индикаторами вот:
Красиво. Можно еще добавить сюда еще память и будет законченный модуль. Я такую штуку в схематике наваял. 6х4 защелки в которые пишется по 4х-разрядной шине данных выбираемые 3х-разрядной шиной адреса. Планировалось под XC9572, но достать тогда ее не смог, и пришлось урезать аппетит, чтобы упаковать в 9536. получилось 4 с половиной разряда.
Схема была очень трудночитаемая. А твой вариант на VHDL - просто и изящно.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Ну, я сначала пробовал по старинке -- в схемном виде, но быстро убедился, что это неудобно, и начал VHDL осваивать.
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

а что за книга буржуйская?
есть возможность мне прислать? :)
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

nick17 писал(а):а что за книга буржуйская?
есть возможность мне прислать? :)
Думаю лучше ссылочку или архивчик (если небольшой), много нас таких ща наберется:)))
Контактная информация:
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

FPGA Prototyping by VHDL examples, автор Pong P. Chu. У меня она разбита на главы -- всего 21 pdf-файл суммарным объёмом чуть больше 21 мегабайта. Прислать могу, но сейчас я задал вопрос о возможности её размещения на одном сайте. Получится -- там и выложим, не получится -- бум высылать.
Встал на лапы
Аватара пользователя
Сообщения: 134
Зарегистрирован: Пт июн 26, 2009 06:40:07

Сообщение nick17 »

Контактная информация:
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Сообщение SII »

Она самая. Изложение ведётся с ориентацией на Стартер Кит от Хилинха; у меня другая плата, но разница заключается почти исключительно в правке ucf-файла.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»