Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Коммутация UART для SIM300?
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
ncux
Я сейчас думаю над тем, чтобы собрать модную нынче GSM-сигнализацию.
И в данный момент ломаю голову вот над чем:
1) я хочу иметь возможность подключать сигналку к компьютеру для управления настройками
2) я хочу предусмотреть возможность сравнительно быстрой перепрошивки самого GSM-модуля
То есть нужно иметь возможность переключать линии УАРТ для связи MCU, SIM300 и компа между собой попарно.
Естественно один из вариантов - это джамперы, но, как и любые открытые контакты, они привносят возможность отказа устройства.
Далее, можно перепаивать некие перемычки на плате, вариант надежный, но долгий (сравнительно)
И коммутация при помощи ключей (ну по типу 561КТ3, она же СД4066).
Для упрощения задачи я воспользуюсь скорее всего PIC-ом с двумя УАРТАМИ. Долго медитировал еще над описанием remappable pins в PIC24 smile.gif Но полностью проблему это не решает.

Может, у господ форумчан будут какие-либо комментарии или мысли по этому поводу?
Буду рад любым ответам.
groovy
1. Удерживать сброс PIC и работать с модемом через любой преобразователь RS-232<>UART, USB<>UART

2. Написать простенькую программу которая будет туннелировать порт модема во второй уарт PIC, а дальше "через любой преобразователь RS-232<>UART, USB<>UART"
Harbinger
Да не обязательно сброс - какой-нибудь пин, по состоянию которого программа уйдет в настроечный режим. В котором вроде как и программный UART можно устроить - вряд ли там нужна большая скорость обмена... Или же в режим модема (прямой обмен данными с модулем) - а здесь без коммутатора, похоже, не обойтись.
Вот валяется на полке одно устройство... FCT так называемый, стационарный GSM терминал со SLIC. UART у микроконтроллера (SST89V58RD2) единственный. При переходе в режим модема UART модуля переключается коммутатором по команде с телефонного аппарата, перед тем меняется скорость обмена с модулем с 19200 на 115200; обратный переход посредством снятия и укладывания трубки на подключенном к SLIC телефоне, программа при этом рестартится - китайцы лукаво не мудрствовали...wink.gif
С двумя UART задача становится тривиальной. Для настроек или съема данных творим свой протокол, в котором существует команда, включающая "туннелирование". Дальше варианты обратного перехода - сброс (неизящно), изменение состояния какого-либо пина, отсутствие передачи данных в течение какого-то тайм-аута...
stream
Хочу добавить, что туннелирование _UART_ов не прокатит - SIMCOM перепрошивается весьма вычурно, обмен с загрузчиком начинается на скорости 28800, и скорость меняется в процессе. Поэтому туннелировать нужно напрямую состояние пинов в режиме GPIO. Так работает.
ncux
"скорость меняется в процессе"

Вот этого я и боялся, теперь знаю наверняка, что обмен через УАРТы контроллера не прокатит.
Я хотел было использовать пару IRF7104, замыкающих линии контроллера в режиме туннелирования, при этом сами пины в Z-состоянии.
Но способ, предложенный Stream'ом, похоже, самый эффективный и малозатратный.
Спасибо! smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.