Белов, А.В. Микроконтроллеры AVR: от азов программирования до создания практических устройств

Приложение 1. Адаптер USB-FIFO 527 « I 1 I 2Ж 1 Ж FTDI Chip Рис. П1.1. Логотип фирмы FTDI Chip (Future Technology Devices International Ltd.) микросхему этой фирмы: FT245R. Принцип работы остальных микросхем аналогичный. Как же работает адаптер USB-FIFO? Основой адаптера является буфер FIFO. Акроним FIFO является сокращением от английского «First In, First Out» («Первым вошел, первым вышел»). В вычислитель ­ ной технике принцип FIFO соответствует структуре данных типа «очередь». Буфер — это несколько ячеек памяти, объединенных в единое устрой ­ ство с определенной логикой работы. К нему можно применять операцию записи байта и операцию чтения байта. При записи байта он помещается в первую из ячеек памяти буфера. Если до следующего цикла записи байт не будет прочитан, то очередной байт запишется в следующую ячейку, итак далее. Когда все ячейки заполнятся, запись данных блокируется. Когда в буфер поступает запрос на чтение, логика FIFO помещает на выход тот байт, который был записан первым. При следующем цикле чтения на выход выдается второй записанный байт. И так далее, пока очередь не исчерпается. Структура данных типа «очередь» позволяет оптимизировать обмен данными между двумя устройствами, у которых чтение и запись про ­ исходят в случайные моменты времени. Если некое устройство номер 1 в процессе своей работы изъявило желание передать байт данных в устройство номер 2, а устройство номер 2 в данный момент занято и не может принять байт, то устройство номер 1 просто записывает байт в очередь и продолжает свою работу. А устройство номер 2, когда осво ­ бодится, считывает байт из очереди. Это позволяет обоим устройствам уменьшить периоды ожидания готовности друг друга. В микросхеме FT245R в качестве устройства номер 1 используется USB интерфейс, подключенный к компьютеру, а в качестве устройства номер 2 — микроконтроллер. Микроконтроллер подключается к микро ­ схеме посредством простой шины данных, имеющей 8 линий (DO — D7) и 4 простые линии управления. USB интерфейс, подключенный к ком ­ пьютеру, реализует виртуальный СОМ порт, с которым ваша программа может работать как с обычным СОМ портом. Рассмотрим структуру микросхемы FT245R подробнее. На рис. П1.2 показана внутренняя структура микросхемы FT245R. Как видим, микросхема имеет не один, а два буфера FIFO. Один буфер имеет размер 128 байт и используется для передачи информации из USB к микроконтроллеру. Второй буфер имеет размер 256 ячеек и использу ­ ется для передачи данных от микроконтроллера к USB интерфейсу.

RkJQdWJsaXNoZXIy MTExODQxMg==