Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 71 ]  На страницу Пред.  1, 2, 3, 4, 5 Все  След.
Автор Сообщение
 Заголовок сообщения: Re: Опыты с UART
СообщениеДобавлено: 2010-янв-21 10:55 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
ЧумА писал(а):
В результате разборок с UART выявил особенность:
Код:
void __irq   UART2_IRQHandler()
{
vu32 udat;
u32 uirq = UART2->MIS;

if(uirq & (1 << TXI))
   UART2->ICR = 1 << TXI;
if(uirq & (1 << RXI))
   {
   udat = UART2->DR;
   UART2->ICR = 1 << RXI;
   }
}

если в обработчике не прочитать DR, то прерывание по RX формируется только по получению первого символа и в дальнейшем не формируется (FIFO был отключен).
Еще наблюдалось странное явление, повторить которое после модификации кода не удалось - при разрешенном прерывании по TX (остальные прерывания UART запрещены) отправка символа вызывала подряд два прерывания, первое с запросом по TX в регистре UART2->MIS а второе с нулевым значением этого регистра (FIFO опять же выключен).
C приемником CAN можно чего-нибудь сказать, послали бы учить матчасть, что-ли :cry:


Привлекаю других сотрудников для поддержки, сам уже не успеваю все посмотреть, поэтому прошу прощения за задержку с ответами.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2010-янв-29 15:17 
Не в сети

Зарегистрирован: 2010-янв-29 14:40
Сообщения: 88
Откуда: АО "ПКК Миландр"
-=Sergei=- писал(а):
2. В режиме отладки через JTAG_A, работа может осуществляться только через SWD режим. Через JTAG потеря связи.

Нужно не устанавливать перемычку возле JTAG-A. Настройки ULINK в uVision: Debug - Reset: - HW RESET.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Выбор режима работы МК
СообщениеДобавлено: 2010-янв-29 15:27 
Не в сети

Зарегистрирован: 2010-янв-29 14:40
Сообщения: 88
Откуда: АО "ПКК Миландр"
IP описание ARM-INTRO.doc:
После запуска микроконтроллера уровни на выводах MODE[1:0] не влияют на режим функционирование микроконтроллера и могут использоваться пользователем.
Работает программа test1986 - мигают светодиоды на портах PD10,11. При переключении SW2 в "1" процессор останавливается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: У меня работает
СообщениеДобавлено: 2010-фев-01 13:10 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 508
Судя по миганию светодиодов, это моя прога. Отключил JTAG, подал питание и подергал в разных комбинациях SW1, SW2. Мигает, зараза.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: У меня работает
СообщениеДобавлено: 2010-фев-08 14:01 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
16. Батарейный домен и регулятор напряжения.
16.1. При переходе в Standby режим (выключение встроенного регулятора напряжения) по 1.8В наблюдается всплеск до 2,4В (при Ucc=3,6В).

16.2. При переходе в Standby режим при записи BKP_REG_0F при питании Ucc = 2,0В возможны сбои состояний триггеров отвечающих за HSI LSI генераторы. Что может приводить к блокированию схемы по тактовой частоте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-08 14:06 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
17. Загрузочная программа
17.1 При переходе из загрузочной программы в рабочую программу не устанавливается указатель стека из рабочей программы. Необходимо его задавать программно например в стартап файле.
17.2. При загрузке в режиме микроконтроллер без JTAG обнуляется BKP_REG_00 вместо BKP_REG_0E.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Можно про стек поподробнее...
СообщениеДобавлено: 2010-фев-08 17:14 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 508
Допустим, в startup я заказал стек объемом 0х400. Смотрю отчет линкера:
STACK 0x20000008 Section 1024 startup_mps.o(STACK)
Загружаюсь с JTAG-ом А. И в точке main вижу содержимое R13 = 0x20000408, т.е. похоже на правду. Причем, используется MSP, а
PSP = 0. Вопрос, что тут не так и требует правки? Или надо подгрузить что-то (на будущее) в PSP? Или JTAG обходит загрузчик?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Можно про стек поподробнее...
СообщениеДобавлено: 2010-фев-08 18:40 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
ЧумА писал(а):
Допустим, в startup я заказал стек объемом 0х400. Смотрю отчет линкера:
STACK 0x20000008 Section 1024 startup_mps.o(STACK)
Загружаюсь с JTAG-ом А. И в точке main вижу содержимое R13 = 0x20000408, т.е. похоже на правду. Причем, используется MSP, а
PSP = 0. Вопрос, что тут не так и требует правки? Или надо подгрузить что-то (на будущее) в PSP? Или JTAG обходит загрузчик?


Автоматически генерируемые Keilом инициализации перед входом в main корректно востанавливают указатель стека, но по ходу выполнений этих инициализаций используется стек заданный в бутовом ПЗУ равный 0х20000200. Его правда хватает сейчас, но например при каких либо изменениях в Кейле может и не хватить. Либо при использовании другого компилятора.

Посмотреть это можно если в режиме отладки нажать RST и затем пройти в пошаговом режиме из бутового ПЗУ и проследить за SP.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-фев-09 09:34 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
18. Не обновляется ССR в таймерах.
Denis писал(а):
Но вопрос про бит WR_CMPL остался. Как его использовать?


