реклама на сайте
подробности

 
 
> Господа, а не пора ли уже забыть про встроенные стеки?
=F8=
сообщение Jul 24 2013, 08:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Ну вот подумайте STM32103RET стоит около 5$(в принципе хватит даже STM32103RСT). Порт FreeRTOS для этого контроллера есть, так-же есть порт lwip+ppp для freertos, т.е. практически все системное п.о. уже написано, только бери и кушай sm.gif. При этом мы получаем систему с которой работать на порядок удобней чем со встроенным стеком соответственно уменьшается время разработки. Кроме того возможности такой системы намного шире, например попробуйте открыть с помощью Simcom-вского встроенного стека пару серверних портов, с помощью стека от Telit вы сможете открыть несколько портов но при этом каждый серверный сокет может принять только одно соединение, а это не годиться, к примеру, для web-сервера, и.т.д. Кроме того, как бонус, отказавшись от встроенного стека мы получаем практически полную независимость от типа gsm модуля.
Честно говоря вижу лишь один случай когда использование встроенного стека оправданно - когда программа работает на самом модуле(OpenAT, OpenCPU, phyton, java итд)
ЗЫ Недавно пришлось преводить девайс на Sagem HILO NC на внешний стек по причине глючности внутреннего. И был приятно удивлен насколько это просто.
Go to the top of the page
 
+Quote Post
3 страниц V  < 1 2 3  
Start new topic
Ответов (30 - 39)
viakon
сообщение Aug 7 2013, 09:19
Сообщение #31


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



при использовании своего стека энергосберегающие режимы работают?
Go to the top of the page
 
+Quote Post
=F8=
сообщение Aug 7 2013, 10:44
Сообщение #32


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(viakon @ Aug 7 2013, 12:19) *
при использовании своего стека энергосберегающие режимы работают?

При какие функции идет речь? CFUN абсолютно безразлично какой стек вы используете. Предавать данные в каком либо режиме кроме "1" разумеется не сможете.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Aug 7 2013, 15:24
Сообщение #33


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Цитата(kan35 @ Jul 31 2013, 09:49) *
И как автор правильно заметил - абсолютная свобода в выборе модема, вплоть до проводных и ethernet. Проектные цены на микроконтроллеры далеки от розничных про которые тут речь шла, контроллер за 2-3$ вполне тянет стек и полезную задачу с несколькими соединениями. Так же стек поддерживаает мульти-PPP, так что можно через 2 соединения одновременно выходить в сеть, например один будет проводной (eth), другой беспроводной (gsm).


Как пример - очень давняя разработка 2007 года на PIC18F1320 (256 ОЗУ, 8К флеш) - в гугле поиск "cambridge gprs": самописный стек на asm, работает через PPP - GPRS старых сименсов (начиная с C55) и Ethernet (ENC28J60). Поддерживал tcp, udp, dns, dhcp-клиенты. Плюс еще tDES или AES128 внутри на выбор. Сложного там особо ничего - иногда с АТ-командами внутреннего стека больше геморроя.
Но сейчас есть встроенные приложения (OpenAT, OCPU), с помощью которых можно реализовать любые надстройки силами самого модуля (в т.ч. и езернет прикрутить ч/з SPI). Также можно изнутри модуля дозвониться на *99***1# и своим кодом программно подять ррр.
Так, например, понадобилось сделать для роутера из LAN ч/з езернет (ENC28J60) в WAN ч/з GPRS (M12). Т.к. необходимо править IP-заголовки (портмаппинг), то внутренний стек модуля не подходит - тут надо работать на уроне IP-пакетов.

Go to the top of the page
 
+Quote Post
viakon
сообщение Aug 8 2013, 04:51
Сообщение #34


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(=F8= @ Aug 7 2013, 16:44) *
При какие функции идет речь? CFUN абсолютно безразлично какой стек вы используете. Предавать данные в каком либо режиме кроме "1" разумеется не сможете.

Читайте манулы внимательнее. BGS2 прекрасно передает и принимает данные в режиме CFUN=7 (другие просто не проверял, но думаю тоже долно работать). Другие модули также должны. Зачем вообще нужны режимы энерго сбережения если они не позволяют обмен данными. Проще тогда вообще отключать питание модуля.
А вот при самописном стеке такое возможно?
Go to the top of the page
 
+Quote Post
=F8=
сообщение Aug 8 2013, 05:52
Сообщение #35


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(viakon @ Aug 8 2013, 07:51) *
Читайте манулы внимательнее. BGS2 прекрасно передает и принимает данные в режиме CFUN=7 (другие просто не проверял, но думаю тоже долно работать). Другие модули также должны. Зачем вообще нужны режимы энерго сбережения если они не позволяют обмен данными. Проще тогда вообще отключать питание модуля.
А вот при самописном стеке такое возможно?

