Методические указания по выполнению курсовой работы (1083793), страница 4
Текст из файла (страница 4)
AUD-RESET должен бытьиспользован для инициализации LM4550 после включенияпитания, когда напряжение стабилизировались. ТакжеAUD-RESET очищает кодек от тестовых режимов ATE ипоставщика. Кроме того, когда AUD-RESET активен, моновход PC_BEEP подключается непосредственно на обаканала стерео выхода LINE_OUT.PLL использует генератор, управляемый напряжением Voltage Controlled Oscillator(VCO), который может быть запрограммирован для формирования сигнала с частотой в20диапазоне от 400 до 1080 МГц, путем установки трех наборов программируемых делителей вовремя конфигурации FPAG. У выхода VCO есть восемь равномерно распределенных выводов(0, 45, 90, 135, 180, 225, 270, и 315), частота сигнала с которых может быть разделена налюбое целое число между 1 и 128.USB-UART Bridge (Serial Port)Плата Atlys содержит USB-UART мост EXAR, чтобы обеспечить возможностьприложениям PC связываться с платой, используя COM-порт. Свободно-распространяемыедрайвера позволяют легко передавать данные от COM-порта PC на плату Atlys, сиспользованием USB порта J17 с пометкой «UART».
EXAR передает данные в Spartan-6,используя двухпроводной последовательный порт с программным управлением потокомданных (XON/XOFF).Распространяемые свободно драйверы под Windows и Linux могут быть загружены ссайта www.exar.com. Ввод номера компонента "XR21V1410" в поле поиска позволит получитьссылку к странице продукта XR21V1410, где можно найти ссылки для скачивания последнихверсий драйверов.
После того, как драйвера будут установлены, команды ввода-вывода от PC,направленные к COM-порту, так же будут направлены на выводы A16 и B16 FPGA.USB HID HostУстановленный на плате микроконтроллер Microchip PIC24FJ192 дает плате Atlysвозможность быть HID USB контроллером. Прошивка микроконтроллера MCU позволяетиспользовать мышь или клавиатуру, подключенную к USB разъему типа A (J13) с маркировкой"Host". В настоящий момент отсутствует поддержка USB концентраторов, и только одноустройство (мышь или клавиатура) может быть подключено одновременно.
PIC24 используетчетыре сигнала для связи с FPGA: два используются как порт клавиатуры со связью попротоколу PS/2 (специализированному для клавиатуры) и два используется в качестве портамыши со связью по протоколу PS/2 (специализированному для работы с манипуляторами«мышь»).Два порта ввода-вывода PIC24 также соединяются с последовательным двухпроводнымпортом программирования FPGA, таким образом, FPGA может быть запрограммированаданными из файла, хранящегося на USB карте памяти.
Чтобы запрограммировать FPGA,подключите карту памяти, содержащую единственный файл программы (.bit) в корневом21каталоге, замкните JP11, и включите питание платы. Это запустит процесс программированияFPGA при помощи PIC24. В процессе программирования любые некорректные битовые файлыбудут автоматически пропущены.Чтобы получить доступ к хост-контроллеру USB, проекты EDK могут использоватьстандартное PS/2 IP ядро. В демонстрационных проектах, доступных на веб-сайте Digilent,приведен пример считывания символов с USB клавиатуры, подключенной к USB хостконтроллеру.Мыши и клавиатуры, которые используют протокол PS/2, используют двухпроводнуюпоследовательную шину (синхронизация и данные), чтобы связаться с контроллером.
И те идругие используют 11-разрядные слова, которые включают стартовый бит, стоповый бит и битчетности, но пакеты данных имеют различную структуру. Интерфейс клавиатурыподдерживает двунаправленную передачу данных (таким образом, контроллер может зажигатьсветодиоды состояния на клавиатуре). Временные диаграммы работы шины показаны нарисунке. Синхросигналы и сигналы данных изменяются только тогда, когда происходитпередача данных. Все остальное время они находятся в состоянии ожидания (лог. ‘1’). Так жена временных диаграммах приведены требования к сигналам данных и синхронизации.
Схемаинтерфейса PS/2 может быть реализована в FPGA, чтобы создать интерфейсы мыши иликлавиатуры.KeyboardКлавиатура использует схему с открытым коллектором, таким образом, клавиатура, иликонтроллер USB могут управлять двухпроводной шиной (если устройство узла не будетотправлять данные клавиатуре, то узел может использовать порты только для ввода).PS/2 клавиатуры используют коды сканирования для передачи данных о нажатииклавиши. Каждой клавише присвоен код, который отправляется всякий раз, когда клавишанажимается. Если клавиша будет удерживаться, то код сканирования будет передаватьсяповторно, примерно раз в 100 мс.
Когда клавиша будет отпущена, одновременно с кодомсканирования данной клавиши будет передан код F0. Если регистр данной клавиши можетбыть переключен для получения другого символа (такого как прописная буква), то символсмены регистра отправляется в дополнение к коду сканирования, и ведущее устройство должноопределить, какой ASCII символ использовать. Некоторые клавиши, называемые клавишамирасширения, отправляют код E0 перед кодом сканирования (и могут отправить более одногокода сканирования). Когда клавиша расширения отпускается, отправляется код клавиши E0 F0,сопровождаемый кодом сканирования. Коды сканирования для большинства клавиш показанына рисунке. Ведущее устройство так же может отправлять данные клавиатуре. Краткий списоккоманд, которые могут быть отправлены ведущим устройством, представлены в таблице.EDEEF3Установка Num Lock, Caps Lock, и Scroll Lock светодиодов. После приемаED, клавиатура возвращает FA, а затем ведущее устройство отправляет байтустановки статуса светодиода: бит 0 устанавливает Scroll Lock, бит 1устанавливает Num Lock, и бит 2 устанавливает Caps lock.
Биты с 3 по 7игнорируются.Эхо (тест). Клавиатура возвращает EE после приема EE.Установка частоты повторения кода сканирования. После приема FA,клавиатура возвращает F3, затем ведущее устройство посылает второй байтдля установки частоты повторения сканирования.22FEFFПовторная передача.
FE заставляет клавиатуру повторно передатьпоследний отправленный код сканирования.Сброс. Сброс клавиатуры.Клавиатура может отправить данные ведущему устройству только в том случае, когдаобе линии (данных и синхронизации) находятся в высоком состоянии (или неактивны). Так какведущее устройство - устройство управления шиной, то, перед отправкой данных, клавиатурадолжна проверить, не занята ли линия. Чтобы упростить этот процесс, линия синхронизациииспользуется в качестве сигнал “свободен для передачи”. Если ведущее устройство подтягиваетлинию синхронизации к низкому логическому уровню, клавиатура не должна отправлятьданные, пока линия не вернется в исходное состояние.
Клавиатура отправляет данныеведущему устройству в 11-разрядных словах, которые содержат: стартовый бит ‘0’, 8 бит кодасканирования (сначала младший бит), бит четности и стоповый бит ‘1’. При передаче данныхклавиатура генерирует 11 тактовых импульсов с частотой от 20 до 30 кГц. Данные доступныдля чтения по отрицательному фронту тактового импульса.Коды сканирования для большинства PS/2 клавиатур приведены на рисунке.MouseПри перемещении мышь изменяет значения линий данных и синхронизации, всостоянии покоя эти линии остаются в состоянии логической ‘1’.
При каждом перемещениимыши, на ведущее устройство передаются три 11-разрядных слова. Каждое из этих словсодержит стартовый: бит ‘0’, 8 бит данных (сначала младший бит), бит четности и стоповыйбит ‘1’. Таким образом, каждая передача данных содержит 33 бита, где биты с номерами 0, 11 и22 ‘нулевые’ - стартовые биты, а биты с номерами 10, 21, и 33 ‘единичные’ - стоповые биты.Три 8-разрядных поля данных содержат информацию о перемещении, как показано на рисунке.Данные доступны для чтения по отрицательному фронту тактового импульса с частотой 20 - 30кГц.Мышь предполагает использование относительной системы координат, в которойперемещение мыши направо генерирует положительное число в поле X, а перемещение налевогенерирует отрицательное число.
Аналогично, перемещение вверх мыши генерируетположительное число в поле Y, а перемещение вниз - отрицательное число (биты XS и YS вбайте состояния - биты знака, где ‘1’ указывает на отрицательное число). Значения чисел X и Yпредставляют скорость перемещения мыши - чем больше число, тем быстрее мышьперемещается (биты XV и YV в байте состояния - индикаторы переполнения перемещения, где‘1’, означает, что произошло переполнение).