Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM900D - проблемы с рестартом
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Stanislav_S
Возникла такая проблема, пытаюсь сделать перезагрузку модуля, запускаю процедуру выключения модуля - даю сигнал на PWR_KEY - 2с, затем жду пока статус станет в ноль, делаю паузу 2 сек и пытаюсь включить модуль, вижу что статус поднимается на очень короткое время (после процедуры включения), а потом опять падает в ноль и больше модуль не отзывается, только полный рестарт, со снятием питания и помогает. После снятия и подачи питания, все нормально происходит, все стартует, но вот после выключения никак. Уже второй вечер сижу ломаю голову smile3046.gif
ЗЫ осциллограф показывает, что все времена выдержаны как в документации, очевидно есть какой-то нюанс который я упустил.
noblako
Похоже на фантомную запитку модуля через другие ноги вашего SIM900D (тх,rx....)
CADiLO
или поверкей зацеплен напрямую на порт контроллера без ключа с ОК.


а лучше схему покажите - как модуль подключили?
Stanislav_S
Вот схема
CADiLO
сигнал +2.8в откуда берется ? - не увидел второго на схеме
Stanislav_S
Цитата(CADiLO @ Jul 26 2011, 12:48) *
сигнал +2.8в откуда берется ? - не увидел второго на схеме

С отдельного стабилизатора, на второй странице, я ее не выкладывал, ну если надо могу выложить. Стабилизатор на TL431 сделан.
CADiLO
ага - а стабилизатор небось от статуса не управляется и 2.8 там есть и при модуле отключеном поверкеем ?

для формирования Vext которого нет в SIM900D (это ваши 2.8) нужно управляемый от STATUS стабилизатор.
иначе имеете фантомную запитку и как следствие непонятки с работой модуля

пример ниже
Stanislav_S
Цитата(CADiLO @ Jul 26 2011, 12:53) *
ага - а стабилизатор небось от статуса не управляется и 2.8 там есть и при модуле отключеном поверкеем ?

для формирования Vext которого нет в SIM900D (это ваши 2.8) нужно управляемый от STATUS стабилизатор.
иначе имеете фантомную запитку и как следствие непонятки с работой модуля

пример ниже

Да именно так, питание никак не управляется и есть всегда, в общем идею понял, буду смотреть как питание выключать, хотя в данной схеме это не просто. Тогда такой вопрос, паразитная запитка может происходить только по входу, или по выходу SIM900D тоже? Я просто схемотехнику модуля незнаю, поэтому и такой вопрос. В принципе я могу, в момент рестарта, все выходы с процессора на модем перевести в ноль. Либо надо все-таки полностью питание выключать?.
CADiLO
Не в ноль. Как вариант можно на вход.

При поданном питании на модуль и до появления STATUS на ЦИФРОВЫХ ВХОДАХ модуля не должно быть НИКАКИХ уровней.
Ни нуля ни еденицы - именно третье состояние.

SIM900D не имеет выхода Vext который есть в SIM900 - там проще.
Как согласование можно использовать ключи с общим затвором. Естественно на "высокую" и "низкую" стороны вписываете свои напряжения.
http://we.easyelectronics.ru/Shematech/sog...-ustroystv.html
Но для SIM900D все равно прийдется делать внешний Vext.

Вариантом в сторону модуля может быть микросхема с питанием от 2.8 вольта, у которой есть CS - вот на него и подаем STATUS.

Ну а самое оптимальное использовать контроллер с 3.0 вольт питания и не заморачиваться с согласованием.

Кстати на модуле достаточные пульсации будут - не боитесь питать контроллер и модуль с одного источника?
Контроллер может сбоить по питанию.
ArtemKAD
Цитата
вижу что статус поднимается на очень короткое время (после процедуры включения), а потом опять падает в ноль и больше модуль не отзывается, только полный рестарт, со снятием питания и помогает. После снятия и подачи питания, все нормально происходит, все стартует, но вот после выключения никак. Уже второй вечер сижу ломаю голову

А модуль часом при этом не ругается - например на низкое питание? Или на высокое питание - если стоит в цепи обратной связи основного стабилизатора лишний кондёр.
Stanislav_S
Цитата(CADiLO @ Jul 26 2011, 13:48) *
Кстати на модуле достаточные пульсации будут - не боитесь питать контроллер и модуль с одного источника?
Контроллер может сбоить по питанию.

Ясно, спасибо, буду пробовать, может получится отбится переводом выходов на ввод, если нет, учту в следующем релизе схемы. С пульсациями вроде все нормально, разводил аккуратно и блокировачных конденсаторов не жалел, и осциллограф ничего криминального не видит и работает нормально без сбоев.


Цитата(ArtemKAD @ Jul 26 2011, 16:04) *
А модуль часом при этом не ругается - например на низкое питание? Или на высокое питание - если стоит в цепи обратной связи основного стабилизатора лишний кондёр.

