Jump to content
Braimik

За одно нажатие кнопки на выход поступает 15 тактовых импульсов

Recommended Posts

Необходима помощь в реализации . НА входе разрешающий сигнал то бишь нажатие однократное кнопки. и тактовый сигнал, на выходе логическая единица пока на выходе идут тактовые импульсы в количестве 15 шт. то есть я нажал, и происходит цикл повторений тактовых импульсов на выходе равных тактовой сигналу. и одновременно логическая единица которая по времени столько же сколько и тактовые импульсы пока они не закончатся. не представляю как это реализовать

Share this post


Link to post
Share on other sites

вы все таки сначала определитесь

у вас на выходе "1" или 15 тактовых импульсов

или у вас два выхода


все гениальное просто. чем проще тем надежнее.

Share this post


Link to post
Share on other sites

Да элементарно же делается. Ты напиши модуль, а что не получится - подскажем.

Share this post


Link to post
Share on other sites

Пополнение и новинки линейки ViperPlus от STMicroelectronics

Компания ST обновила семейство ШИМ-регуляторов со встроенным ключом ViperPlus, выпустив новые бюджетные микросхемы VIPER122 и VIPER222, микросхемы VIPER265K и VIPER267K, имеющие встроенный ключ MOSFET напряжением 1050 В, и самый мощный VIPer31x. С их помощью возможно реализовать топологии: изолированный и неизолированный обратноходовой преобразователь (flyback), понижающий преобразователь (buck), повышающе-понижающий преобразователь (buck-boost).

Подробнее

На какой элементной базе собираетесь реализовать сиё устройство?


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

Как сократить время вычислений и освободить ресурсы центрального процессора?

Цифровые фильтры применяются в системах цифровой обработки сигналов (ЦОС) для решения двух основных задач: разделения и восстановления сигналов. Такие задачи могут решаться программными и аппаратными методами. Для их решения удобно использовать аппаратный цифровой фильтр FMAC, входящий в состав микроконтроллеров семейства STM32G4.

Подробнее

триггер  срабатывает от кнопки и выдает "1"   и разрешает работу счетчика до 15 . На 15 импульсе триггер  от счетчика сбрасывается в "0" и запрещает и обнуляет счетчик .  

Share this post


Link to post
Share on other sites

Цикл статей: Все что вы хотели знать о STM32G4

Компания Компэл опубликовала цикл статей о новом семействе микроконтроллеров STM32G4. В статьях рассмотрены системная архитектура и разнообразие режимов питания, обзоры интерфейсных модулей, периферии и таймеров, а также различные виды и способы защиты информации, реализованные в микроконтроллерах новой серии STM32G4. Читать статьи >>

Подробнее

49 минут назад, солар сказал:

На какой элементной базе собираетесь реализовать сиё устройство?

Мы в разделе ПЛИС, так что тут без вариантов.

Реализовывается на Verilog в пару десятков строк.

Share this post


Link to post
Share on other sites
Ты напиши модуль, а что не получится - подскажем.

Я только щас дошел до этого модуля, по факту надо около 100 импульсов, вот дальше писать незнаю,
" module step ( clk, instep, outstep)
Input clk, instep;
Output outstep;
Always @( posedge clk)
Begin if " а вот дальше незнаю как писать,
Получается один раз нажал кнопку , и на выходе должно 100 импульсов выйти с такой же частотой как и клок


Отправлено с моего HTC Desire 630 dual sim через Tapatalk

Share this post


Link to post
Share on other sites

Ещё через квартал нужно будет по факту N импульсов. Стало быть необходимо на вход установить задатчик количества импульсов.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites

В коде просто менять это значение и все, Это программа по количеству импульсов все расчитается, и все, далее изменения не будет в ней

Отправлено с моего HTC Desire 630 dual sim через Tapatalk

Share this post


Link to post
Share on other sites

Да элементарная задача же. Попробуй сам, покажи что получилось, а мы подскажем.

Share this post


Link to post
Share on other sites
11 час назад, Braimik сказал:

Я только щас дошел до этого модуля, по факту надо около 100 импульсов, вот дальше писать не знаю,

1) нужен генератор тактов, которые будет считать счетчик (вряд ли там мегагерцы, если для шд (о котором я подумал) - не более 500 Гц.

2) делается детектор фронта для определения нажатия кнопки. Это буквально два последовательных триггера, по их состоянию 01 или 10 в счетчик записывается значение из переключателей (или константа) По другому состоянию 10 или 01 разрешается работа счетчика на вычитание.

3) собственно сам счетчик, который ждет когда в него запишут ненулевое значение и считает до нуля. После очистки - ждет запись.

Share this post


Link to post
Share on other sites

