Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

У меня? Нет не у меня. Надо смотреть дальше какой там включается весь код в вопросе, как я понял.
Контактная информация:
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Синхронный UART распознается не кодом а схемотехнически - помимо RX и TX есть еще вывод синхронизации(и вход на прием). Вот если он есть в схеме, тогда можно говорить об синхроне, иначе без этого сигнала он вообще работать не будет.
Контактная информация:
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

А как же тогда Мк узнАет какой там он есть? Может глупые вопросы - пока не доводилось заниматься передачей данных. Вот и задаю - хочу разобраться в вопросе.
Я думал что в программе должны настраиваться все режимы.
Контактная информация:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

МК никак не узнает - как ему скажешь так и будет работать. Если ему скажешь работать в синхронном режиме, а сигналы подключить забудешь - работать ничерта не будет. Обычно синхронный режим используют когда частоты передатчика и приемника никак не связаны между собой и могут сильно отличаться даже в процессе передачи.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Открыл глаза
Сообщения: 41
Зарегистрирован: Пн мар 15, 2010 16:58:35

Сообщение KUDRINNI »

Ребята, прошу помощи.
http://radiokot.ru/forum/viewtopic.php?f=58&t=92550
Реклама
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

UART у меня асинхронный, но похоже что UCPOL это то что нужно, сейчас гляну в ДШ и попробую его выставить.
А нет, это не то, он только для синхронного режима.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Извиняюсь тут я ошибся это таблица для usart в режиме spi

PS Alexeyslav,Что-то ваши слова противоречат друг другу
Alexeyslav писал(а):Синхронный UART распознается не кодом а схемотехнически - помимо RX и TX есть еще вывод синхронизации
Alexeyslav писал(а):МК никак не узнает - как ему скажешь так и будет работать. Если ему скажешь работать в синхронном режиме
Как же ему сказать если не кодом?
Вот же в шите написано
Изображение
Еще там написано, что по умолчанию подразумевается асинхронный режим. Ну и конечно вы правы - там еще написано, что инициализация ножек перекрывается инициализацией USART и ножка XCKn используется как синхронизация.
Последний раз редактировалось vitalik_1984 Сб авг 03, 2013 07:17:39, всего редактировалось 1 раз.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 26096
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

ANALOG писал(а):UART у меня асинхронный, но похоже что UCPOL это то что нужно, сейчас гляну в ДШ и попробую его выставить.
А нет, это не то, он только для синхронного режима.
То, что у Вас происходит,обычно бывает, когда спутан активный уровень канала у приемника или передатчика.
Тогда постоянно взводится ошибка и происходит неконтролируемое определение конца байта.
В результате данные на приеме вроде бы стабильны, но являются абракадаброй.
И еще.
Проверьте, не установлен ли 9-битный режим на одной из сторон...
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Простой осциллограф в этом случае значительно сократил бы время поиска ошибки.
Контактная информация:
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень

Сообщение vitalik_1984 »

Да уж не простой. А с функцией записи фрагмента. На простом хрен что успеешь рассмотреть :))) Мечтаю себе тоже купить, да жаба давит.
Контактная информация:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Простого тоже хватит, если запустить на постоянную передачу одинаковых фрагментов.
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

Осциллографа к сожалению нет никакого.
Только что проверил флаги ошибок - ни один не вылазит
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

Совсем ничего теперь не понимаю... :evil:
Записал в меге (передатчике) в UBRR 13 вместо 12-ти которые выходят по формуле (XTAL/(8*BAUDRATE)-1) - все работает как надо.
Выходит что проблема в несовпадении скоростей :dont_know: . Оба контроллера тактируются от 1 МГц внутренних генераторов, неужели у них такая большая погрешность? :roll:
Друг Кота
Аватара пользователя
Сообщения: 15817
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Скорее всего проблема в некорректной работе программного обеспечения.
Имеют место три независимых процесса:
текущаяобработка дисплея
прием/передача (обмен) по каналу связи и
компоновка следующего кадра отображения.
Все процессы асинхронны.
Если не просчитаны "перехваты" инициативы процессами неизбежны искажения и/или потеря целостности данных.
А каким способом осуществлять обмен... Важнее иметь грамотное разделение с последующей подстановкой буфера сегментного кода отображения и буфера сегментного кода приемника данных.
:roll:
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

От внутренних RC-генераторов? Так они и не калиброваны даже... на заводе поставили калибровку на глаз при определенном напряжении и температуре и все. В других условиях будет отличаться, и очень сильно... до 10% кажется может запросто. Так что тебе по всей видимости придется использовать синхронный режим, или просто сконфигурируй выход опорной частоты у одного контроллера, и запитай этой частотой другой контроллер если они в одном блоке.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15817
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Если выбрать синхронный режим при одностороннем обмене то точность генераторов особой роли не играет.
Я для подобных игрушек использую побитовую синхронизацию и программный протокол. Тихоходный и на 8 проводков (4 пары) при двустороннем обмене. Но... ни проблем с кварцеванием и/или большой разницей между быстродействием ведущего и ведомого (вплоть до длительной полной остановки одного из контроллеров) , ни проблем с математикой (типа CRC и прочего). :)
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

С побитной синхронизацией это ты придумал SPI...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 15817
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Тогда еще про SPI понятия не существовало (как и про IBM PC) :)))
А вот ВЕКТОР06Ц + КР1816ВЕ51 и УМК уже водились...
:sleep:
Мучитель микросхем
Аватара пользователя
Сообщения: 444
Зарегистрирован: Вс ноя 28, 2010 15:18:52
Откуда: Минск

Сообщение ANALOG »

В общем, всем спасибо, проблема решена. Причина - несовпадение частот тактирования МК :tea:
Друг Кота
Аватара пользователя
Сообщения: 26096
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Alexeyslav писал(а):С побитной синхронизацией это ты придумал SPI...
SPI - Это ЧЕТЫРЕ сигнальных провода.
USART в синхронном режиме - ДВА.
Хоть и похожие на осциллограммах, но РАЗНЫЕ физические протоколы.
Ответить

Вернуться в «Разные вопросы по МК»