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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> SIM900: максимально допустимая погрешность к скорости передачи USART
butthead2
сообщение Oct 20 2011, 11:09
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470



Цитата(Ildar Belkin @ Oct 20 2011, 13:53) *
Посмотрим как будет работать. Если будет плохо впаяю кварц.

Эксперимент покажет что все работает- неработает на ДАННОМ ЭКЗЕМПЛЯРЕ контроллера.
Для правильного эксперимента нужно сделать не так. Нужно взять контроллер, вывести на ножку частоту и контролировать ее частотомером - для контроля текущей частоты. Через уарт общатся с модулем. И напрмер по нажатию кнопки менять на некоторый шаг тактовую частоту контроллера. И в обе стороны по частотомеру определить при каком отклонении обмен начниает сбоить.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 20 2011, 11:19
Сообщение #17


Местный
***

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



Совет: забудьте о безкварцевой конфигурации, иначе потом в серии будут проблемы, это уже проверено. Причем проблемы будут весьма труднолокализуемые: обмен будет сбоить не каждый раз, а иногда. И много дней уйдет на поиски причин спонтанных отказов.
Лично я только сторонник экономии: например, никогда ключи не ставлю на управление диодами, не тратюсь на ненужное согласование уровней и т.п.
Но это - не тот случай, поверьте.
Go to the top of the page
 
+Quote Post
Frolov Kirill
сообщение Oct 20 2011, 11:47
Сообщение #18


Местный
***

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



Цитата(GeGeL @ Oct 20 2011, 15:19) *
Совет: забудьте о безкварцевой конфигурации, иначе потом в серии будут проблемы, это уже проверено.


Безкварцевая конфигурация -- это, скорей, когда используется часовой кварц, по которому постоянно подстраивается внутренний генератор. Часовой кварц, причём, постоянно работающий (его запуск занимает ещё более значительное время). Безкварцевая конфигурация актуальна только для микропотребляющих приборов с часами реального времени. И смысл отсутствия кварца на XX МГц в ней даже не снижение себестоимости, а экономия энергии.



Вдогонку. Проценты погрешности считать нужно и для самого модема тоже и складывать с погрешностью генератора PIC. В итоге ситуация нерадостная оказывается.
Go to the top of the page
 
+Quote Post
Ildar Belkin
сообщение Oct 20 2011, 12:49
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 134
Регистрация: 12-08-11
Пользователь №: 66 701



Цитата(CADiLO @ Oct 20 2011, 14:25) *
>>>1 руб на кондеры + 25 руб кварц (у меня они вообще стоят 35 руб.)

Кондеры нужны для керамических резонаторов или "советских" кварцев, при высокодобротном кварце они даже вредны для PIC.
Это где Вы такие кварцы по доллару нашли - GEYER что ли или JAUCH с их бахнутыми ценами ???? Или это керамика с золочеными ножками ?
У нас прекрасные кварцы тайваньского SJK HC49S по 0.15 в розницу. Семь лет их возим, ни одной претензии.
Для макета можно и потратиться, а вот для массового производства прийдется подумать о поставщиках с другими ценами.

Это раз.

Если заеду в одну из местных контор - сфоткаю ценник с кварцем - вышлю ;-)

Цитата(CADiLO @ Oct 20 2011, 14:25) *
Техническая сторона. Не гарантирую что модуль будет стабильно общаться при таком решении. Причина озвучена выше.

Это два.

Это единственное что по теме хотелось бы услышать - что с внутренними генераторами работать будет нестабильно на основании массового опыта. Все. Рассуждения об экономике меня вообще не касаются.


Цитата(CADiLO @ Oct 20 2011, 14:25) *
А из технической стороны выплывает и экономическая - если ваша продукция начнет сбоить, то переделка обойдется гораздо дороже чем
>>>6 руб.(разница между пиками) + 1 руб на кондеры + 25 руб кварц (у меня они вообще стоят 35 руб.) = 32 руб. тобишь еще один PIC16F1824-I/SL

Это три.

