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

 
 
7 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> sim900 и антенна на печати
_Артём_
сообщение Jun 4 2013, 14:14
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Frolov Kirill @ Jun 4 2013, 16:17) *
Простейший printf займёт "половину памяти" в этой атмеге.

Не нужен там printf, даже простейший.

Цитата(Frolov Kirill @ Jun 4 2013, 16:17) *
А чтоб принять SMS-ку потребуется более половины ОЗУ.

Многовато как-то.
Максимальная длина смс - 160 байт + телефонный номер 14 байт. Остаётся ~800 байт ОЗУ.

Цитата(Frolov Kirill @ Jun 4 2013, 16:17) *
Реальный проект, например, с ограниченным функционалом, превышает 30 тыс. строк

Так и есть. На мега8 реально не сделать. Минимум mega64/128 нужно.
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Jun 4 2013, 14:27
Сообщение #32


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(_Артём_ @ Jun 4 2013, 18:14) *
Не нужен там printf, даже простейший.


Таки дилетантство. Он потребуется даже в AT+CMGS.

Цитата
Многовато как-то.
Максимальная длина смс - 160 байт + телефонный номер 14 байт. Остаётся ~800 байт ОЗУ.


Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2. Плюс заголовок и т.п... И это только один сегмент. На запрос баланса их запросто пара-тройка придёт.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jun 4 2013, 14:31
Сообщение #33


Гуру
******

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



Вам поспорить так хочется? Или нахамить? Зря....
Последний год думал, что заразился по..измом, пока не узнал, что это называется стрессоустойчивость. sm.gif

Объясню - кроме Вас еше сотни пользователей которые делают на разных контроллерах в том числе и на 10 летней давности.
Вы можете делать как Вам хочется и на чем хочется. Для остальных я объясняю с чем они могут столкнуться.

Итак документ http://microchip.ua/simcom/SIM900x/SIM900/...esign_V2.04.pdf
Страница 18 рисунок 1 - рекомендуемая схема поверкея.
Это не я придумал. Не хотите - не придерживайтесь.
Но при отступлении от документа Симком рассматривает это как не выполнение рекомендаций и вопросы к рассмотрению не принимает.
А вот шанс получить глюки - имеется.

Ну и еще - сами говорите о новизне, а пользуетесь древним, неподдерживаемым hitech-C 9.51pl2
При том что Хайтек давно продался Микрочипу.
Кошек еще уметь готовить нужно прежде чем говорить что XC глючные.

Я уже пару раз приводил пример проекта сделаного на асме. Если повторите на том же контроллере на C - ставлю ящик коньяка.

>>>>Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2.

А конвертировать на лету не пробовали? Или тоже дилетанство?

Тогда могу дать прикольный проект конца 80х на 580ВМ80 - часы с подачей звонков в школе - ОЗУ НЕТ ВООБЩЕ - все на регистрах процессора.
С индикатором кстати - от часов которые в виде конструктора продавались на 145 серии.
Математика плюс правильный алгоритм. В Днепропетровске в свое время стояли в 16 школах и 2 техникумах.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jun 4 2013, 14:38
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Frolov Kirill @ Jun 4 2013, 17:27) *
Он потребуется даже в AT+CMGS.

Что без принтф строчку в UART послать никак-чтоли?


Цитата(Frolov Kirill @ Jun 4 2013, 17:27) *
Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ

160 байт занамают 600 байт? sm.gif
Цитата(Frolov Kirill @ Jun 4 2013, 17:27) *
около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2. Плюс заголовок и т.п...

Кодировать в PDU можно не всю сразу а по мере отправки. Тогда 600 байт не надо.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jun 4 2013, 14:55
Сообщение #35


Гуру
******

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



>>>Таки дилетантство. Он потребуется даже в AT+CMGS

Дилетанство это тратить память и ресурс на вызов не нужной функции, когда можно из таблицы побайтно в порт/из порта в цикле.
Как вариант. Есть и другие решения и тоже без стандартных функций.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Jun 4 2013, 15:26
Сообщение #36


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(CADiLO @ Jun 4 2013, 18:31) *
Итак документ http://microchip.ua/simcom/SIM900x/SIM900/...esign_V2.04.pdf
Страница 18 рисунок 1 - рекомендуемая схема поверкея.
Это не я придумал. Не хотите - не придерживайтесь.


