System of coding and transmission of text messages using programmable logic integrated circuits

Research article
DOI:
https://doi.org/10.60797/IRJ.2025.158.44
Issue: № 8 (158), 2025
Suggested:
07.05.2025
Accepted:
07.07.2025
Published:
18.08.2025
374
10
XML
PDF

Abstract

The article presents the development of hardware and software unit for coding and transmission of text messages using Morse code on the basis of programmable logic integrated circuits (FPLDs). The main focus is on the design of the device, which includes a user interface, keyboard driver, symbol transmission block and sound generator. The Spartan-6 LX9 debug board was chosen as the hardware platform, ensuring a high degree of integration and efficient resource utilisation. The results demonstrate the device's reliability and performance, as well as its potential for resource-constrained applications such as aviation, maritime navigation and telecommunications. The design features compactness, autonomy and noise immunity achieved through the use of FPLDs. The paper describes in detail the design stages, functional modules of the device and estimation of hardware costs, which amounted to no more than 11% of the available on-chip resources. The prospects of the project development include integration of wireless technologies, optimisation of coding algorithms and expansion of the user interface. The work is of significant interest to specialists in the field of telecommunications and microelectronics.

1. Введение

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

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

Телеграфный код Морзе имеет особенность передачи и приема сообщений человеком без дополнительных технических средств, но скорость передачи невелика, что может привести к ошибкам. Программные способы кодирования, передачи и приема сообщений достаточно распространены и удобны в использовании, но требуют наличия компьютера и доступа в Интернет. Большой интерес и актуальность представляют аппаратные способы кодирования, передачи и приема сообщений. Они автономны, надежны, имеют высокое быстродействие и хорошую помехозащищенность, а также могут иметь сверхмалые габариты, если их реализация выполнена на базе сверхбольших интегральных схем (СБИС). Применение программируемых логических интегральных схем (ПЛИС) в качестве СБИС позволяет существенно повысить скорость разработки устройства и снизить его себестоимость

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

Целью данной работы является разработка аппаратно-программного блока для кодирования и отправки сообщений кодом Морзе. Основной задачей проекта является создание устройства, которое обеспечит надежную и быструю передачу информации с помощью кода Морзе.

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

2. Существующие решения

Существует множество аналогов устройств для кодирования и отправки текстовых сообщений телеграфным кодом Морзе. Некоторые из них включают в себя:

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

Клавиатура датчика кода Морзе — это устройство для ввода символов азбуки Морзе с помощью кнопок, которые соответствуют точкам и тире. Азбука Морзе используется для передачи информации по радиосвязи с помощью серии коротких и длинных звуковых сигналов (точек и тире). Клавиатура датчика кода Морзе часто используется любителями радиосвязи и операторами связи. При нажатии на соответствующие кнопки формируются последовательности точек и тире, которые могут быть расшифрованы в текст или другую информацию.

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

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

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

,
.

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

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

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

,
.

3. Выбор аппаратной платформы для реализации проекта

В качестве аппаратной платформы для реализации и тестирования блока кодирования и отправки текстовых сообщений была выбрана отладочная плата стартового комплекта Spartan-6 LX9 Evaluation Kits

,
. Этот чип имеет высокую степень интеграции, большое количество триггеров и логических ресурсов. Отладочная плата предоставляет доступ к различным ресурсам и интерфейсам, необходимым для разработки и проведения экспериментов (см. рисунок 1). Кроме того, отладочная плата обеспечивает удобное программирование и конфигурирование с помощью программного обеспечения Xilinx, которое предлагает широкий спектр инструментов для разработки и отладки FPGA-программ
.

Отладочная плата стартового комплекта Spartan-6 LX9 Evaluation Kits

Рисунок 1 - Отладочная плата стартового комплекта Spartan-6 LX9 Evaluation Kits

С помощью программного обеспечения САПР ISE Design Suite (WebPACK) от компании Xilinx
, было выполнено проектирование блока кодирования и отправки текстовых сообщений. Также было проведено функциональное моделирование и оценка аппаратных затрат. Для этих целей использовались различные инструменты, включая схемотехнический редактор, редактор HDL-кода, симулятор, редактор отчетов и программа для программирования кристалла ПЛИС. Битовый файл, полученный в результате компиляции разработанной схемы с помощью САПР, был использован для программирования кристалла ПЛИС.

