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

SIM800H CSD

Я из Болгарии, так что моего Русского извините, да и не все букви у меня на клавиатуре. Если кого-то не устраиваеть - могу писать по Английски.

Тест сделан так:

- SIM800H , ядро MT6260_S00_1308B07SIM800H32_EAT_115200

- терминалная програма MySerial 9600, 8N1 или 7E1 на обеих концах.

- Embedded 'C' програма отвечает звонка, ждеть CONNECT 9600, потом файл принимаеться построчно и отправляеться через UART или грузиться от UART и отправляеться через CSD. У програми 2 циклических буфера между UART и CSD для передачи и приема - в первого CSD пишет, UART читает; во втором UART пишет CSD читает и отправляет. Длина буферов менялась по мере надобности.

- Звенящий Модем - SIM900 или SIM300, управляеться АТ командами терминалной програми.

- отправлались файли 20к, 64к, 128к, 180к, 256к через UART.

 

Итоги и рекомендации:

 

1. Скорост приема по CSD SIM800H 9600 держить хорошо.

 

2. Скорост передачи SIM800H по оценки времени от окончания посилки фаила через UART до окончании приема того же файла на 'дальной' стороне - ниже 2400bps!

 

В итоге пришлось сделать циклические буфери такой длини: 190kB для того, в котором UART пишет и 10kB для буфера в котором CSD пишет.

Даже тогда у 256к файла произходит накритие конца записи входящие через UART данние где то около 220к, т.е. пока UART записал около 190к, CSD не смог передать 30к!

 

Интересно почему в DATA-Sheet-е стоит 14,4 и как етого добились?

Старий вариант той-же програми - на SIM900 почти буферами на нуждалась- там я ползую буфера по 2к.

 

3. Функции

reallen = eat_uart_write(port1, (char*) mysend, sendlen);

reallen = eat_modem_write(mysend, sendlen);

обязательно ползуйтесь только в CallBack events

EAT_EVENT_MDM_READY_WR

EAT_EVENT_UART_READY_RD

EAT_EVENT_UART_READY_WR

иначе если reallen<sendlen, т.е. буфер периферии не можеть принят sendlen, пропадают части строки порядка 10-20 байтов.

Так у меня изначално дозаправка модема и серийного произходила по 100mS таймера (так оно и произходит в SIM900 варианте програми) и ошибки били в каждой второй строке.

Кстати за ети 100mS модем успевал передать 24 байта в среднем (столько он дозаправлял), а должен 100 (1mS/Byte для 9600).

 

Хотелось чтобь Ваш опит поделили.

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


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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...