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

 
 
> Пакеты 1к и CSD
viakon
сообщение Feb 26 2016, 05:27
Сообщение #1


Местный
***

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



Не проходят пакеты 1к при соединении CSD. Количество пришедших/отправленных байт совпадает. Такое впечатление что пропадает кусок из середины. Начало совпадает, потом нет куска, потом данные с конца, затем добивается до нужного количества мусором.
Обмен ведется между двумя BGS2. Раньше подобная задача делалась пакетами по 256 байт, никаких проблем не было. Может в CSD есть ограничение на длину?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
Alechek
сообщение Feb 26 2016, 07:35
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Цитата(viakon @ Feb 26 2016, 10:27) *
Не проходят пакеты 1к при соединении CSD. Количество пришедших/отправленных байт совпадает. Такое впечатление что пропадает кусок из середины. Начало совпадает, потом нет куска, потом данные с конца, затем добивается до нужного количества мусором.
Обмен ведется между двумя BGS2. Раньше подобная задача делалась пакетами по 256 байт, никаких проблем не было. Может в CSD есть ограничение на длину?

Может просто нет аппаратного управления потоком?

Насчет BGS2 не знаю, у SIMCOM все проходит, во всех моделях.
Go to the top of the page
 
+Quote Post
viakon
сообщение Feb 26 2016, 10:40
Сообщение #3


Местный
***

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



Цитата(Alechek @ Feb 26 2016, 12:35) *
Может просто нет аппаратного управления потоком?

Насчет BGS2 не знаю, у SIMCOM все проходит, во всех моделях.

По GPRS можно до 1500 байт передавать, правда не пробовал, не было необходимости. Управления потоком нет.
Go to the top of the page
 
+Quote Post
Alechek
сообщение Feb 26 2016, 14:14
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 241
Регистрация: 15-11-05
Из: Челябинск
Пользователь №: 10 882



Ну, а как Вы хотите попустить 115200 бод в 9600?
Настройте тогда обмен с модемом на 4800 да проверьте еще раз.
Go to the top of the page
 
+Quote Post
Baser
сообщение Feb 26 2016, 17:15
Сообщение #5


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(viakon @ Feb 26 2016, 07:27) *
Не проходят пакеты 1к при соединении CSD. Количество пришедших/отправленных байт совпадает. Такое впечатление что пропадает кусок из середины. Начало совпадает, потом нет куска, потом данные с конца, затем добивается до нужного количества мусором.

Согласен, типичная картина переполнения приемного буфера при отсутствии управления потоком.
Сначала вы запихиваете в буфер начало пакета, буфер заполняется (скорость передачи в канале маленькая), модем снимает CTS, а вы на это положили и продолжаете пихать данные, которые пропадают.
Потом модем передает буфер (начало пакета), поднимает CTS и принимает в буфер конец вашего пакета и его передает.
Ну а длину пакета вы указали заранее, поэтому в конце модем шлет мусор - данные то уже кончились, середина была потеряна.
Go to the top of the page
 
+Quote Post
viakon
сообщение Feb 29 2016, 04:39
Сообщение #6


Местный
***

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



Есть несколько моментов. В составе модема есть микроконтроллер стоит между модулем и портом RS-232. С модулем обмен идет с использованием CTS, вот по внешнему RS аппаратного контроля нет, но зато приемный буфер 1500 байт, куда пакет входит без проблем. Все что посылается в порт модуля выводится в отладочный порт и там весь пакет виден без ошибок. При обмене по CSD длина пакета нигде не указывается, просто пихается 1к байт подряд, в этом случае если б CTS не работало, приходило бы меньше байт, а приходит точное количество.

Сообщение отредактировал viakon - Feb 29 2016, 04:39
Go to the top of the page
 
+Quote Post
Baser
сообщение Feb 29 2016, 10:40
Сообщение #7


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(viakon @ Feb 29 2016, 06:39) *
С модулем обмен идет с использованием CTS, ...

А в модуле режим работы его порта Hardware Flow Control программно точно включен?
Go to the top of the page
 
+Quote Post
viakon
сообщение Mar 3 2016, 07:35
Сообщение #8


Местный
***

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



Цитата(Baser @ Feb 29 2016, 15:40) *
А в модуле режим работы его порта Hardware Flow Control программно точно включен?

Был выключен, но включение (AT\Q2) не помогло. Сделал обмен по 256 байт, все стабильно работает.
Go to the top of the page
 
+Quote Post

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

 


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


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