Если они в схеме нарисуют рекомендуемый контроллер -- что, всем точно такой же ставить? Или рекомендуемую батарейку. А у них ещё рекомендуемый источник питания. Всем на таком делать? Не надо чепухи. Рекомендуемая схема даётся для примера, а не для обязательного повторения.

Цитата
А вот шанс получить глюки - имеется.


Преимущественно при неправильном программировании и использовании МК. Принципиальных проблем здесь нет. Вы на них указать не можете. Про защитные диоды я ответил. Можно ставить точку.

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

Цитата
Ну и еще - сами говорите о новизне, а пользуетесь древним, неподдерживаемым hitech-C 9.51pl2
При том что Хайтек давно продался Микрочипу.
Кошек еще уметь готовить нужно прежде чем говорить что XC глючные.


Кошки уже давно изготовлены, ещё до того как. А XC8 просто не работает, как и не работала никогда PRO версия со сколько-нибудь большими проектами -- это суровая правда жизни. Как и то, что микрочипу на это наплевать. Кому нужно пользуют STD версии. Не работает оно на выражениях x=y со словами "too complex expression", я уж не знаю что тут упрощать. Насколько я понимаю, люди из hitech software не осилили свой "omniscent optimizer" и сейчас там проект не поддерживают, а больше поддерживать его некому. И XC8 -- это лишь переименованная и перекрашенная на новый лад всё та же старая PRO версия. Changelog это прекрасно подтверждает -- никаких принципиальных изменений за последние три года, добавили новые .h файлы и такие мелочи всё больше. Подталкивают потребителей на PIC24.

Любите сравнивать -- сравните любой код с плавающей точкой STD версии и PRO. Будете неприятно поражены... Это вот где был нужен ассемблер.

Цитата
Я уже пару раз приводил пример проекта сделаного на асме. Если повторите на том же контроллере на C - ставлю ящик коньяка.


Есть какая-то неуловимая всё разница, между проектами для реальной жизни и чемпионскими достижениями на ассемблере, не находите? Последние хороши только для соревнований.

И ящика определённо мало. Столько я не выпью.

Цитата
>>>>Максимальная длина SMS -- 140 байт (160 7-битных символов). Что занимает около 600 байт ОЗУ: 140 * 4 ибо передача в HEX и UCS2.

А конвертировать на лету не пробовали? Или тоже дилетанство?


Таки да, дилетанство. Овчинка определённо не стоит выделки. Вагон коньяка никто за это не предложит. Для Apollo Guidance Computer -- такое решение имело бы смысл. Но у нас тут не NASA и сейчас не 1966 год. Можно было бы и процессор свой сделать на микросхемах 1533 серии. Но зачем? Так и в странной архитектуре ПО, где все слои смешаны, смысла нет. Проще поставить достаточное количество ОЗУ и сократить время разработки.


Цитата(CADiLO @ Jun 4 2013, 18:55) *
>>>Таки дилетантство. Он потребуется даже в AT+CMGS
Дилетанство это тратить память и ресурс на вызов не нужной функции, когда можно из таблицы побайтно в порт/из порта в цикле.
Как вариант. Есть и другие решения и тоже без стандартных функций.


Стандартные функции существуют для того, чтобы не изобретать свои самодельные велосипеды с кривыми квадратными колёсами. Дилетанство -- это отрицать этот очевидный факт. В объёме реального проекта, я приводил цифры, объём printf'а не заметен.




Цитата(_Артём_ @ Jun 4 2013, 18:38) *
Что без принтф строчку в UART послать никак-чтоли?


printf нужен для преобразования из числовой формы в текстовую. Для HEX-кодов и десятичных чисел (в CMGS параметром идёт длина PDU).

Цитата
Кодировать в PDU можно не всю сразу а по мере отправки. Тогда 600 байт не надо.


Я про приём. Для отправки 160 байт нужно вообще 140 байт (плюс заголовок). И для отправки 70 символов русского текста те же 140. Возможно 280, потому, что поддержка извращения с кодированием (не в PDU, только HEX) на лету занимает сильно непропорционально больше программной памяти, чем экономит ОЗУ.

