Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 71 ]  На страницу 1, 2, 3, 4, 5 Все  След.
Автор Сообщение
СообщениеДобавлено: 2009-дек-16 13:59 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1297
Откуда: АО "ПКК Миландр"
В данной теме буду отображать все известные и найденные нами и Вами проблемы в микроконтроллере, а так же промежуточные данные по результатам исследований. Просьба все найденные вами проблемы/баги/недоработки скидывать в эту тему. Не надо в этой теме задавать вопросы как сделать то или иное действие. В этой теме будут только выявленные проблемы - их причины и возможные способы обхода.

Известные проблемы:

1. Вывод JTAG_EN не имеет подтяжки, должен всегда развариваться и подключаться к нулю, при обычной работе.

В корпусе 132 особых неудобств не доставит, так как данный пад кристалла имеет собственную ножку корпуса и на плате подключается куда надо. В других корпусах, планировалось, что он не будет развариваться. Что бы его можно было не разваривать, он доопределяется внутренней подтяжкой.

Будет исправлено.


2. В режиме отладки через JTAG_A, работа может осуществляться только через SWD режим. Через JTAG потеря связи.

Есть некоторые неясности с работой JTAG со стороны Keil uVision. Фирма Фитон которая делает отечественную среду и отладчик для нашего микроконтроллера нормально работает с ним через JTAG.

Исследуется.



3. В батарейном домене триггеры управления LSE генератором, часами реального времени фиксируются по срезу. В рабочем режиме должны фиксироваться по фронту, в рабочем режиме невозможно запустить RTC и LSE.

Будет исправлено, сами RTC и LSE пока еще не смотрели.


4. Если в батарейном домене отключить LSI и HSI генераторы, то после RESET микроконтроллер зависает, так как после сброса он начинает работу на HSI частоте. Только перезагрузка питания.

Будет исправлено, триггера управления будут сбрасываться не только POR но и общим сбросом.


5. При работе с АЦП самопроизвольно взводятся бит GO – начала преобразования.

Не понятно. Исследуем. на модели не наблюдаем.

6. При работе с АЦП в режиме последовательного опроса каналов, в регистр канала не записывается номер текущего опрощенного канала.

Будет исправлено.

7. При отключенных сигналах тактовой синхронизации периферии при обращении к периферии 0х40000000, 0ч40008000, 0x40010000, 0x400048000 и 0х50000000 и выше зависает транзакция обращения.

Может быть исправлено.


8. Постоянно считает WWDT

Еще не разирались, будем исследовать

9. При выставлении коэффициента умножения на PLL она выставляет сигнал готовности.

Исследуем PLL. Пока ясности нет, в целом частоту умножает. Возможно проблема схожая с битом GO в АЦП.

10. В таймерах необходимо ввести регистр сдвига фазы, для того что бы ШИМ сигналы каналов одного таймера можно было сдвигать друг относительно друга.

Будет исправлено.


11. Использовать незадействованные альтернативные и переопределенные функции портов для вывода интерфейсов и каналов таймеров


Будет исправлено. Ждем так же ваших предложений

12. При задании SHDN для регулятора происходит закоротка 3.3В на 1.8


Будет исправлено. Хотя пока нареканий к встроенному регулятору нет.


13. Токи потребления: По Ucc при 100 Мгц плата потребляет порядка 120 мА, при 8 Мгц порядка 40 мА при сбросе МК порядка 20 мА. По Bucc при отсутсвии Ucc порядка 10 мА, при наличии Ucc – близкое к нулю.

Нашли ошибочный диод между Bucc и Ucc - он открывается при Ucc меньше чем Bucc. Так что на текущих образцах посмотреть как работает батарейный домен при отсутствии Ucc проблематично, попробуем пережечь диод аккуратно - может получиться. Будет исправлено

Общее потребление в нормальный условиях сейчас пока примерно 0.8 мА на Мгц. Так же есть некоторая полка в 10-15 мА - постоянное потребление флеш памяти (даже в статическом режиме). Как от него избавиться - вопрос. В режимах deep sleep - флеш память отключается, но в рабочем эти 10 мА будут всегда. Т.е. на частоте 1 кГц процессор будет потреблять 10-15 мА. на частоте 80 Мгц - порядка 80 мА.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2009-дек-24 13:29 
Не в сети

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

5. При работе с АЦП самопроизвольно взводятся бит GO – начала преобразования.



Ошибку нашли, будет исправлено.

В логике установки бита Go "забыли" указать сигнал WRITE. Т.е. при записи он записывается, а при чтении читается и одновременно устанавливается в значение которое есть на шине записываемых данных. А на этой шине сохраняется слово от последней записи в область периферии.

Рекомендации по обходу.
1. Перед чтением регистра ADC_CFG произвести запись всех нулей в 0x40088030. Это установит на шине все нули и если после этого считать ADC_CFG, то бит Go не будет установлен, но зато будет сброшен.
2. Не выводить области памяти контроллера ADC в окнах Memory Window или сам регистр в Watch, так как при этом осуществляются чтения этих регистров отладчиком в произвольные моменты и если эти чтения будут после какой либо команды записи, то возможно ошибочное взведение бита Go.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2009-дек-25 15:54 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1297
Откуда: АО "ПКК Миландр"
14. Толерантность к 5В у аналоговых выводов
При работе чисто цифровых выводов, PORTA, PORTB, PORTC, PORTF толерантность к 5В обеспечивается. При работе на выводах у которых есть аналоговая функция возникают проблемы с толерантностью, причем не зависимо от включен порт в цифровой или аналоговый режим.

