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

 
 
 
Reply to this topicStart new topic
> LPC23XX backup Battery RAM
vesago
сообщение Jun 10 2017, 17:20
Сообщение #1


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Друзья, у кого есть опыт работы с данным узлом? Вроде все просто - RAM с 32 битным доступом. Но у меня, если к примеру в основном цикле постоянно читать по адресу 0, гарантированно в дата аборт уходит. IDE - IAR. В файле линкера описал соответствующий сегмент, в проекте объявил массив 32 битных слов в данном сегменте размером 2048/4. Читаю как я говорил по индексу 0. В чем может быть загвоздка?
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Jun 10 2017, 20:00
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Для этой памяти нужно отдельно запускать питание, монитор общего питания, и транслятор уровня. Потому как это очень медленная память, со своим личным стабилизатором, и с очень нежными ячейками памяти - которые мало кушают, и забиваются мусором от любого чиха на линии питания.
Перед тем как проц теряет напряжение - нужно успеть отключить транслятор уровня. Иначе содержимое разрушится.
Читайте доку.
Go to the top of the page
 
+Quote Post
vesago
сообщение Jun 10 2017, 21:15
Сообщение #3


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



На плате батарейка подключена к VBAT. Я вроде как поправил дело. Принудительно задаю тип индекса массива - ансигнед лонг.
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Jun 10 2017, 21:40
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Подключить батарейку мало, нужно запустить стабилизатор питания, транслятор уровня, и монитор питания.
Go to the top of the page
 
+Quote Post
vesago
сообщение Jun 11 2017, 08:23
Сообщение #5


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Транслятор уровня, монитор питания - речь о внешних узлах? В мануале не нашел упоминания про такое.
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Jun 11 2017, 10:34
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



UM10211.pdf
Искать 4.8.11 Power domains
Искать 26.9 Battery RAM
Это дока общая для LPC23XX, конкретная реализация зависит от полного названия чипа.
Бегло, PVD механизма контроля питания в lpc - нет. В этом случае нужно использовать внешний аппаратный монитор питания. В навороченном варианте - это отдельный чип, в простом - резисторный делитель напряжения питания до стабилизатора чипа, например 5в. Подобрать номиналы до уверенного срабатывания лог уровня на ноге чипа, использовать внешнее прерывание с максимальным приоритетом.




Go to the top of the page
 
+Quote Post
vesago
сообщение Jun 11 2017, 11:21
Сообщение #7


Тутэйшы
****

Группа: Свой
Сообщений: 708
Регистрация: 30-11-04
Пользователь №: 1 263



Спасибо, все понятно.
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 11 2017, 12:00
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(AVI-crak @ Jun 11 2017, 13:34) *
UM10211.pdf

И что, там написано про "запустить стабилизатор питания, транслятор уровня, и монитор питания"?
Что такое транслятор уровня?
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Jun 11 2017, 13:22
Сообщение #9


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(gte @ Jun 11 2017, 18:00) *
И что, там написано про "запустить стабилизатор питания, транслятор уровня, и монитор питания"?
Что такое транслятор уровня?

Применимо к кортексу в целом - это запуск резервного домена питания. Домен связан с часами реального времени не только питанием, но и системной шиной. (или наоборот) В lpc это просто один бит, в stm больше движений - но и возможностей по более.
Нужно смотреть документацию конкретно на этот узел от lpc, точнее под конкретный чип. Потому как BKPSRAM имеет питание 2,1в, и очень низкую частоту такта. Подать питание на память - это пол дела, транслятор уровня заметно кушает - и его не всегда держат в рабочем режиме.
В данном случае транслятор уровня - это разрешение доступа к памяти.

Нужен конкретный чип, без xxx.
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 11 2017, 22:28
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(AVI-crak @ Jun 11 2017, 16:22) *
Применимо к кортексу в целом - это запуск резервного домена питания.

Вы путаете. LPC23xx это не кортекс.
Go to the top of the page
 
+Quote Post
AVI-crak
сообщение Jun 11 2017, 23:41
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 16-10-15
Пользователь №: 88 894



Цитата(gte @ Jun 12 2017, 04:28) *
LPC23xx это не кортекс.

Да это вообще не из этого мира.
Часть инстала часов реального ремни.
Код
int rtc_initialize (void)
{
    /* Enable PCLK to the RTC */
    __set_PCONP(PCRTC);
    /* Start RTC with external XTAL */
    RTC_CCR = 0x11;
    /* Stop PCLK to the RTC to reduce battery power consumption */
    __clr_PCONP(PCRTC);
    return 1;
}

Я-ж говорил - всего один бит....
Go to the top of the page
 
+Quote Post
gte
сообщение Jun 12 2017, 19:47
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 318
Регистрация: 13-02-05
Из: Липецкая область
Пользователь №: 2 613



Цитата(AVI-crak @ Jun 12 2017, 02:41) *
Я-ж говорил - всего один бит....

Пусть это будет тот самый бит. Но эту рекомендацию-
Цитата
Перед тем как проц теряет напряжение - нужно успеть отключить транслятор уровня. Иначе содержимое разрушится.
для этого бита выполнять не надо.
Go to the top of the page
 
+Quote Post

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

 


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


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