Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM300C семинар последовательные порты и слет флеш
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
mgb
Здравствуйте.
В презентацию сказано

RTS: request to send, input, pull down inside,
SIM300's default mode is hardware follow control, no need it. You can use RTS for large data transferring or receiving.
If RTS is Low, MCU can send data to SIM300's buffer, about 10kbytes, If RTS is High, not suggest to send data to SIM300, maybe these data will be lost.

CTS: clear to send, output, default is Low.
Low, means there is some space for SIM300's buffer for sending data.
High, not suggest to send data to this buffer, as RTS above.

Вопрос следующий.
Передача данных по последовательному порту с использованием RTS и CTS в настоящее
время организуется как правило двумя способами.
1) Согласно стандарта RS-232C . Контроллер запрашивает у модема может
ли модем принять от него даны для чего контроллер выставляет сигнал RTS.
Если модем готов, он отвечает устанавливая в активный уровень сигнал CTS.
2) Начиная со стандарта RS-232E стала применяться другая схема.
Сигнал RTS стал использоваться НЕ как классический запрос на
передачу (Request To Send), а как сигнал, который дает разрешение
модему пересылать данные в контроллер.

Если переводить то, что приведено в презентации семинара, то получается, что обмен
идет по первому способу, т.е. согласно устаревшему RS-232C.

Хотелось бы ясности в этом вопросе. Очень тяжело когда переводишь с английского то,
что написал на английском китаец.

Еще желательно знать размер буфера SIM300C, в который МК сыпет данные и
размер буфера SIM300C, из которого модем сыпет в МК данные.

Еще вопрос
Если обмен происходит по второму варианту, а именно МК выставляя
сигнал RTS разрешает модему передавать в МК данные, то сколько байт
модем передаст в МК после выставления синала RTS, Вопрос из-за того, что
некоторые модемы siemens после получения сигнала RTS еще высыпают в МК
из буфера остаток около 250 байт. SIM300C сразу прекратит слать или тоже высыпет?

Меня интересует именно SIM300C.


Второй вопрос, судя по частоте поднятия его на форуме наболевший

В презентации сказано

ПРЕДУПРЕЖДЕНИЕ ОТ ПРОИЗВОДИТЕЛЯ !

Модули создавались для устройств с батарейным питанием.
При применении внешнего источника питания необходимо помнить
о корректном отключении модуля при помощи вывода PWRKEY или
команды AT+CPOWD=1.
Снятие питания с вывода VBAT без корректного выключения модуля
может привести к разрушению содержимого FLASH памяти.

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


Это просто не выдерживает критики. Все сотовые телефоны являются устройствами
с батарейным питанием. К ним что вторую батарею подцеплять в качестве
резервного источника? У многих из них наоборот рекомендуют отцеплять батарею, чтобы сбросить зависший телефон.

Дело здесь как мне кажется в другом.
Начались проблемы после перехода на память STT. С памятью SPANSION этих проблем
как я понял не было.
А SST и SPANSION имеют основное отличие. У них обеих есть схема защиты
от низкого питания, которая запрещает запись и стирание при низком
напряжении питания.
Так вот у SPANSION порог срабатывания этой защиты равен 2,5 вольта. А у
SST этот порог всего 1,5 вольта. Напряжение при котором работает находящийся
внутри модема процессор 1,8 вольта. Т.е. когда использовалась SPANSION,
она отключалась еще то того, как в нее мог что-то нехорошее записать
процессор.

Здесь же стало все наоборот. Процессор уже не может толком функционировать, из-за
пониженного напряжения ( например 1,6 вольт при медленном падении питания), а память SST еще работоспособна. Вот он и пишет в нее всякую еренду.

Дело здесь в другом.

В статье Укрощение модулей Simcom или три орешка для разработчиков, казано
следующее.
Даже уровня логического 0 достаточно чтобы через защитные диоды запитать часть чипсета и заставить модуль жить своей, непредсказуемой жизнью.

Вот где собака порылась.
Не должен модуль жить непредсказуемой жизнью. Для этого есть супервизоры питания
(стоят копейки), которые вообще должны блокировать работу модуля.
Именно для этого и чип SPANSION и SST имеют вывод RST, который по идее
подключаться к системному сбросу. SPANSION напрямую рекомендует делать так.

Был бы супервизор питания не было бы проблем ни с паразитной подпиткой
ни с пропаданием питания. Хорошо пусть копейки, но что-то супервизор стоит.
А вот вывод сигнала сброса на разъем не стоит практически ничего. Но этого
не делается. И делаться не будет, т.к. сомневаюсь, чтобы китайские разработчики
делали бы эти ответы насчет побайтной и постраничной записи во flash, если бы действительно
собирались это делать.


