Перейти к содержанию

    

SIM800C EAT не работает управление потоком UART1

Добрый день!

 

Понадобилось задействовать пины управления потоком CTS/RTS SIM800C (пины 3 и 4). Используется EAT. В документации написано что эти пины в этом режиме по умолчанию. Произвожу запись в порт (в модуль) но не читаю из порта в EAT, CTS не работает. Записываю в порт из модуля, получаю данные, но не реагирует на состояний линии RTS - данные всегда выдаются. Указание режима ни чего не меняет. Может кто нибудь знает в чем может быть проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В неправильном понимании работы RTS/CTS в модуле.

Это управление не UART модуля - это управление второй стороной общения.

 

Представьте себе комп к которому присоединен проводной модем.

С другой стороны провода тоже модем и комп.

Так вот обмен RTS/CTS происходит между конечными устройствами - компами, а не компом и модемом.

Ну а теперь замените проводные модемы на модули и поймете как это работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В неправильном понимании работы RTS/CTS в модуле.

Это управление не UART модуля - это управление второй стороной общения.

 

Представьте себе комп к которому присоединен проводной модем.

С другой стороны провода тоже модем и комп.

Так вот обмен RTS/CTS происходит между конечными устройствами - компами, а не компом и модемом.

Ну а теперь замените проводные модемы на модули и поймете как это работает.

 

Спасибо за ответ. Но если бы так все работало то эти сигналы должны ретранслироваться на удаленную сторону (от компа к компу) с большой скоростью. Допустим, мне нужно принять данные из UART и передать через GPRS. Удаленная сторона готова принять данные но я не могу их передать, приемный буфер UART должен заполниться и сбросить сигнал CTS , пока оператор не заберет данные из передающего буфера сокета модема. Получается локальный комп хочет прередать данные, удаленный может принять, а модем ничего в этот момент не может.

Изменено пользователем wild.hamster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно задать вытекающий вопрос. Как организовать управление потоком если модуль не может формировать сигналы исходя из состояния заполнения буферов UART1? Реагировать на тоже не может. В EAT нет API для реализации этих функций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вариант написать свой обработчик UART без использования буфера. Видел такую реализацию у одного из клиентов.

И там много чего через API не сделано, однако работает если выполнять это внутри ЕАТ АТ командами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Как вариант написать свой обработчик UART без использования буфера. Видел такую реализацию у одного из клиентов.

И там много чего через API не сделано, однако работает если выполнять это внутри ЕАТ АТ командами.

 

Ат команда упр.потоком AT+IFC при использовании EAT всегда выдает ошибку. С чтением из UART проблем быть не должно а вот с записью хуже, если я набил в буфер передачи 2 Кб, а приемник сбросил сигнал готовности то SIM все равно будет их выдавать из порта. Если бросать в буфер по 2-3 байта и контролировать по событию опустошения буфера или завершения передачи то из за того что работает система сообщений будут наблюдаться задержки и увеличение межсимвольного интервала при выдачи.

 

И самое интересное что официальные дистрибьюторы на письма не отвечают. Походу они работают только с организация которые у них большие партии модулей покупают :mad:

 

CADiLO, я посмотрел в ваш профиль, увидел что вы из Гаммы. Этот вопрос я отправлял в mt-system 3 дня назад, ответа нет. Час назад в Гамму отправлял но в другой офис, не в Днепр. Думаю вряд ли дождусь ответа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если Вы из Украины, то перезвоните в киевский офис, Евгению Рахно или Сергею Гаевскому. Они подскажут по ЕАТ.

Если из России - тогда МТ-Систем, но они уволили своего FAE и насколько я помню, на сегодня инженера техподдержки там нет.

К сожалению это политика Симкома - если на форум симкомовцы особо не шумят, только искоса смотрят, то официальную поддержку на своей территории оказывает только локальный дистрибьютор.

На форуме есть еще Батор (ник Цырен) - он работает непосредственно в Симкоме - можно ему вопрос задать.

Я сегодня просто не в офисе - буду завтра.

 

 

И самое главное - не сказали какая версия EAT у Вас.

Так как недавно вышла уже B09.

 

 

>>>Походу они работают только с организация которые у них большие партии модулей покупают

 

Мы (ГАММА) работаем со всеми, но часть правды в этом есть - сам Симком поддерживает ЕАТ только для крупных проектов.

Мелочью занимаемся мы, можно сказать по собственной инициативе. Поэтому иногда получается что по ЕАТ отвечаем когда разгребаем все основные вопросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

