|
|
  |
SIM900D, зависание модуля поле нескольких дней работы |
|
|
|
Nov 22 2011, 19:30
|
Группа: Участник
Сообщений: 11
Регистрация: 29-04-05
Пользователь №: 4 603

|
Столкнулся со следующей проблемой. Используем модули SIM900D. Прибор отправляет только SMS сообщения, GPRS не используется. Прибор может работать 3 дня, может работать 1 мес, произвольное время, но в один прекрасный момент модуль зависает, перезапустить модуль с помощью ноги Power_Key не получается. При этом модуль начинает потреблять больший ток. Модуль зависает наглухо, помогает только полное отключение питания. По симптомам похоже на фантомное питание, пробовал ввести модуль в подобный режим подавая на RTS, DTR, RXD высокий уровень и при этом отключать и включать питание через Power_Key. Модуль запускается без проблем, ни какого намека на фантомное питание нет. Изначально была прошивка 1137B05SIM900D64_ST, затем поменяли прошивку на 1137B08SIM900D64_ST, но это не помогло, проблема осталась.
Кто-нибудь сталквался с подобной проблемой?
|
|
|
|
|
Nov 22 2011, 20:13
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(LAA @ Nov 22 2011, 21:30)  Кто-нибудь сталквался с подобной проблемой? Дык это проблема с которой предпочитают не сталкиваться, а обходят ее еще на этапе проектирования. Принимается за аксиому, что устройство такого уровня сложности, как ГСМ модем не может быть на 100% сбоеустойчиво и обязательно когда-нибудь подвиснет Поэтому обычно предусматривают ключ для коммутации питания модуля. И при глухом подвисе его задействуют. Китайцы еще для SIM300 рекомендовали следующий алгоритм: два раза попробовали перезапустить модем при помощи PowerKey - не помогло - снимаем питание
|
|
|
|
|
Nov 23 2011, 01:01
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
Получить такой результат можно многими путями. Начиная от того как спроектировано изделие, схема, технология, топология, как собиралось технологически. Может банально не промыли, ... причин ну очень много. Если хотите чегото узнать то желательно давать больше информации о вашем изделии. Может быть и программа виновата, может наведенная помеха, плохо выполнено питание, детали не качественные, плохая антенна, может опсос.
|
|
|
|
|
Nov 23 2011, 04:44
|
Группа: Участник
Сообщений: 11
Регистрация: 29-04-05
Пользователь №: 4 603

|
К сожалению отключение питания модуля, не заложили на этапе проектирования. Раньше использовали SIM300D проблем никогда не было. Теперь на новую плату заложили принудительное отключение питания. Остается понять, что делать с теми приборами которые уже выпущены.
|
|
|
|
|
Nov 23 2011, 11:19
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(LAA @ Nov 22 2011, 23:30)  в один прекрасный момент модуль зависает, перезапустить модуль с помощью ноги Power_Key не получается. При этом модуль начинает потреблять больший ток. Он потребляет большой ток при каждом зависании? Больш ий на сколько? Потребление 1А и выше означает, что в момент зависания был и остался включен передатчик и искать нужно в первую очередь какие-то проблемы со схемой питания (просадки при включении передатчика) или согласования антенны (наводки). Конечно, зависание может быть и в прошивке, но с такой проблемой вроде пока что никто здесь не сталкивался (или просто никто не использует модуль в таком режиме).
Сообщение отредактировал stream - Nov 23 2011, 11:22
|
|
|
|
|
Nov 23 2011, 13:58
|
Знающий
   
Группа: Свой
Сообщений: 615
Регистрация: 14-02-08
Из: г. Рыбинск, Ярославская область
Пользователь №: 35 028

|
Цитата(LAA @ Nov 22 2011, 23:30)  По симптомам похоже на фантомное питание, пробовал ввести модуль в подобный режим подавая на RTS, DTR, RXD высокий уровень и при этом отключать и включать питание через Power_Key. а почему бы не сделать схему без фантомной подпитки, чтоб более на это ни когда не грешить, тем более, что "фантомность" сымитировать очень сложно, надо знать в какой момент ее подать. По опыту скажу, что 300-е у нас не зависали так , что только питанием, а вот 900-е редко но бывает, что только питанием, и это замечали в GPRS-e.
|
|
|
|
|
Nov 24 2011, 12:40
|
Группа: Участник
Сообщений: 11
Регистрация: 29-04-05
Пользователь №: 4 603

|
SIM карта подключена от держателя непосредственно к модулю. Длина проводников 1,5 - 2 см максимальная. На Power_Key Ключ стоит.
В момент зависания ток потребления составляет где-то 100-120мА.
Все цифровые ноги при включении перевожу в логический "0"
|
|
|
|
|
Nov 24 2011, 14:00
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(CADiLO @ Nov 24 2011, 17:48)  0.5 или даже 0.1 - не имеет значения требование четкое - НИКАКОГО напряжения "0" и есть НИКАКОГО. Цитата Ну а для некоторых контроллеров встречалось - Output Low Voltage = 0.2Vcc А это уже 0.6 вольта при питании 3.0. Небольшие пульсации и будем иметь искомые 0.7 Вы в самом деле не понимаете или издеваетесь ? Ох, как все запущено... Напряжение лог "0" на выходе регламентируется при _наличии внешнего втекающего тока_, и определяется как произведение сопротивления открытого канала "нижнего" транзистора драйвера и втекающего тока, причем в худшем случае (при максимальном сопротивлении канала). Что, модуль SIM900 уже обзавелся pullup-ом на несколько mA (да еще и постоянно подключенным к питанию) ? Нет ? Тогда - в сад. На никуда не подключенном выходе CMOS (а равно и в том случае, когда там еще и CMOSовый же вход модуля) при лог "0" напряжение и есть 0. Максимум единицы mV. А если и с "землей" нельзя соединять - то это уже другой разговор, тогда, pls, ссылочку на оригинальный документ, запрещающий это делать. Потому как это исключает возможность согласования уровней резистивными делителями. Ну, а пока такой ссылочки не будет - то я буду руководствоваться здравым смыслом. Что и другим советую... Цитата Это в теории может и редкость, а в практике встречается в самый ненужный момент. Да и народ у нас зачастую норовит питать 3.3 и соединять напрямую...... Да хоть бы и 3.3. По уровню "1" - злостное нарушение. А пока "0" - ноль и есть. Учите матчасть (т.е. схемотехнику).
|
|
|
|
|
Nov 24 2011, 14:21
|
Группа: Участник
Сообщений: 11
Регистрация: 29-04-05
Пользователь №: 4 603

