Вот этих EP1C3T144C8N в китайском радиомагазине полно :)
Вид для печати
Вот этих EP1C3T144C8N в китайском радиомагазине полно :)
из магаза долго ждать, Дед Мороз рядом, тебе дружище, что "отгрузить"? пока в мешочке есть подарки?
В личке написал.
Интересно, а Виктор уже получил свой подарок? Неделю как отправил... Забанили его невовремя...
опять забанили чтоли ? ) за что
Во хмелю невоздержан :v2_dizzy_king:
Так, пока снегура ищет, в закромах флешки для
Ewgeny7, есть возможность упаковать еще, подарочков. Дедушке Морозу потом будет не досуг, определяйтесь до 16:00 MSK, кому железяк потребно.
Давайте что ли чуток продолжим практику.
Очередное задание. Делаем ШИМ (PWM).
Просто я параллельно с этой темой веду переписку с Миккой, там как раз эта темя затрагивалась.
Что такое ШИМ - вроде как все железячники должны знать.
Это способ "оформить" цифровой сигнал в подобие аналогового. Практическое применение - синтез аналогового уровня, или звука, или руление электромотором или светодиодом.
Принцип основан на изменении скважности выходящей с генератора ШИМ частоты. Чем больше соотношение "единицы" к "нулю", тем больше аналоговый уровень на RC (LC) фильтре перед потребителем сигнала. Естесственно, частота ШИМ обычно используется достаточно высокая, чтобы эффективней сгладить пульсации и отрезать высокочастотную составляющую фильтром.
Для светодиодиков, подключенных к ШИМ, в принципе достаточно поставить сглаживающий конденсатор параллельно лапам светика.
Давайте придумаем и изобразим ШИМ.
Техзадание.
Вход - клок, 1 мегагерц.
Выход - сигнал ШИМ, дискретность - 256 импульсов.
Уровень заполнения пока возьмем константой от балды, например - 63.
Т.е. мы должны получить сигнал ШИМ, где 63 кванта времени будет единица на выходе, а оставшиеся 256-63=193 - ноль.
Когда это будет сделано, привинтите восемь кнопочек на вход альтерки, чтобы уже можно было управлять ШИМом.
Готовый код, как обычно, будет под спойлером.
Скрытый текст
Код:library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity test is
port(
clk : in std_logic;
q : out std_logic
);
end test;
architecture arch of test is
signal cnt : std_logic_vector(7 downto 0);
begin
process(clk)
begin
if (rising_edge(clk)) then
if (cnt=0) then
q <= '1';
elsif (cnt=63) then
q <= '0';
end if;
cnt <= cnt+1;
end if;
end process;
end arch;
[свернуть]
http://savepic.org/6341015.png
скоро с вами буду учиться)
Ewgeny7, было бы круто, если бы книжку написал какую-нибудь по этому делу :)