Прежде чем читать мануалы неплохо-бы ознакомиться со стандартами. Так-вот согласно GSM 07.07 описано 5 уровней функциональности 0-4. Из них обязательными к реализации являются только 0 и 1. Все, что выше 4 отдано на усмотрение производителя. Соответственно как ведет себя BGS2 в седьмом режиме я не знаю и знать не могу поскольку с этим модулем не работал. Более логично задать этот вопрос техподдержке производителя.
Стандарты, если интересно, ищите здесь.
Маленько ошибся, мануалы на Ваш модуль ссылаются не на GSM 07.07 а на 3GPP TS 27.007, но там то-же самое
Go to the top of the page
 
+Quote Post
viakon
сообщение Aug 8 2013, 09:50
Сообщение #36


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(=F8= @ Aug 8 2013, 11:52) *
Прежде чем читать мануалы неплохо-бы ознакомиться со стандартами. Так-вот согласно GSM 07.07 описано 5 уровней функциональности 0-4. Из них обязательными к реализации являются только 0 и 1. Все, что выше 4 отдано на усмотрение производителя. Соответственно как ведет себя BGS2 в седьмом режиме я не знаю и знать не могу поскольку с этим модулем не работал. Более логично задать этот вопрос техподдержке производителя.
Стандарты, если интересно, ищите здесь.
Маленько ошибся, мануалы на Ваш модуль ссылаются не на GSM 07.07 а на 3GPP TS 27.007, но там то-же самое


BGS2 приведен для примера. Как он себя при использовании внутреннего стека в режиме энергосбережения я знаю.
При своей реализации IP стека будут ли работать режимы энергосбережения модуля? CFUN=0 например, он обязательный.

Вместо чтения стандартов, предпочитаю читать даташиты, сразу становится понятно что реализовано.
Go to the top of the page
 
+Quote Post
=F8=
сообщение Aug 8 2013, 13:05
Сообщение #37


Знающий
****

Группа: Свой
Сообщений: 567
Регистрация: 7-07-07
Из: Донецк
Пользователь №: 28 954



Цитата(viakon @ Aug 8 2013, 12:50) *
BGS2 приведен для примера. Как он себя при использовании внутреннего стека в режиме энергосбережения я знаю.
При своей реализации IP стека будут ли работать режимы энергосбережения модуля? CFUN=0 например, он обязательный.


Подключите модем к компу. На компе есть TCP/IP стек. Подайте команду AT+CFUN=0. Сработало? Теперь попробуйте установить соединение не получается? Теперь аналогичные действия для CFUN = 7. Не могу сказать однозначно про BGS2, но MC52i в 7-м режиме соединение устанаваливает, а поскольку оба Cinterion-ы то...

Цитата
Вместо чтения стандартов, предпочитаю читать даташиты, сразу становится понятно что реализовано.

А зря.
Go to the top of the page
 
+Quote Post
viakon
сообщение Aug 8 2013, 14:59
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Цитата(=F8= @ Aug 8 2013, 19:05) *
Подключите модем к компу. На компе есть TCP/IP стек. Подайте команду AT+CFUN=0. Сработало? Теперь попробуйте установить соединение не получается? Теперь аналогичные действия для CFUN = 7. Не могу сказать однозначно про BGS2, но MC52i в 7-м режиме соединение устанаваливает, а поскольку оба Cinterion-ы то...

Ха. Причем тут стек то. Просто комповый драйвер не умеет выводить из CFUN=0. А еще вероятней проблемы с неработающим/выключенным flow control. CFUN=7 работает и хорошо. разницы по потреблению между этими режимами практически нет. Я получил ответ на свой вопрос, спасибо sm.gif.

ps: не понравился мне CFUN=0, надо RTS тащить до модуля. CFUN=7 практически тоже самое, но обходимся только CTS.
Go to the top of the page
 
+Quote Post
kan35
сообщение Aug 17 2013, 16:22
Сообщение #39


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



А в этих режимах энергосбережение сколько мА потребляет модем?
Я всегда пользовался стандартным режимом сна, управляемым как правило через линию DTR, модем потребляет при этом ок. 1мА. При этом и внешние стеки и все остальное полнофункционально работает. Через CFUN можно что то интереснее получить?
Go to the top of the page
 
+Quote Post
viakon
сообщение Aug 19 2013, 02:48
Сообщение #40


Местный
***

Группа: Участник
Сообщений: 290
Регистрация: 9-12-05
Из: г. Пермь
Пользователь №: 12 002



Около 1мА и потребляют.
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 10th August 2025 - 01:57
Рейтинг@Mail.ru


Страница сгенерированна за 0.01457 секунд с 7
ELECTRONIX ©2004-2016