14.1. Компаратор. 5В входной уровень на любом из входов COMPIN1,2 и 3 появляется и на других входах компаратора. На Comp_ref не появляется. Ток через вход порядка 4 мА

14.2. АЦП. 5В на любом из каналов появляется на всех каналах. Ток порядка 4 мА

14.3. ЦАП. При появлении 5В на DAC_Out уровень Ucc поднимается с 3,3 до 3,5В ток порядка 44 мА

OSC_IN32 и OSC_OUT32 в стадии исследования.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2009-дек-25 17:26 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 505
Светодиоды PD10...PD14 на демо плате подсвечиваются при сбросе и после него. От порта в "общиий" через цепь светодиодов вытекает примерно 0,35 мА. Вроде как, порт после сброса по умолчанию подтянут к "общему". Откуда тогда берется вытекающий ток?


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

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1297
Откуда: АО "ПКК Миландр"
ЧумА писал(а):
Светодиоды PD10...PD14 на демо плате подсвечиваются при сбросе и после него. От порта в "общиий" через цепь светодиодов вытекает примерно 0,35 мА. Вроде как, порт после сброса по умолчанию подтянут к "общему". Откуда тогда берется вытекающий ток?


Как раз толерантность.

На порте D висит CAN и приемопередатчик на по линии RX на PD15 дает 5В уровень, который поднимает уровень на всех каналах ADC (весь порт D) до примерно 3,7...3,9В. соответственно этот уровень и подается на светодиоды, но так как токи "утечек" через ADC небольшие, то и светодиоды светятся слабо.

Правильней на плате на вывод PD9 выдать 0, тогда приемопередатчик, начнет выдавать 0, и по линии RX тоже будет 0.

Это кстати так же влияет и на работу АЦП.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2009-дек-28 18:32 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1297
Откуда: АО "ПКК Миландр"
15. Переключение тактовых сигналов в контроллере тактовой частоты. При отсутсвии какой либо из входной частоты на блоке мультплексора, мультиплексор "залипает" и не дает перейти на эту частоту. Это наглядно видно на например на мультиплекторе CPU_C1_SEL. Если нет HSE, то не получается перейти с HSI на HSI/2.

При этом если такая программа загружена в Flash, то отваливается и отладочный режим. В этом случае рекомендую переключить отладчик в JTAG_B и в нем стереть сбойную программу.


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

Зарегистрирован: 2009-май-27 16:17
Сообщения: 55
Откуда: г. Красноярск
Точно. Вчера именно такая штука и произошла. Переключил на HSE, а его нет. Почему? Не выяснял. Проц. заглох. Ни отладки, ни загрузки.... Думал все - капец. Но методом тыка нашел этот способ - перешел на JTAG-B и стер программу.


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

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 505
Сергей, посмотрите, пожалуйста, тему по CAN. А то JTAGA "отваливается" от банальной загрузки кода.


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

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 505
Кажется, понял. Нельзя выводить в окно "Memory" область периферии, если для нее не включено тактирование.


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

Зарегистрирован: 2009-май-27 16:17
Сообщения: 55
Откуда: г. Красноярск
Выявил такую особенность SSP.
После инициализации очередь приемника оказывается заполненной.
Чтобы нормально работать нужно перед началом обмена произвести несколько считываний, до тех пор пока бит RNE в регистре SSPSR не сбросится в 0.


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

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1297
Откуда: АО "ПКК Миландр"
Kosta писал(а):
Выявил такую особенность SSP.
После инициализации очередь приемника оказывается заполненной.
Чтобы нормально работать нужно перед началом обмена произвести несколько считываний, до тех пор пока бит RNE в регистре SSPSR не сбросится в 0.


Примерчик скиньте... буду смотреть.


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

Зарегистрирован: 2009-май-27 16:17
Сообщения: 55
Откуда: г. Красноярск
ОК. Только завтра, девайс на работе.


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

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 505
Отписался в ветке CAN. Дополнительно разрешал режимы ROM, ROP, STM в разных сочетаниях, менял _BITTMNG. Не принимает, чего я не так делаю?


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

Зарегистрирован: 2009-май-27 16:17
Сообщения: 55
Откуда: г. Красноярск
К сожалению, сегодня повторить варианты странного поведения SSP не удалось. Буду трясти. Ощущалась зависимость от порядка инициализации периферии. Но пока не понятно.
Помимо заполненного буфера FIFO по приему вчера наблюдал как SSP при отправке пакета формировал 32! импульса частоты CLK на 1 записанный байт. Вчера это вылечилось переносом места вкл. частоты синхронизации SSP, сегодня это не влияет.
Что "взглючило" непонятно. Сегодня не повторяется.
За основу брал инициализацию SSP из исходников примера по проверке DMA.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Опыты с UART
СообщениеДобавлено: 2010-янв-20 14:26 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 505
В результате разборок с 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:


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

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


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

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


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

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