1.2 Классификация АЦП
Классификация АЦП представлена на рисунке 1.
Рисунок 1 - Классификация АЦП
1.3 Квантование амплитуды аналогового сигнала, разрядность АЦП
Преобразование аналогового сигнала в цифровой поток данных происходит в два этапа. Первый этап это дискретизация сигнала на основе теоремы Найквиста, с использованием oversampling. Второй этап это квантование амплитуды дискретных отсчётов, полученных на первом этапе. Дискрет - столбик или полоска, схожая с той, что на студийном индикаторе уровня сигнала. Длина этой полоски и е сть амплитуда сигнала в дискрете.
Процесс квантования амплитуды тогда можно представить как измерение длины полоски с помощью линейки. Чем чаще идут метки на линейке, тем точнее длина полоски (амплитуды) и тем меньше будут ошибки измерений (шумы квантования). Но чем чаще расположены метки на линейки, тем больше бит потребуется для записи числа, соответствующего измеренной длине полоски (амплитуде сигнала в дискрете).
Например, если на линейке 32 метки, то для представления длины полоски (амплитуды) в виде числа понадобится максимум 5 бит (32=25). В данном случае 5 бит и будет разрядностью АЦП. Таким образом, процесс квантования амплитуд дискретов фактически заключается в измерении их величин по отношению к некоторому опорному источнику напряжения (линейка в предыдущих объяснениях), обычно имеющемуся внутри корпуса микросхемы АЦП и выражении этих величин в виде чисел состоящих из конечного числа бит. Причём числа могут быть не только целые, например, 16,18,20,24-битные, но и 24 или 32- битные с плавающей точкой или другой кодировкой (например, в кодах с исправлением ошибок), зависящий от конкретной реализации устройства АЦП.
Довольно часто используется всё же кодирование результатов измерения амплитуд дискретов в виде целых чисел в так называемом “дополнительном коде”. В обычном АЦП число бит на один дискрет (разрядность числа) выходного цифрового потока данных непосредственно с квантователя амплитуд дискретов и на выходе всего АЦП равны, так как числа с квантователя амплитуд поступают непосредственно на выход устройства. В случае входного аналогового сигнала, в виде случайного процесса ошибки, процесса квантования, некорелированны с самим сигналом. Отношение сигнал/шум на выходе АЦП в этом случае (если все остальные элементы идеальны) будет 6·N дБ, где N есть число бит на один дискрет или разрядность чисел (для дополнительного кода) сопоставляемых величинам амплитудам дискретов.
Например, для 16-битного АЦП с частотой дискретизации 44,1 кГц в идеальном случае шум квантования будет находиться на уровне 96 дБ по отношению к цифровому синусоидальному сигналу и спектр шума квантования будет равномерен (постоянен) в диапазоне 0 – 22,05 кГц. Если АЦП будет дискретизировать сигнал с большей частотой, то полная мощность шумов квантования останется неизменной, но его спектр будет шире (он будет простираться от 0 Гц до новой, большей частоты дискретизации делённой на 2). Например, если частота дискретизации удваивается до 88.2 кГц, то спектр шумов квантования будет простираться уже до 44,1 кГц (вместо 22,05 кГц). А полезный сигнал будет иметь спектр (как и раньше) простирающийся от 0 Гц до 22,05 кГц, т.е. спектр шума, станет в два раза шире спектра сигнала при прежней мощности шума. Таким образом, мощность шумов квантования “внутри” спектра полезного сигнала упадёт в два раза. Другими словами отношение сигнал/шум квантования в полосе 0 Гц – 22,05 кГц улучшится в два раза (на 3 дБ). Этот процесс можно продолжать. В случае четырехкратного увеличения частоты дискретизации (четырехкратный oversampling) произойдёт улучшение сигнал/шум на 6 дБ. Если использовать 15-битный квантователь на частоте дискретизации 44,1·4 кГц, получится такое же отношение сигнал/шум, как и для 16 битного квантователя и частоты дискретизации 44,1 кГц. Если взять в пределе 1-битного квантователя на частоте дискретизации 44,1·(415) кГц, то получится такое же качество АЦП, как и для 16 битного квантователя на частоте дискретизации 44,1 кГц. С помощью цифровых фильтров подавляются все лишние частотные составляющие в полосе от 22,05 кГц до 44,1·(415)/2 кГц и в полном соответствии с теоремой Найквиста понижают частоту дискретизации до 44,1 кГц.
Таким образом, квантователь АЦП не обязательно должен иметь высокую разрядность, для того чтобы выходной поток цифровых данных АЦП имел частоту дискретизации до 44,1 кГц.
2 Принцип работы интерфейса USB
USB – аббревиатура от Universal Serial Bus, что означает универсальная последовательная шина. Первоначальное ее назначение касалось организации простого и универсального подключения между телефонами и компьютерами. Однако, по мере совершенствования спецификаций, USB-интерфейс становится основным интерфейсом для подключения любого периферийного оборудования к ПК, а в современном виде USB дополнен возможностью организовать связь между двумя устройствами, минуя ПК[2].
Ключевые факторы, способствующие популяризации интерфейса USB:
- последовательная передача;
- высокая скорость обмена данными до 480 Мбит/сек;
- наличие линии питания среди интерфейсных сигналов (5В, 500 мА);
- поддержка функции автоматического определения внешнего устройства при подключении (plug-&-play); возможность подключения к шине при включенном питании (hot plug);
- расширяемость USB-порта. С помощью специального устройства – размножителя (hub) – имеется возможность подключения к одному USB-порту до 127 устройств;
-поддержка передачи аудио, видео, голосовой информации в реальном масштабе времени;
-наличие электронных компонентов, интегрирующих как физический, так и логический уровни; поддержка большинством популярных операционных систем.
2.1 Обзор архитектуры USB
Архитектура шины USB выполнена аналогично локальной сети на витой паре, т.е. как многоуровневая звезда (рисунке 2). При этом шина USB соединяет внешние USB-устройства с главным USB-портом (host). Топология многоуровневой звезды подразумевает, что центром каждого разветвления (звезды) является размножитель (hub). Каждая связь выполняет двухточечное соединение между главным USB-портом и размножителем/функцией или между размножителем и другим размножителем/функцией. На рисунке 2 представлена топология шины USB. Вследствие задержек в распространении сигналов в размножителях и кабелях максимальное количество разветвлений (звезд) ограничено до 7, включая корневой уровень. Из 7 только на 5 уровнях могут быть установлены некорневые размножители, составляющих путь связи между любым устройством и главным USB-портом. Составное устройство занимает два уровня. На 7-ом уровне могут находиться только функции.
Рисунок 2 - Топология шины USB
В любой USB-системе может быть только один главный USB-порт. Устройство, которое соединяет главную компьютерную систему с USB-интерфейсом, называется главный контроллер (Host Controller). Корневой размножитель входит в состав главной системы для организации нескольких точек подключения.
2.2 Протоколы передачи данных USB-порта
Все обмены (транзакции) по USB состоят из трех пакетов. Каждая транзакция планируется и начинается по инициативе контроллера, который посылает пакет-маркер (Token Packet). Этот пакет описывает тип и направление передачи, адрес устройства USB и номер конечной точки.
В каждой транзакции возможен обмен только между адресуемым устройством (его конечной точкой) и хостом. Адресуемое маркером устройство USB распознает свой адрес и подготавливается к обмену. Источник данных (определенный маркером) передает пакет данных (или уведомление об отсутствии данных предназначенных для передачи). После успешного приема пакета приемник данных посылает пакет подтверждения(Handshake Packet).
Планирование транзакций обеспечивает управление поточными каналами. На аппаратном уровне использование отказа от транзакции (NACK) при недопустимой интенсивности передачи предохраняет буферы от переполнения или переопустошения. Маркеры отвергнутых транзакций повторно передаются в свободное для шины время. Управление потоками позволяет гибко планировать обслуживание одновременных разнородных потоков данных.
Устойчивость к ошибкам обеспечивается следующими свойствами USB:
-высокое качество сигналов, обеспечиваемое дифференциальными приемниками и передатчиками и экранированием кабелей;
-защита полей управления и данных CRC-кодами;
-обнаружение подключения и отключения устройств и конфигурирование ресурсов на системном уровне;
-самовосстановление протокола с использованием тайм-аута при потере пакетов;
-управление потоком для обеспечения изохронности и управления аппаратными буферами;
-независимость одних функций от неудачных обменов с другими функциями, обеспечиваемая конструкцией каналов.
Для обнаружения ошибок передачи каждый пакет имеет контрольные поля CRC-кодов, позволяющих обнаруживать все одиночные и двойные битовые ошибки. Аппаратные средства обнаруживают ошибки передачи, а контроллер автоматически производит трехкратную попытку передачи. Если эти повторы безуспешны, сообщение об ошибке передается клиентскому ПО для программной обработки.
2.3 Драйвер D2XX
Драйвер D2XX является альтернативным решением к виртуальному программному обеспечению и обеспечивающий доступ к USB компонентам с использованием DLL. Драйвер применяется для новых разработок и в системах без COM-порта. Драйвер состоит из Windows WDM драйвера и соединяется с устройством, используя USB-стек операционной системы и DLL библиотеку, которая объединяет программное обеспечение (написанное на VC++, C++ Builder, Delphi, VB и т.д.) и WDM драйвер. В комплекте с драйвером на сайте FTDI находятся руководство программиста и примеры программного обеспечения на Visual C++, C++ Builder, Delphi, Visual Basic[8].