|
Цитата(CADiLO @ Nov 24 2011, 17:00)  >>>Все цифровые ноги при включении перевожу в логический "0"
Ага - а как же фраза
"до появления сигнала STATUS на цифровых входах модуля не должно быть НИКАКОГО уровня"
а вы туда ноль..... 0.7 вольта...... нехорошоооооо......
а еще - контроллер каким напряжением питается ? Тестером смотрел, четкий ноль стоит. Можно конечно попробовать Z-состояние, но сколько смотрел. "0" четкий. Питание контроллера 4,0В. Уровни согласую через резисторный делитель.
|
|
|
|
|
Nov 24 2011, 14:49
|

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

|
давайте будем попроще, мы как-то уже с вами спорили, но время и проблемы у клиентов показали что : вот с этим - " Да хоть бы и 3.3. По уровню "1" - злостное нарушение." - 100% согласен. а вот далее.... имеется вывод (настроеный на выход) контроллера подключеный к входу модуля. наличие на этой линии - логического нуля или логической еденицы до появления STATUS приводит к глюкам модуля. допустимые варианты решения. до появления STATUS: 1. Перевести вывод контроллера на ввод 2. Перевести вывод контроллера в третье состояние (или разорвать линию) 3. соединить линию с GND 4. использовать ОК c подтяжкой к Vext модуля. если это условие не выполняется, претензии по работе модуля не принимаются. потому как неоднократно подтверждено вышесказаное - наличие напряжения на этой линии - будь то логическая еденица или логический ноль до появления STATUS приводит к глюкам модуля. Запомнить это как отче-наш и глупостями не заниматься. а вот когда все будет работать можно сидеть с бокальчиком пивка и теретизировать сколько душе угодно. Потому что ваши теоретические выкладки как раз хороши для ОК - который и даст 0 (падение на ЭК) при втекающем токе. Или для "идеального" логического элемента. Если возьмете реальный логический вывод (не ОК) и посмотрите осциллографом - более того возьмем делитель 1:100 чтобы не было "втекающего тока в несколько миллиампер" - то увидим это напряжение логического "0". Ведь если бы верхний ключ был идеален нафига было бы городить открытый коллектор или сток. А так ...... Поэтому - Учите матчасть (т.е. схемотехнику). >>>Тестером смотрел, четкий ноль стоит. Можно конечно попробовать Z-состояние, но сколько смотрел. "0" четкий. логический ноль или GND? >> Питание контроллера 4,0В. Уровни согласую через резисторный делитель. делитель выбрасываем - берем схему http://microchip.ua/simcom/SIM900x/AppNote...0Note_V1.02.pdfрисунок нумбер - 4 - и вот в этой схеме уже можете не задумываться о сигнале STATUS - там Vext появится в правильное время. Ну и как вариант - либо делать как рекомендовано и забыть про глюки (можете об этом форумчан спросить) через это тут народ уже проходил. Или слушать теоретиков размахивающих шашкой и продолжать сокрушаться что модуль говно.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Nov 24 2011, 15:07
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(CADiLO @ Nov 24 2011, 18:49)  Потому что ваши теоретические выкладки как раз хороши для ОК - который и даст 0 (падение на ЭК) при втекающем токе. Или для "идеального" логического элемента. Если возьмете реальный логический вывод (не ОК) и посмотрите осциллографом - более того возьмем делитель 1:100 чтобы не было "втекающего тока в несколько миллиампер" - то увидим это напряжение логического "0". Которое (напряжение) неотличимо от реального нуля (Vss). Или превышает оное на величину падения на внутренней металлизации при большом собственном потреблении контроллера. А вот Вы, похоже, никогда ни осциллографом (к слову, никакой вход, 1:100, 1:10 или даже 1:1 _принципиально_ неспособен дать _втекающий_ ток), ни мультиметром не смотрели реальный выход. А зря. Цитата Ведь если бы верхний ключ был идеален нафига было бы городить открытый коллектор или сток. А так ...... Верхний ключ близок к идеальному, и при комнатной температуре ток через него составляет буквально наноамперы (иначе только по драйверам ног контроллер жрал бы просто до фига в состоянии сна), но даже если и единицы uA, то при сопротивлении канала "нижнего" в десятки Ohm (ну 100 Ohm у слабеньких), то напряжение там все равно не превысит единиц mV (на земляных дорожках типично больше падает). А открытый сток или коллектор от пушпульного каскада, намекну, и еще кое-чем отличается... Если же у ненагруженного CMOS-выхода (CMOS-вход нагрузкой в статике не является) напряжение "0" больше единиц mV - это неисправный компонент, совершенно однозначно.
|
|
|
|
|
Nov 24 2011, 17:05
|
Частый гость
 
