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