Нет не ругается, да и осциллографом смотрел переходной режим, выбросов не было.
CADiLO
>>>>может получится отбится переводом выходов на ввод

тут точно надо убирать постоянную запитку 2.8в.
если вместо TL431 паять стабилизатор управляемый и один проводок со STATUS пустить, то как раз должно излечиться.
кстати вы же сосед по городу - заедьте к нам возьмите TC1055-3.0
можем сразу и запаять - проверить
Stanislav_S
Цитата(CADiLO @ Jul 26 2011, 16:37) *
>>>>может получится отбится переводом выходов на ввод

тут точно надо убирать постоянную запитку 2.8в.
если вместо TL431 паять стабилизатор управляемый и один проводок со STATUS пустить, то как раз должно излечиться.
кстати вы же сосед по городу - заедьте к нам возьмите TC1055-3.0
можем сразу и запаять - проверить

Если не получится так и сделаю, благо ехать недалеко, единственное все-таки не могу понять, ведь при первоночальном старте (после снятия питания), все работает и модем стартует, а вот при рестарте нет, это мне так "везет" или это именно особенность модема? На будущее, дабы потом глупых вопросов не задавать.
CADiLO
Это конкретное проявление в данной ситуации.
У кого не выключается, а у кого еще какие глюки - разного насмотрелся - а причина практически всегда была одна - подпитка через входы.
Stanislav_S
Отрезал DTR от модема, рестарт заработал. Пока временно пойдет, но на будущее урок усвоил sm.gif Всем спасибо за обсуждение.
MemoryTest
Цитата(Stanislav_S @ Jul 26 2011, 20:29) *
Отрезал DTR от модема, рестарт заработал. Пока временно пойдет, но на будущее урок усвоил sm.gif Всем спасибо за обсуждение.


Добавлю,
короче тут тоже решили заморочиться с честным согласованием 3.3в микроконтроллера и sim900d.
наворотил схему на SN74LVC07AD с управлении VDD_EXT от STATUS - и закопался в ловле такого же нестабильного включения... ,
получил похожие симптомы - модуль то включается то нет., все вылечил переходом с древней прошивки 1137B03SIM900D64_ST на прошивку
1137B08SIM900D64_ST.
на прошивке 08, модуль нормально стартует даже при присутствии VDD_EXT до появления сигнала status.

но остались еще вопросы: даже если VDD_EXT я формирую по появлению STATUS, то засчет того что RXD, и RTS и DTR которые входят в модем
объединены через резисторы подтяжки то ловим следующий финт: до появления STATUS модем сам пуллапит DTR к внутреним 2.8(это осциллограф показал =) ) далее через резисторы подтяжки (если смотреть схему это R82. R94. R94) мы получаем на RXD RTS модема не третие состояние а хз что. А уж потом при появлении STATUSa и соотв. появлении VDD_EXT мы получаем рабочие уровни.
Объясните мне дураку почему на RXD модема нельзя держать лог 0 до появления status через резистор в 10К допустим? что там UART break словит или что? Почему именно Высокоимпедансное состояние
и еще вопросы какое фантомное питание может быть через резисторы в 10к если будет VDD_EXT постоянно присутствовать а не формироваться по сигналу STATUS.
Что это вообще за фантомное питание =) ну присутствует у меня на входе порядка 1в через резисторы 10к, что там от него может запитаться? при попытке потребления все напряжение на резисторе и останется.
Бест Регардз
МТ.

upd: еще сюда в кучу вопрос в мануале HD вер 1.02 написано DTR pin has been pulled up. в мануале HD 2.0. об этом тишина. вопрос нада ли пулапить DTR внешним резистором.
CADiLO
Еще один полез в дебри вместо выполнения рекомендаций.....

Уже неоднократно на форуме все разжевывалось зачем да почему.
Нежелающие поступать так как рекомендовано, гарантировано в будущем получают глюки модуля с вероятностью 100%.
А потом начинают кричать что модули дерьмовые... Надоело - чесное слово....

По пину DTR - читаем здесь. SIM900_Serial Port_Application Note_V1.02.pdf


MemoryTest
Цитата(CADiLO @ Jul 27 2011, 13:08) *
Еще один полез в дебри вместо выполнения рекомендаций.....

Уже неоднократно на форуме все разжевывалось зачем да почему.
Нежелающие поступать так как рекомендовано, гарантировано в будущем получают глюки модуля с вероятностью 100%.
А потом начинают кричать что модули дерьмовые... Надоело - чесное слово....

По пину DTR - читаем здесь. SIM900_Serial Port_Application Note_V1.02.pdf

