USMI

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » RTC


RTC

Сообщений 1 страница 11 из 11

1

Что-то не разберу, как задействовать порт PR1 в качестве общего порта. Подцепил к 18 выводу чипа MH-M18 (он же AC6925C) светодиод, вставил в код следующее:

Код:
RTC_SFR_SET(RTC_CON_ADDR07, 6, 1, 0);
PORTR_DIR(PORTR1, 0);
PORTR_OUT(PORTR1, 1);

Первая строчка, по идее, должна перевести PR1 в режим обычного порта ввода-вывода, сбросив бит PWR_EN[1] в ноль . Вторая включить порт PR1 как выход. Третья установить на этом выходе высокий уровень. Но светодиод не горит.

2

PORTR_DIE менять пробовал?

3

ender11 написал(а):

сбросив бит PWR_EN[1] в ноль

Но здесь сбрасывается не тот бит, PWR_EN[1] это бит 5, а не 6 (LDO5V_PND_CLR).

Alcest написал(а):

18 выводу чипа MH-M18 (он же AC6925C)

Если только он бы не оказался каким-нибудь AC6925D с PR2 на 18 ноге вместо PR1..
Или AC6925F с PR1 на 17 ноге. (это если брать из тех, что по большей части совпадают по распиновке)

Подпись автора

水Mizu-DEC JLtech since 22.06.2019

4

Сейчас вот попробовал изменить, не помогло. Еще раз посмотрел в ДШ какая периферия висит на выводе 18 вместе с PR1. Ничего такого, только ADC и Reset. Но заметил, что для этого вывода в колонке Function даташита указано RTCIO1 (output 0V). 0V - это что? Может открытый коллектор или исток?

5

kagaimiq написал(а):

Но здесь сбрасывается не тот бит, PWR_EN[1] это бит 5, а не 6 (LDO5V_PND_CLR).

Да, здесь я протупил. Запутался пока перебирал комбинации всех битов связанных с портом R1. Но раньше там было  5, и тоже не работало.

kagaimiq написал(а):

Если только он бы не оказался каким-нибудь AC6925D с PR2 на 18 ноге вместо PR1..
Или AC6925F с PR1 на 17 ноге. (это если брать из тех, что по большей части совпадают по распиновке)

Этот чип я сдул с рабочего модуля MH-M18. Там к выводу 19 была клавиатура подключена. У AC6925D и AC6925F вывод 19 это BT_AVDD и на нем конденсатор висит. AC6925C единственный чип из линейки, у которого кнопки к 19_му выводу можно подключить.

Отредактировано Alcest (2023-09-11 03:03:18)

6

Посмотрел сегодня подробно платку от MH-M18. Я ошибся здесь тоже конденсатор между выводом 19 и землей, а кнопки подключены к выводу 18. kagaimiq правильно написал, что это не AC6925C. В свое оправдание могу сказать только что крыша едет уже, несколько задач сразу решаю параллельно.

Буду отсеивать всю линейку сначала по питанию, потом по другим выводам.

Отредактировано Alcest (2023-09-11 14:28:05)

7

Отсортировал чипы линейки AC692x по количеству ног, потом по выводам питания. В конечном итоге осталось 3 возможных чипа: AC6925C, AC6925D и AC6925E. Первый уже был под сомнением, а после сравнения ног для подключения BT антенны и вовсе отвалился. К тому же если включить FM радио в прошивке, то оно работает. А чипе с индексом C радио нет. Сделал предположение, что это чип с индексом D. Но в AC6925D нет вывода PR1, а PR2 на выход вроде не работает.

Попытался подключить RTCVDD клавиатуру к MH-M18 как к чипу AC6925D: питание резистивного делителя клавиатуры от вывода 17 (RTCVDD), а напряжение с делителя подал на вывод 18 (PR2, он же ADKEY). Клавиатура заработала четко. Таким образом с большой вероятностью MH-M18 это AC6925D.

8

Вопросы по работе с JL SDK. Настройка, конфигурирование....
Вот тут мы это уже проходили)
С портами PR  я уже разобрался.
Первое - это нужно смотреть в SDK что бы они не были привязаны ещё куда то. PORTR2 особенно завязан и на ресете и на кнопке пауер и на wdt.
Сначала нужно прошерстить сдк на предмет использования этих портов и закоментить их нафиг) или удалить, сделать игнор)
И потом просто достаточно делать так
Добавить #include "rtc/rtc_api.h" так как там находится "api" этих портов. Там короче дефайны этих портов и прочее.
И потом просто достаточно в любом нужном месте программы просто указывать состояние вывода.

Код:
void pa_mute_pin_ctrl(void)
{

   PORTR_DIR(PORTR1,0); PORTR_OUT(PORTR1,0);
}

void pa_unmute_pin_ctrl(void)
{
    PORTR_DIR(PORTR1,0); PORTR_OUT(PORTR1,1);
}


void pa_boost_on_pin_ctrl(void)
{
   PORTR_DIR(PORTR2,0); PORTR_OUT(PORTR2,1);
}

void pa_boost_off_pin_ctrl(void)
{
    PORTR_DIR(PORTR2,0); PORTR_OUT(PORTR2,0);
}

это что касается на выход, на вход я еще не колупал их, но там есть аналогии и можно подсмотреть).

Подпись автора

By Admin

9

Но там еще были сомнения - MH-M18 это C или D. Теперь я точно знаю что дэшка. Надеюсь, ветка лишней не будет. RTC модуль тема обширная, мне еще выход из спящего режима предстоит освоить.

10

Ну там все странно, например из реального сна можно вывести только портом PR2, остальное софт или хардварный сон/отключение/включение. Еще там есть прикол, при частоте 192МГц оно не выйдет из сна. Нужно перед сном понизить частоту.
Я возился с этим на 692.

Подпись автора

By Admin

11

BIOS написал(а):

Еще там есть прикол, при частоте 192МГц оно не выйдет из сна. Нужно перед сном понизить частоту.

Вот из-за таких "приколов" порой теряешь по нескольку дней, если не знаешь что и как.

Alcest написал(а):

Посмотрел сегодня подробно платку от MH-M18. Я ошибся здесь тоже конденсатор между выводом 19 и землей, а кнопки подключены к выводу 18.

А не так уж я и ошибся. На алиэкспресс попался комментарий к лоту с модулями MH-M18 - чел пишет, что модуль теперь на других чипах. Вот и я распиновку снимал в прошлом году, там скорее всего был чип с индексом C. Те модули я давно потерял. Последние модули мне прислали с чипами AC6925D, а я не поглядев развел под них плату и впаял как сишки.

Теперь самое интересное. У дешки 20 нога это BT антенна. У сишки 20 вывод BT_AVDD, и он соединен с землей через конденсатор 1 мкФ. Поставив дешку на плату для AC6925C, я закоротил ее антенный выход на землю через конденсатор... И все работало в пределах квартиры, на расстоянии до 8 метров приблизительно. Асишка к телефону коннектилась, музыка с мобилы воспроизводилась. И это с закороченной антенной  :crazyfun:


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » RTC