Например можно сделать вот так (число импульсов на выходе задаётся параметром CNT_VAL не более 127, но можно завести и порт для задания на лету):

module pulse_sequence (
    clk,
    rstn,
    start,

    p_seq
);

//Set number of impulses
parameter CNT_VAL = 7'd11;

//Ports
input   clk;
input   rstn;
input   start;
output  p_seq;

//Regs and wires
reg [7:0]   cnt;
wire        cnt_stop;
reg [1:0]   start_d;
wire        start_en;

//Detecting rise front of START signal
always @(posedge clk)
if (!rstn)
    start_d <= 2'b0;
else
    start_d <= {start_d[0],start};

assign start_en = start_d[0] & (~start_d[1]);

//Down counter
assign cnt_en = |cnt;

always @(posedge clk)
if (!rstn)
    cnt <= 8'b0;
else if(start_en)
    cnt <= CNT_VAL*2;
else if(cnt_en)
    cnt <= cnt - 7'b1;

//Output impulses
assign p_seq = cnt[0];

endmodule

И тестбенч к нему:

`timescale 1ns/1ps

module test();

reg clk;
reg rstn;
reg start;
wire p_seq;

initial
begin
    clk     = 0;
    rstn    = 0;
    start   = 0;
end

always
#10 clk= ~clk;


pulse_sequence pulse_sequence_uut(
    .clk    (clk),
    .rstn   (rstn),
    .start  (start),

    .p_seq  (p_seq)
    );

integer i;

initial
begin
$dumpfile("out.vcd");
$dumpvars(-1, test);

rstn <= 0;

@(negedge clk);
rstn <= 1;
for(i = 0; i<3; i = i+1) @(posedge clk);
#15;
start <= 1;
for(i = 0; i<3; i = i+1) @(posedge clk);
start <= 0;
for(i = 0; i<300; i = i+1) @(posedge clk);

$finish();
end
endmodule

 

Edited by Vascom

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • ну, в таком случае, 73!
    • Вот этот? Это не мой. Был у меня в ремонте. По звуку большой (1075) был лучше.  
    • а rotel остался?! чето тот который маленький вы показывали уж очень понравился и запомнился. хочу себе такой же в колекцию :)
    • Не загнулось, а придушили. Как? Ну я ж не Рабинович что бы Битлов Вам напевать - все в открытых источниках, пожалуста читайте, изучайте. На сколько помню стенограммы всех судебных заседаний имеются в открытом доступе. Хотел еще отсебятиной поделиться, но чето перпдумал, и так хорошо.   Да уже наверно не нужно, раньше надо было.
    • конечно сваркой ,с такой толщиной уже смело. @I_Avals правильно советует ,сварка в нашем деле штука очень нужная. так что если есть возможность обязательно приобретите.  я во всех своих конструкциях применял ее.  
    • да спок ночи....что только не делал 200 ват максимум..все что советовали не оле...1нф кандер..на осцилограмме звон проходит при 18 вольтах...10 нф при 23  и тд
    • Я отталкиваюсь от расчётов Мокашова, давайте рассудим - светодиод - это 2,5 вольта и 1.5мА +ток на транзистора тл-ки - отсуда =24-2.5 вольта и ток 2.5мА - от суда по калькулятору 8.2 к, теперь - посмотрите расчёт что предложила их прога - сколько витков первички - индуктивность - совпадает? От этого будет плясать ток - от этого нужна скорость ОС, 1нФ - это малые колебания - быстро действие от этого зависит, сравнивать конечно можно - но - лучше думать головой) говорил уже. Ладненько - мне за руль завтра надо поваляться) - до завтра. Ещё момент - я не посмотрел - у вас 29 дроссель - на эту мощность может и не хватить индукция дросселя, но это уже завтра - я заманался) 

  • Переключатели фиксированные, 3 пина

  • Similar Content

    • By bugway
      Требуется инженер-программист ПЛИС для проектирования плат и написания прошивок для нескольких проектов.

      Требования к кандидату:

      - Опыт работы с различными типами ПЛИС не менее 3 лет
      - Опыт работы с микроконтроллерами STM32 и другими не менее 3 лет
      - Опыт работы с Altium Designer, Quartus и другими средами.
      - Опыт видеообработки с помощью ПЛИС
      - Опыт работы в команде
      - Умение разбираться в чужих проектах
      - Проживание в Москве, желательно поближе к Люберецкому району

      Немного общей информации по проектам:

      1. Видеообработка (2 проекта) - ключевые моменты: сглаживание изображений, работа с видеобуфером, работа с MIPI, PAL/SECAM видеовыходом, работа ПЛИС в паре с микроконтроллером
      2. Обработка сигналов (1 проект) - ключевые моменты: работа ПЛИС в паре с микроконтроллером, работа с таймером, точные временные измерения, детектирование аналоговых и цифровых сигналов, работа с оптическими датчиками

      Оплата договорная
      Есть перспектива трудоустройства на штатную должность.

      Контакты:
      E-mail: vbug2 (собака) yandex.ru
      Вконтакте: vk.com/bugway
    • By владислав соломенцев
      сгенерировал файл в QSYS и вставил в top-level файл проекта Quartus2 (17.0) для De10-nano(cyclone5)
      запускаю tcl скрипт из tools/tcl scripts/hps_sdram_p0_pin_assignments.tcl  чтобы назначить пины HPS
      вылезают такие вот строки, как поправить?
      Error:    while executing Error:"exec $cmd -t [ info script ] $project_name " Error:    invoked from within Error:"if { ![info exists quartus(nameofexecutable)] || ($quartus(nameofexecutable) != "quartus_sta" && $quartus(nameofexecutable) != "quartus_map") } { Error:    pos..." Error:    (file "D:/FPGA/project/try/unsaved/synthesis/submodules/hps_sdram_p0_pin_assignments.tcl" line 110) Error:    invoked from within Error:"_source D:/FPGA/project/try/unsaved/synthesis/submodules/hps_sdram_p0_pin_assignments.tcl" Error:    ("uplevel" body line 1) Error:    invoked from within Error:"uplevel 1 $cmd " Error:    (procedure "source" line 5) Error:    invoked from within Error:"source "D:/FPGA/project/try/unsaved/synthesis/submodules/hps_sdram_p0_pin_assignments.tcl""
       
    • By Катерина
      Очень-очень нужны инженеры по схемотехнике!!! 
      АО «НПО «Орион» сейчас находится в поиске крутых и грамотных специалистов для разных проектов! Мы занимаемся разработкой микрофотоэлектроники как на гражданку, так и на оборонку. Это и  тепловизоры, и SWIR-камеры, инфракрасные термосканы и конструктор Smart Blocks на базе Ардуино, а также фотоприемные устройства, лазерные целеуказатели, очки ночного виденья, микрокриогенные системы и другое.
      Нам нужен такой человек, который по сформулированному техническому заданию сможет с нуля разработать и спроектировать схему «на железе» для того или иного проекта. Также создать макет электронной схемы, протестировать и испытать его. Ну и естественно сопроводить процесс производства от опытного до серийного. Работа в паре с инженером-конструктором. Очень круто, если вы уже проектировали ПЛИС и микроконтроллеры.
      Наши плюшки:
      Интересные проекты, некоторые из них в России еще никогда не разрабатывались. У вас будет возможность для творчества, новых разработок и предложений. Стабильность и гарантию! Не смотря на наши проекты и разработки в гражданском направлении, предприятие у нас государственное и соблюдает все нормы трудового законодательства. Очень вкусную столовую на территории с завтраками и обедами (средняя стоимость ~ 150 рублей). Уникальную возможность – увидеть производство матриц фоточувствительных элементов от подложки до готовой матрицы, которую потом Вы и будете разводить на схеме. Множество спортивных и культурных мероприятий в большом и дружном коллективе. А также для пешеходов – доступность от метро Выхино (7 минут пешком или 1 остановка на автобусе). Бонусом водителям автомобилей - две бесплатные корпоративные парковки. Локация: Москва, ст. метро Выхино;
      График работы: 5/2 с 9:00 до 17:45 (+/- час);
      З/п по результатам собеседования
      Контакты: hr@npo-orion.ru
      +7 499 786 3669 (Екатерина) 
    • Guest Rijiko
      By Guest Rijiko
      Привет всем! 

      Мы - команда разработчиков, занимающиеся исследованием и апробацией способов, алгоритмов и программ контроля целостности данных в процессе передачи или хранения. 
      В рамках преакселерационной программы по гранту "УМНИК" нам необходимо найти контакты лиц, заинтересованных в применении результатов наших разработок. 

      На данный момент имеются реализации на ПЛИС циклического метода декодирования для кодов БЧХ(15,7,5) и (15,5,7), а также для кодов, исправляющих пакетные ошибки (аналог кодов Рида-Соломона).


      Есть ли заинтересованные лица в разработках по данной области исследования (реализация контроля целостности данных при передаче по каналу связи с помехами, или при хранении данных)?
    • By zontoo
      Нужен программист ПЛИС для создания прошивки шагового двигателя
      чип xilinx (драйвер и программатор предоставлю).
      Начать нужно немедленно.
      Укажите примерную стоимость, скайп, опыт по ПЛИС. 
      Пишите на почту yanbotalov (собака) gmail.com с резюме и портфолио по ПЛИС
×
×
  • Create New...