Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-ноя-20 20:10

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 221 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15
Автор Сообщение
СообщениеДобавлено: 2016-дек-19 11:00 
Не в сети

Зарегистрирован: 2016-апр-29 14:29
Сообщения: 16
Alex1979 писал(а):
Все известные мне ляпы оказались на своих местах.


В актуальной версии спецификации, по сравнению с предыдущей, исправлено более 30 ошибок.
Первые два - вообще не ляпы.
Третий - исправим в следующей версии.
Четвертый - написано для особо любознательных, чтоб не задавали вопрос, почему не отключаются регистры синхронизации.
Последнее - если есть замечания по документации, присылайте на support.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-14 14:47 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1271
Откуда: АО "ПКК Миландр"
тест


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-14 15:10 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 2009-янв-20 10:05
Сообщения: 778
Тема открыта.

_________________
Правила форума!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-17 08:16 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1010
Откуда: Тула
Вложение:
Комментарий к файлу: Команда CMD_BAUD
2017-07-17_08-10-11.png
2017-07-17_08-10-11.png [ 55.75 КБ | Просмотров: 769 ]
Тут строки
Цитата:
Выдает код команды CMD_BAUD.
Устанавливает новое значение скорости обмена
нужно поменять местами, т.к. в отсутствии ошибок код CMD_BAUD выдаётся уже на новой скорости (причём спустя микросекунды), тогда как
Цитата:
Если параметр принят с ошибками, то выдает код ошибки ERR_CHN или ERR_BAUD и завершает обработку текущей команды.
коды ошибок выдаются на прежней скорости.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-18 11:23 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 46
Откуда: ПКК "Миландр"
На самом деле бывают оба случая. Бывает, что придет подтверждение до смены скорости, а бывает, что и после. Если смотреть по коду, то команда смены скорости следует сразу за командой отправки подтверждения. Нет цикла, который бы проверял окончание передачи ответа на старой скорости. По задумке это должно отрабатываться аппаратно, то-есть пока не закончится текущая передача по UART смена режима работы не вступает в силу. Проводилось моделирование, которое показывает, что так и должно отрабатывать в реальности.
Но в силу каких-то причин, видимо посылка не успевает начаться, до того как приходит команда смены скорости. Переключая скорости, можно заметить, что ответ приходит то на старой, то на новой скорости. Второе, к сожалению, гораздо чаще. По крайней мере, такое поведение я наблюдал на своей демо-плате.

На мой взгляд это не особо критично, но тикет на исправление в следующих ревизиях и на внесение в Errata заведен.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-18 13:38 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 623
Откуда: г. Санкт-Петербург
Vasiliy писал(а):
...
На мой взгляд это не особо критично, но тикет на исправление в следующих ревизиях и на внесение в Errata заведен.

Об этом сообщал еще в далеком 11 году ...
viewtopic.php?f=33&t=171&p=1718#p1698


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-26 12:40 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 379
Всем доброго времени суток.
Внимательно почитал описание (Версия 3.9.0 от 06.11.2015) Все пока не осилил, только первые 50 страниц. :)
Вот что из опечаток увидел

стр.9 Рис.1 имеется надптсь Comproller Comparator
стр.12 описание вывода SHDN - обрезано на полуслове.
стр.22 Рис.11
имеется надпись EEPROM PROGRAM 512K - (адрес 0x0800_0000)
имеется надпись SRAM 64K - (адрес 0x2000_0000)
планы по расширению или опечатки?
стр.34 Таблица 8. строка 0x400A_0000 в примечании опечатка SSP1 (должно быть SSP2)
стр.45 Раздел "Стирание всей памяти"
"Последующие операции с память можно.." - должно быть операции с памятью

Ну предложение по поводу вот этого
стр.23 абзац "Область BIT BAND REGION TO SRAM (Data):
стр.23 абзац "Область BIT BAND REGION TO PERIPHERAL (Data):
позволяет осуществлять операции «Чтение-Модификация-Запись», «Установка бита» и «Сброс Бита» одной
инструкцией.
уже обсуждалось, что «Установка бита» и «Сброс Бита» осуществляются через «Чтение-Модификация-Запись».
Может логичнее изложить следующим образом
.. позволяет осуществлять операции «Установка бита» и «Сброс Бита» одной инструкцией «Чтение-Модификация-Запись».

Если уж править документ, то и опечатки тоже.

_________________
О сколько нам открытий чудных
Готовит просвященья дух,
И опыт - сын ошибок трудных ... (Пушкин)

Пергаменты не утоляют жажду ("Фауст",Гете)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-26 16:27 
Не в сети