4. Пользовательский интерфейс

В использование пользователя будет находиться кристалл ПЛИС, жидкокристаллический экран, клавиатура и ауди-система (наушники или динамики), которая будет подключаться к отладочной плата Spartan-6 LX9 Evaluation Kits. Блок-схема алгоритма (см. рисунок 2).
Блок-схема алгоритма и отправки сообщений кодом Морзе

Рисунок 2 - Блок-схема алгоритма и отправки сообщений кодом Морзе

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

5. Проектирование драйвера клавиатура

Драйвер клавиатуры нужен для ввода сообщений, которое будут кодироваться и отправляться пользователем (см. рисунок 3).
Функционал ползунков и кнопок

Рисунок 3 - Функционал ползунков и кнопок

Интерфейс блока K_DRIVER_v3 содержит следующие входы и выходы:

· Порт PS2_DATA1 вход последовательного приема битов клавиатуры.

· Порт PS2_CLK1 вход приема синхроимпульсов с клавиатуры для корректной передачи битов.

· Порт CE вход разрешения синхронизации

.

· Порт CLK_50MHZ вход приема тактовых импульсов от кварцевого генератора 50 МГц.

· Порт SCANCODE (7:0) выходная 8 разрядная шина, по которой передается код клавиши.

· Порт BTN_PRESS выход генерирования нового импульса, нажатой клавиши.

Драйвер состоит из следующих блоков:

1. K_BLOCK_RECEIVER (см. рисунок4).
Блок K_BLOCK_RECEIVER

Рисунок 4 - Блок K_BLOCK_RECEIVER

Этот блок принимает на свой вход PS2_DATA1 последовательность бит, которая сдвигается по синхроимпульсу, поступающему на вход PS2_CLK1. В результате этого процесса, блок отправляет код нажатой клавиши в параллельном виде на выход BLOCK_DATA (7:0). Блок использует тактовые импульсы, которые поступают на вход CLK, чтобы измерить время приёма последовательности бит. Этот процесс занимает одну миллисекунду. Когда время истекает, блок заканчивает приём данных и не передаёт их дальше. Заметим, что отсчёт времени начинается только тогда, когда на вход PS2_DATA1 приходит сигнал «0» (стартовый бит).
2. KEY_FILTER (см. рисунок 5).
Блок KEY_FILTER

Рисунок 5 - Блок KEY_FILTER

Этот блок получает параллельные коды на вход BLOCK_DATA (7:0) от K_BLOCK_RECEIVER и сигнал готовности блока к отправке на входе BLOCK_READY. Затем, блок формирует скан-код клавиши клавиатуры на выходе SCANCODE (7:0) и выставляет строб на выходе BTN_PRESS, чтобы микроконтроллер мог прочитать данные. Если придет код F0 (означающий отпускание клавиши), то выход BTN_PRESS будет обновлять данные каждые 100 мс. Вход CE используется для разрешения работы блока и работает по тактовым импульсам, которые подаются на вход CLK_50MHZ.

6. Проектирование блока микроконтроллера

Микроконтроллер M_CONTROLLER выполняет главную функцию в блоке кодирования и передачи
,
текстовых сообщений кодом Морзе (см. рисунок 6). Он осуществляет управление всеми периферийными модулями в схеме, обрабатывает символы, поступающие от драйвера клавиатуры, кодирует их в соответствии с азбукой Морзе и выводит полученную текстовую информацию на ЖК-дисплей. В основе контроллера лежит архитектура Фон Неймана.
Микроконтроллер M_CONTROLLER

Рисунок 6 - Микроконтроллер M_CONTROLLER

На вход SW (3:0) поступают условия с блока управления. На вход RESET поступает сигнал от кнопки сброса и блок сбрасывается в начальное состояние. Когда с клавиатуры поступает сигнал на вход BTN_PRESS, что клавиша нажата, та на вход SCANCODE (7:0) приходит код нажатой клавиши клавиатуры. Вход CE является входом разрешения работы от тактовых импульсов, идущих на вход CLK_50MHZ. А на вход CLK_TR поступает такая тактовая частота, чтобы микроконтроллер успевал передавать значения символов в следующий блок – блок передачи символов. На вход MB_READY поступает сигнал готовности блока к приему сообщения.

Когда на входе RESET устанавливается «1», то на выходе MB_RESET формируется строб, который передает сигнал о сбросе блока передачи символов.

Когда строб поступает на выход MB_START, то информация из памяти контроллера выводится на выходы LCD (10:0) и MORSE_CODE (9:0), предназначенные для работы с ЖК-дисплеем и передачи символов соответственно.

Когда контроллер заканчивает отправку всей необходимой информации, на выходе TR_END устанавливается значение «1».

Сам микроконтроллер состоит из процессора M_CPU и блочной памяти RAM_1024x18 (см. рисунок 7).
Состав микроконтроллера

Рисунок 7 - Состав микроконтроллера

Процессор был разработан для обработки всех необходимых команд, поступающих через шину douta(17:0) на входную шину WORD_IN(17:0), которые хранятся в памяти, и выдачи адреса следующей команды на выходную шину ADDR(9:0) через шину addra(9:0) непосредственно в память. Также было спроектировано не только чтение, но и запись по шине WORD_OUT(17:0) во входную шину dina (17:0). Кроме того, была учтена особенность блочной памяти, которая будет описана позже. Внутри CPU находится модуль Writer, который отвечает за выбор того, что выводить на дисплей: символы, вводимые пользователем, или командные сообщения. Также Writer содержит модуль Commander, который используется для передачи команд управления на 8-разрядный интерфейс дисплея, таких как вывод символов, инициализация дисплея, очистка текстовых сообщений и т.д.

7. Проектирование блока передачи символов

Блок передачи символов азбукой Морзе (см. рисунок 8) отвечает за кодирование символов и отправку полученного кода с указанием его длины по параллельному интерфейсу. Роль блока передачи состоит в выводе кода Морзе по последовательному интерфейсу, соблюдая все необходимые временные интервалы.
Интерфейс блока передачи символов азбукой Морзе

Рисунок 8 - Интерфейс блока передачи символов азбукой Морзе

Интерфейс блока MORSE_BLOCK включает в себя несколько входов и выходов.

· MORSE_CODE(9:0) — 10-разрядная входная шина, на которую подаются длина и код передаваемого символа, где старшие 3 бита хранят длину кода Морзе символа, а младшие 7 бит – код Морзе символа;

· START — вход начала передачи символа, на который подается единичный импульс после выставления значений длины и кода передаваемого символа на вход MORSE_CODE(9:0);

· CE — вход разрешения синхронизации, на который подается «1», если блок используется, и «0», если блок не используется;

· RESET — вход сброса блока в начальное состояние, на который подается единичный импульс перед началом передачи последовательности символов;

· CLK_TR — вход для тактового сигнала передачи символов, по импульсам которого будет происходить передача элементов символа на линию связи и отсчитываться паузы;

· CLK_50MHZ — вход для вспомогательного тактового сигнала с частотой 50 МГц, частота которого должна превышать частоту тактового сигнала передачи символов в несколько раз;

· READY — выход сигнала готовности, на котором появляется «1» в случае, когда блок MORSE_BLOCK готов к передаче следующего символа;

· LINE — выход для линии передачи, на который выводятся передаваемые короткие и длинные единичные импульсы в соответствии с точками и тире кода передаваемого символа и нулевые паузы между элементами символа, между символами и между словами. Код Морзе с линии LINE считывается потребителем по срезу сигнала CLK_TR.

Для корректной передачи последовательности символов на высоких частотах передачи

необходимо, чтобы микропроцессор успел за один служебный такт тактового сигнала передачи символов выполнить опрос сигнала READY, выбор нового символа передаваемого сообщения, его кодирование, выставление кода символа и его длины на вход MORSE_CODE(9:0), подачу единичного импульса на вход START.

Алгоритм работы MORSE_BLOCK для передачи символов по коду Морзе включает следующие шаги:

1. На вход RESET подается сигнал «1» перед началом передачи, чтобы вернуть блок в начальное состояние.

2. Передача символов осуществляется по одному символу за раз. Для передачи каждого символа пользователь (человек или микропроцессор) опрашивает сигнал READY для проверки готовности блока MORSE_BLOCK к передаче очередного символа. При подтверждении готовности пользователь выставляет на вход MORSE_CODE (9:0) длину и код символа или пробела в сообщении, а затем подает единичный импульс на вход START. Эти действия занимают один такт тактового сигнала передачи.