Там подход другой. Фирма изготовитель SST указывает в datasheet разделе
Absolute maximum stress rating.
Что flash работает до минус 20 градусов. Тогда ни о какой работе модуля при
более низких температурах не может быть и речи, т.е. вполне вероятно будут попадаться
модули, у которых по причине низких температур будут отказы flash чипов, например,
в виде стирания блоков памяти. На форуме видел, что китайцы ответили, что
они каждый модуль стали тестировать на низкие температуры.
Как бывший работник контрольно испытательного цеха по испытанию flash памяти, я глубоко
сомневаюсь в этом. Просто я знаю, что это за оборудование и чего стоят эти испытания.
Подозреваю, что испытания модуля будут стоить еще дороже.
Испытания зачатую стоят дороже изготовления чипа.
Посмотрите на цены чипов коммерческого и военного диапазонов и тоже
станете сомневаться.

Еще про слет прошивки. Если память находится в рабочем режиме, а МК уже сбаивает,
то время от времени он будет записывать в память что попало или стирать блоки.
И это относиться не только к flash. У меня это происходило с DS1996 (это ОЗУ
с батарейкой последовательным интерфейсом 1-wire)/ МК у меня запитывался отсвоей
батареи а ОЗУ от своей. Так вот пир просадке батареи, которой запитывался МК,
он портил информацию в ОЗУ, т.е. писал что попало куда попало. Поставил
супервизор питании – все встало на место.

Еще можно понизить вероятность слета прошивок из-за отключения питания, если самим
ставить этот супервизор и быстро в момент просадки разряжать им через мощный
транзистор емкость, которая стоит на линиях питания. В даташите SIM300C эту емкость рекомендуют 100мкф. Тогда процессору модуля будет оставаться меньше времени, чтобы
что-то испортить. Разумеется транзистор надо ставить перед, а не между
конденсатором и модулем. Но этим можно только снизить вероятность слета флеши, но
не победить окончательно проблему.

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

Все это по материалам форума и семинару.
И огромное спасибо CADiLO. В многом я разобрался с работой модуля благодаря его постам.
Очень толковые ответы, которые он пишет от себя. Ну а что ему говорят китайцы –
это на их совести.
Baser
По поводу RTS - в материалах семинара явная опечатка. Кстати, такой фразы в оригинальных симкомовских документах я не встречал. Аппаратное управление потоком у них по стандарту RS-232E:
CTS управляет потоком МК -> Модем,
RTS - Модем -> МК
Посмотрите AT Commands Set SIM300_ATC_V2.00, там есть команда
AT+IFC Set TE-TA Local Data Flow Control
где это написано. И можно вкл/откл как RTS, так и CTS

По размерам буферов модема, были упоминания
- буфер для приема данных от МК - 1кбайт,
- приемный буфер данных из сети GSM - 10кбайт (эту цифру видел только в материалах семинара, так что - неизвестно smile.gif )

А по поводу питания и аккумулятора: сам в свое время взывал к ув. CADiLO вот здесь
Ответ один: что есть, то есть, хотите - применяйте, боитесь - применяйте другие, более дорогие и не менее кривые модули smile.gif
Но замечу, что с последними прошивками крики о слетах флешек прекратились. Мне за несколько месяцев всяческих издевательств над SIM300 на столе, не удалось испортить флеш. Хотя подвиснуть модуль может.
mgb
Огромное спасибо за ответ Bazer. Я уже собирался проводить исследования поведение
RTS.

По поводу слета flash у меня опасения следующие.
При модернизации симкомовцами прошивки может измениться в адресном простарнстве
памяти расположение тех кусков программы, которые трут блоки или
что-то записывают во флеш. И ложный скачок ( например команда jump) при сбое процессора sim300c из-за пониженного питания, который возникал в предыдушей прошивке в текущей прошивке может и не выводить на эти программные куски.
Я так тоже сначала боролся с ложным стиранием в ds1996, про которую написал
в предыдущем посте. Сначала просто передвигал программные куски. На время
помогало, но при очередной модернизации программы, опять были сбои, и я опять передвигал
программные куски у своего МК. Когда понял, что это тупик поставил
супервизор. Поэтому думаю так, что при очередной модернизации симкомавцами
прошивки, проблема может снова возникнуть. Все таки супервизор питания понадежней
решает эту проблему.


Еще вопрос к Bazer, а какой номер прошивки SST у sim300c, при которой не
наблюдается слета флеш. Очень бы хотелось пользовать именно ее.
А то снова поменяют прошивку, и вдруг опять проблемы возникнут.
Baser
Цитата(mgb @ Jun 10 2008, 12:16) *
... Все таки супервизор питания понадежней решает эту проблему.

Да есть у них там супервизоры, наивно предполагать, что китайские разработчики менее грамотные, чем мы сами. Думаю, они налетели на какую-то нестыковку параметров применяемой комплектации, которую малой кровью решить не удается, только принципиальными изменениями. А это они могут отложить для следующей модели. Крупносерийное производство - махина неповоротливая.