Обясни как формировать VDD_EXT для sim900D тогда? если через внешнии LDO и по появлению статуса, то я расписал что происходит - никакого высокоимедансного состояния таким макаром до выставления сигнала статус на входах RTS RXD не получается. Тока не нада опять говорить возьми 3 вольт микроконтроллер и держи пины Z пока статус не появиться.
Инетересно посмотреть бы диаграмку формирования VDD_EXT от модема sim900, когда статус появляется относительно появления VDD_EXT, насколько поже или одновременно?
CADiLO
>>>Обясни как формировать VDD_EXT для sim900D тогда? если через внешнии LDO и по появлению статуса, то я расписал что происходит - никакого высокоимедансного состояния таким макаром до выставления сигнала статус на входах RTS RXD не получается.

Вы смешали два варианта стыковки

1. Vext не нужен.

Мы стыкуем 3.0 вольта контроллер и модуль.
Ноги порта соединяем напрямую, поверкей через ключ с ОК.

Включили общее питание, у контроллера по умолчанию ноги на ввод (или в третье состояние). Вот так пусть и остаются до появления STATUS.
Включили модуль импульсом на поверкей и ждем STATUS.
После его появления инициализируем порт чего надо на вывод - и работаем

При выключении обратная процедура - убрали сигналы с порта и отключили модуль.

2. Vext нужен.

Мы стыкуем 3.3 или 5.0 вольта контроллер и модуль.

Ноги порта соединяем через элементы с OK или полевики с общим затвором.
Для 3.3в преобразователи только в сторону модуля, для 5.0 в обе, поверкей через ключ с ОК.

Резисторы подтяжки со стороны модуля цепляем на сформированый Vext - рисунок с TC1055 на предыдущей странице.
Тогда до появления STATUS опять же на модуле гарантировано не будет уровней.

Включили, у контроллера по умолчанию ноги пофигу как.
Включили модуль импульсом на поверкей и ждем STATUS.
После его появления порт готов, так как появится напряжение делающее еденицу.

>>>Тока не нада опять говорить возьми 3 вольт микроконтроллер и держи пины Z пока статус не появиться.

это кстати самое правильное решение.
вы забываете что до появления STATUS на цифровых портах модуля не должно быть НИКАКИХ уровней.
нарушение этого требования ведет к неправильной работе модуля вплоть до выхода из строя.

>>>Инетересно посмотреть бы диаграмку формирования VDD_EXT от модема sim900, когда статус появляется относительно появления VDD_EXT, насколько поже или одновременно?

Абсолютно синхронно, что позволяет не анализировать STATUS для согласований с применением ОК, как это было у SIM300C (асинхронно) .
ArtemKAD
Цитата
Включили модуль импульсом на поверкей и ждем STATUS.

Для тех, кто любит экономить ноги - можно ждать активности модуля на его RxD Никто ведь не мешает включить приемник USART-а и ожидать служебную последовательность в качестве признака успешного включения модуля...
MemoryTest
Цитата(CADiLO @ Jul 27 2011, 14:46) *
>>>Обясни как формировать VDD_EXT для sim900D тогда? если через внешнии LDO и по появлению статуса, то я расписал что происходит - никакого высокоимедансного состояния таким макаром до выставления сигнала статус на входах RTS RXD не получается.

Вы смешали два варианта стыковки

1. Vext не нужен.

Мы стыкуем 3.0 вольта контроллер и модуль.
Ноги порта соединяем напрямую, поверкей через ключ с ОК.

Включили общее питание, у контроллера по умолчанию ноги на ввод (или в третье состояние). Вот так пусть и остаются до появления STATUS.
Включили модуль импульсом на поверкей и ждем STATUS.
После его появления инициализируем порт чего надо на вывод - и работаем

При выключении обратная процедура - убрали сигналы с порта и отключили модуль.

2. Vext нужен.

Мы стыкуем 3.3 или 5.0 вольта контроллер и модуль.

Ноги порта соединяем через элементы с OK или полевики с общим затвором.
Для 3.3в преобразователи только в сторону модуля, для 5.0 в обе, поверкей через ключ с ОК.

Резисторы подтяжки со стороны модуля цепляем на сформированый Vext - рисунок с TC1055 на предыдущей странице.
Тогда до появления STATUS опять же на модуле гарантировано не будет уровней.

Включили, у контроллера по умолчанию ноги пофигу как.
Включили модуль импульсом на поверкей и ждем STATUS.
После его появления порт готов, так как появится напряжение делающее еденицу.

>>>Тока не нада опять говорить возьми 3 вольт микроконтроллер и держи пины Z пока статус не появиться.

это кстати самое правильное решение.
вы забываете что до появления STATUS на цифровых портах модуля не должно быть НИКАКИХ уровней.
нарушение этого требования ведет к неправильной работе модуля вплоть до выхода из строя.