3. Если передаваемый символ является первым в сообщении или перед ним есть пробел, то блок MORSE_BLOCK не осуществляет предварительную паузу перед выводом кода символа. Если перед передаваемым символом нет пробела (то есть символ находится в середине слова), то блок MORSE_BLOCK выводит на линию предварительную паузу, равную двум тактам тактового сигнала передачи с учетом такта обслуживания. Если передается пробел, то блок MORSE_BLOCK выводит на линию паузу, длиной в шесть или пять тактов тактового сигнала передачи, в зависимости от того, был ли предыдущий символ пробелом или нет, и с учетом тактов обслуживания.

4. Элементы передаваемого символа выводятся на выход для линии передачи LINE в виде единичных импульсов с длительностью 1 такт тактового сигнала передачи для точек и 3 такта тактового сигнала передачи для тире.

5. После каждого элемента (точки или тире) блок MORSE_BLOCK делает паузу в 1 такт тактового сигнала передачи, за исключением последнего элемента.

8. Проектирование звукового генератора

Для преобразования кода Морзе в звуковой сигнал был спроектирован генератор звуков (см. рисунок 9).
Интерфейс звукового генератора

Рисунок 9 - Интерфейс звукового генератора

Генератор работает следующим образом.

На вход PLAY поступает конъюнкция сигналов LINE (с блока передачи символов) и SW(0), отвечающей за включение/выключение линии передачи. На выходе SOUND генерируется звук, когда на вход PLAY поступает единичный сигнал. CLK_50MHZ — вход для вспомогательного тактового сигнала с частотой 50 МГц.

9. Проектирование блока изменения частоты передачи сообщения

Интерфейс блока изменения частоты передачи (см. рисунок 10)
Интерфейс блока управления параметрами SYNC_BLOCK

Рисунок 10 - Интерфейс блока управления параметрами SYNC_BLOCK

Rot_A и Rot_B — это входы, которые принимают сигналы от энкодера.

При вращении энкодера вправо по часовой стрелке сигнал передается на вход Rot_A, который используется для увеличения параметра. А при вращении эн-кодера влево сигнал передается на вход Rot_B, который используется для уменьшения параметра. Важно отметить, что энкодер является устройством для изменения параметров, и его вращение вправо или влево соответствует инкременту или декременту соответствующего параметра.

Порт CE служит для управления сигналом синхронизации. Сигнал на этот порт формируется на основе состояния переключателя SW3. Если значение SW3 равно нулю, то блок изменения частоты передачи сообщения будет заблокирован, и изменение параметров становится невозможным. Но если значение SW3 не равно нулю, то разрешается выбор и изменение параметров блока.

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

На выходе блока управления параметрами формируются два выходных порта, которые предоставляют информацию о выбранных параметрах. F_INDEX(4:0) является выходным портом, который генерирует пятиразрядный двоичный код F_INDEX, используемый для указания выбранной частоты. Каждому значению кода соответствует определенная частота, что позволяет выбрать одно из тридцати двух доступных значений. Другими словами, F_INDEX(4:0) — это порт вывода, который формирует код для выбора нужной частоты из 32 возможных вариантов, где каждое значение кода соответствует определенной частоте. CLK_OUT является выходным портом, который формирует выходную частоту в десятичном коде. Каждое значение соответствует двоичному коду на выходе F_INDEX.

Функциональная схема SYNC_BLOCK блока управления параметрами (см. рисунок 11). Она состоит из блока управления энкодером EN- CODER_BLOCK, блока изменения индексов FREQ_DIVIDER.
Функциональная схема блока управления параметрами CONTROL_BLOCK

Рисунок 11 - Функциональная схема блока управления параметрами CONTROL_BLOCK

Блок управления ENCODER_BLOCK взаимодействует с энкодером, получая от него сигналы и генерируя соответствующие управляющие сигналы для изменения параметров в системе. Пользователь может выбирать нужные параметры, поворачивая энкодер в нужном направлении, а блок управления обеспечивает обратную связь, предоставляя сигналы для отображения выбранных параметров. Компонент имеет 4 входных порта:

· ROT_A — входной порт, который принимает сигнал от энкодера при его вращении вправо по часовой стрелке.

· ROT_B — входной порт, принимающий сигнал от энкодера при его вращении влево.