Группа: Участник
Сообщений: 116
Регистрация: 22-10-11
Из: Россия
Пользователь №: 67 897

|
Цитата(butthead2 @ Nov 24 2011, 20:25)  Т.е. вы считаете что это две одинаковые ситуации - держать пин принудительно в 0, и 0 на нем держится сам вследствие того, что на него не подается напряжение? По моему требования описаны более чем ясно - до включения ничего никуда не тянуть. Дык 0 он и есть 0, откуда бы он не взялся. Если не путать конечно 0 и Z. А вообще автор писал, что ключ стоит у него, и апологеты шаманизма зря забеспокоились )))
|
|
|
|
|
Nov 24 2011, 18:51
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(pau62 @ Nov 24 2011, 20:05)  Дык 0 он и есть 0, откуда бы он не взялся. Если не путать конечно 0 и Z. Многие считают свое мнение + тестер мерилом истины, даже не вдаваясь в подробности что такое 0 и что такое Z, а потом удивляются до чего ж модули хреновые. И рекомендации производитель обычно не с потолка придумывет. Если нет желания им тупо следовать, то нужно хотя бы понять их суть. Цитата(pau62 @ Nov 24 2011, 20:05)  и апологеты шаманизма зря забеспокоились ))) Вот делать "по велению души", а не по рекомендацияем - это и есть самый настоящий шаманизм и пляски с бубном
|
|
|
|
|
Nov 24 2011, 20:43
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(butthead2 @ Nov 24 2011, 20:25)  Т.е. вы считаете что это две одинаковые ситуации - держать пин принудительно в 0, и 0 на нем держится сам вследствие того, что на него не подается напряжение? По моему требования описаны более чем ясно - до включения ничего никуда не тянуть. Вообще-то не вполне ясно - вот, пожалуйста, уважаемый CADiLO приводит возможные варианты: ------- 1. Перевести вывод контроллера на ввод 2. Перевести вывод контроллера в третье состояние (или разорвать линию) 3. соединить линию с GND 4. использовать ОК c подтяжкой к Vext модуля. ------ Пункт 3 вполне допускается. Или нет ? Если нет, то хотелось бы обоснование такого запрета (со ссылкой на первоисточник). Я же говорил о совершенно однозначном равенстве (в данном случае) пункта 3 и логического "0" на выходе CMOSовского драйвера (это вообще азы, не знать и не понимать этого просто неприлично, а спорить с очевидностью - глупо). А от глюков надо избавляться, да. Но только не шаманскими плясками с бубном, пытаясь опровергнуть основы. В данном случае я бы копал в направлении питания - схемотехника и топология разводки. А самое первое - применить вынесенную антенну, чтобы исключить возможное влияние собственной радиочастотной наводки и улучшить согласование. Неприятно, конечно, что ситуация воспроизводится нестабильно - очень противно искать...
Сообщение отредактировал rx3apf - Nov 24 2011, 20:49
|
|
|
|
|
Nov 24 2011, 21:35
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(CADiLO @ Nov 24 2011, 16:49)  имеется вывод (настроеный на выход) контроллера подключеный к входу модуля.
наличие на этой линии - логического нуля или логической еденицы до появления STATUS приводит к глюкам модуля.
допустимые варианты решения.
до появления STATUS: 1. Перевести вывод контроллера на ввод 2. Перевести вывод контроллера в третье состояние (или разорвать линию) 3. соединить линию с GND 4. использовать ОК c подтяжкой к Vext модуля.
если это условие не выполняется, претензии по работе модуля не принимаются. потому как неоднократно подтверждено вышесказаное - наличие напряжения на этой линии - будь то логическая еденица или логический ноль до появления STATUS приводит к глюкам модуля. Считаю, что тут вы сами себе противоречите, да и целиком согласен с rx3apf. Наличие логического нуля, который формирует выходной КМОП-каскад и соединение с GND это одно и то-же. Можно даже придумать физическое объяснение, зачем нужно переводить линии интерфейса МК в Z-состояние до появления Статуса. Вполне возможно, что при нарастании напряжения питания на модуле входные каскады в какой-то момент начинают проводить ток, который перекашивает что-то в чипсете и приводит к локальным защелкиваниям, или к нарушению процедуры иницициализации, или еще к чему-нибудь. Но метод решения №3 "соединить линию с GND" - рушит это предположение. Дайте же какое-нибудь обяснение этим вариантам решения. Кстати, был уверен, что видел в документации Симкома вышеперечисленные рекомендации по включению. Но сейчас просмотрел все, что было, с десяток документов - кроме схем, в текстовом виде - ничего... Цитата(CADiLO @ Nov 24 2011, 16:49)  Запомнить это как отче-наш и глупостями не заниматься. а вот когда все будет работать можно сидеть с бокальчиком пивка и теретизировать сколько душе угодно. Да, есть у вас что-то от священника-батюшки, который наставляет паству речами, где главная идея - верьте! Думать не надо - делайте так и все будет хорошо! Но мы то тут все таки не прихожане, ничего на веру принимать не будем, нам подавай рациональное объяснение, почему нужно делать так. А его нет. Вы не обижайтесь, просто не первый год читаю ваши комментарии, такое уже было по нескольким вопросам
|
|
|
|
|
Nov 24 2011, 21:43
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470

|
Цитата(Baser @ Nov 25 2011, 00:35)  Но метод решения №3 "соединить линию с GND" - рушит это предположение. Да, с третьим пунктом Эдуард откровенно погорячился - прямое противоречие требованиям.
|
|
|
|
|
Nov 25 2011, 06:51
|
Частый гость
 
Группа: Участник
Сообщений: 142
Регистрация: 20-08-07
Из: Тула
Пользователь №: 29 919