Абсолютно также можно сказать и обратное что если все будет работать то будет и экономия.
Вообще флуд какой-то. Меня это не интересовало. Я задал в старте - простой вопрос - какая погрешность допустима по SIM900. Судя по ответам такого параметра нет. Раз нет так и вывод один - ставить внешний кварц, чтоб избежать геммороя. ВСЕ...
Я никого не просил учить меня экономике - она меня тут не интересовала.
Косвенно в ветке отвечено, что на практике PICи с внутренним генератором для USART-обмена с SIM900 (в частном случае) использовать крайне не желательно. Мне этого более чем достаточно.

Цитата(butthead2 @ Oct 20 2011, 15:09) *
Эксперимент покажет что все работает- неработает на ДАННОМ ЭКЗЕМПЛЯРЕ контроллера.
Для правильного эксперимента нужно сделать не так. Нужно взять контроллер, вывести на ножку частоту и контролировать ее частотомером - для контроля текущей частоты. Через уарт общатся с модулем. И напрмер по нажатию кнопки менять на некоторый шаг тактовую частоту контроллера. И в обе стороны по частотомеру определить при каком отклонении обмен начниает сбоить.


Кстати, да. в этой серии есть такое - программное изменение частоты на лету. Хм.... надо будет поэкспериментировать.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 20 2011, 16:51
Сообщение #20


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(CADiLO @ Oct 20 2011, 13:02) *
Ну или хотя бы в даташит загляните
...
5.2.1.3
Oscillator Start-up Timer (OST) If the oscillator module is configured for LP, XT or HS modes, the Oscillator Start-up Timer (OST) counts
1024 oscillations from OSC1.

Это уже когда генератор заработал и уровень сигнала достиг порога. С этого момента - еще 1024 такта. А полное время - существенно больше. Поэтому в батарейных приложениях бывают сложности.



Цитата(CADiLO @ Oct 20 2011, 14:25) *
>>>1 руб на кондеры + 25 руб кварц (у меня они вообще стоят 35 руб.)

Кондеры нужны для керамических резонаторов или "советских" кварцев, при высокодобротном кварце они даже вредны для PIC.

И опять же неправда. Если у генератора нет встроенных конденсаторов, то внешние - необходимы. Согласно даташиту.

Цитата(CADiLO @ Oct 20 2011, 14:44) *
Давайте посмотрим - 4 000 000 для получения 9600 нужно поделить даже не на целое число, а на 416.6666666
То есть уже имеем погрешность.

Вы, наверное, удивитесь, но у PC-шных COM-портов тоже вовсе не точные значения...
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 20 2011, 16:55
Сообщение #21


Местный
***

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



Согласно даташиту - да. Но согласно практике, на тысячах устройств на PIC работает все без конденсаторов с кварцами, посталяемыми Гаммой, в частности. Вот тут как раз можно и сэкономить.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 20 2011, 17:02
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Экономьте, экономьте... Дарю ценную идею - еще можно "съэкономить" на блокировочных кондендансаторах в цепи питания. Их много, а и без них работает. Потребитель будет очень благодарен...

Сообщение отредактировал rx3apf - Oct 20 2011, 17:08
Go to the top of the page
 
+Quote Post
butthead2
сообщение Oct 20 2011, 17:11
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470



Цитата(rx3apf @ Oct 20 2011, 19:51) *
Вы, наверное, удивитесь, но у PC-шных COM-портов тоже вовсе не точные значения...

Честно говоря очень удивлюсь. В стандартном контроллере rs232 ( интел как его там, запамятовал ) стоял кварц 1,8432МГц. Откуда взяться неточным значениям? Хотя могли уже давно все извратить...
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 20 2011, 17:17
Сообщение #24


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(butthead2 @ Oct 20 2011, 21:11) *
Честно говоря очень удивлюсь. В стандартном контроллере rs232 ( интел как его там, запамятовал ) стоял кварц 1,8432МГц. Откуда взяться неточным значениям? Хотя могли уже давно все извратить...

Так то ж в стандартном...Теперь обычно 24 MHz/13. Погрешность незначительна, но тем не менее. Подозреваю, что и у модуля тоже опорник вовсе не кратный...
Go to the top of the page
 
+Quote Post
butthead2
сообщение Oct 20 2011, 17:34
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 301
Регистрация: 22-07-09
Пользователь №: 51 470



Цитата(rx3apf @ Oct 20 2011, 20:17) *
Так то ж в стандартном...Теперь обычно 24 MHz/13. Погрешность незначительна, но тем не менее. Подозреваю, что и у модуля тоже опорник вовсе не кратный...