После задания CCR схема более не реагирует на запись в CCR.
Программно обойти не возможно, будет исправлено в опытной партии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2010-мар-01 17:34 
Не в сети

Зарегистрирован: 2009-дек-14 14:29
Сообщения: 30
Откуда: Тула
Alex52 писал(а):
-=Sergei=- писал(а):
2. В режиме отладки через JTAG_A, работа может осуществляться только через SWD режим. Через JTAG потеря связи.

Нужно не устанавливать перемычку возле JTAG-A. Настройки ULINK в uVision: Debug - Reset: - HW RESET.


-=Sergei=-, прокомментируйте, пожалуйста.
можно ли так использовать JTAG-A?

дело в том, что при SW-режиме переход в режим отладки длится довольно долго. это не очень удобно. при работе с SТМ32 такого не наблюдалось.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2010-мар-02 08:22 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
Denis писал(а):
Alex52 писал(а):
-=Sergei=- писал(а):
2. В режиме отладки через JTAG_A, работа может осуществляться только через SWD режим. Через JTAG потеря связи.

Нужно не устанавливать перемычку возле JTAG-A. Настройки ULINK в uVision: Debug - Reset: - HW RESET.


-=Sergei=-, прокомментируйте, пожалуйста.
можно ли так использовать JTAG-A?

дело в том, что при SW-режиме переход в режим отладки длится довольно долго. это не очень удобно. при работе с SТМ32 такого не наблюдалось.


Да, если не устанавливать перемычку, то можно использовать JTAG_A в JTAG режиме.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-апр-13 11:19 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1299
Откуда: АО "ПКК Миландр"
При работе в режимах отладки JTAG_A не допускается запись "1" в порт PORTB.RXTX[0] - приведет к падению JTAG отладчика и PORTB.RXTX[1] - приведет к падению SWD отладчика
Аналогично для JTAG_B и порт PORTD.RXTX[0] и PORTD.RXTX[4].

Вызвано тем, что данные единицы в режимах отладки объединяются по логическому ИЛИ с сигналами JTAG|SW и портят их.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 2010-ноя-01 11:16 
Не в сети

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 450
Наблюдаю такую картину:
На отладочной плате перемычки BOOT SELECT выставлены в 0. Режим работы из FLASH без отладки.
Отладчик KEIL U-link подключен к разъему JTAG-A, но не подключен к USB ПК (очень уж неудобно его вытаскивать из разъема на плате).
При подаче питания на плату процессор не стартует (контроль по светодиодам PD10-PD15).
Запуск контроллера происходит только после подключения отладчика к порту USB.
Если после этого отключить отладчик от USB(не снимая питания с платы), то происходит сброс контроллера и дальнейшая нормальная работа.
Значит ли это, что есть какие-то завязки на линии JTAG-A, которые контроллер неправильно воспринимает при подаче питания??


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

Зарегистрирован: 2010-авг-30 19:12
Сообщения: 450
Вопрос о телерантности аналоговых линий к +5В обсуждался неоднократно, и вроде стараемся это учесть.
Тут вылезла другая заморочка, но ноги похоже растут оттуда же.
Суть проблемы в следующем.
Питание кристалла (1986ВЕ91 из последних, но маркировка после промывыки стерлась) 3.3В
Внешний источник опорного напряжения 3В.
По аналоговому входу стоят защитные диоды (с линии в питание 3.3В).
Иногда возникает незначительное превышение входного сигнала над уровнем питания МК.
Диод ограничивает это превышение в силу своих способностей до уровня 3,7 В. (замеряли китайски тестером :) )
Но при этом наблюдаются изменение сигнала на всех каналах АЦП (контролировали по изменению результатов опроса.
То что написано в посте №3 этой ветки не совсем корректно (вроде подразумевает использование вывода как цифрового, но эффект проявляется и при использовании как аналогового).
Цитата:
14.2. АЦП. 5В на любом из каналов появляется на всех каналах. Ток порядка 4 мА

Наверное правильнее указать, что превышение напряжения питания (или опорного напряжения???) приводит к таким последствиям.
Сейчас планируется разработка с использованием опоры 1,8В. Поэтому возникает вопрос какой уровень входного сигнала является критичным - опорное напряжение или напряжение питания МК (его аналоговой части). То есть при использовании внешней опоры 1,8В и входном сигнале 2-2,5В будут искажения на других линиях АЦП или нет?? результатом преобразования, я полагаю, будет код 0xFFF (насыщение АЦП)
Спасибо что дочитали до конца.

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

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


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

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 508
Вдруг поможет. У нас при цифровом питании 3,3 В (внешняя) опора АЦП 2,5В (от незабвенной ЕН19), аналоговые входы подключены через защитные диоды к опоре (ЕН19 позволяет вливать до 100 мА). Специально проверяли, если задрать аналоговый вход по одному каналу выше, чем опора + диод, то перегрузки АЦП по другим каналам не происходит. Код АЦП на перегруженном входе да, максимальный. И ещё, между анодом диода и входом АЦП защитный резистор 510 Ом, быстродействие от АЦП нам не требуется.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 71 ]  На страницу Пред.  1, 2, 3, 4, 5 Все  След.

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


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

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


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

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