|
Цитата(=F8= @ Nov 25 2011, 01:32)  Неплохо было бы протестировать питание симитровав подключённый модуль. Берете 2-х омный резистор подключаете его к питанию и чрез низкоомный ключ коммутируете его на землю импульсами около 1мс с интервалом 3-4 мс. Осциллографом смотрите картинку, в зависимости от занятности картинки делаете выводы. О да... Если быть точным - 0.577 ms (15/26) для одного таймслота. Период - 4.615 ms. Если планируется GPRS, надо проверить на тройном таймслоте (1.731 ms), период не меняется. И на всем диапазоне входных напряжений блока питания... Результаты порой оказываются весьма обескураживающими...
|
|
|
|
|
Nov 25 2011, 07:34
|

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

|
>>>>Да, с третьим пунктом Эдуард откровенно погорячился - прямое противоречие требованиям. Может и погорячился, но вот реальная ситуация, столкнулись в прибалтике. PIC18LF4520, запитан 3.0 вольта, выход идущий на вход модуля переведен в 0 и удерживается таким до появления STATUS. Выход подключен через последовательный резистор 100 ом. Смотрим осциллографом - на ножке PIC 0.3 вольта. Модуль ведет себя следующим образом - после включения нет приема команд по порту или принимаются с искажениями.Коротим пинцетом вход модуля на время включения. После этого все работает без сбоев. Програмисты ихние переписывают инициализацию PIC и переводят ножки на вход до появления STATUS. Все - инциндент исчерпан - заработало без сбоев. И если в модуле нет резистора, а кмоп ключ это GND, то откуда там было 0.3 вольта ? Я не спорю что может и шаманство, но симком не зря давал такие рекомендации, а нам в реальной ситуации с нервными клиентами некогда теоретизировать - нужно устранить причину почему не работает. А задуматься над этим можно потом, когда у клиента все заработало...... И поверьте что за 7 лет, начиная еще с SIM100x, в 99% случаев приведение схемы к рекомендациям производителя убирало глюки. 1% это уже разное типа подпаленого модуля или недотравленого текстолита с сопротивлением между дорожками 300 килоом..... Бывало и такое. >>>Результаты порой оказываются весьма обескураживающими... Особенно когда с должным вниманием не отнеслись когда делали на PFM MC34063. Иголки выбросов до входных 12 вольт это нечто....
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Nov 25 2011, 08:41
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(stream @ Nov 25 2011, 09:51)  О да...
Если быть точным - 0.577 ms (15/26) для одного таймслота. Период - 4.615 ms. Если планируется GPRS, надо проверить на тройном таймслоте (1.731 ms), период не меняется. И на всем диапазоне входных напряжений блока питания... Результаты порой оказываются весьма обескураживающими... Ну с такой точностью не обязательно. На худой конец, если нечем регулировать скважность, можно и просто меандр подать 250-500Гц. Цитата(CADiLO) Особенно когда с должным вниманием не отнеслись когда делали на PFM MC34063. Иголки выбросов до входных 12 вольт это нечто.... Можно и с MC34063 вполне нормальную картинку иметь, а можно и с LM2576 весьма неприглядную, хотя с 2576 конечно проще работать.
|
|
|
|
|
Nov 25 2011, 10:01
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643

|
Цитата(CADiLO @ Nov 23 2011, 18:41)  >>>а вот 900-е редко но бывает, что только питанием, и это замечали в GPRS-e.
в трех случаях подобных зависаний мы уже разбирались.
1. поверкей соединяли с PIC24 напрямую и вывод PIC24 переводили в ОК. модуль зависал и не выключался поверкеем излечено приведением схемы в соответствие с рекомендацией - после установки ключа гарантировано отрубается поверкеем. А чем выход в ОК отличается от транзистора? Я вижу две причины: питание модуля превышает питание пика более чем на ~пол-вольта. Выход пика не 5V-tolerant. В итоге через защитный диод пика начинает течь всегда ток на шину питания пика. Вторая: пик не выдаёт более чем 20мА... А ещё третья: pull-up или pull-down в пике. Интересно, что являлось истиной причиной? Цитата 2. стабилизатор давал всплеск при резком изменении тока в GPRS режиме. модуль зависал без объяснений и не выключался при тестировании на аккумуляторе ни разу не завис. дана рекомендация переделать питание - больше жалоб на было. И как именно его переделывать? Аккумулятор не всегда можно использовать, а любой стабилизатор даст всплеск. Вопрос в том, насколько большой. А насколько он был большой в данном случае, и оценивалось ли как-то dV/dt? Цитата ну а глюки при фантомке - можно уже роман писать..... Подразумевается, что при фантомной запитке включенного модуля на его внутренних шинах питания (через защитные диоды входов) повышается напряжение и он глючит? Или то, что он не сбрасывается при выключении питания из-за фантомной запитки (факт).
|
|
|
|
|
Nov 25 2011, 10:08
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(CADiLO @ Nov 25 2011, 09:34)  PIC18LF4520, запитан 3.0 вольта, выход идущий на вход модуля переведен в 0 и удерживается таким до появления STATUS. Выход подключен через последовательный резистор 100 ом. Смотрим осциллографом - на ножке PIC 0.3 вольта. Модуль ведет себя следующим образом - после включения нет приема команд по порту или принимаются с искажениями.Коротим пинцетом вход модуля на время включения. После этого все работает без сбоев. Програмисты ихние переписывают инициализацию PIC и переводят ножки на вход до появления STATUS. Все - инциндент исчерпан - заработало без сбоев.
И если в модуле нет резистора, а кмоп ключ это GND, то откуда там было 0.3 вольта ? А вы уверены, что эта ножка ПИКа была подключена к входу модуля, а не к ВЫХОДУ? А то уж больно невероятно. Такое может быть только при втекающем в ножку ПИКа токе порядка нескольких мА. (для PIC18LF4520: Voutput low = max 0.6V @ Iol = 8.5 mA, VDD = 4.5V, -40°C to +85°C) Если это был выход, тогда это просто была грубая ошибка разработчиков. Т.к. после включения сначала появляется Vext и одновременно инициализируются порты UARTа модуля с переключением выходов в "1". А STATUS появляется только через 3-4 сек. Если все это время держать эти ноги на внешнем "нуле", то вот вам и клинч по питанию. Может все-же не следует предлагать пресловутый метод решения №3: "до появления STATUS соединить линию с GND" ? А то невнимательные пользователи начнут ВСЕ ножки порта садить на землю Цитата(CADiLO @ Nov 25 2011, 09:34)  Я не спорю что может и шаманство, но симком не зря давал такие рекомендации, а нам в реальной ситуации с нервными клиентами некогда теоретизировать - нужно устранить причину почему не работает. А задуматься над этим можно потом, когда у клиента все заработало...... Кстати, повторюсь, вы можете указать официальный документ Симкома, где есть эти рекомендации? Вчерась на ночь глядя все перерыл - не нашел.
|
|
|
|
|
Nov 25 2011, 10:35
|

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

