Полная версия этой страницы:
SIM300D линия RI
Устройство на базе SIM300D большую часть времени находится в спячке. Линия RI заведена на прерывание процессора. Звонок или входящая СМС приводит к изменению состояния RI. По низкому уровню происходит выход из спячки, частота процессора увеличивается и пошло-поехало. Замечено, что довольно часто линия RI произвольно (входящего вызова нет, входящей СМС нет) меняет состояние , что приводит к просыпанию процессора со всеми вытекающими. Проверяет СМС - ничего нет, засыпаем обратно. Ничего страшного, но напрягает лишнее потребление. А потребление в данном устройстве критично.
Как быть ?
проинформируйте какая прошивка у вас?
как в схеме линия RI заведена на прерывание? Есть ли резистор и куда?
какой проц, какое напряжение питания у проца?
какие команды использовали для RI?
groovy
Mar 27 2010, 12:14
Цитата(0xFE @ Mar 27 2010, 10:06)

Устройство на базе SIM300D большую часть времени находится в спячке. Линия RI заведена на прерывание процессора. Звонок или входящая СМС приводит к изменению состояния RI. По низкому уровню происходит выход из спячки, частота процессора увеличивается и пошло-поехало. Замечено, что довольно часто линия RI произвольно (входящего вызова нет, входящей СМС нет) меняет состояние , что приводит к просыпанию процессора со всеми вытекающими. Проверяет СМС - ничего нет, засыпаем обратно. Ничего страшного, но напрягает лишнее потребление. А потребление в данном устройстве критично.
Как быть ?
Скорее всего вы ловите помеху и/или применили неудачную схемотехнику/разводку.
Мы тоже используем RI по прерыванию, правда не из спяки, но все же. Ложных срабатываний нет.
Последовательного резистора на RI нет, ибо вход, а не выход. Подтяжек тоже нет, не видел я требований. Питание проца 3.3В.
Если имеется ввиду подозрение что нет согласования уровней по всем линиям , то скажу,что все выходы проца идущие на модуль имеют последовательные резисторы 150 Ом. Не фонтан, конечно, но по докам разрешают. Возможно это и помеха, но на осциле чётко видно, что линия дёргается вниз до упора, причём, ладно бы я передавал по GPRS что-то, тогда пиковые нагрузки ещё могут вызвать помеху, а когда модуль в спячке, проц в спячке потребление минимально, откуда там помеха ? Прошивка 15-я.
Цитата(Aner @ Mar 27 2010, 12:09)

проинформируйте какая прошивка у вас?
как в схеме линия RI заведена на прерывание? Есть ли резистор и куда?
какой проц, какое напряжение питания у проца?
какие команды использовали для RI?
1. 15
2. Как обычно заведена, без резисторов.
3. AT91SAM7S256, 3.3В
4. По RI команд не припомню.
chief_olimp
Mar 27 2010, 15:14
простите, но меня вот интересует. Много вы наэкономите? Основное потребление как раз на модуле. А то что процессор пару лишних раз проснется - не беда. Совсем другое дело: почему он без толку просыпается?
Цитата(chief_olimp @ Mar 27 2010, 18:14)

простите, но меня вот интересует. Много вы наэкономите? Основное потребление как раз на модуле. А то что процессор пару лишних раз проснется - не беда. Совсем другое дело: почему он без толку просыпается?
Немного. Порядка нет, вот проблема.
alexey123
Apr 2 2010, 19:16
Цитата(0xFE @ Mar 27 2010, 18:16)

Немного. Порядка нет, вот проблема.
Читайте документацию внимательно. /RING шевелится не только от звонков или смс.
Он еще каждый URC сопровождает.
AT+CFGRI
Цитата(alexey123 @ Apr 2 2010, 23:16)

Читайте документацию внимательно. /RING шевелится не только от звонков или смс.
Он еще каждый URC сопровождает.
AT+CFGRI
Давно уже. AT+CFGRI=1 (URC не сопровождается импульсом линии RI), AT+CIURC=0 (URC отключены)
Всё равно дёргается до земли 120мс. Это может быть раз минуту, а то и чаще, а иногда долго нету такого эффекта.
alexey123
Apr 3 2010, 09:58
Цитата(0xFE @ Apr 3 2010, 09:08)

