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

Взаимодействие устройств IoT от Microchip с облаком Google

Благодаря облачным технологиям появилась возможность реализовать сложные проекты на базе микроконтроллера путем перераспределения вычислительной нагрузки между микроконтроллером и облаком. Простые в использовании отладочные платы, такие как AVR- и PIC-IoT WG, позволяют выполнять ресурсоемкие вычисления, передавая их в облако.

Подробнее

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


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

Share this post


Link to post
Share on other sites

Вебинар «Решения Analog Devices для гальванической изоляции. Обзор технологий и новинок» (27.04.2021)

Компания «Компэл» и Analog Devices приглашают всех желающих 27/04/2021 принять участие в вебинаре, посвященном решениям Analog Devices для гальванической изоляции. В программе вебинара: технологии гальванической изоляции iCoupler, цифровые изоляторы, технология isoPower, гальванически изолированные интерфейсы (RS-485, CAN, USB, I2C, LVDS) и другое. Вебинар будет интересен разработчикам промышленной автоматики и медицинской техники.

Подробнее

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

Share this post


Link to post
Share on other sites

WDR-60 от Mean Well – источник питания на DIN-рейку со сверхшироким входом

Компания Mean Well расширяет семейство одно- и двухфазных источников питания со сверхшироким диапазоном входного напряжения, предназначенных для монтажа на DIN-рейку, дополнив его серией WDR-60. Широкий температурный диапазон работы позволяет применять их для питания промышленных систем управления и контроля, устройств промышленной автоматизации и всевозможных стационарных электромеханических устройств, где важны надежность и безопасность.

Подробнее

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...

  • Сообщения

    • А может хвать экспериментов) по идее ничто не мешает обьеденится всем с Евросоюзом - мы те же европейцы, ток пока авторитарии рулят - никакаго объедения даже меж собой не будет, ладненько, за офтоп извиняюсь. 
    • Плохо, что мы всё время смотрим на запад! И перенимаем у запада не самое лучшее. А почему бы нам не разработать свою модель государственного строя, а не копировать западные варианты чуждые нам по идеологическому принципу. Мы выросли в другой стране, где царствовали благородные традиции чистой преданной любви, доброты, честности. Всё это ушло в небытиё! Теперь надо строить своё государство подобно Германии, Франции, Америке. У них кризис, масса своих проблем. А мы прёмся в этот Евросоюз! Для них мы были есть и будем страной третьего сорта, и никогда не будем равноправными партнёрами. А для того, чтобы постепенно возрождались разграбленные предприятия необходимо объединить все усилия трёх бывших республик: Россию, Украину и Белоруссию. Тогда, постепенно, начнётся возрождение промышленного потенциала. Но объединение должно произойти на правах равноправия, без ущемления авторитета и суверенности каждой из этих республик. 
    • И где тут 28в амплитуды?
    • Пришлось из-за Вас опять перепаивать выходы трансформаторов. Первая картинка - сигнал генератора на входе. Вторая - выход под нагрузкой. Уровень громкости на максимуме Синусоида не очень красивая - простенький китайский гена.
    • тестовая прошибка без дисплея работает. програмно подтяжку не указывал. блинк тоже работает
    • смотря как этот самый дроссель рассчитать , он легко может и добавить проблем , возможно стоит воспользоваться схемой выпрямителя китайского лбп - посмотрим . MCH-K305D Circuit Diagram2.pdf
  • 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...