В обратную сторону так просто не получится потому, что чтобы разбирать PDU нужно вначале разделить ответы модема. Есть конечно теория, которая говорит нам, что любой недетерминированный конечный автомат можно превратить в детерминированный с очень большим числом состояний -- но проверять это на практике: овчинка выделки точно не стоит.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jun 4 2013, 15:53
Сообщение #37


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Frolov Kirill @ Jun 4 2013, 18:26) *
Я про приём.

Приём тоже на лету можно делать без проблем.

Цитата(Frolov Kirill @ Jun 4 2013, 18:26) *
Для отправки 160 байт нужно вообще 140 байт (плюс заголовок). И для отправки 70 символов русского текста те же 140. Возможно 280, потому, что поддержка извращения с кодированием (не в PDU, только HEX) на лету занимает сильно непропорционально больше программной памяти, чем экономит ОЗУ.

Русский язык не рассматриваем - на мега8 это не сделать.
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Jun 4 2013, 16:03
Сообщение #38


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 2-02-11
Пользователь №: 62 643



Цитата(_Артём_ @ Jun 4 2013, 19:53) *
Приём тоже на лету можно делать без проблем.


Можно, но бессмысленно и абсурдно.

Цитата
Русский язык не рассматриваем - на мега8 это не сделать.


А без русского языка оно всё не нужно никому --> ЧТД.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jun 5 2013, 07:01
Сообщение #39


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Спасибо за подсказки. Дорабатываю схемку. Думаю придется поставить MCP1702t-3002 (стабилизатор 3v) для питания atmega8L. мега L может работать от 2.7 v на частоте до 8 мГц. Это даст возможность напрямую стыковать sim900 и мегу.
По поводу споров по программе - думаю они лишние, поскольку в конечном итоге все зависит от функционала. На данное простое устройство достаточно 4кбайт программы. SMS вообще располагаю в программной памяти. Когда нужно вывести они выводятся побайтно. printf в микроконтроллере - анахронизм для новичков. Пользуюсь IAR много лет. Устраивает.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jun 5 2013, 07:26
Сообщение #40


Гуру
******

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



>>>Спасибо за подсказки. Дорабатываю схемку. Думаю придется поставить MCP1702t-3002 (стабилизатор 3v) для питания atmega8L. мега L может работать от 2.7 v на частоте до 8 мГц. Это даст возможность напрямую стыковать sim900 и мегу.

Если питание будет только от аккумулятора посмотрите на потребление самого стабилизатора.
В Вашем случае 1 полевик и 1 резистор на согласование уровней могут оказаться экономичнее как по деньгам так и по потреблению, а атмегу оставить питаться от аккумулятора и при необходимости просто усыплять и модуль и контроллер.

Рекомендую предусмотреть полевик с малым падением (схема на форуме обсуждалась) для аварийного перезапуска модуля по питанию.
Могут встретиться ситуации когда модуль зависет и только передернуть питание останется. Очень редко но бывает.




--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jun 5 2013, 08:28
Сообщение #41


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(CADiLO @ Jun 5 2013, 10:26) *
Если питание будет только от аккумулятора посмотрите на потребление самого стабилизатора.
В Вашем случае 1 полевик и 1 резистор на согласование уровней могут оказаться экономичнее как по деньгам так и по потреблению, а атмегу оставить питаться от аккумулятора и при необходимости просто усыплять и модуль и контроллер.

Рекомендую предусмотреть полевик с малым падением (схема на форуме обсуждалась) для аварийного перезапуска модуля по питанию.
Могут встретиться ситуации когда модуль зависет и только передернуть питание останется. Очень редко но бывает.