· CE — входной порт разрешения синхронизации.

· CLK_50MHZ — входной порт для тактовой частоты, используемой в блоке управления энкодером.

· Выходные порты блока управления энкодером следующие:

· PULSE_RIGHT — выходной порт, который формирует сигнал-импульс при вращении энкодера вправо по часовой стрелке. Этот сигнал используется для увеличения выбранного параметра.

· PULSE_LEFT — выходной порт, который формирует сигнал-импульс при вращении энкодера влево. Этот сигнал используется для уменьшения выбранного параметра.

· SAMPLE_RATE — выходной порт, который формирует сигнал, отражающий текущую выбранную частоту дискретизации.

ENCODER_BLOCK является ключевым элементом в данной схеме. Его основная функция заключается в определении направления вращения энкодера на основе входных сигналов ROT_A и ROT_B. Кроме того, схема содержит несколько других компонентов, таких как гаситель дребезгов BOUNCE_SUPRESSOR, формирователи импульсов PULSE_FORMER и делитель частоты STATIC_FREQ_DIVIDER. Для описания всех компонентов был использован язык описания электронных схем VHDL. Ниже представлена функциональная схема ENCODER_BLOCK (см. рисунок 12).
Функциональная схема блока управления энкодером

Рисунок 12 - Функциональная схема блока управления энкодером

Компонент FREQ_DIVIDER предназначен для изменения индексов. DEGREE(4:0) и CLK_OUT на основе входных сигналов INC, DEC, SAMPLE_RATE. Он обеспечивает гибкость и контроль над параметрами системы, позволяя пользователю увеличивать или уменьшать значения. INC и DEC — это входные сигналы, которые указывают на необходимость увеличения или уменьшения значения индекса и степени изменения. SAMPLE_RATE — это тактовые сигналы, на которых происходит обработка входных сигналов и обновление выходных значений. DEGREE(4:0) и CLK_OUT — выходы, на которых формируются двоичный и десятичный коды изменяемых параметров соответственно.

10. Схемотехническое проектирование общей архитектуры устройства

Схема сборки, которая объединяет все разработанные компоненты в единое целое (см. рисунок 13).
Общая архитектура блока кодирования и отправки текстовых сообщений кодом Морзе

Рисунок 13 - Общая архитектура блока кодирования и отправки текстовых сообщений кодом Морзе

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

При написании программной части в двоичном коде необходимо подобрать соответствующую систему команд для процессора. В данном проекте было выбрано 29 команд, каждая из которых имеет свой уникальный шестизначный код CODE(5:0) и поле данных Data(11:0) длиной 12 символов.

11. Разработка главной программы и подпрограммы

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

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

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

В подпрограмме реализовано 307 команд, где 32 команды отведены на запись в блочную память, 73 команды для программирования 8 символов, 194 команды на формирования слайдов для вывода на дисплей. В остальных пяти подпрограмм описана инициализация дисплея.

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

12. Оценка аппаратных затрат для разработки устройства

Средствами САПР выполнены оценки аппаратных затрат ресурсов кристалла на реализацию схемы устройства блока кодирования и передачи текстовых сообщений азбукой Морзе. Данные оценки приведены в (см. таблицу).

Таблица 1 - Оценки аппаратных затрат ресурсов кристалла на реализацию блока кодирование и передачи текстовых сообщений кодом Морзе

Наименование используемого ресурса

Используемые ресурсы кристалла

Доступно единиц ресурса

Использовано единиц ресурса

% использования

Секции КЛБ

6878

763

11

Триггеры КЛБ

13767

449

3,3

4-входовые таблицы преобразования LUT

13767

943

6,8

Блоки ввода-вывода

473

56

9,7

IP-ядро (RAM)

23

2

8,7

По полученным данным можно сделать вывод о затратах основных аппаратных ресурсов кристалла ПЛИС (триггеров, таблиц преобразования LUT, секций КЛБ) менее 11%, что свидетельствует об экономичности разработанной схемы устройства и хорошем качестве проектирования. Затраты блока ввода-вывода в данном случае не так существенны, так как они занимают меньше одной десятой части кристалла.

13. Заключение

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

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

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

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

.

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

, что упростит процесс приема и обработки сообщений
.

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

Article metrics

Views:374
Downloads:10
Views
Total:
Views:374