Цитата
а какой номер прошивки SST у sim300c, при которой не наблюдается слета флеш. Очень бы хотелось пользовать именно ее.
А то снова поменяют прошивку, и вдруг опять проблемы возникнут.

На конец февраля была 1008B13SIM300C32_SST34HF3284
Но недавно CADiLO объявлял о новых релизах, ищите на их сайте.
mgb
Еще раз спасибо, Baser.
И что китайские специалисты не глупее нас согласен.
И что крупносерийное производство неповоротливо полностью согласен.
Молодцы, что умеют организовать крупносерийное.
ArtemKAD
Цитата
При модернизации симкомовцами прошивки может измениться в адресном простарнстве памяти расположение тех кусков программы, которые трут блоки или что-то записывают во флеш.

Ну тут выход достаточно простой - не надейся на прошивку которая приходит в модулях - переписывай модули на хорошо проверенный вариант.
Цитата
Это просто не выдерживает критики. Все сотовые телефоны являются устройствами с батарейным питанием. К ним что вторую батарею подцеплять в качестве резервного источника?

Зачем вторую? Поставь хотя-бы одну и он будет корректно работать!

Цитата
Что flash работает до минус 20 градусов. Тогда ни о какой работе модуля при более низких температурах не может быть и речи, т.е. вполне вероятно будут попадаться модули, у которых по причине низких температур будут отказы flash чипов, например, в виде стирания блоков памяти.

Ну как-бы сказать - по факту модуль сам не слабо греется. Так что можешь смело спускать нижнюю планку градусов на 5-10 вниз.
ЗЫ. Кстати, очень большую мину под нижнюю температуру подложили "без свинцовые технологии" - пайка менее устойчива к морозам.


Супервизор у китайцев есть - при медленном спадании напряжения проблем не обнаружено (самый наихучший режим при отсутствии супервизора)
CADiLO
По поводу буфера было здесь

http://www.microchip.ua/simcom/SimCom/Sim3...odule%20FAQ.pdf

5.3
Is SIM300 supposed to picture transmission and how large is the data buffer of SIM300?
The default data buffer is 1KB. For picture transmission application, it is advised to adopt UDP socket.

я сейчас в отпуске, забежал на минутку на работу, так что более подробно смогу пообщаться после 17-го.

новые прошивки выложу сразу после выхода из отпуска.
RomanRom
Попутно еще вопрос по презентации. Там указано, что оставлять свободным вывод VRTC нежелательно. Нужен ионистор (на сколько фарад?) или батарейка (на сколько вольт?). А вот в китайском DemoBoardе цепь VRTC висит в воздухе, хотя по печати предусмотрено место. Так надо ли все это?
Harbinger
Так там просто часы при пропадании питания собьются.
С Симкомом пока не пробовал, а с Q2406 ионистор на 47 мФ держит часов 5-7.
Батарейка - обычная литиевая. 3 В.
GP_
Цитата(RomanRom @ Jun 12 2008, 20:20) *
Попутно еще вопрос по презентации. Там указано, что оставлять свободным вывод VRTC нежелательно. Нужен ионистор (на сколько фарад?) или батарейка (на сколько вольт?). А вот в китайском DemoBoardе цепь VRTC висит в воздухе, хотя по печати предусмотрено место. Так надо ли все это?

У меня модуль SIM300C не выключался кнопкой PWRkey на одном из вариантов плат, а на другом выключался, в первом случае не было конденсатора на выходе VRTC, во втором был 10мк. Правда модуль был с прошивкой 09 spansion, на других вариантах не проверял.
kaf
Цитата(Harbinger @ Jun 13 2008, 13:28) *
С Симкомом пока не пробовал, а с Q2406 ионистор на 47 мФ держит часов 5-7.
Батарейка - обычная литиевая. 3 В.

Для sim300 нужна батарейка на 1,5В
HARMHARM
Цитата(RomanRom @ Jun 12 2008, 20:20) *
Попутно еще вопрос по презентации. Там указано, что оставлять свободным вывод VRTC нежелательно. Нужен ионистор (на сколько фарад?) или батарейка (на сколько вольт?). А вот в китайском DemoBoardе цепь VRTC висит в воздухе, хотя по печати предусмотрено место. Так надо ли все это?

CADiLO уже писал про это. Достаточно конденсатора 0,1..1 мкФ, если не нужна автономная работа часов. Я поставил внешние PCF8563, потребление часов в модуле не выдерживает никакой критики smile.gif
CADiLO
Это тянется еще со времен SIM100. Там из-за некорректной схемотехники модули могли не включаться - не запускался генератор 32.768кгц на чипсете и не было одного из прерываний.
При установленой батарейке все работало. Лечилось добавлением в модуль резистора 15-22 мегом.
В SIM300 схемку поправили, глобальных проблем не было, но в последних версиях даташита опять появилось предупреждение не оставлять ногу в воздухе. Конденсатора вполне достаточно.

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