|
>>>А чем выход в ОК отличается от транзистора? Я вижу две причины: питание модуля превышает питание пика более чем на ~пол-вольта. Выход пика не 5V-tolerant. В итоге через защитный диод пика начинает течь всегда ток на шину питания пика. Вторая: пик не выдаёт более чем 20мА... А ещё третья: pull-up или pull-down в пике. Интересно, что являлось истиной причиной?
Ну так сами и дали ответ. Чесный OK в PIC есть только в 16F628 - RA4. Все остальное эмуляция. А потому та часть которая "вход", остается физически подключенной к этому якобы ОК, вместе со своими защитными диодами. Это рассматривалось на прошлогоднем мастерстве по микрочипу и пришли к выводу что если на этом псевдоОК напряжение будет выше питания PIC, то это превышение и пойдет через защитные диоды. Точно так же если PIC будет отключен, то он может запитаться черех них.
>>>И как именно его переделывать? Аккумулятор не всегда можно использовать, а любой стабилизатор даст всплеск. Вопрос в том, насколько большой. А насколько он был большой в данном случае, и оценивалось ли как-то dV/dt?
Вопрос там был именно в выборе компонентов. Если ставить что есть под рукой, а не то что требуется по даташиту или расчетам, то работать будет через пень-колоду и давать выброс вплоть до входного напряжения. Кроме того я ни разу не видел больших всплесков на синхроннике с правильной индуктивностью и разводкой платы.
>>>Подразумевается, что при фантомной запитке включенного модуля на его внутренних шинах питания (через защитные диоды входов) повышается напряжение и он глючит? Или то, что он не сбрасывается при выключении питания из-за фантомной запитки (факт).
PNX4851. The default VCORE full power setting is 1.25 V, while 1.1 V is used when the reference clock is 26 MHz. A VCORE setting of 0.8 V is used in Sleep mode to minimize leakage.
На VBAT подано напряжение но модуль еще не включен поверкеем. Вот что творится внутри.
MCU in ‘standby wait for interrupt’ mode. DSP halted. Clock tree at 32 kHz. Backup battery at 3 V. The entire 26 MHz generation path shut down. GPIO interrupt controller enabled, keypad enabled. PSEQ, GPIO interrupt control, SMC, keypad interface, GPIO, and SYS config POCO should be set. VANA in low power mode. VMEM and VIO on in low power. DMA POCO and AHB disabled. No DC load on GPIO. VSIM on in low power, 3 V. No load on VSIM. VCORE = 0.8 V. Current consumption of external devices not included.
далее - питание блоков Vio
Supplied by regulators VIO and VMEM IIH HIGH-level input current −10 — +10 μA IIL LOW-level input current −10 — +10 μA
VIO is the regulated voltage supply for digital input/output interfaces including the SSI, GPIO, GPSR, DAI, JTAG, keypad, and the debug connector. VMEM is the regulated voltage supply for external memory connected to the EMC.
Поэтому если через вход в модуль потечет ток более 10 микроампер - считайте что все вышеописаное проснулось и начало жить своей жизнью. В том числе и память. Что с ней там может произойти одному богу известно. Но то что модуль может творить чудеса при таком вот фантомном питании не оставляет сомнений.
С выводом поверкей еще интереснее, там есть блок Power sequencer куда заводится эта ножка, так вот по нему ссылка на отдельный даташит который я пока еще не раздобыл.
Если кому интересно потребление собственно чипсета.
MCU active; 26 MHz clock — 12.25 — mA MCU active; 156 MHz clock — 35.1 — mA MCU and DSP active; 26 MHz clock — 15.3 — mA MCU and DSP active: 156 MHz clock — 56.6 — mA MCU halted; DSP active 156 MHz clock — 19.2 — mA
>>>Может все-же не следует предлагать пресловутый метод решения №3:"до появления STATUS соединить линию с GND" ? А то невнимательные пользователи начнут ВСЕ ножки порта садить на землю.
Соглашусь с вами - в этом контексте вы правы.
>>>Кстати, повторюсь, вы можете указать официальный документ Симкома, где есть эти рекомендации?
В документ они не вынесены - на вопрос "почему" китайцы отвечают что будет отдельный апнотес, но его до сих пор нет. Хотя когда мы у них в гостях изучали модуль и общались с R&D то на этом несколько раз заострили внимание.
Но подобная фраза например есть в документации наших коллег-конкурентов. Telit_GL868-DUAL_Hardware_User_Guide_r4.pdf
In order to avoid a back powering effect it is recommended to avoid having any HIGH logic level signal applied to the digital pins of the GL868 when the module is powered OFF or during an ON/OFF transition.
UBLOX - LEON-G100_G200_System_Integration_Manual(GSM.G1-HW-09002).pdf
подобное требование
To avoid an increase in module power consumption, any external signal connected to the UART must be set low or tri-stated when the module is in power-down mode. If the external signals in the application circuit connected to the UART cannot be set low or tri-stated, a multi channel digital switch (e.g. TexasInstruments SN74CB3Q16244) or a single channel analog switch (e.g. Texas Instruments TS5A3159 or Texas Instruments TS5A63157) must be inserted between the two-circuit connections and set to high impedance when the module is in power-down mode.
и здесь тоже (кстати чипсет из того же семейства PNX4902 или 4905 - не помню точно)
WISMO228_Product_Technical_Specification_and_Customer_Design_Guideline-Rev001.pdf
All external signals must be inactive when the WISMO228 is OFF to avoid any damage when starting and to allow the WISMO228 to start and stop correctly.
И хотя там и чипсеты и схема другие, но в общем то требования схожи у большинства производителей. Я же передаю требования к схемотехнике так как нам изложил их SIMCOM и если они по какой-то причине не вынесли их в документацию, то это не значит что их следует игнорировать.
Если привести к единому решению, то: держите на линиях третье состояние до появления Vext или STATUS и не будет глюков. а на выводы поверкей и нресет не жадничайте поставить ключики.
--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
|
|
|
|
|
Nov 25 2011, 10:57
|
Местный
  
Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643

