|
Тактирование UART-передатчика (CYCLONE III) |
|
|
|
Aug 22 2017, 15:24
|
Группа: Новичок
Сообщений: 4
Регистрация: 22-08-17
Пользователь №: 98 917

|
Имеется проект небольшой, на Циклон поступают данные извне, а затем эти данные передаются по UART на микроконтроллер STM. Циклон тактируется от кварца на 100 MHz. На стороне микроконтроллера я примерно разобрался, почему там скорость тактирования должна быть в 16 раз выше битрейта, для лучшего сэмплирования. Но вот как тактировать передатчик, т.е. Циклон, я не могу понять. Во многих примерах тактирование ставят в 2 раза больше битрейта. Но почему так я и не выяснил. Как быть? Бодрейт для проекта выбран 9600. Делить с помощью PLL частоту кварца до 19200 и с такой же частотой обрабатывать приходящие на ПЛИС данные? Просветите пожалуйста новичка
|
|
|
|
|
 |
Ответов
|
Aug 24 2017, 00:19
|
Профессионал
    
Группа: Участник
Сообщений: 1 273
Регистрация: 3-03-06
Пользователь №: 14 942

|
Inanity, правильные наблюдения. Только добавлю то, к чему пришел не сразу и что использую во всех своих проектах. Правилом хорошего тона является асинхронный сигнал пометить суффиксом. Например, bus_16_or_68_async. Обычно, это закладывается в стандарт кодирования. Если посмотреть стандарты известных производителей (из тех, что есть в открытом доступе), это правило или требование присутствует. В Altera используют префикс a, который пишется слитно с наименованием сигнала. Например, adata.
То есть не очень понятно, с чего Вы взяли, что сигнал в данном примере (а это не более, чем пример от Altera) может быть асинхронным. В тестбенче rxd = txd; То есть пример представлен в синхронном виде. Ваше утверждение «Асинхронные данные приходят по проводу rxd» в данном случае все-таки неверно.
Сообщение отредактировал x736C - Aug 24 2017, 00:20
|
|
|
|
Сообщений в этой теме
mongol Тактирование UART-передатчика (CYCLONE III) Aug 22 2017, 15:24 Flip-fl0p Цитата(mongol @ Aug 22 2017, 18:24) Имеет... Aug 22 2017, 16:41 dimka76 Передатчик UART это просто сдвиговый регистр. Соот... Aug 22 2017, 17:46  Александр77 Цитата(dimka76 @ Aug 22 2017, 20:46) Пере... Aug 22 2017, 20:11   Maverick в 16 раз тактовая частота выше должна быть.
Причи... Aug 22 2017, 20:34 krux все серийные UART используют на приеме 8х или 16х ... Aug 23 2017, 07:45 AVR Цитата(mongol @ Aug 22 2017, 18:24) Цикло... Aug 23 2017, 08:45 AVR Цитата(AVR @ Aug 23 2017, 11:45) А зачем ... Aug 25 2017, 21:43 mongol Нашёл пост
https://m.habrahabr.ru/post/278005/
Во... Aug 23 2017, 13:04 iosifk Цитата(mongol @ Aug 23 2017, 16:04) Нашёл... Aug 23 2017, 13:21  mongol Цитата(iosifk @ Aug 23 2017, 14:21) Хорош... Aug 23 2017, 14:09   iosifk Цитата(mongol @ Aug 23 2017, 17:09) Стало... Aug 23 2017, 14:12    Maverick понимаю, что делаю медвежью помощь...
см. вложение... Aug 23 2017, 17:59     Inanity Цитата(Maverick @ Aug 23 2017, 20:59) пон... Aug 23 2017, 21:53      andrew_b Цитата(Inanity @ Aug 24 2017, 00:53) Да е... Aug 24 2017, 05:26      AVR Цитата(Inanity @ Aug 24 2017, 00:53) Оно,... Aug 24 2017, 07:40 Flip-fl0p Цитата(mongol @ Aug 23 2017, 16:04) Нашёл... Aug 23 2017, 13:26 el.d https://marsohod.org/projects/plata1/98-serialport Aug 24 2017, 11:16 mongol Мне понравилась вот эта реализация:
https://sites.... Aug 24 2017, 14:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|