Резонно. Нужно подумать.
Вообще мега при наличии сети будет питаться от источника на Lm2574. Я предположил, что можно последовательно еще добавить и MCP1702t-3002(согласовать уровни). Стоит она в пределах 1 бакса. Вроде недорого. От акб мега будет запитываться только при пропадании сети. Развязка одним маломощным диодом шотки (малое падение). Тоесть когда есть сеть и соответственно есть 5 В то на MCP1702t-3002 поступают 5 В. Если сеть пропала то на MCP1702t-3002 через диод будет подано напряжение от акб. При наличии сети (поскольку есть диод) от акб на MCP1702t-3002 (соответственно на мегу) ничего не пойдет пскольку 5 В больше 4.2 В
При этом sim900 будет питаться только от акб который периодически будет подзаряжаться через mcp73812.
Для перезапуска питания симки поствлю полевик. Наверняка можно применить irf7304 (0.5 бакса) Спасибо за подсказку.

Сообщение отредактировал Acvarif - Jun 5 2013, 08:36
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jun 5 2013, 08:51
Сообщение #42


Гуру
******

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



>>>MCP1702t-3002(согласовать уровни). Стоит она в пределах 1 бакса.

MCP1703T-3002E/CB - 54 цента. sm.gif

>>>Вообще мега при наличии сети будет питаться от источника на Lm2574.
>>>При этом sim900 будет питаться только от акб

Лучше гляньте на синхронник ST1S10 или MCP16323T-ADJ - не нужно по выходу больших емкостей, меньше места, быстрее реакция на изменение тока потребления. И есть ножка отключения для перезапуска модуля.

Модуль тоже питайте от сети - переход можно сделать несколько иначе. Посмотрите пример в семинаре.
Верхние полевики меняем на стабилизатор с управлением....

Вобщем идея такова что на АКБ только при аварии переходим.

Если Вы из Украины, черкните в личку куда Вам перезвонить.


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post
Maratt
сообщение Jun 5 2013, 13:19
Сообщение #43


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 13-04-12
Из: Уфа
Пользователь №: 71 346



Про антенны совсем забыли.
Для себя сделал такую - см. рисунок.
Это из:
http://www.microchip.ua/simcom/SIM900x/App...B%20Antenna.pdf
Впечатления:
Субъективные - регистрируется в сети быстрее, чем с проволочной (спиральной) антенной.
Объективные - устанавливал ограничение по току на источнике питания 500mA при 4,2В. Тридцать включений - выключений модема, ни одной повторной перезагрузки и отказа включаться, регистрироваться в сети.
Вопрос.
Кто как делает "полевые" условия (плохую связь) для модема в лабораторных (домашних) условиях, не отключая антенну?

С уважением.

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Jun 5 2013, 13:29
Сообщение #44


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(CADiLO @ Jun 5 2013, 11:51) *
>>>MCP1702t-3002(согласовать уровни). Стоит она в пределах 1 бакса.

MCP1703T-3002E/CB - 54 цента. sm.gif

>>>Вообще мега при наличии сети будет питаться от источника на Lm2574.
>>>При этом sim900 будет питаться только от акб

Лучше гляньте на синхронник ST1S10 или MCP16323T-ADJ - не нужно по выходу больших емкостей, меньше места, быстрее реакция на изменение тока потребления. И есть ножка отключения для перезапуска модуля.

Модуль тоже питайте от сети - переход можно сделать несколько иначе. Посмотрите пример в семинаре.
Верхние полевики меняем на стабилизатор с управлением....

Вобщем идея такова что на АКБ только при аварии переходим.

Если Вы из Украины, черкните в личку куда Вам перезвонить.

Спасибо за инфу. Думаю примерно так
1. Питать все от электричества через ST1S10 (нормальный ток и возможность перезапуска) - но при этом lm2574 сохранить для заряда батареи через mcp73812.
2. Согласование уровней через полевики. Хотя у меня в одном из программаторов и на стабилитронах rs канал номально работал. Но наверное рисковать не стану.
3. При пропадании электричества питать все от батареи.
4. Для антенны поставлю разъем sma-jr но и наплате оставлю антенну.
Схемку подправлю и приаттачу.

В личку черкнул.
Go to the top of the page
 
+Quote Post
CADiLO
сообщение Jun 5 2013, 13:44
Сообщение #45


Гуру
******

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



А входное напряжение сколько планируете ?


--------------------
Не можна втрачати надію. Не можна здаватися до останньої миті. Можливо саме вона, остання мить, принесе весну, яка стане початком нового життя.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 09:33
Рейтинг@Mail.ru


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