fk1 0 5 марта, 2014 Опубликовано 5 марта, 2014 · Жалоба Имеем 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, обычно ошибок нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 5 марта, 2014 Опубликовано 5 марта, 2014 · Жалоба Во-первых вывод алфавитно-цифровой информации в терминал. Экран заполняется медленее, чем следовало бы ожидать от телефонного модема на 9600 (субъективно конечно...) По ощущениям 4800. Во-вторых дикая латентность эхо-ответов (нажимаем кнопку, через секунду видим букву, хуже чем через GPRS). Все так и будет, ибо CSD это данные через голосовой канал, попробуйте позвонить с мобильника на мобильник и послушать, что говорите, особенно, если мобилки разных опсосов, и почувствуйте это эхо на слух. Для данных действует тоже правило. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novus2004 0 12 марта, 2014 Опубликовано 12 марта, 2014 · Жалоба Для CSD 9600 всё так и происходит (медленно). Знаю, поскольку разбирал этот вопрос ещё пару лет назад. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться