Здравствуйте! На предприятии реализуем свой радиомодем для системы телемеханники на базе микросхемы TERIDIAN 73K222AL и микроконтроллера ATmega128 (в связи с так называемым модным сейчас импортозамещением).
На данный момент научились общаться с модемом (читать/записывать регистры), передавать и принимать байты по радио. Данные получаю с ножки модема RXD. Но так и не разобрался, как детектировать начало и конец посылки данных от модема TERIDIAN 73K222AL. Я анализирую DETECT REGISTER, проверяя в нём одновременное наличие флагов CARRIER DETECT и CALL PROGRESS. Передаваемые данные вижу, но часто со смещением: например передаю байт 1111000, а могу получить 00111100, 10000111 и т.п. И с небольшим мусором в конце и может быть в начале посылки.
В аналогичном импортном устройстве, исходя из анализа работы, повидемому, использовался для этих целей специальный протокол с преамбулой и байтстаффинг. Я его реализовывал на прототипном устройстве. Но сейчас руководитель отдела, поставил задачу проанализировать, может ли сам модем TERIDIAN 73K222AL каким-то образом выделять из радиосигнала пакет данных, чтоб не нагружать контроллер ATmega128 детектированием пакета. Может эта опция включается настройками какими-нибудь или вообще работает по умолчанию, а я просто не правильно анализирую данные с модема, или ошибка в схеме и т.п.
Так как опыта по разработки таких устройств у нас нет, то возник вопрос: Как правильно отследить начало и окончание пакета в потоке данных от модема TERIDIAN 73K222AL при приёме радиосигнала (нужно использовать специальны протокол или же модем сам позволяет детектировать пакет)?
p/s: Изучение документации на модем не позволило однозначно ответить на данный вопрос собственными силами, т.к. очень хромает знание английского (что конечно не простительно в наше время), и отсутствует опыт работы с радиомодемами. Даташит на модем прикрепляю ниже.
Вложения: |
Комментарий к файлу: Даташит на модем TERIDIAN 73K222AL
73K222AL_v6.0.pdf [318.1 KiB]
Скачиваний: 110
|
|