|
SIM900D - проблемы с рестартом |
|
|
|
Jul 27 2011, 08:30
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(Stanislav_S @ Jul 26 2011, 20:29)  Отрезал DTR от модема, рестарт заработал. Пока временно пойдет, но на будущее урок усвоил  Всем спасибо за обсуждение. Добавлю, короче тут тоже решили заморочиться с честным согласованием 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 внешним резистором.
Эскизы прикрепленных изображений
|
|
|
|
|
Jul 27 2011, 10:26
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(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, насколько поже или одновременно?
|
|
|
|
|
Jul 27 2011, 10:46
|

Гуру
     
Группа: Свой
Сообщений: 6 023
Регистрация: 26-08-05
Из: Днепр
Пользователь №: 7 988

|
>>>Обясни как формировать 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 (асинхронно) .
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Jul 27 2011, 11:16
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(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.
|
|
|
|
|
Jul 27 2011, 11:31
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

|
Цитата(ArtemKAD @ Jul 27 2011, 15:11)  Для тех, кто любит экономить ноги - можно ждать активности модуля на его RxD Никто ведь не мешает включить приемник USART-а и ожидать служебную последовательность в качестве признака успешного включения модуля... наверное Вы хотели написать ждать активности на ноге TXD модуля =). Там эта активность начианает проявляться до появления STATUS +) и если ответить этой активности(определенным образом) - модем уходит в доунлоад моде. У sim900d RXD не запуллапен к 3В внутри модуля, поэтопу его нада пуллапить к 3в (ака VDD_EXT) которые должны появиться по сигналу STATUS. Цитата(CADiLO @ Jul 27 2011, 15:18)  Тоже вариант. Но если люди ленятся проанализировать уровень, то еще больше поленятся разбирать символы из порта.  >>>на входах 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.
|
|
|
|
|
Jul 27 2011, 12:42
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата наверное Вы хотели написать ждать активности на ноге TXD модуля =).  ... угу... Цитата Там эта активность начианает проявляться до появления STATUS и если ответить этой активности(определенным образом) - модем уходит в доунлоад моде. Не начинается. Для перехода в режим программирования обмен в первые 50мс после подачи питания на модуль начинает внешнее устройство байтом синхронизации. Если байта нет, то модуль и не дергается... Служебная последовательность “00 49 49 49 49 FF FF FF FF” проходит уже после Status-a. А если выключить автоопределение скорости, то можно ловить вполне вменяемый RDY ...
|
|
|
|
|
Jul 27 2011, 13:17
|
Участник

Группа: Свой
Сообщений: 65
Регистрация: 25-01-05
Из: Мск регион.
Пользователь №: 2 161

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