Lessberg
|
|||||||||||
VHDL. Реализация UART на ПЛИС28.01.2013, 16:52. Показов 22618. Ответов 4
Метки нет Все метки)
(
Добрый день.
Была поставлена задача реализовать передачу данных через UART (com порт) интерфейс rs-232 передачу данных (чисел) с ПК на плату altera DE2. За основу решил брать уже готовый проект. Их множество. Мой выбор пал вот на этот:
Входные данные я задаю 8-ми тумблерами тем самым передавая значения от 00 до FF. Все хорошо. ПК их принимает. Вся загвоздка с выводом данных при передачи с ПК на ПЛИС. В конце хотелось бы получить конечно отображение на семисегментных индикаторах, но для начала, вывод подключаю на 8 светодиодов, чтобы понимать какой код пришел. Данные посылаются в виде HEX чеез программу на ПК. Например я хочу получить '1' Отправляю значит "01" с ПК но загораются все 8 диодов сразу. Если введу "01,01" тоже все 8 горят. "01,02" уже получается что пришел сигнал "1111 1110". В общем не могу понять как с компа верно посылать данные..
Добавлено через 1 час 54 минуты в принципе с проблемой разобрался. Позже выложу проект готовый, может комуто пригодится в учебных целях. |
28.01.2013, 16:52 | |
Ответы с готовыми решениями:
4
[VHDL/Verilog] Измеритель температуры [VHDL] Мигание светодиодов Модуль UART на ПЛИС |
![]() 75 / 75 / 8
Регистрация: 24.09.2015
Сообщений: 342
|
|
25.09.2015, 12:03 | |
UART надо бы и самому написать, тогда разберешься, как ПЛИС работает.
Сперва промоделировать. Подключить передатчик к приемнику и посмотреть, как на моделе всё работает. При этом желательно сделать разными и некратными внутренние тактовые частоты у передатчика и приёмника (потому что внутренняя частота ПК другая, чем у ПЛИС). Например, у передатчика сделать тактовую частоту 33.333 МГц, у приёмника 20 МГц. Частоты передачи и приёма дожны быть согласованы, с точностью лучше, чем ~5%. Затем реализовать проект прибавления к принятому байту единицы и отсылка обратно. На терминале на ПК набираешь 'a', в ответ приходит 'b'. При работе с железом надо соблюдать некоторую осторожность при подключение COM кабеля. Включать питание на плате надо после подключения кабеля к компьютеру. Иначе рано или поздно сгорит одна из микросхем драйверов физического уровня либо на плате, либо в компьютере. Еще надо иметь ввиду, что USB-COM адаптеры часто очень капризные и не хотят работать, так что не плохо смотреть иногда сигналы TxD, RxD осцилографом.
0
|
-13 / 6 / 6
Регистрация: 04.08.2015
Сообщений: 558
|
|
02.12.2017, 12:43 | |
По необходимости гуглил тему UART для ПЛИС. Оказалось, что реализаций на VHDL Verilog большое количество вариантов. А на opencores вообще имеется код полного UART https://opencores.org/project,uart16550. Остановился на http://acvarif.info/prvhdl/com... ml#prvhdl7, где есть тест с COM port Tool Kit на скорости 115200.
0
|
6 / 5 / 2
Регистрация: 04.11.2012
Сообщений: 225
|
|
15.05.2024, 13:48 | |
О, отличная и очень интересная тема!!!
0
|
15.05.2024, 13:48 | |
Помогаю со студенческими работами здесь
5
Реализация ОЗУ в ПЛИС [VHDL] ПЛИС длинный сдвиговый регистр с параллельной загрузкой [VHDL] Реализация 32-разрядного АЛУ Реализация на ПЛИС Работа через терминал хост-компьютера с ПЛИС через USB-to-UART Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 24.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
|
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 24.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
|
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 22.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 21.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 21.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 21.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
|
C++26: Индексирование пакетов и метапрограммирование
bytestream 21.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
|