|
Цитата(CADiLO @ Nov 24 2011, 17:48)  0.5 или даже 0.1 - не имеет значения требование четкое - НИКАКОГО напряжения Не надо глупости. А так можно договориться и до нановольтов. Ниже какого-то порога уже не имеет значения и этот порог определяется минимальным напряжением на затворе внутренних транзисторов, ближе к вольту и больше. Цитата Ну а для некоторых контроллеров встречалось - Output Low Voltage = 0.2Vcc А это уже 0.6 вольта при питании 3.0. Небольшие пульсации и будем иметь искомые 0.7 Речь о работе под нагрузкой. Это максимальное падение напряжения на нижнем или верхнем транзисторе вызванное ненулевым сопротивлением его канала в открытом состоянии. Без нагрузки будет близко к 0 или VCC.
|
|
|
|
|
Nov 25 2011, 11:27
|

Просто Che
    
Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881

|
Цитата(CADiLO @ Nov 25 2011, 12:35)  Но подобная фраза например есть в документации наших коллег-конкурентов. ... In order to avoid a back powering effect it is recommended to avoid having any HIGH logic level signal applied to the digital pins of the GL868 when the module is powered OFF or during an ON/OFF transition. ... To avoid an increase in module power consumption, any external signal connected to the UART must be set low or tri-stated when the module is in power-down mode. If the external signals in the application circuit connected to the UART cannot be set low or tri-stated, .....
Я же передаю требования к схемотехнике так как нам изложил их SIMCOM и если они по какой-то причине не вынесли их в документацию, то это не значит что их следует игнорировать.
Если привести к единому решению, то: держите на линиях третье состояние до появления Vext или STATUS и не будет глюков. а на выводы поверкей и нресет не жадничайте поставить ключики. Вот! Со всем вышецитируемым я полностью согласен. Кстати другие как раз не запрещают выходы с "нулем": must be set lowА весь теперешний сыр-бор разгорелся-то только из-за теоретического спора о том, что есть "выходной уровень логического нуля в КМОПовских схемах". Понятное дело, что если у кого-то на выходе ПИКа при логическом нуле появляется 0.3В, то это никуда не годится и так делать нельзя. Но если там будут честные 50 мВ или меньше, то ничего плохого не случится. Но чтобы полностью исключить возможные варианты, то нужно ограничиться теми рекомендациями, которые вы привели сейчас
|
|
|
|
|
Nov 25 2011, 17:33
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
Цитата(rx3apf @ Nov 24 2011, 23:43)  А самое первое - применить вынесенную антенну, чтобы исключить возможное влияние собственной радиочастотной наводки и улучшить согласование. Неприятно, конечно, что ситуация воспроизводится нестабильно - очень противно искать... Золотые слова, коллега. Чем микровольты считать на ножках, обратите внимание на 2W в пике 900MHz, и прикиньте, что может навестись при резонансе (а волна 8 см, и достаточно кольца диаметром 2.5 см), и что там внутри может от этого защелкнуться. Тем более, если стоят транзисторные ключи - детекторы.
|
|
|
|
|
Nov 25 2011, 17:50
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(CADiLO @ Nov 25 2011, 14:35)  остается физически подключенной к этому якобы ОК, вместе со своими защитными диодами. Это рассматривалось на прошлогоднем мастерстве по микрочипу и пришли к выводу что если на этом псевдоОК напряжение будет выше питания PIC, то это превышение и пойдет через защитные диоды. Точно так же если PIC будет отключен, то он может запитаться черех них. Вот, теперь Вы знаете, чем выход с открытым стоком или коллектором принципиально отличается от пушпульной пары. Диодом на Vcc, а вовсе не утечкой через закрытый канал... Цитата Поэтому если через вход в модуль потечет ток более 10 микроампер - считайте что все вышеописаное проснулось и начало жить своей жизнью. В том числе и память. Что с ней там может произойти одному богу известно. Но то что модуль может творить чудеса при таком вот фантомном питании не оставляет сомнений. А 10 uA через закрытый канал вообще невозможно, даже если бы нижнего (открытого !) транзистора вообще бы не было. Цитата In order to avoid a back powering effect it is recommended to avoid having any HIGH logic level signal applied to the digital pins of the GL868 when the module is powered OFF or during an ON/OFF transition. т.е. черным по белому - никакого ВЫСОКОГО уровня на вход. Т.е. низкий - можно. Цитата подобное требование
To avoid an increase in module power consumption, any external signal connected to the UART must be set low or tri-stated when the module is in power-down mode. Опять же - НИЗКИЙ или третее состояние. Низкий - можно. О чем и было говорено. А если на выходе контроллера, подключенного в ВХОДУ модуля, при лог.0 аж 0.3V - это уже повод разбираться, что там накосячили. Ибо такого просто физически быть не может, если не влепили подтяжку на несколько mA. Или, скажем, два выходе слепили вместе и играют в кто-кого-перетянет... Я вообще не понимаю, как можно давать хоть какие-то рекомендации, отсылать к даташитам и что-то требовать от потребителя при столь ужасающем непонимании основ. Разработчику это вообще непростительно, но и консультанту - неприлично. Дискредитирует...
|
|
|
|
|
Nov 25 2011, 19:27
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Harbinger @ Nov 25 2011, 23:22)  Вообще-то далеко не факт, что GPIO модуля в процессе старта программы не становятся на какое-то время выходами (пусть из-за ошибки в фирмваре даже) - и в этом случае сажать ни на землю, ни на плюс их никак нельзя. Это уже нужно низкий уровень их фирмваре копать... Во избежание, решили просто держать всё подключенное к модулю в Z-состоянии до подъёма статуса - типа лучше перебдеть, чем недобдеть. По GPIO можно только догадываться. UART, полагаю, всегда однонаправленный. Ну, у меня резисторное согласование, так что я спокоен. У топикстартера, кстати, тоже...
|
|
|
|
|
Nov 26 2011, 11:02
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 22-10-05
Из: Днепропетровск
Пользователь №: 9 975

