USB интерфейс (Universal Serial Bus) является универсальной высокоскоростной последовательный интерфейс. Ее основной особенностью является его скоростными характеристиками передачи. USB1.1 теоретические ограничения скорости до 12 Мбит / с, USB 2.0 до 480 Мбит / с Таким образом, она может быть решена больших объемов данных во встраиваемых системах и совместимости данных между проблемой PC-передачи; то же время, он поддерживает горячей замены и поддержкой до 127 периферийных устройств в то же время, очень подходит для встраиваемых систем приложений .
Эта конструкция в существующих захвата изображений из встроенных систем DSP на его основе с USB1.1 интерфейс, подключенный к системе захвата изображений для достижения высокоскоростной передачи данных DSP образ обратно на ПК, цель . Дизайн требования:
① В оригинальный интерфейс, основанный на платформе, добавив, недорогой, высокоскоростной USB-интерфейс;
② через USB интерфейс, ПК, на DSP для достижения изображения приобретения операционной системы и контроля;
③ изображение с камеры данных в системе DSP и ПК, два пути между высокоскоростной передачи.
На основании вышеизложенного мы видим, что основной характеристикой этой программы является низкая стоимость и высокая скорость передачи.
Выбор программы и проектирования аппаратных
1,1 Схема выбора
DSP-платформа для дизайна интерфейса USB, после рассмотрения нескольких вариантов после принятия решения, без использования интерфейса USB чип PDIUSBD12 основных MCU (стоимость очень низкая, цена PDIUSBD12 только 20 млн.), а также простые внешней цепи и цепи времени перестройки.
Чип USB только полный обмен нижележащего уровня передачи данных, и обеспечивает параллельную локальный интерфейс микро-контроллер, но это не полный протокол слой работы. Протокол слой оперативных потребностей микро-контроллер программирования, управления, USB-интерфейс чипа для достижения протокола USB. Таким образом, большое количество довольно трудно развиваться, делать больше работы по программированию. Однако, стоимость этого пакета является очень низким, и из-за прямого использования DSP как микро-контроллер, не существует узкое место в оригинальной предел MCU, так что вы можете достичь очень высокой скорости передачи данных. Схема системного блока показано на рисунке 1.
Как параллельно PDIUSBD12 сроки интерфейс медленно, только 2 Мб / с Этот показатель является низким по сравнению с DSP, а не просто некоторые места в программе после задержки может быть скорректирована, так что потребности цепи регулировки времени для завершения координации между ними.
1,2 PDIUSBD12 Chip
PDIUSBD12 чипа Philips, начал USB1.1 чип интерфейс. Он может работать в 5V или рабочее напряжение 3,3 В, с автобуса 8-битные данные, и имеет полную автономию в операции передачи DMA. Она также имеет программное обеспечение, которое может контролировать соединения (SoftConnect) он может обеспечить надежное и инициализации микроконтроллера, подключенных к шине USB после. Кроме того, он имеет светодиодный контактный водитель, вы можете добавить СИД для контроля процесса USB перечисления и процесс передачи данных. Когда интерфейс USB для перечисления полной, и после успешной настройки, индикатор всегда свет, а в процессе перечисления и связи USB данных процесса, индикатор мигает ритмично.
PDIUSBD12 всего две ресурсов адресов микроконтроллера. То есть, это лишь одна строка адреса. Один из адресов, используемых для записи команды на чипе, и другой адрес для записи данных, чтобы проглотить фильма или чтения данных из чипа.
PDIUSBD12 общей сложности три конечные точки: конечная точка 0 контроль за поставками, завершена; конечную точку 1 может быть настроен для прерывания передачи; конечной точки данных 2 является основной конечной точки. Он имеет буфер 64Б, если в сочетании с его двойной буферизации механизм, есть буфер 128B, он может быть настроен как объемных режим передачи, или асинхронном режиме передачи.
В общем, PDIUSBD12 является высокая производительность, сравнительно мягкий низкий интерфейс USB чип.
1.3 Сроки Chip
Чтобы сократить затраты, упростить схемы, программа не использует DMA режим передачи, и TMS320C2XX TI как микроконтроллер (20 МГц использовался кристалл). Это параллельно скорости порта очень высокая, гораздо выше, чем максимальные пределы требуется PDIUSBD12 2 Мб / с Вот где самые критические аппаратного дизайна.
После детального анализа времени обнаружили, что большинство вопросов могут быть добавлены в проект DSP прошивки задержки, или набор для решения WSGR зарегистрироваться DSP's. Но есть проблемы и должны быть рассмотрены на аппаратном уровне. Рисунок 2 является DSP (TMS320C2XX) написать сроки.
Рисунок 2, параметры-й (WD) в сигнал, который мы идет высокими (неактивный) после записи данных будут оставаться в силе времени. Это значение является минимумом 3NS, максимум 14ns, так что данные, записанные после сигнала, мы неверно будет оставаться в силе, около 3 ~ 14ns (фактическое время задержки между этими двумя значениями.)
Рисунок 3 требуется PDIUSBD12 написать сроки. Рис, параметры tWDH с DSP (TMS320C2XX) параметр-й (WD), другой соответствующие параметры. Этот параметр отражает PDIUSBD12 микроконтроллер для записи данных на один, написанный после данных в сигнал WR является недействительным, мы должны продолжать поддерживать эффективное время. Этот параметр минимум 10 нс. Другими словами, PDIUSBD12 письменных данных требований остаются в силе по крайней мере 10 нс (недействительными после WR).
Видно, DSP (TMS320C2XX) написать времени не может надежно гарантировать PDIUSBD12 соответствуют предъявляемым требованиям, и эта проблема не может быть добавлен с помощью программного обеспечения подхода к задержке должны быть обработаны оборудования. После анализа и сравнения, окончательное решение принять очень просто, но это оказалось очень эффективным способом скорректировать сроки между ними. То есть в DSP (TMS320C2XX) и PDIUSBD12 плюс два пути между автобус буфер-74LS245. Чип может в их сроки между введением задержки. Хотя эта задержка не является надежным, но из-DSP (TMS320C2XX) сама по себе силу в WR, продолжать данных действительный период времени (уже говорили), эта задержка только должны быть расширены немного на нем. 74LS245 задержки, связанные с типичными 15 нс, минимум для 8ns. Это, в сочетании со сроками задержки писать оригинального DSP для удовлетворения требований PDIUSBD12 времени писать.
В дополнение к включению 74LS245 вызванных сроки воздействия других интерфейсов, вы можете установить DSP (TMS320C2XX) из WSGR зарегистрируйтесь, чтобы удалить, так что это возможно. (На самом деле, а затем создать хорошую схему Доказано также, что это решение возможно)
Со сроками от остальных, после тщательного расчета и проверки сертификата вполне возможно. В аппаратной, презрение Программа также использует глобальный список адресов (16V8) для достижения PDIUSBD12 чип чип выбора, и осуществлять ее программное обеспечение и ручной сброс. Общая схема блока аппаратного показано на рисунке 4.
Software Design 2
2,1 микропрограммы дизайн
В результате неосновные MCU чип интерфейс USB, так что реализация на USB1.1 спецификации протокола должны полагаться на DSP (TMS320C2XX) контроль PDIUSBD12 чип для завершения. Главная задача дизайна прошивки: DSP (TMS320C2XX) программирования платформы для завершения требуемых стандартов USB1.1 просит спецификации и определяемые пользователем в соответствии с изделие нуждается в его собственной просьбе.
Для того чтобы не повлиять на эффективность осуществления процесса, прерывание завершение программы с подготовки прошивки; то же время, в целях обеспечения модульности программы и хорошей переносимости, в разработке прошивки используется в подготовке иерархии, как показано на рисунке 5 .
Самый низкий уровень слоя аппаратный интерфейс, полная PDIUSBD12 оборудования и DSP (TMS320C2XX) док. Главным образом DSP (TMS320C2XX) или записи данных в PDIUSBD12 команды, и читать с данными.
Средний слой состоит из двух основных модулей, интерфейс командной используемые для выполнения PDIUSBD12 и обработки прерываний. PDIUSBD12 интерфейс команды в соответствии с формой заказа, чтобы завершить свою управления DSP. Основной формат команды: DSP команду для решения одной из первых, чтобы написать одну команду, а затем адрес, с которого данные записываются или читать ряд данных. Прерывания прерывания подпрограммы для определения источника производства, а затем перейти к соответствующей подпрограммы. Эти процедуры не сделать слишком много обработки, но только команды считывания данных, а затем установить флаг бит, или некоторые из данных, переданных.
Верхний слой основные процедуры цикла, и USB1.1 стандартный протокол для запросов (эти просьбы в первую очередь в USB1.1 спецификации протокола определены в главе IX), и определяемые пользователем запроса обработчик. Основной цикл из основных задач является проверка флага. Если флаг установлен, а затем вызвать подпрограмму, чтобы определить запрос стандартной или определяемой пользователем запросу, а затем вызывает соответствующий обработчик решать для выполнения запроса.
Это имеет то преимущество, стратификации: основная программа петлю на флаге проверить время может быть другим, чем работа по улучшению эффективности работы прошивки.
Программирование, как оно включает в себя ряд жестких координации интерфейс времени, поэтому подготовка прошивки используется во всех DSP (TMS320C2XX) на ассемблере, использование CC2000 инструментов программирования развития.
2,2 PC Машина Design Software
ПК, драйвера от компании Philips. Тогда, с VC + +6.0, путем вызова функции API, подготовка компьютерных приложений. Это может быть реализовано на ПК, DSP (TMS320C2XX) камера системы, управление камерой и передачи изображения.
Главная использование функции API является DeviceIOControl (), ReadFile (), WriteFile (). Один DeviceIOControl () для компьютера (хоста) изображение приобретения системы DSP для отправки запроса; ReadFile () и WriteFile () используется для чтения данных из системы ввода и захвата изображений системы для записи данных.
В процессе проектирования следует отметить, что вопрос: С USB интерфейс является основным - от того, как интерфейс, и все передачи его в периферической должен отправить запрос принимающей прежде чем они смогут начать, так что используйте ReadFile (), WriteFile () чтения и записи данных, вы должны сначала пройти DeviceIOControl () отправляет запрос к системе захвата изображений.
3 Результаты и анализ
Дизайн завершения последнего задания, которое, через интерфейсы USB 1.1, PC компьютера и скорости передачи данных DSP системы до 580KB / S (4.6MB / с) выше. Этот показатель относится к эффективная скорость передачи данных, не включая передачу данных контактной информации разделе голове, поэтому ставка является вполне удовлетворительным. Теперь, формат передачи для 352 × 288 пикселей, черно-белые фотографии (размер 99KB), потребляя менее 1 секунды. Если динамичные перестрелки и дисплей, то вся система может быть принято в секунду и полное шоу от 3 до 4, без сжатого размер изображения 352 × 288 пикселей, черно-белые фотографии.
Результаты показывают, что система надежно (уже включены в на-чипе флэш среднего программы Шао), показатели достигли начальной требования к структуре, для достижения хороших данных изображения между компьютером PC и высокоскоростной DSP двусторонней передачи. И, этот интерфейс USB решений с использованием только одной PDIUSBD12 чип интерфейс и 74LS245, устройство стоит всего 20 юаней, стоимость относительно невысока. В то же время, использование DSP, как контроллер, так это скорость связи может быть высокой, она может сказать о программе для достижения низкой стоимости, высокой скорости скорость USB1.1 требованиям дизайна интерфейса.