Дык и нецелые коэффициенты деления никто не отменял. А с ними можно загнать погрешность в такие исчезающе малые проценты, что на фоне фронтов физического сигнала никто и не догадается. Да и смысла добиватся менее 0,1% нету - работать и так будет всегда.
Go to the top of the page
 
+Quote Post
Ildar Belkin
сообщение Oct 20 2011, 18:07
Сообщение #26


Частый гость
**

Группа: Участник
Сообщений: 134
Регистрация: 12-08-11
Пользователь №: 66 701



тогда опять вопрос - 0,1% погрешности - это нормально и работать будет. А сколько уже не будет? 0,2% - уже не будет.
Мне просто интересно - обычно на практике сколько допустимо отклонение. Например, 1% - это много?
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 20 2011, 18:21
Сообщение #27


Местный
***

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



Старт-бит, 8 инфобит, стоп-бит. Синхронизация приемника проводится в начале каждого байта по началу старт-бита. Выборка, будем считать, проводится в средине предполагаемого инфобита. Будет сбоить, если в конце байта выборка будет произведена или в предыдущем бите, или в стоповом. Итого: за время передачи 9 бит ошибка не должна превышать полбита (абсолютный максимум !). Итого плюс-минус 5% - критическое значение.

И еще (из практики) - в виду особенности UART PIC, при использовании неточных (целых) кварцев, лучше сделать скорость передачи БОЛЬШЕ рассчетной, чем меньше. Иначе UART PIC дает сбои приема в первую очередь (более чувствителен, чем UART модулей SIMCOM).

Сообщение отредактировал GeGeL - Oct 20 2011, 18:29
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Oct 20 2011, 18:26
Сообщение #28


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Ildar Belkin @ Oct 20 2011, 22:07) *
тогда опять вопрос - 0,1% погрешности - это нормально и работать будет. А сколько уже не будет? 0,2% - уже не будет.
Мне просто интересно - обычно на практике сколько допустимо отклонение. Например, 1% - это много?

Только проверять. Типично UART свободно переваривает отклонение на пару процентов (все должно работать, даже если с обоих сторон уйдет на два процента в разные стороны). Но про модули от SIMCOM рассказывают какие-то страсти-мордасти, мне лично кажущиеся сомнительными. Однако, есть такая неприятная вещь, как автодетект скорости, который и при точном (почти) совпадении скоростей не очень-то стабильно работает. И нисколько не удивлюсь, если при более-менее существенном отклонении возникнут проблемы. По-хорошему, надо зафиксировать скорость (+IPR=), и потом проверять надежность при отклонении скорости передатчика. Ну, и то же самое с включенным автодетектом, чтобы знать наверняка, кто виноват и что делать. Ну, это кому нужно, пусть и делает...

Сообщение отредактировал rx3apf - Oct 20 2011, 18:28
Go to the top of the page
 
+Quote Post
Ildar Belkin
сообщение Oct 20 2011, 18:47
Сообщение #29


Частый гость
**

Группа: Участник
Сообщений: 134
Регистрация: 12-08-11
Пользователь №: 66 701



Да с автодетектом у SIM900 писали что и так проблемы есть. Я делаю программирование на 9600 (мне достаточно) сразу. Да и вообще записываю это на "постоянку" в &W. Блин ну ладно тогда будет время потестим и это.
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 20 2011, 18:52
Сообщение #30


Местный
***

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



Цитата(rx3apf @ Oct 20 2011, 22:26) *
Но про модули от SIMCOM рассказывают какие-то страсти-мордасти

Я с этим лично столкнулся на sim900. На 115200 не хотел слушать в режиме по умолчанию, пока не дал чуть ЗАНИЖЕННУЮ скорость с PIC. А автодетект там вобще какой-то странный, не так совсем, как в сим300.
Было принято решение на старте пика каждый раз давать AT+IPR=57600 (чтобы "чистый" модуль фиксировать на эту скорость) наскорости чуть НИЖЕ 115200, а затем переключать UART PIC на скорость чуть ВЫШЕ 57600, и далее все шло ОК. Извраты...

Сообщение отредактировал GeGeL - Oct 20 2011, 18:56
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:58
Рейтинг@Mail.ru


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