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

 
 
 
Reply to this topicStart new topic
> SIM900(B), звонок в режиме передачи данных (CSD), медленно.
Frolov Kirill
сообщение Mar 5 2014, 11:55
Сообщение #1


Местный
***

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




Имеем 2 штуки SIM900B. Звоним с одного на другой в режиме предачи данных (ATD+79111234567<CR>). На другом говорим ATS0=1 и после CONNECT 9600 начинаем работу... Тот с которого звоним подключен к компьютеру. Второй в приборе внутри которого что-то типа BBS.

Во-первых вывод алфавитно-цифровой информации в терминал. Экран заполняется медленее, чем следовало бы ожидать от телефонного модема на 9600 (субъективно конечно...) По ощущениям 4800.

Во-вторых дикая латентность эхо-ответов (нажимаем кнопку, через секунду видим букву, хуже чем через GPRS).

В-третьих X-modem... В режиме +IFC=0,0 работает только X-modem с 128-байтными блоками (понятно почему), работает очень медленно, даже скорость не оценивал. Xmodem-1K работает только при настройке +IFC=2,2 (RTS/CTS контроль потока) на передающей стороне. Так в принципе и должно быть (но странно, что при +IFC=0,0 на приём передающей стороны начинает валиться какой-то якобы-принимаемый мусор -- подозрение что в модеме при переполнении буфера что-то нарушается в передаче данных).

Но это не принципиально. Принципиально достигнутая скорость передачи данных: 343 байта в секунду по итогам передачи 240-килобайтного файла. Теоретически должно быть 9600/10*0.8 ~= 800 байт/сек. 10 -- бит в байте (явно с запасом для V.42bis), 0.8 -- КПД протокола X-modem. И телефонные модемы давали такую цифру в своё время. WTF???

На приём примерно то же самое: 262144 байт BPS:354. Файл содержит рандомные данные (не одни нули, плохо сжимается).

То-есть скорость по меньшей мере _вдвое_ ниже той, которая должна быть. Файл не за 12 минут, а за 6 минут должен передаваться. Если в файле 262 блока то задержка на эхо составит те же 262 секунды, примерно 5 минут... А если там больше секунды -- в принципе, может быть, что всё дело только в большой латентности.

Как быть дальше. Можно ли уменьшить латентность?

AT+CBST=?
+CBST: (0,7,71),(0),(1)

Т.е. transparent mode (ноль на конце) не выбрать. А для non-transparent вот есть команда:

AT+CRLP=?
+CRLP: (0-61),(0-61),(44-255),(1-255),(0),(7)
AT+CRLP?
+CRLP: 61,61,48,6,0,7

Можно ли здесь что-то подкрутить? Кажется, что нет...

Как быть дальше? Имеет ли смысл пытаться пробовать Y-modem или проще сразу переходить к embedded Kermit?
При передаче и туда и оттуда были единичные (пара штук) ошибки и переповторы. Не представляю с чем связанные. Интересно, почему? При передаче через провода, при болев высоких скоростях, без flow control, обычно ошибок нет.

Go to the top of the page
 
+Quote Post
mantech
сообщение Mar 5 2014, 17:16
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Frolov Kirill @ Mar 5 2014, 15:55) *
Во-первых вывод алфавитно-цифровой информации в терминал. Экран заполняется медленее, чем следовало бы ожидать от телефонного модема на 9600 (субъективно конечно...) По ощущениям 4800.

Во-вторых дикая латентность эхо-ответов (нажимаем кнопку, через секунду видим букву, хуже чем через GPRS).


Все так и будет, ибо CSD это данные через голосовой канал, попробуйте позвонить с мобильника на мобильник и послушать, что говорите, особенно, если мобилки разных опсосов, и почувствуйте это эхо на слух. Для данных действует тоже правило.
Go to the top of the page
 
+Quote Post
novus2004
сообщение Mar 12 2014, 05:16
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 30-04-09
Пользователь №: 48 496



Для CSD 9600 всё так и происходит (медленно). Знаю, поскольку разбирал этот вопрос ещё пару лет назад.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:21
Рейтинг@Mail.ru


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