Давно уже. AT+CFGRI=1 (URC не сопровождается импульсом линии RI), AT+CIURC=0 (URC отключены)
Всё равно дёргается до земли 120мс. Это может быть раз минуту, а то и чаще, а иногда долго нету такого эффекта.
я бы оставил URC включенным, и посмотрел что из модема лезет в теч. всего этого времени.
Undervoltage, overvoltage... еще что-то.
все это (гипотетически) может приводить к переинициализации (сбросу состояния) внутренних компонентов модема.
А потому может и /RING дергаться. + возможные баги в прошивке.
надо убедиться, что его состояние модема "стабильно".
Цитата
... Подтяжек тоже нет, не видел я требований...
Своей головой нужно думать, в первую очередь, а не только на требования смотреть. Если не хотите "ловить глюки" - подтяжки для UART-а (5-10К) нужно устанавливать
обязательно, во всех случаях! Подтягивать к нужному начальному уровню необходимо не только RX и TX, но и все сигнальные линии, входы и выходы, вне зависимости от того, как они используются, и используются ли вообще. Только после этого можете "грешить" на программные "глюки"...
ArtemKAD
Apr 6 2010, 09:19
Цитата
Своей головой нужно думать, в первую очередь, а не только на требования смотреть.
Хм... Хороший совет. Правда создатели аппнотов не только думали головой, но еще и знали как думали головой те разработчики которые ваяли эти модули.
Цитата
Если не хотите "ловить глюки" - подтяжки для UART-а (5-10К) нужно устанавливать обязательно, во всех случаях! Подтягивать к нужному начальному уровню необходимо не только RX и TX, но и все сигнальные линии, входы и выходы, вне зависимости от того, как они используются, и используются ли вообще.
Еще лучше совет. Судя по опыту этого форума следование подобному совету - прямой путь к ловле этих самых глюков!
ЗЫ. Уточните пли-из к примеру - куда подключать подтяжки ножки Rx и Tx модуля? ...
Цитата(ArtemKAD @ Apr 6 2010, 13:19)

Хм... Хороший совет.
Да, ладно, не обращайте внимания. Дядя про фантомную запитку ничего не слышал, он же своей головой всё время думает. Это не говоря про лишнее энергопотребление - каждую линию подтянуть 5-ю килоомами.
av-master
Apr 6 2010, 09:38
подтяжки ставить на вывод STATUS/ или на управляемый этим выводом LDO на 2.8 - 3.0 V
Цитата(alexey123 @ Apr 3 2010, 13:58)

я бы оставил URC включенным, и посмотрел что из модема лезет в теч. всего этого времени.
Undervoltage, overvoltage... еще что-то.
все это (гипотетически) может приводить к переинициализации (сбросу состояния) внутренних компонентов модема.
А потому может и /RING дергаться. + возможные баги в прошивке.
надо убедиться, что его состояние модема "стабильно".
Включил обратно вывод URC, погонял. Результат неутешительный , никаких URC не лезет (конечно, за исключением, в начале инициализации Call Ready). Кстати, дефект возникает только когда модуль в спячке. DTR=1. Прошивку поменял на 17-ю, результат тот же. Небольшую подтяжку после иницализации включал (проц позволяет по каждой ноге по отдельности включать поддтяжку к питанию) и для RI , и для TX/RX - не помогает. Уже не знаю куда копать - всё идеально пашет кроме этого бага.
Цитата(av-master @ Apr 6 2010, 13:38)

подтяжки ставить на вывод STATUS/ или на управляемый этим выводом LDO на 2.8 - 3.0 V
Вот это попробуем.
И вот это еще посмотрите - здесь описаны все моменты появления RI
http://microchip.ua/simcom/GSM-GPRS-GPS/Ap...0Port_V1.01.pdf
Цитата(CADiLO @ Apr 6 2010, 14:08)

И вот это еще посмотрите - здесь описаны все моменты появления RI
http://microchip.ua/simcom/GSM-GPRS-GPS/Ap...0Port_V1.01.pdf[утирает слёзы]
Смотрел!
URСшек нету, датаколлов нету, смс, завноков нету.
Спинным мозгом чувствую что какая-то линия шалит без подтяжки.
Цитата(0xFE @ Apr 6 2010, 13:18)

Спинным мозгом чувствую что какая-то линия шалит без подтяжки.
Вам тут правильно написали про паразитное питание, не надо просто так пихать подтяжки, проблем можно обрести еще больше. Думайте как отвязать подтяжку от модуля, мы используем промежуточный буфер.
Цитата(groovy @ Apr 6 2010, 14:43)

