Почему не FTDI

Почему не FTDI

 

На данном этапе, разработчики микропроцессорных устройств для сопряжения с шиной USB применяют микросхемы компании FTDI, путем встраивания в печатную плату изделия. Стоимость такой разработки невелика, благодаря аппаратной реализации протокола, что позволяют организовать обмен данными по USB самым простым способом. Но необходима установка драйверов (для Windows, MAC OS, Linux).
Чипы FTDI - это мост между шиной USB и микропроцессорными интерфейсами, например: UART, FIFO, I2C, JTAG, PS/2, SPI, IrDA. Применение чипов FTDI позволяет быстро превратить изделие с интерфейсом RS232 в USB-устройство.
Микросхемы FTDI были разработаны в момент начала массового появления USB-портов на компьютерах. В то время они позиционировались как временное решение, помогающее переходу на технологию USB.
Но... нет ничего более постоянного, чем временное решение.

Основные недостатки микросхем FTDI:
  1. Необходимость установки драйвера на компьютер.
  2. Невозможность изменения (апргейда).

Установка драйвера на компьютер чревата такими ошибками, как "Синий экран смерти" (BSOD). А установка драйвера без цифровой подписи (у FTDI именно такой) - тем более, особенно под ОС "Vista". Да и вообще - это вчерашний день. Сегодня никто даже не задумывается об установке драйверов, подключая к компьютеру флешку, клавиатуру или мышь. Почему же при подключением любого современного оборудования должно быть по-другому ?

"Невозможность изменения" означает, что микросхема FTDI сделана "раз и навсегда" - изменить логику её работы невозможно. Все слышали, конечно, выражение "перезалить прошивку". Это означает: улучшить что-либо за счёт изменения встроенной программы и может относиться к чему угодно - от телефона, до автомобиля. А вот к микросхемам FTDI - и к тому, что сделано на них - не может. Таким образом, если в процессе производства будут выявлены ошибки, то исправить их будет возможно только методом замены (бесплатной) уже купленных устройств. Тоже самое и с усовершенствованиями уже выпущенных устройств - фактически, они невозможны.
Всё вышеизложенное позволяет сделать вывод: микросхемы FTDI оправданы только при малой серийности. Максимум - один-два десятка изделий в месяц. В этом случае, они могут быть экономически выгодны - за счёт меньших затрат на разработку. В случае же более крупных серий, затраты на разработку уже не так существенны, т.к. с увеличением тиража, их доля в себестоимости изделия пропорционально снижается.

Нужен ли переход на бездрайверные технологии

Многие пользователи различного оборудования применяют переходники "Com-USB" для связи с шиной USB. В этом случае, не исключены "зависания" оборудования, устранить которые помогает только перезапуск. Также, на каждый компьютер необходимо устанавливать драйвера.
Чаще всего это всех устраивает и переходить на бездрайверные технологии в этом случае особого смысла нет.

Для перехода должна быть какая-либо причина:
  • Например, если необходимо сертифицировать оборудование на ЭМС (электро-магнитная совместимость) по классу B. Промышленное оборудование должно, как минимум, соответствовать классу B.
    Тогда, в случае сбоя, восстановление должно происходить без участия оператора. При использовании же переходника "Com-USB", этого добиться невозможно (т.к. необходимо его "переткнуть").

  • Другая причина в том, что компьютер с переходником "Com-USB" крайне плохо работает в режиме реального времени (а это не позволяет многим внешним устройствам правильно функционировать).
    Чтобы было понятно, что это означает, приведём пример:

    Нас пригласили на одно из предприятий, где использует для своих изделий связь по "RS485" по протоколу "ModBus". На компьютерах - в качестве переходника "USB-RS485" - использовалась микросхема FTDI (с обвязкой). Проблема, которая была у разработчиков данного предприятия, была изложена так:
    "Между компьютером и нашими устройствами мы связываемся на скорости 115200, но нам этого не хватает. Какую максимальную скорость вы можете обеспечить ?".
    Мы стали выяснять, что же реально там на шине "RS485" происходит? Оказалось, что обмен осуществлялся таким образом:
    1. Компьютер шлёт 6 байт запроса 1-му устройству (на скорости 115200 - это, примерно, = 0.5 миллисекунды).
    2. Пауза на шине, примерно, = 0.5 миллисекунды.
    3. 1-е устройство отвечает - шлёт 38 байт (примерно, = 3.3 миллисекунды).
    4. Пауза на шине = от 10 до 20 миллисекунд.
    5. Весь цикл запроса повторяется снова с устройствами N2...N4.

    Мы задали вопрос: "Почему в п. 4 такая большая пауза: занимает больше 75% времени ?"
    Они: "Меньше сделать не получается. Пробовали... посылки от устройства начинают теряться. Компьютер их не дожидается и шлёт новый запрос, а в этот момент приходит ответ на первый запрос. Короче, начинается полный бардак."

    В итоге, мы установили прибор "Antel-485", и всё необходимое было реализовано. Самое интересное - на скорости 57600. И такой скорости с запасом стало хватать. Это из-за того, что пауза в п.4 уменьшилась до 0.5 миллисекунды. В "Antel-485" эти паузы задаются с точностью до 0.1 миллисекунды и выдерживаются точно, т.к. "Antel-485" предназначен для работы в режиме реального времени.

Результат отказа от FTDI :
  • не нужны драйвера,
  • возможен upgrade,
  • возможна работа в реальном режиме времени,
  • восстановление работы происходит без участия оператора,
  • нет ошибок BSOD ("Синий экран смерти"),
  • стоимость при больших тиражах не превышает стоимости применения решений на базе микросхем FTDI.

Резюме: применение чипов FTDI - вчерашний день.

Дополнительно можно посмотреть статьи:

Техотдел предприятия "ДИНАС"
{mos_fb_discuss:12}
Обновлено 08.10.2009 09:18