Зарегистрирован: 2017-фев-14 11:21
Сообщения: 47
Здравствуйте!

Спасибо за замечания. Создала тикет на исправление ошибок №2053. Текущая версия спецификации 3.10.0 от 04.10.2016, в ней все эти опечатки сохранились. В следующей версии спецификации будут исправлены.
Спасибо.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-июл-26 23:51 
Не в сети
Аватара пользователя

Зарегистрирован: 2011-авг-21 18:55
Сообщения: 229
Добавьте перевод фразы в разделе про BitBand!

http://infocenter.arm.com/help/topic/co ... 07s01.html

3.7.1. Directly accessing an alias region
Writing to a word in the alias region has the same effect as a read-modify-write operation on the targeted bit in the bit-band region.
Bit [0] of the value written to a word in the alias region determines the value written to the targeted bit in the bit-band region. Writing a value with bit [0] set writes a 1 to the bit-band bit, and writing a value with bit [0] cleared writes a 0 to the bit-band bit.
Bits [31:1] of the alias word have no effect on the bit-band bit. Writing 0x01 has the same effect as writing 0xFF. Writing 0x00 has the same effect as writing 0x0E.
Reading a word in the alias region returns either 0x01 or 0x00. A value of 0x01 indicates that the targeted bit in the bit-band region is set. A value of 0x00 indicates that the targeted bit is clear. Bits [31:1] are zero.

_________________
Hack the Planet!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-ноя-01 09:52 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1010
Откуда: Тула
Можно растолковать фразу (стр. 392 СП 3.10.0):
Цитата:
Примечания:
Регистры UARTLCR_H, UARTIBRD и UARTFBRD не должны изменяться:
- при разрешенной работе приемопередатчика;
- во время завершения приема или передачи данных в процессе остановки (перевода в
запрещенное состояние) приемопередатчика.
Целостность данных в буферах FIFO не гарантируется в следующих случаях:
- после установки бита разрыва линии BRK;
- если программное обеспечение произвело остановку приемопередатчика при наличии
данных в буферах FIFO после его повторного перевода в разрешенное состояние.

На первый взгляд чтобы поменять настройки приемопередатчика его надо остановить, с другой стороны не гарантируется "целостность данных" при "остановке приемопередатчика ...". При этом при остановке приемопередатчика в описании регистра UARTx->CR сказано что надо выключить приёмопередатчик и подождать время в 1 посылку. (стр. 394).
Цитата:
Примечание – Рекомендуется следующая последовательность действий для
программирования регистров управления:
- остановите работу приемопередатчика;
- дождитесь окончания приема и/или передачи текущего символа данных;
- сбросьте буфер передатчика путем установки бита FEN регистра UARTLCR_H в 0;
- измените настройки регистра UARTCR;
- возобновите работу приемопередатчика.

Тут тоже есть неясность. Дождаться окончания передачи можно по флагу BUSY, а как дождаться окончания приёма? Вижу два некрасивых варианта - Delay(время_передачи_символа); перед отключением приёмопередатчика отправить мусорный байт и дождаться пока он уйдёт...

Посматриваю тему viewtopic.php?p=21334#p21334 и надеюсь что это всегда сработает.

_________________
сочувствующий…


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2017-ноя-01 13:25 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 46
Откуда: ПКК "Миландр"
Я трактую спецификацию таким образом:
- Настроили UART и включили.
- Кидаем данные в FIFO - данные в целостности и уходят в линию.
- Если выставляем BRK когда FIFO не пусто, то после снятия BRK целостность данных в FIFO не гарантируется.
- Если выключаем UART при не пустом FIFO, то данные в FIFO валидны. Но если не вычитав FIFO производим включение UART - то сохранность не считанных данных не гарантируется.

Соответственно чтобы данные в FIFO не терялись, можно дождаться опустошения FIFO и затем заниматься перенастройкой. В противном случае, необходимо FIFO сбросить и заполнить данными заново. Но узнать сколько данных оставалось в FIFO и восстановить только их нельзя.

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

Так же узнать о неактивности приемника можно по прерыванию таймаута приемника.

По поводу viewtopic.php?p=21334#p21334 , то для строгого соответствия спецификации UART необходимо выключать перед сменой скорости. Но в том вопросе речь шла о последовательности записи в регистры IBRF, FBRF, LCR_H и пример был нацелен только на демонстрацию этой последовательности. Поэтому там я не уделил внимание выключению UART.

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 221 ]  На страницу Пред.  1 ... 11, 12, 13, 14, 15

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB