# Интерфейстный кабель для FMS, версия 1.01

Вступление
Схемы
Протокол обмена
Версии
Контакты

Вступление

> Как вы знаете, с появлением версии FMS под Windows, там возникли некоторые проблемы с точностью распознавания сигнала передатчика. Точное измерение сигнала передатчика под Windows является не совсем тривиальной задачей. Решать этот вопрос можно несколькими способами.

> Первый способ - использовать адаптер для GamePort-а (например, "rc2joy"). Но это не лучший вариант, так как подобные адаптеры позволяют передавать в компьютер только 4 пропорциональных канала. Остальные каналы передаются дискретными. Кроме того, адаптеры для GamePort-а еще не самые простые устройства (хотя, "rc2joy" очень близок к этому).

> Другой способ - написать для FMS vxd-драйвер. Это здорово, но сложно, и к тому же требует для каждого типа Windows своего драйвера. Вдобавок, нет никаких гарантий, что не придется писать драйвер заново, когда Microsoft из лучших побуждений изобретет новую версию своего детища.

> Поэтому, был выбран третий способ, как наиболее демократичный. Был разработан интерфейсный кабель с открытым протоколом, и все измерения, требующие высокой точности, теперь происходят прямо в этом кабеле. Такой кабель обладает следующими достоинствами:

> 1. Он преобразует PPM-сигнал с передатчика в поток байтов, которые передаются через COM-порт.
> 2. Кабель не требует никаких дополнительных драйверов для обработки данных. Программирование COM-порта является очень простой задачей под любой операционной системой.
> 3. Кабель содержит микроконтроллер, но количество деталей минимально, сборка очень проста и никакой настройки не требуется.
> 4. Все детали для интерфейсного кабеля стоят меньше 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