|
Цитата(rx3apf @ Nov 24 2011, 22:43)  Я же говорил о совершенно однозначном равенстве (в данном случае) пункта 3 и логического "0" на выходе CMOSовского драйвера (это вообще азы, не знать и не понимать этого просто неприлично, а спорить с очевидностью - глупо). Я бы так категорично не выражался. Во всяком случае, именно некоторой неоднозначности упомянутого равенства, замеченной, должен признать, совершенно случайно, мы обязаны одному из схемных решений, весьма сильно упрощающих и удешевляющих конструкцию. До упомянутого случая я и сам, в полном соответствии с теорией, был уверен, в "однозначности равенства". Но, как показала практика, китайская схемотехника несколько отличается от теоретической. )))))))
|
|
|
|
|
Nov 26 2011, 16:21
|
Местный
  
Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682

|
"0" на выходе CMOSовского драйвера - это, по идее, открытый канал (с достаточно низким сопротивлением) на GND. Мне тоже интересно стало: а в чем же все таки отличие? Вот уже 10 мин думаю - так и не надумаю... Хоть намекните, а то только раззадорили такой недокументированной фичей китайского инженеринга
|
|
|
|
|
Nov 26 2011, 21:04
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 22-10-05
Из: Днепропетровск
Пользователь №: 9 975

|
Цитата(GeGeL @ Nov 26 2011, 18:21)  "0" на выходе CMOSовского драйвера - это, по идее, открытый канал (с достаточно низким сопротивлением) на GND. Мне тоже интересно стало: а в чем же все таки отличие? Вот уже 10 мин думаю - так и не надумаю... Хоть намекните, а то только раззадорили такой недокументированной фичей китайского инженеринга  Вот именно "с достаточно низким". И как зависит низкость этого сопротивления от тока через вывод и внешнего приложенного напряжения - большой вопрос. Во всяком случае, наличие этого открытого канала на аудио выходе китайских модулей в корне меняет их характеристики.
|
|
|
|
|
Nov 27 2011, 09:50
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 22-10-05
Из: Днепропетровск
Пользователь №: 9 975

|
Цитата(rx3apf @ Nov 27 2011, 11:12)  Это Вас уже куда-то не туда понесло. Аудио, аналоговые сигналы - это отдельный вопрос. А открытый канал полевого коммутатора там уже идеальным никак нельзя считать, там нелинейности в полный рост. Речь же шла о пушпульной паре с соотношением сопротивлений более шести порядков, работающей на CMOSовый же вход (т.е. по постоянке без нагрузки). Речь шла именно о замыкании на землю с помощью выхода процессора. ... впрочем, этот пример я привел не с целью убедить общественность в правоте кого либо. Исключительно с целью напоминания о том, что неожиданности случаются вне зависимости от категоричности убеждений. ))))))))
|
|
|
|
|
Nov 27 2011, 11:36
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 22-10-05
Из: Днепропетровск
Пользователь №: 9 975

|
Цитата(rx3apf @ Nov 27 2011, 12:14)  Т.е. этакий суррогатный вариант mute ? Но ток-то какой ? Там слегка хитрее. На землю был посажен один из выводов дифференциального выхода Это временное было решение, которое помогло понять, что надо сделать, чтобы избежать искажений сигнала без использования дифференциального выхода.
Сообщение отредактировал SergOv - Nov 27 2011, 11:37
|
|
|
|
|
Nov 28 2011, 07:48
|
Частый гость
 
Группа: Участник
Сообщений: 165
Регистрация: 22-10-05
Из: Днепропетровск
Пользователь №: 9 975