CADiLO, спасибо большое за информацию! Попробую связаться с Цырен. EAT использую B08. B09 пока не знаю где достать. Обычно прошивки беру с simcom.ee, они офф. дистрибьютор Эстонии, выкладывают прошивки и обновляют периодически. Это проект дешёвого модема (на 30-40% дешевле аналогов), поэтому решил использовать EAT, все что можно сделать софтово для меня не проблема и реализовано, нужен только способ управления периферией к чему у меня вопросов не было до последнего момента т.к. в hardware design все написано, все режимы.

 

>>>Мелочью занимаемся мы, можно сказать по собственной инициативе.

 

За это отдельное спасибо и уважение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

>>>Обычно прошивки беру с simcom.ee, они офф. дистрибьютор Эстонии,

 

Кстати выкладывание прошивок в открытый доступ это нарушение NDA, так что если прошивка с их сайта буде бета или подправленная, то как говорится сами виноваты.

Мы в 99% случаев прошивки предоставляем по запросу, но только емейлом на наш адрес.

 

Их лишили дистрибьюции еще 5 лет назад, так что они теперь не официалы. Проверить можно на сайте Симкома - их там нет.

 

http://simcomm2m.com/En/service/detail.asp...amp;parentid=48

 

По Балтии, кроме EBV Elektronik, официально работает наше подразделение, их головной офис и склад в Таллинне.

Обращаться там можно к Алексею Олейнику, но сложные технические вопросы все равно перешлют мне.

 

http://www.vis-plus.ee/index.php?p=company.php&leng=rus

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
на сегодня инженера техподдержки там нет.

Cadilo, не надо вводить людей в заблуждение, тех. поддержка есть и работает.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну так Леонида уволили, а остальные как-то не засвечивались :)

Я на 100% не утверждал, поэтому если ошибся, приношу извинения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы протестировать B09. Подскажите пожалуйста, на какой email можно отправить запрос и его формат.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Хотелось бы протестировать B09. Подскажите пожалуйста, на какой email можно отправить запрос и его формат.

wild.hamster, в ближайшее время направлю, см. письмо от МТ

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

возможно, вы неправильно подключили RТS/CTS.

существуют два типа оборудования : DTE (терминальное - пк и т.п.) и DCE (оконечное - модем и т.п.)

На DTE RTS - выход, а на DCE RTS - вход,

На DTE CTS - вход, а на DCE CTS - выход.

Т.е. при подключении DTE<->DCE нужно соединять одноименные сигналы, при подключении DTE<->DTE разноименные.

 

Сигналы RТS/CTS обычно достаточно инертные - срабатываю по 3/4 или 1/2 буфера.

 

Еще, возможно, аппаратное управление потоком не работает в режиме команд - только в режиме передачи данных. Видимо, считается, что в режиме команд буфер переполнить нельзя.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
возможно, вы неправильно подключили RТS/CTS.

существуют два типа оборудования : DTE (терминальное - пк и т.п.) и DCE (оконечное - модем и т.п.)

На DTE RTS - выход, а на DCE RTS - вход,

На DTE CTS - вход, а на DCE CTS - выход.

Т.е. при подключении DTE<->DCE нужно соединять одноименные сигналы, при подключении DTE<->DTE разноименные.

 

Сигналы RТS/CTS обычно достаточно инертные - срабатываю по 3/4 или 1/2 буфера.

 

Еще, возможно, аппаратное управление потоком не работает в режиме команд - только в режиме передачи данных. Видимо, считается, что в режиме команд буфер переполнить нельзя.

 

Прежде чем отвлекать людей имею привычку проверять и перепроверять все возможные варианты. N-ное раз прочитал hardware design.

 

После включения модуля на CTS он выдает "0" (~0В, и это он правильно делает, разрешение на передачу). На RTS программой-терминалом включал и выключал этот сигнал, на соответствующий пин приходил нужный сигнал (уровень однозначный 0 или 2.8В, если бы перепутал было что то непонятное в зависимости от того какой выход мощнее). Даже делал чтение как с gpio и он читался притом верно. Отправляю кучу данных и не читаю - CTS не гаснет, сбрасываю RTS но данные все равно выдаются.

 

>>>Сигналы RТS/CTS обычно достаточно инертные - срабатываю по 3/4 или 1/2 буфера.

С инертностью буфера согласен но она не причем, выдавал 1 символ каждую секунду, RTS сброшен - все равно выдает его на TX.

 

>>>Еще, возможно, аппаратное управление потоком не работает в режиме команд...

В EAT я для ат команд назначаю UART2. UART1 и USB настраиваю на режим передачи данных. А вот в режиме команд аппаратное управление потоком UART1 как раз работает.

Изменено пользователем wild.hamster

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация