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

 
 
> АЦП LPC1758 (недопустимое значение регистра ADTRIM)
jcxz
сообщение Jun 28 2016, 03:31
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Столкнулся с проблемой с АЦП в давно выпускаемом устройстве на LPC1758.
Модифицировали прошивку и перестало работать АЦП - выдаёт всё время 0xFFF (АЦП 12-битный).
Заливаешь старую прошивку - АЦП работает, значения меняются, новую - не работает.
Код инициализирующий периферию (ноги, PLL, другие порты и т.п.) - в новой прошивке абсолютно без изменений, код работающий с АЦП - тоже старый (файлы исходников байт-в-байт одинаковы).
После разборок выяснилось, что при старте ПО содержимое регистра ADTRIM разное: при старте старой прошивки там как и указано в даташите ==0xF00, при старте новой прошивки там почему то ==0.
Т.е.: ставлю процедуру инициализации АЦП в ассемблерный стартап-файл, третьей командой (первые две - запреты прерываний), в этой процедуре включаю тактирование АЦП и сразу считываю регистр ADTRIM - и вижу что в старой прошивке там опять как должно быть ==0xF00, а в новой =0. wacko.gif
Про этот регистр в даташите говорится, что он записывается boot-кодом и после записи калибровочных значений в младшие 8 бит, boot-код должен в биты 8-11 записать единицы, заблокировав тем самым модификацию этого регистра.
Получается, что boot-код каким-то образом определяет какая прошивка (старая версия или новая) и записывает или не записывает туда эти единицы в биты 8-11. wacko.gif
Много раз перешивал то старую прошивку, то новую (и размер их сделал одинаковыми на всякий случай) - после каждой перепрошивки в ADTRIM было 0xF00 для старой и 0 - для новой.
Бред какой-то!!!
Если при старте устройства, обнаружив что в битах 8-11 нули, записать туда единички (что должен делать boot-код), то АЦП начинает работать нормально.
Даташиты и ерраты все перерыл - на этот счёт там тишина.
Пока сделал костыль: если в битах 8-11 нули - пишу туда сам при старте ПО единицы. Но не понятно что писать в биты 0-7 (там калибровочные значения). И непонятно что будет дальше в других экземплярах МК?

Кто-нибудь сталкивался с этой проблемой?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alechek
сообщение Jun 29 2016, 10:26
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



По \TRST периферия НЕ СБРАСЫВАЕТСЯ.
А вот далее по JTAG у Вас сбрасывались, согласно вышеприведенным настройкам, "Core and peripheral". Каким образом - остается за кадром. Возможно, через Application Interrupt and Reset Control Register.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 29 2016, 10:37
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Alechek @ Jun 29 2016, 16:26) *
По \TRST периферия НЕ СБРАСЫВАЕТСЯ.
А вот далее по JTAG у Вас сбрасывались, согласно вышеприведенным настройкам, "Core and peripheral". Каким образом - остается за кадром. Возможно, через Application Interrupt and Reset Control Register.

Возможно что при "Core and peripheral" IAR при подключении отладчика посылает сброс через этот "Application Interrupt and Reset Control Register" не проходя bootcode.
В разъёме от JTAG нашёл ещё один сигнал сброса, который у нас заведён на RESET МК. Наверное при выборе "Reset PIN"-варианта сигнал сброса JTAG подаёт на него с проходом bootcode и инитом ADTRIM....
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- jcxz   АЦП LPC1758 (недопустимое значение регистра ADTRIM)   Jun 28 2016, 03:31
- - ViKo   Может быть, вы не выдерживаете какие-то времена, п...   Jun 28 2016, 05:28
|- - jcxz   Цитата(ViKo @ Jun 28 2016, 11:28) Может б...   Jun 28 2016, 05:53
- - Alechek   Значит, запукать дебагер с брякой на запись даных ...   Jun 28 2016, 06:11
|- - jcxz   Цитата(Alechek @ Jun 28 2016, 12:11) Знач...   Jun 28 2016, 06:45
- - ViKo   У STM есть datasheet, в нем все времена описаны. Г...   Jun 28 2016, 08:02
|- - jcxz   Цитата(ViKo @ Jun 28 2016, 14:02) У STM е...   Jun 28 2016, 08:18
|- - ViKo   Цитата(jcxz @ Jun 28 2016, 11:18) Я же уж...   Jun 28 2016, 08:56
|- - jcxz   Цитата(ViKo @ Jun 28 2016, 14:56) Понятно...   Jun 28 2016, 09:38
- - ViKo   А если InitADC выполнить позже, поменять с чем-ниб...   Jun 28 2016, 10:08
|- - jcxz   Цитата(ViKo @ Jun 28 2016, 16:08) А если ...   Jun 28 2016, 10:55
|- - Alechek   Цитата(jcxz @ Jun 28 2016, 15:55) В даташ...   Jun 28 2016, 13:27
|- - jcxz   Цитата(Alechek @ Jun 28 2016, 19:27) Слаб...   Jun 28 2016, 13:40
|- - Alechek   Цитата(jcxz @ Jun 28 2016, 18:40) Происхо...   Jun 29 2016, 04:40
|- - jcxz   Цитата(Alechek @ Jun 29 2016, 10:40) Втор...   Jun 29 2016, 07:02
- - zltigo   Абстрагируйтесь от этого несчастного ADTRIM - ADC,...   Jun 28 2016, 14:49
|- - jcxz   Цитата(zltigo @ Jun 28 2016, 20:49) Абстр...   Jun 29 2016, 04:04
|- - zltigo   QUOTE (jcxz @ Jun 29 2016, 07:04) Возможн...   Jun 29 2016, 04:27
|- - KRS   Цитата(jcxz @ Jun 29 2016, 07:04) И по ка...   Jun 29 2016, 06:07
- - Obam   " А зачем тогда среди сигналов JTAG есть сигн...   Jun 29 2016, 08:13
|- - jcxz   Цитата(Obam @ Jun 29 2016, 14:13) " ...   Jun 29 2016, 08:17
|- - Obam   Цитата(jcxz @ Jun 29 2016, 12:17) И...? ...   Jun 29 2016, 08:55
- - Alechek   И Цитата("UM10360")The flash boot loader...   Jun 29 2016, 09:06
|- - jcxz   Цитата(Alechek @ Jun 29 2016, 15:06) ...   Jun 29 2016, 09:36
|- - KRS   Цитата(jcxz @ Jun 29 2016, 13:37) Наверно...   Jun 30 2016, 08:34
|- - jcxz   Цитата(KRS @ Jun 30 2016, 14:34) IMHO луч...   Jun 30 2016, 08:54
|- - jcxz   Цитата(KRS @ Jun 30 2016, 14:34) IMHO луч...   Jul 10 2016, 06:01
- - Alechek   Сейчас занимаюсь с LPC1754. В настройках JLINK сто...   Jun 29 2016, 18:34
- - jcxz   Цитата(Alechek @ Jun 30 2016, 00:34) Сейч...   Jun 30 2016, 03:07


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 09:58
Рейтинг@Mail.ru


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