|
Цитата(rx3apf @ Nov 27 2011, 14:13)  Ну чего тогда предъявлять претензии к "китайской схемотехнике" ? Разговор был о совершенно другой ситуации, так что пример совершенно не в кассу... Ээээээ ... позвольте. Как мне кажется, претензии предъявлялись не к схемотехнике, а к рекомендациям ... да и несколько не мной. Я лишь намекнул, что бывают случаи, когда теорию притянуть к происходящему слегка тяжеловато. К китайской схемотехнике, лично я, в данном случае претензий не имею.
|
|
|
|
|
Nov 28 2011, 10:03
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(Harbinger @ Nov 25 2011, 23:22)  Вообще-то далеко не факт, что GPIO модуля в процессе старта программы не становятся на какое-то время выходами (пусть из-за ошибки в фирмваре даже) - и в этом случае сажать ни на землю, ни на плюс их никак нельзя. Это уже нужно низкий уровень их фирмваре копать... Во избежание, решили просто держать всё подключенное к модулю в Z-состоянии до подъёма статуса - типа лучше перебдеть, чем недобдеть. +1 Скорей всего именно так. Как-то столкнулся с такой проблемой(модуль SIM300D): в схеме ножки RXD, DTR, RTS были притянуты к +3В, чтоб предотвратить паразитное питание при запуске модуля сажал эти ножки контроллером на землю, при этом некоторые модули(около 2-3%) запускались через раз, а то и вообще отказывались запускаться. Эти же модули стали вполне нормально запускаться после смены прошивки с 1008xxx на 1604xxx. Так-что проблема здесь действительно скорей софтовая чем аппаратная. Думаю, что до появления status состояние ножек нужно считать неопределенным.
|
|
|
|
|
Nov 28 2011, 15:33
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(pau62 @ Nov 28 2011, 16:41)  Вот становятся они выходами или не становятся - можно легко ослоциграфом проконтролировать. А вот что вы собираетесь делать, если модуль без спросу решил выключиться, а потом запуститься? Кто тогда ТХД вашего контроллера в Z или в 0 переведет? Ага, давайте расскажем про STATUS на прерывание - только сначала спросите симкома сколько времени надо модулю чтоб с катушек съехать. И кто обещает что он потом к разумной жизни вернется. Как согласовать выходы контроллера с модулем уже писано-написано-записано-переписано. Самый постой и дешевый вариант использовать подтяжку на status + выходы контроллера в режиме режиме ОК. Если конечно контроллер такие фокусы c TXD позволяет. Да и status на прерывание вполне реальный вариант, за 2-3мкСек ничего страшного не произойдет, особенно если подключить через резисторы. А с катушек он может съехать и без посторонней помощи, поэму ключ по питанию ставить надо.
|
|
|
|
|
Nov 28 2011, 15:51
|
Частый гость
 
Группа: Участник
Сообщений: 116
Регистрация: 22-10-11
Из: Россия
Пользователь №: 67 897

|
Цитата(=F8= @ Nov 28 2011, 19:33)  Да и status на прерывание вполне реальный вариант, за 2-3мкСек ничего страшного не произойдет, особенно если подключить через резисторы. А с катушек он может съехать и без посторонней помощи, поэму ключ по питанию ставить надо. Сколько надо времени на защелкивание структуры, которая состоит из элементов с граничной частотой хорошо за 50 или даже 100 мГц? Уж наверное не больше, чем когда мелкочип или атмел почешет себе жеппу и обработает таки прерывание. Так что это пустое самоуспокоение. Так что про ключ - единственная здравая мысль во всей теме. Типа не доверяешь товарищу - лучше застрели его от греха.
Сообщение отредактировал pau62 - Nov 28 2011, 15:52
|
|
|
|
|
Nov 28 2011, 20:55
|
Знающий
   
Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954

|
Цитата(Aner @ Nov 28 2011, 22:28)  для защелкивания ток как раз не нуджен, нужена скорость нарастания потенциала, а вот дальше потечет ток с нарастанием до максималного. Все что источник может выдать то и протечет через мк. "Latch-Up,ESD,And Other Phenomena" - Texas Instruments(рис2) Для того чтоб включить тиристор нужно создать достаточно большую разность потенциалов между выходом и Vcc, чтоб открыть верхний транзистор, чтоб тот в свою очередь открыл нижний. А для того, чтоб ее создать нужно чтоб ток на Rw превысил некоторое пороговое значение. Поправка, открывать нужно нижний транзистор, верхний уже открыт поскольку ток в цепи Out-база-Rw уже течет.
|
|
|
|
|
Nov 28 2011, 21:40
|

Гуру
     
Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463

|
Цитата(=F8= @ Nov 29 2011, 00:55)  "Latch-Up,ESD,And Other Phenomena" - Texas Instruments(рис2) Для того чтоб включить тиристор нужно создать достаточно большую разность потенциалов между выходом и Vcc, чтоб открыть верхний транзистор, чтоб тот в свою очередь открыл нижний. А для того, чтоб ее создать нужно чтоб ток на Rw превысил некоторое пороговое значение. рисунок 6 там же. При старте, малом, незначительном токе потенциал резко растет, затем спадает и вот он вам эффект. Поскольку питающий источник с низким внутренним сопротивлением ( все время ) и быстрый ( высокая скорость нарастания тока). Для борьбы с этим есть и много микросхем и множество решений как управлять скоростью нарастания тока при старте. Те кто поставил полевик в PowerKey. Могут наблюдать эффект зависания с некоторой регулярностью. Если правильно управлять скоростью нарастания при старте ( резком потреблении в режиме передачи) то эффекта не наблюдается.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|