Вам тут правильно написали про паразитное питание, не надо просто так пихать подтяжки, проблем можно обрести еще больше. Думайте как отвязать подтяжку от модуля, мы используем промежуточный буфер.
Мне тут правильно написали про линию статус, либо к LDO включающееся по её появлению. Что не так ?
ArtemKAD
Apr 6 2010, 10:56
Цитата
Мне тут правильно написали про линию статус, либо к LDO включающееся по её появлению.
Да, правильно.
Кроме того, стоит внимательно посмотреть на состояние самого Status-а. Если он меняется - модуль улетает на пересбросы. Еще как вариант - посмотри осциллографом меняется ли на самом деле RI . Возможно там просто МК плохо согласован с логическими уровнями модуля.
ЗЫ. А питание МК какое?
Цитата(ArtemKAD @ Apr 6 2010, 14:56)

Да, правильно.
Кроме того, стоит внимательно посмотреть на состояние самого Status-а. Если он меняется - модуль улетает на пересбросы. Еще как вариант - посмотри осциллографом меняется ли на самом деле RI . Возможно там просто МК плохо согласован с логическими уровнями модуля.
ЗЫ. А питание МК какое?
Всё писал выше. Смотрел осцилографом (Tektronix). RI красиво падает на 120мс, как в случаях URС, SMS, звноков, датаколов.
Питание проца 3.3В, согласование - последовательные резисторы на линиях TX, DTR, RTS - 150Ом. Модуль не слетает. Если бы слетал, появлялись соответствующие сообщения.
Это с любым оператором такое происходит или с другим опсосом не пробовали ?
Цитата
Вам тут правильно написали про паразитное питание, не надо просто так пихать подтяжки...
Про паразитное питание неправильно написали. Если на МК питания нет, а на его входах есть высокие уровни, то получите это самое "паразитное питание" через встроенные защитные диоды. От наличия/отсутствия подтяжек это не зависит. И нужно они для другого. А именно, для того, чтобы зафиксировать уровни, в те моменты когда входы/выходы находятся в 3-м состоянии. В частности, в момент включения, инициализации и т.п. Поэтому они должны быть обязательно внешними, а не внутренними. Номиналы подбираются исходя из допустимого энергопотребления и требуемой устойчивости к наводкам.
Цитата(CADiLO @ Apr 6 2010, 15:12)

Это с любым оператором такое происходит или с другим опсосом не пробовали ?
Была мысль, что опсос шлёт важное про погоду или местоположение, поменял 3 симки разных опсосов - всё одно. Вставлял их в телефон.
Нет-нет. Здесь чистый косяк по наводке, будем смотреть. Подтяжки или ещё что-то лезет.
Цитата(@Ark @ Apr 6 2010, 15:18)

Про паразитное питание неправильно написали. Если на МК питания нет, а на его входах есть высокие уровни, то получите это самое "паразитное питание" через встроенные защитные диоды. От наличия/отсутствия подтяжек это не зависит. И нужно они для другого. А именно, для того, чтобы зафиксировать уровни, в те моменты когда входы/выходы находятся в 3-м состоянии. В частности, в момент включения, инициализации и т.п. Поэтому они должны быть обязательно внешними, а не внутренними. Номиналы подбираются исходя из допустимого энергопотребления и требуемой устойчивости к наводкам.
Поиск рулит.
Для тех кто в танке - на модуль может поступать питание, но логически он может быть выключен. В этот момент подтяжки могут его угробить.
А на чем сделано питание и какое напряжение на VBAT? И еще - зарядное используете ?
Здесь момент такой - что при lower voltage - модуль может и сбросится, а вот на иголки по upper voltage может среагировать выдачей RI
Дальше - что с микрофонными входами 0 и 1 канала ?
Если в воздухе или неправильно реализовано, то может быть наводка туда - RI будет отзываться на ошибочное автоопределение гарнитуры - обслуживание команд CEXTHS, CEXTBUT - это есть в апнотесе.
Если не используем, то попробовать посадить входы на GND
Цитата(CADiLO @ Apr 6 2010, 15:28)

А на чем сделано питание и какое напряжение на VBAT ?
И еще - зарядное используете ?
Зарядное не использую. Узел St1S10 .Напряжение 4.12В. Модуль в спячке. Когда не в спячке - проблем с RI нет.
Разводка в топике "sim300d (не запускается)".
ArtemKAD
Apr 6 2010, 11:38
Цитата
Всё писал выше. Смотрел осцилографом (Tektronix). RI красиво падает на 120мс, как в случаях URС, SMS, звноков, датаколов.
Status при этом не меняется?
Если нет, то почти наверняка это санкционированное желание ПО модуля и подтяжка тут не прокатит. А вот по какому событию..... Я бы включил URC и все сообщения с ними связанные просмотрел. Возможно +CFGRI не по всем событиям отключает.
Цитата(ArtemKAD @ Apr 6 2010, 15:38)

Status при этом не меняется?
Если нет, то почти наверняка это санкционированное желание ПО модуля и подтяжка тут не прокатит. А вот по какому событию..... Я бы включил URC и все сообщения с ними связанные просмотрел. Возможно +CFGRI не по всем событиям отключает.
Поясню ещё разок. Девайс находится в спячке. Как только дёргается RI, происходят некоторые операции - включается процессор, происходит проверка наличия новых смс (ат-командами). Все эти операции, ат-команды, запросы, ответы, URC и прочее я наблюдаю в терминале. Платка с преобразователем подключена к девайсу на отдельный UART, куда транслирется всё что происходит на других уартах. Само-собой, я имею возможность наблюдать URC, которые могут возникать если дёргается RI, но их нет.
Посмотрел разводку.
Попробуйте таки аналоговые входы (и ADC тоже) прицепить к GND
Цитата(CADiLO @ Apr 6 2010, 15:52)

Посмотрел разводку.
Попробуйте таки аналоговые входы (и ADC тоже) прицепить к GND
Прицепил. Результат отрицательный, хотя надежды были, конечно.
По поводу иголок по питанию.
Ширина шума по питанию менее 15мВ, с иголками вниз до 40мВ, с периодом 4мс. Во время дозвона просадка 100мВ. Вобщем, питание нормальное.
ArtemKAD
Apr 6 2010, 12:05
Status при этом не меняется? Это тест на превышение напряжения. Которое наиболее вероятно как раз в спячке (малое потребление) если стабилизатор плохо работает при малых токах.
Цитата(ArtemKAD @ Apr 6 2010, 16:05)

Status при этом не меняется? Это тест на превышение напряжения. Которое наиболее вероятно как раз в спячке (малое потребление) если стабилизатор плохо работает при малых токах.
Нет, при изменениии RI, не меняется. Но вид её не радует. Пульсации через 20мкс ажно по вольту амплитудой. Откуда такое - непонятно.
av-master
Apr 6 2010, 12:39
изопреновый спирт - ИМХО. Лучший доктор ) и керамика по ПО СТАТУСУ )
(Аж форум ожил

ура новый баг нашли )) ГГ )
Учитывая что линия STATUS это вывод чипсета, то есть просто нога порта, то керамика там.... эээээээ......
Да и подтяжек на статус много не навешаешь - нагрузочная способность маловата.....
Вобщем или питание или наводка.... Была мысль что антенна разведенная на плате так светит, но почему-то не озвучил....
Всем спецам спасибо за советы и участие в этом вебинаре. Буду разбираться дальше. Грязный статус - это следствие чего-то более грязного. Может и антенна светит, вобщем, не быстро это всё. Неудобство, что платка маленькая, тут аккуратнее надо, спокойнее.
Вобщем так. С линией status всё в порядке, как и с со всем остальным по части железа. Вчера, в запарке, крокодил слез с земляного пятака, в результате на осциллографе смотрел сигналы относительно воздуха.
Так что спирт ,конечно же, понадобится, но для другого.
Далее.
Дотумкал включить URC по событию прихода сообщений от опсоса. Почему не сделал этого раньше - непонятно. В апнотесе полный список URCшек , которые надо было проработать. Включил вывод командой AT+CNMI=2,1,2,1,0. Выяснилось, что линия RI дёргается с приходом сообщения о местоположении , а именно +CBM:0,50,1,1,1 OBLAST. По умолчанию было записано 2,1,0,0,0.
Команда AT+CFGRI=0 или 1, на это дело не влияет никак!!!
То есть линия RI дёргается по приходу cell broadcast message.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.