>>>Инетересно посмотреть бы диаграмку формирования VDD_EXT от модема sim900, когда статус появляется относительно появления VDD_EXT, насколько поже или одновременно?

Абсолютно синхронно, что позволяет не анализировать STATUS для согласований с применением ОК, как это было у SIM300C (асинхронно) .



Ок спасибо Вам за ответ,
в принципе я отзвонился в суппорт МТ-Систем, там сказали, что в момент когда модуль уже начинает сам пуллапит DTR к внутренним 2.8в (а это он начинает делать где то за секунду-полторы перед выставлением STATUS), а VDD_EXT еще не включен из-за отсутствия STATUS, на входах RXD и RTS не страшно присутствие сигналов(DTR на них влияет через резисторы поддяжки), за счет того что уже включен внутренний LDO.



CADiLO
Тоже вариант. Но если люди ленятся проанализировать уровень, то еще больше поленятся разбирать символы из порта. sm.gif

>>>на входах RXD и RTS не страшно присутствие сигналов(DTR на них влияет через резисторы поддяжки), за счет того что уже включен внутренний LDO.

внутренний LDO (на котором висят резисторы подтяжки в самом модуле) включится синхронно со статусом - можете проверить
MemoryTest
Цитата(ArtemKAD @ Jul 27 2011, 15:11) *
Для тех, кто любит экономить ноги - можно ждать активности модуля на его RxD Никто ведь не мешает включить приемник USART-а и ожидать служебную последовательность в качестве признака успешного включения модуля...


наверное Вы хотели написать ждать активности на ноге TXD модуля =). Там эта активность начианает проявляться до появления STATUS +)
и если ответить этой активности(определенным образом) - модем уходит в доунлоад моде.

У sim900d RXD не запуллапен к 3В внутри модуля, поэтопу его нада пуллапить к 3в (ака VDD_EXT) которые должны появиться по сигналу STATUS.


Цитата(CADiLO @ Jul 27 2011, 15:18) *
Тоже вариант. Но если люди ленятся проанализировать уровень, то еще больше поленятся разбирать символы из порта. sm.gif

>>>на входах RXD и RTS не страшно присутствие сигналов(DTR на них влияет через резисторы поддяжки), за счет того что уже включен внутренний LDO.

внутренний LDO (на котором висят резисторы подтяжки в самом модуле) включится синхронно со статусом - можете проверить


как проверить? я вижу осциллографом, что что DTR пуллапиться к 2.8вольтам за 2 секунды перед выставлением STATUS модемом.
SIM900D. Это говорит оо том что STATUS имхо формируется программно процом уже после того как все стартанет, а пуллап включается в момент
инициализации уарта.

еще уж вопросы раз начали=)
В sim900d_hd_v1.02.pdf на sim_data не было конденсатора в 22пф
в sim900d_hardware design_v2.00.pdf sim_data он уже появился =) ставить?

и насчет прошивок:
где можно посмотреть изменения
1137B03SIM900D64_ST от
1137B08SIM900D64_ST.



CADiLO
>>>В sim900d_hd_v1.02.pdf на sim_data не было конденсатора в 22пф
>>>в sim900d_hardware design_v2.00.pdf sim_data он уже появился =) ставить?

конденсаторы на симке нужны если длина проводника превышает 5 см, или неудачная разводка и есть наводки от антенны

>>>где можно посмотреть изменения
1137B03SIM900D64_ST от
1137B08SIM900D64_ST.

запросите релиз-нотес у МТ-Систем
ArtemKAD
Цитата
наверное Вы хотели написать ждать активности на ноге TXD модуля =).

blush.gif ... угу...
Цитата
Там эта активность начианает проявляться до появления STATUS и если ответить этой активности(определенным образом) - модем уходит в доунлоад моде.

Не начинается. Для перехода в режим программирования обмен в первые 50мс после подачи питания на модуль начинает внешнее устройство байтом синхронизации. Если байта нет, то модуль и не дергается...
Служебная последовательность “00 49 49 49 49 FF FF FF FF” проходит уже после Status-a. А если выключить автоопределение скорости, то можно ловить вполне вменяемый RDY ...
MemoryTest
Цитата(ArtemKAD @ Jul 27 2011, 16:42) *
blush.gif ... угу...

Не начинается. Для перехода в режим программирования обмен в первые 50мс после подачи питания на модуль начинает внешнее устройство байтом синхронизации. Если байта нет, то модуль и не дергается...
Служебная последовательность “00 49 49 49 49 FF FF FF FF” проходит уже после Status-a. А если выключить автоопределение скорости, то можно ловить вполне вменяемый RDY ...


аа оки, а то я смотрю flashloader после нажатия кнопки старт, постоянно шлет в порт байты=) видать хочет успеть перевести модуль в режим доунлоад =)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.