реклама на сайте
подробности

 
 
> Тактирование UART-передатчика (CYCLONE III)
mongol
сообщение Aug 22 2017, 15:24
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 22-08-17
Пользователь №: 98 917



Имеется проект небольшой, на Циклон поступают данные извне, а затем эти данные передаются по UART на микроконтроллер STM. Циклон тактируется от кварца на 100 MHz. На стороне микроконтроллера я примерно разобрался, почему там скорость тактирования должна быть в 16 раз выше битрейта, для лучшего сэмплирования. Но вот как тактировать передатчик, т.е. Циклон, я не могу понять. Во многих примерах тактирование ставят в 2 раза больше битрейта. Но почему так я и не выяснил. Как быть? Бодрейт для проекта выбран 9600. Делить с помощью PLL частоту кварца до 19200 и с такой же частотой обрабатывать приходящие на ПЛИС данные? Просветите пожалуйста новичка
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Flip-fl0p
сообщение Aug 22 2017, 16:41
Сообщение #2


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Цитата(mongol @ Aug 22 2017, 18:24) *
Имеется проект небольшой, на Циклон поступают данные извне, а затем эти данные передаются по UART на микроконтроллер STM. Циклон тактируется от кварца на 100 MHz. На стороне микроконтроллера я примерно разобрался, почему там скорость тактирования должна быть в 16 раз выше битрейта, для лучшего сэмплирования. Но вот как тактировать передатчик, т.е. Циклон, я не могу понять. Во многих примерах тактирование ставят в 2 раза больше битрейта. Но почему так я и не выяснил. Как быть? Бодрейт для проекта выбран 9600. Делить с помощью PLL частоту кварца до 19200 и с такой же частотой обрабатывать приходящие на ПЛИС данные? Просветите пожалуйста новичка

Тактируйте передатчик той частотой, какой вам удобно. Главное чтобы данные выводились наружу (в микроконтроллер) с частотой бодрейта.
Go to the top of the page
 
+Quote Post
dimka76
сообщение Aug 22 2017, 17:46
Сообщение #3


developer
****

Группа: Свой
Сообщений: 902
Регистрация: 12-04-06
Из: Казань
Пользователь №: 16 032



Передатчик UART это просто сдвиговый регистр. Соответственно, тактировать его надо с частотой битрейта. Т.е. в вашем случае 9600 Гц.


--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
Go to the top of the page
 
+Quote Post
Александр77
сообщение Aug 22 2017, 20:11
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 608
Регистрация: 10-07-09
Из: Дубна, Московская область
Пользователь №: 51 111



Цитата(dimka76 @ Aug 22 2017, 20:46) *
Передатчик UART это просто сдвиговый регистр. Соответственно, тактировать его надо с частотой битрейта. Т.е. в вашем случае 9600 Гц.

Более высокая частота позволяет точнее определять начало приема данных. А сдвиг данных на скорости передачи может обернуться неприятным сбоем.
Go to the top of the page
 
+Quote Post
Maverick
сообщение Aug 22 2017, 20:34
Сообщение #5


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



в 16 раз тактовая частота выше должна быть.
Причины Вам Александр77 Вам рассказал.
Для ПЛИС это не есть проблема.
Посмотрите xapp341 там реализация как раз есть

Для новичка может SPI лучше выбрать? Проще....


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mongol   Тактирование UART-передатчика (CYCLONE III)   Aug 22 2017, 15:24
- - 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
- - x736C   Inanity, правильные наблюдения. Только добавлю то,...   Aug 24 2017, 00:19
|- - Maverick   Я смотрю здесь покритиковать все мастаки, а подели...   Aug 24 2017, 08:05
|- - AVR   Цитата(Maverick @ Aug 24 2017, 11:05) Я с...   Aug 24 2017, 08:19
- - el.d   https://marsohod.org/projects/plata1/98-serialport   Aug 24 2017, 11:16
- - mongol   Мне понравилась вот эта реализация: https://sites....   Aug 24 2017, 14:15


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.03409 секунд с 7
ELECTRONIX ©2004-2016