demsp 0 1 июня, 2019 Опубликовано 1 июня, 2019 (изменено) · Жалоба Вот пример make-кода клавиши, генерируемого клавиатурой PS2 Частота ALTUFM_OSC (частота штатного генератора) 5.5 МГц (MAX II EPM240 CPLD Minimal Development Board). Вот пример модуля, использующего штатный генератор module inner_Clock ( output reg LED); ALTUFM_OSC osc( .oscena(1'b1), .osc(clk)); reg signal; reg [24:0] osc_counter; reg [24:0] const_data = 25'b10110111000110110000000; initial begin signal = 1'b0; osc_counter = 25'b0; end //досчитываем до 6 000 000 и обнуляем счетчик osc_counter always @(posedge clk) begin osc_counter <= osc_counter+ 1'b1; if(osc_counter == const_data) begin signal <= ~signal; osc_counter <= 25'b0; end LED = signal; // LED мигает ~1 раз в сеунду. end endmodule Здесь мы 5,5 МГц делим на 6 млн, получаем примерно 1 Гц. Для того, чтобы "сгенерировать частоту" 12.88КГц необходимо чтобы const_data = ~ 427 (decimal) = 1 1010 1011 (binary). Правильно? Как отсчитать 11 тактов? Изменено 1 июня, 2019 пользователем demsp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба On 6/1/2019 at 1:09 PM, demsp said: Для того, чтобы "сгенерировать частоту" 12.88КГц необходимо чтобы const_data = ~ 427 у меня получилось 427,0186335595883 то есть из 5.5 сделать самому 12,88 сложновато будет за один прием. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demsp 0 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба Тогда надо, наверное, внешний кварцевый генератор на 12800-12900 подключать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба Задача-то какая? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 27 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба Приветствую! 5 hours ago, new123 said: у меня получилось 427,0186335595883 то есть из 5.5 сделать самому 12,88 сложновато будет за один прием. Не сложно - суммируете константу K=2^N/427.018... в регистр разрядностью N бит, старший бит которого и будет переключиться с нужной вам частотой. Выбором N можете получить почти любую точность деления. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
anatole 0 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба В 01.06.2019 в 13:09, demsp сказал: Частота ALTUFM_OSC (частота штатного генератора) 5.5 МГц (MAX II EPM240 CPLD Обратите внимание на то, что по документации на ПЛИС частота ALTUFM_OSC не имеет точного значения и лежит в пределах от 3,3 до 5,5 МГц Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба 3 hours ago, RobFPGA said: Не сложно - суммируете константу K=2^N/427.018... в регистр разрядностью N бит, старший бит которого и будет переключиться с нужной вам частотой. Выбором N можете получить почти любую точность деления. сохранил, спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewkrot 0 2 июня, 2019 Опубликовано 2 июня, 2019 · Жалоба Зачем такие сложности? Частота клока для PS/2 Должна быть в пределах 10-16.7 кГц. 5.5M/2^9 ~ 10742. 9 разрядов счетчик решает проблему. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demsp 0 3 июня, 2019 Опубликовано 3 июня, 2019 · Жалоба On 6/2/2019 at 7:07 PM, AnatolySh said: Задача-то какая? Напечатать какой-нибудь символ в блокноте. На сайте marsohod есть такой проект, но там плата может как принимать сигналы от компьютера, так и отправлять для печати в блокноте различные символы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться