Оглавление:
- Шаг 1. Получите оборудование / программное обеспечение
- Шаг 2: блок-схема
- Шаг 3: модуль проекта
- Шаг 4: ограничения
- Шаг 5: Тест
Видео: VHDL Одноминутный секундомер: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Это руководство о том, как построить минутный секундомер с использованием VHDL и платы Basys 3. Такое устройство идеально подходит для игр, где у каждого игрока есть максимум одна минута, чтобы сделать ход. Секундомер точно отображает секунды и миллисекунды на семисегментном дисплее, начиная с 0 секунд и 0 миллисекунд, до 60 секунд и 0 миллисекунд. Также используются две кнопки: центральная кнопка, используемая для запуска, остановки и продолжения таймера, и правая кнопка, используемая для перезапуска таймера. Когда устройство сравнивается бок о бок со встроенным секундомером смартфона, становится заметна точность часов.
Шаг 1. Получите оборудование / программное обеспечение
1. Тренировочная плата Basys 3 Artix-7 FPGA от Digilent с кабелем Micro-USB - USB.
2. Vivado 2016.2 Design Suite от Xilinx
Шаг 2: блок-схема
Эта схема построена поведенчески и использует встроенные компоненты Xilinx, но также может быть описана структурно, как показано на общей структурной схеме выше. Из схемы видно, что схема приводится в действие двумя делителями частоты. Один из делителей частоты работает с частотой 1 сантисекунда и управляет катодным счетчиком, который используется в качестве чисел, отображаемых на семисегментном дисплее. Второй делитель частоты работает на частоте 240 Гц и используется для управления счетчиком анодов, который вращается через аноды, так что все числа правильно отображаются на семисегментном дисплее. Кодер берет катодную логику от катодного счетчика и анодную логику от анодного счетчика и кодирует ее на выходном катоде и аноде, которые запускают семисегментный дисплей. Функция этого энкодера состоит в том, чтобы выход катода изменялся каждый раз, когда изменяется выход анода. Катодный выход не может работать независимо от счетчика, потому что аноды должны вращаться на 4 отдельные цифры.
Шаг 3: модуль проекта
Во-первых, блок процесса для CEN сделан так, что при обнаружении нажатия кнопки переключатель ENABLE будет переключаться. Это служит остановкой / запуском катодного счетчика.
В следующем блоке процесса тактовые сигналы сотых долей секунды и 240 Гц устанавливаются так, чтобы их соответствующие счетчики увеличивались на 1 каждый раз, когда внутренние тактовые частоты 100 МГц достигают нарастающего фронта. Когда счетчик сантисекунд достигает 500000, он сбрасывается обратно на 0. Между тем счетчик 240 Гц сбрасывается, когда счетчик достигает 41667.
Для катодной части кода, если ENABLE равен «0», подсчет катодов будет приостановлен. Если в это время нажать кнопку сброса, все счетчики будут сброшены на «0000». Между тем, если ENABLE равен «1», счет катодов будет продолжаться до тех пор, пока счетчик катодов не достигнет 60,00, при этом он запускает сигнал остановки, равный «1». Сигнал остановки направляется обратно в блок процесса CEN и приводит к тому, что ENABLE принимает значение «0», в то время как сигнал остановки равен «1», и не изменится, пока не будет нажата кнопка сброса.
Наконец, семисегментный дисплей настраивается путем правильного подключения 4 анодов к каждому из их 8 катодов для одновременного отображения соответствующих цифр 0–9.
Шаг 4: ограничения
Этот файл ограничений связывает указанные входы и выходы VHDL с необходимыми физическими частями платы Basys. Для этого проекта компоненты включают в себя четыре анода и каждый из восьми катодов для семисегментного дисплея, внутренние часы 100 МГц, центральную кнопку и правую кнопку.
Шаг 5: Тест
После того, как вы закончите код, вы можете теперь программировать FPGA через USB-кабель. Семисегментный дисплей должен показывать 0,00. Проверьте, работают ли кнопки, нажав центральную кнопку для запуска таймера, пока он не достигнет 60,00 и не остановится; в любой момент вы можете снова нажать центральную кнопку, чтобы приостановить воспроизведение. После паузы вы можете нажать правую кнопку, чтобы сбросить таймер обратно на 0,00. Если все работает правильно, поздравляем, вы только что построили минутный таймер!
Рекомендуемые:
Секундомер Arduino с использованием ЖК-дисплея I2C: 5 шагов
Секундомер Arduino с использованием ЖК-дисплея I2C: в этом проекте я научу вас использовать ЖК-дисплей и Arduino в качестве интерактивного секундомера. Когда ваш проект будет завершен с использованием предоставленного кода, он должен выглядеть, как на фотографии выше.Перейдите к следующему шагу, чтобы узнать, с чего начать
Автоматический секундомер: 9 шагов
Автоматический секундомер: это руководство покажет вам, как создать автоматический секундомер. Потому что бег - это весело, но иногда рядом нет никого, кто мог бы рассчитать время. Я старался сделать его максимально простым, дешевым и точным. Вам не нужен пульт
Как сделать секундомер с помощью Arduino: 8 шагов (с изображениями)
Как сделать секундомер с помощью Arduino: это очень простой секундомер с ЖК-дисплеем Arduino 16 * 2 ……….. Если вам нравится эта инструкция, подпишитесь на мой канал https://www.youtube.com / ZenoModiff
Базовый секундомер с использованием VHDL и Basys3 Board: 9 шагов
Базовый секундомер с использованием VHDL и платы Basys3: добро пожаловать в руководство о том, как создать секундомер с использованием базовой платы VHDL и Basys 3. Мы рады поделиться с вами нашим проектом! Это был последний проект курса CPE 133 (Цифровой дизайн) в Калифорнийском Поли, SLO осенью 2016 года. Проект, который мы создали
Секундомер VHDL: 8 шагов (с изображениями)
Секундомер VHDL: это руководство по созданию секундомера с использованием VHDL и печатной платы FPGA, например платы Basys3 Atrix-7. Секундомер может отсчитывать от 00,00 секунд до 99,99 секунд. Он использует две кнопки, одну для кнопки запуска / остановки, а другую для