Оглавление:

Письмо переводчику азбуки Морзе: 5 шагов
Письмо переводчику азбуки Морзе: 5 шагов

Видео: Письмо переводчику азбуки Морзе: 5 шагов

Видео: Письмо переводчику азбуки Морзе: 5 шагов
Видео: Как выучить азбуку морзе за 2,5 часа | 52skillz озвучка 2024, Июль
Anonim
Письмо переводчику азбуки Морзе
Письмо переводчику азбуки Морзе

Просмотр представлений азбуки Морзе в Интернете, чтобы узнать его, полезно, но нельзя сравнивать с просмотром его лично с настоящими мигающими огнями / звуками. Этот переводчик позволит вам выбрать букву, которую вы хотите выучить в азбуке Морзе, и перевести ее прямо на ваших глазах, мигая светодиодами в шаблоне, который он представляет для этой конкретной буквы! Этот переводчик принимает двоичное представление буквы в алфавите (диаграмму можно увидеть позже для двоичного эквивалента каждой буквы, но предполагается, что A - 01, B - 10, C - 11 и т. Д.) И преобразует это в эквивалент кода Морзе, мигая для пользователя. Десятичная версия числа также отображается на семисегментном дисплее, чтобы вы знали, что вы создаете правильный двоичный эквивалент.

Двоичное число создается переключателями с правой стороны и возрастает от младшего разряда, как и следовало ожидать при создании двоичного числа. Созданное вами число отображается на семисегментном дисплее, как указывалось ранее, и находится слева от платы, оно просто скажет вам, ошиблись ли вы, представляя двоичное число с помощью переключателей, или подтвердите, что вы сделали правильный номер. Он принимает по одной букве за раз, сохраняет ее в памяти, а затем распечатывает код Морзе, когда пользователь будет готов, активируя «переключатель печати», расположенный в крайнем левом углу платы BASYS3 (это просто еще один переключатель, который мы назначен в качестве «переключателя печати» или другого переключателя при использовании платы FPGA другого типа и назначьте другой переключатель (см. шаг 3). Для простоты рекомендуется использовать плату BASYS3, но это не обязательно.

Шаг 1: Шаг 1: Соберите свои материалы

Для этого проекта вам понадобится только следующее:

Аппаратное обеспечение - плата Basys3 (или эквивалентная ПЛИС, которую можно подключить соответствующим образом)

- (ДОПОЛНИТЕЛЬНО) Провода, если вы планируете подключить дополнительные светодиоды или другие переключатели к альтернативной ПЛИС.

Программное обеспечение-Vivado Design Suite (мы рекомендуем 2014+)

Шаг 2: Шаг 2: Создайте файл

Это файл, написанный на VHDL для запуска переводчика кода Морзе 1 Bit в Vivado. Этот файл работает со всеми версиями Vivado. Если возникают проблемы с загрузкой файла, текстовое представление кода можно найти в другом файле ниже, и его можно легко скопировать и вставить в папку с файлами, которую вы создаете. Убедитесь, что и основной источник, и файл ограничений присутствуют и находятся в своих отдельных источниках, прежде чем пытаться сгенерировать поток битов или что-либо синтезировать. Для тех, кто хочет понять более подробное объяснение кода и того, что он на самом деле делает, ознакомьтесь с шагом 3. Если вы просто хотите перейти к сути и начать перевод, переходите к разделу 4.

Шаг 3: Шаг 3: Код

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

Процесс 1:

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

Процесс 2:

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

Процесс 3:

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

Процесс 4:

Четвертый процесс - это процесс «переводчик», который принимает всю информацию, которую мы собрали до сих пор, например, была ли активирована кнопка сохранения, включен или выключен переключатель печати и какой номер представлен переключателями. Затем он просматривает созданный нами массив, который имеет представление кода Морзе того, каким будет выход с 1 и 0, равными командам включения / выключения для светодиодов. Вместо того, чтобы использовать два отдельных тактовых генератора рабочего цикла, мы сделали один тактовый генератор с коэффициентом заполнения 50%, который, по нашему мнению, был хорошей скоростью для кода Морзе, и заставили его выполнять точку с 1 высоким «импульсом» и тире для 3 высоких » импульсы . Чтобы упростить код и ускорить его выполнение, мы просто сделали точку равной «010», а тире - равной «01110».

Шаг 4: Шаг 4: Создайте Bistream и внедрите

Этот проект очень легко настроить, если у вас есть BASYS3 Board, поскольку все необходимые переключатели и кнопки уже присутствуют на плате, чтобы вы могли их использовать, вместе с ограничениями, предварительно установленными для контактов, которые вы хотите. Если вы используете другую FPGA, вам нужно будет войти в код, найти ограничения и перенаправить их на правильные ограничения для вашей FPGA. Это также верно, если вы планируете подключить другие светодиоды и переключатели к вашей плате для использования. Мы не будем вдаваться в примеры этого, но использование руководства по эксплуатации вашей конкретной FPGA было бы очень полезным для определения того, как подключить и направить все к правильным контактам.

На этом этапе, когда вы загрузили код и открыли файл, просто сгенерируйте битовый поток в Vivado и запрограммируйте свое устройство. Как только вы это сделаете, вы сможете начать вводить буквы для перевода в азбуку Морзе! Наслаждаться!

* ПРИМЕЧАНИЕ: «Переключатель печати» расположен в крайнем левом углу платы (переключатель R2 для платы BASYS3), а «кнопка сохранения» - это кнопка U18 (центральная кнопка на плате BASYS3), если ограничения взяты непосредственно из наш пример кода.

Шаг 5: Проблемы / Устранение неполадок

Если у вас возникли проблемы с загрузкой файла, вы можете скопировать и вставить код вручную из этого файла Word. Существует также вложение, чтобы вы могли проверить легкое преобразование двоичного кода в букву и то, что буква должна представлять, поэтому мы рекомендуем вам проверить их! Если вы используете BASYS3 Board, вы сможете следовать этим инструкциям и загрузить код без каких-либо проблем и без проблем реализовать его после того, как вы подключили плату и запрограммировали ее.

* ПРИМЕЧАНИЕ: если вы обнаружите, что ваш переводчик работает медленно, это нормально! Существует небольшая временная задержка между нажатием кнопки «Печать» и отображением ее в коде Морзе. Если вы приостановите цикл, выключив переключатель печати, код должен будет завершить цикл перед печатью новой буквы, оставив вас ждать завершения цикла и начала следующей буквы.

Рекомендуемые: