Вступление
Схемы
Протокол обмена
Версии
Контакты
Как вы знаете, с появлением версии FMS под Windows, там возникли некоторые проблемы с точностью распознавания сигнала передатчика. Точное измерение сигнала передатчика под Windows является не совсем тривиальной задачей. Решать этот вопрос можно несколькими способами.
Первый способ - использовать адаптер для GamePort-а (например, "rc2joy"). Но это не лучший вариант, так как подобные адаптеры позволяют передавать в компьютер только 4 пропорциональных канала. Остальные каналы передаются дискретными. Кроме того, адаптеры для GamePort-а еще не самые простые устройства (хотя, "rc2joy" очень близок к этому).
Другой способ - написать для FMS vxd-драйвер. Это здорово, но сложно, и к тому же требует для каждого типа Windows своего драйвера. Вдобавок, нет никаких гарантий, что не придется писать драйвер заново, когда Microsoft из лучших побуждений изобретет новую версию своего детища.
Поэтому, был выбран третий способ, как наиболее демократичный. Был разработан интерфейсный кабель с открытым протоколом, и все измерения, требующие высокой точности, теперь происходят прямо в этом кабеле. Такой кабель обладает следующими достоинствами:
- Он преобразует PPM-сигнал с передатчика в поток байтов, которые передаются через COM-порт.
- Кабель не требует никаких дополнительных драйверов для обработки данных. Программирование COM-порта является очень простой задачей под любой операционной системой.
- Кабель содержит микроконтроллер, но количество деталей минимально, сборка очень проста и никакой настройки не требуется.
- Все детали для интерфейсного кабеля стоят меньше 5$.
Назначение файлов этого архива:
/readme_en.htm английская версия описания /readme_ru.htm этот файл /images/*.* схемы и другие картинки для этого описания. /firmware/ оригинальный софт /firmware/12C508.hex прошивка для PIC12C508 /firmware/16C84.hex прошивка для PIC16C84(PIC16F84) /firmware/sources/*.* исходные тексты прошивок /firmware.new/ альтернативный софт, который написал Rasmus Geidnert /firmware.new/16C84.hex прошивка для PIC16F84(PIC16F84) /firmware.new/sources/*.* исходные тексты альтернативного софта
(с файлом проекта и симуляции для MPLAB)
Схемы
Интерфейсный кабель содержит микроконтроллер фирмы Microchip, который и делает всю работу. Было сделано 2 модификации кабеля, та микроконтроллере PIC16F84 (PIC16C84) и PIC12C508. Я бы посоветовал второй вариант, потому что там меньше деталей (нету кварца) и плата получается более компактная. Хотя, если вам больше по душе PIC16F84 - дело ваше. Вы можете выбрать любой вариант, потому что оба они работают одинаково.
Здесь даются все возможные варианты схем, для обоих микроконтроллеров PIC16F84/PIC12C508 и для всех типов разъемов COM-портов (25-контактных и 9-контактных).
Схема на PIC12C508, 9-контактный разъем (рекомендую).
Схема на PIC12C508, 25-контактный разъем.
Схема на PIC16F84 (PIC16C84), 9-контактный разъем.
Схема на PIC16F84 (PIC16C84), 25-контактный разъем.
Выберите ту схему, которая вам больше подходит. Тип деталей некритичен. В качестве Q1 и Q2 можно использовать любые PNP и NPN транзисторы с коэффициентом усиления >100. Я предпочел использовать компоненты для поверхностного монтажа, и ниже можно увидеть картинки кабеля (по первой схеме) в собранном и полуразобранном виде. Устройство получилось настолько маленьким, что его удалось уместить прямо в корпусе 9-контактного разъема!
После того как вы определитесь со схемой кабеля и купите все необходимые датали, нужно будет запрограммировать микроконтроллер. Выберете нужную прошивку по названию файла. Программирование PIC-а не представляет особых сложностей. Если у вас нет под рукой программатора, то его можно собрать самостоятельно. Схема и программное обеспечение выложено на сайте http://www.jdm.homepage.dk/newpic.htm.
(!) Внимание, распайка разъема передатчика на схемах интерфейсного кабеля рассчитана под аппаратуру Hitec. Если у вас другой передатчик, то возможно придется использовать другой разъем и иначе подпаивать сигнальные провода. Ниже в таблице приводится распайка для других передатчиков, которые удалось найти:
- Hitec (все типы)
- Futaba 8
- Futaba 9Z
- Futaba SkySport
- Futaba AM
- Futaba 6
Протокол обмена
Кабель для FMS передает данные в компьютер через последовательный интерфейс. Для правильной работы, COM-порт должен быть настроен следующим образом:
- скорость 19200 бод
- формат 81N (8 бит данных, 1 стоп-бит, без паритета)
- высокий уровень RTS (+10v)
- низкий уровень DTR (-10v)Данные о каждом канале формируются в пакет, который передается на компьютер. Для каждого цикла PPM формируется новый пакет данных.
- Каждый пакет начинается с байта 0xFF
- Каждый канал передатчика добавляет к пакету 1 байт данных (после 0xFF).Байт данных о канале может принимать значение от 0 до 0xFE. В таблице дано соответствие между длительностью канального импульса и генерируемым байтом данных.
длительность импульса данные
760 мкс 0x00
1528 мкс 0x80
2284 мкс 0xFE
Изменение импульса на 6 микросекунд вызывает изменение в байте данных на 1.
Пример:
пауза 0xFF 0x80 0x80 0x80 0x80 пауза 0xFF 0x80 0x80 0x80 0x80 ...
Это значит, что у нас 4-канальный передатчик, все ручки которого стоят в среднем положении.
(!) Внимание, когда передатчик выключен, интерфейс постоянно посылает в компьютер байты 0xFF bytes. Это помогает определить наличие кабеля.
Версии
25.11.2000, версия 1.00
Первая версия интерфейса. Поддерживаются PIC16F84(PIC16C84) и PIC12C508.28.02.2001, версия 1.01
Добавлено альтернативное п/о, которое написал Rasmus Geidnert.
Новые прошивки передают данные после каждого импульса, а не в паузах PPM-сигнала. Это гарантирует отсутствие проблем на передатчиках с большим количеством каналов, где паузы между PPM-пакетами могут оказаться маленькими. На самом деле не известно, может ли такая проблема действительно случиться на практике, но в любом случае, софт, который написал Rasmus, заслуживает внимания.
Контакты
Это интерфейс был специально разработан для авторов FMS, которые подарили всему миру лучший бесплатный симулятор авиамоделей. Информация об интерфейсном кабеле является бесплатной. Вы можете свободно использовать ее для некоммерческих целей, а так же распространять дальше, при условии сохранения целостности исходного архива. Коммерческое использование этой информации без согласия автора запрещено.
WWW:
http://www.rcdesign.ru - Материалы об интерфейсном кабеле для FMS. Здесь можно скачать всю исходную информацию.
http://fms.rcdesign.ru - Русская страница FMS.
http://simulator.home.pages.de - Главный сайт FMS.Email:
Vitaly Puzrin - автор интерфейсного кабеля для FMS.
Rasmus Geidnert - автор альтернативного п/о для интерфейсного кабеля.
Copyright © Vitaly Puzrin, RC Design
2000