Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900(B), RI (ring) -- прерывание для MCU?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Frolov Kirill

Смотрю документ: http://microchip.ua/simcom/SIM900x/AppNotes/SIM900_Serial Port_Application Note_V1.03.pdf
На странице 11 указано, что мол следующие (там список) URC сообщения вызывают импульс на выводе RI. А другие что, не вызывают?

Ниже указано, что RI можно использовать как прерывание для микроконтроллера. Это может быть интересно только в случае, когда микроконтроллер останавливает тактовый генератор и засыпает (ввиду чего неспособен принять, без прерывания, данные из UART). Но тут сразу же вопрос: тогда вообще хотелось бы:

1) чтобы любое сообщение (а не из списка) вызывало импульс на RI;

2) от начала импульса до передачи данных в UART была бы пауза в ~несколько десятков мкс для
включения генератора (внутреннего) или даже в пару мс (внешний резонатор).

Ни про 1, ни про 2 из документации ничего непонятно. Я был бы рад, если кто-то пояснил, как оно на практике.

На скорости 19600 бит/сек бит передаётся за 51мкс. Внутренний (FRC) генератор в микроконтроллере, например, включается за ~30мкс (или 5мкс, вспоминая недавнюю тему 32 vs 8 bit -- армы не так уж и плохи). Возможно принять искажённым первый символ (0x0D, 0x0A...) и принять остальное, если межсимвольный интервал -- 2 стоп бита. Или даже 1 стоп бит, но при более низкой скорости, 9600 и ниже. Это рассуждения на тему, что если прерывание возникает непосредственно от вывода TX SIM900.

Почему это интересно. Потребление микроконтроллера с внешним кварцевым резонатором (от единиц МГц, не 32768Гц), при работающем генераторе, сопоставимо с потреблением SIM900(cool.gif (в режиме "сна").
CADiLO
RI - обвешан URC даже с избытком. Так как в "родной" спецификации последовательного порта должен индицировать только входящий звонок и его тип - и ничего более. А то что добавили на него дополнительную индикацию, это уже неплохо.

Поэтому к сожалению Ваши хотения к выводу RI никакого отношения не имеют....

Frolov Kirill
Цитата(CADiLO @ Jun 5 2012, 13:13) *
Поэтому к сожалению Ваши хотения к выводу RI никакого отношения не имеют....


Я о практическом вопросе -- есть возможность управления засыпанием модема со стороны микроконтроллера, а в обратную сторону такой возможности нет. Практически редкий микроконтроллер успеет проснуться по факту приёма URC. Это заставляет смотреть в сторону другого модема или другого микроконтроллера.

В реальном модеме RI дёргался даже при наборе номера на параллельном аппарате...
CADiLO
>>>Практически редкий микроконтроллер успеет проснуться по факту приёма URC

Посмотрите в сторону PIC которые просыпаясь стартуют на RC генераторе а затем переключаются на HS.
9600 по порту гарантировано успевают обработать.
И подумайте зачем делать просыпание по прерыванию на порту если бы мы не успевали принять байт.

>>>В реальном модеме RI дёргался даже при наборе номера на параллельном аппарате...

А не задавали себе вопрос - почему дергался?
Почему старые аппараты подзванивали при наборе на параллельном ?
Вот и модем ваш тупо видел набор на параллельном (выбросы тока в линии) как импульсы звонка.

Есть спецификация последовательного порта - там дано единственное определение для сигнала RI - Ring Indicator - индикатор вызова. Говорит о приеме модемом сигнала вызова по телефонной сети. И больше ничего.
Frolov Kirill
Цитата(CADiLO @ Jun 5 2012, 13:57) *
>>>Практически редкий микроконтроллер успеет проснуться по факту приёма URC

Посмотрите в сторону PIC которые просыпаясь стартуют на RC генераторе а затем переключаются на HS.
9600 по порту гарантировано успевают обработать.
И подумайте зачем делать просыпание по прерыванию на порту если бы мы не успевали принять байт.


Увы. Стартуют за 30мкс (PIC24EP512). Да, 9600 или ниже. С потерей первого байта, как я написал выше. И толком переключиться без нарушения работы UART -- сомнительно. STM32 стартуют за 5мкс и внутренний генератор может быть подстроен по кварцу (в PIC24 не получится, если кварц не часовой). А постоянно работающий кварц -- лишний миллиампер.

Вообще тема старта HS очень скользкая. Это 1024 такта задержки после того как амплитуда выросла начинают отсчитываться (256мкс для 4МГц). Запуск PLL ещё пара миллисекунд. А процесс вырастания амплитуды, в особо запущенных случаях, можно вручную наблюдать на осциллографе -- десятки-сотни мс. IMHO таки оптимально иметь часовой кварц, и от него всё остальное. Внутри SIM ведь тоже так же.
CADiLO
К сожалению тогда или выбирать контроллер подходящий или как-то по другому.
TOL500
Вопрос к CADiLO:
Cкажите, акустический зуммер для индикации входящего вызова можно
подключать к выходу RI модуля SIM900?
CADiLO
Ну через ключик подключить никто не мешает.
Если конечно Вас устраивает логика его работы - SIM900_Serial Port_Application Note_V1.03.pdf
TOL500
Цитата(CADiLO @ Jun 19 2012, 13:50) *
Ну через ключик подключить никто не мешает.
Если конечно Вас устраивает логика его работы - SIM900_Serial Port_Application Note_V1.03.pdf


Да, там логика такая - при входящем звонке напряжение на выходе RI равно нулю, в режиме ожидания есть сигнал.
CADiLO
А URC и SMS не учитываете?
TOL500
Цитата(CADiLO @ Jun 20 2012, 12:29) *
А URC и SMS не учитываете?

Нет, не в курсе.
А какие там сигналы на выходе?
CADiLO
Я же привел название документа - там все описано как и когда срабатывает RI.

http://microchip.ua/simcom/SIM900x/AppNote...0Note_V1.03.pdf
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.