Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
21. Передача данных по интерфейсу SPI. SPI (англ. Serial Peripheral Interface, SPI bus последовательный периферийный интерфейс, шина SPI) последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом. В отличие от стандартного последовательного порта (англ. standard serial port), SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). Принимающая (ведомая) периферия синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (англ. chip select) на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участия в передаче по SPI. В SPI используются четыре цифровых сигнала:
Главным составным блоком интерфейса SPI является обычный сдвиговый регистр, сигналы синхронизации и ввода/вывода битового потока которого и образуют интерфейсные сигналы. Таким образом, протокол SPI правильнее назвать не протоколом передачи данных, а протоколом обмена данными между двумя сдвиговыми регистрами, каждый из которых одновременно выполняет и функцию приемника, и функцию передатчика. Непременным условием передачи данных по шине SPI является генерация сигнала синхронизации шины. Этот сигнал имеет право генерировать только ведущий шины и от этого сигнала полностью зависит работа подчиненного шины. Регистр SPDR - это как раз и есть регистр сдвига. Если устройство сконфигурировано как master, то запись байта в регистр SPDR вызовет начало передачи - то есть тактовый генератор выдаст восемь тактов, за которые регистры сдвига master и slave устройств обменяются своим содержимым, после чего тактовые импульсы прекращаются, а в обоих устройствах устанавливаются флаги SPIF Полярность последовательных синхроимпульсов соответствует свободному логическому состоянию линии синхронизации и поэтому также определяет, какой фронт синхроимпульса является активным ребром, бит выбора полярности синхроимпульсов (CKPOL; SPICF. Фаза последовательных синхроимпульсов определяет, какой фронт используется для выборки данных последовательным регистром сдвига. Бит выбора фазы синхроимпульсов (CKPHA; SPICF.1) Совместно биты CKPOL и CKPHA позволяют определить четыре возможных формата передачи данных по SPI интерфейсу. Эти форматы приведены на рисунке. Форматы передачи данных по SPI интерфейсу (определяется битами CKPOL и CKPHA) Длительность SPI посылки. Бит CHR позволяет выбирать длительность посылки 8 или 16 бит. Скорости обмена данными по SPI интерфейсу. При работе в режиме ведомого, синхроимпульсы формирует внешнее ведущее устройство SPI интерфейса. Для правильной работы в режиме ведомого, частота синхроимпульсов не должна превышать частоту системных синхроимпульсов, деленную на 8. |
23. Программируемые системы на кристалле PSoC. С появлением программируемых систем на кристалле (PSoC) фирмы Cypress разработчики получили мощный инструмент для проектирования; система на кристалле по цене восьми битного микроконтроллера. Такие стандартные элементы микроконтроллеров как АЦП, ЦАПы, таймеры, счетчики, ШИМы, UART легко реализуются в PSoC. Уже в настоящее время технология Cypress PSoC получает широкое распространение в РФ и становится все более востребованной. В то же время обучение специалистов в этом направлении пока не проводится. PSoC это 8-разрядный микроконтроллер с ядром М8С, с конфигурируемой цифровой периферией и конфигурируемыми аналоговыми элементами. Название расшифровывается как «программируемая система на кристалле» (Programmable SoC ). PSoC имеет небольшой набор стандартной периферии и блок конфигурируемых элементов, который выделяет эти микроконтроллеры из устройств той же ценовой категории. Конфигурируемые элементы (блоки) разделены на две группы:
В «стандартную периферию» входят следующие блоки: 1. 8-разрядный умножитель, способный выполнять как умножение, так и умножение с накоплением (MAC ); 2. система управления тактовыми сигналами, которые используются как для тактирования ядра и стандартной периферии, так и для конфигурируемых блоков; 3. контроллер I2 C , Master/Slave с тактовой частотой до 400 кГц; 4. Decimator интегратор (первого или второго порядка). 5. программно управляемая система мониторинга питания POR/LVD; 6. генератор опорного напряжения для работы аналоговых блоков и компараторов POR/LVD; 7. Switch Mode Pump (SMP) управляемый генератор, который при подключении внешней индуктивности, емкости и диода позволяет сделать повышающий преобразователь напряжения. Программируемые системы на кристалле(PsoC). Под программируемой системой на кристалле в общем случае понимается микросхема с интегрированным процессором, памятью, логикой и периферией, при этом окончательная аппаратная конфигурация программируется пользователем под конкретную задачу. Класс PSoC можно подразделить на подклассы однородных и блочных систем. В однородных PSoC одни и те же области кристалла при программировании могут быть использованы для реализации разных функций. Однородные PSoC обладают большой гибкостью и универсальностью применения по сравнению с блочными. В блочных PSoC используются аппаратные и hard-ядра, то есть области кристалла, выделенные под строго определенные функции и выполненные по технологии ASIC. Реализация hard-ядер снижает универсальность, но уменьшает площадь кристалла и значительно повышает плотность системы в целом. Преимущества технологии и области применения Преимуществом PSoC является достаточно большая гибкость в сочетании с относительной дешевизной, а также достаточно широкая область применения. PSoC может применятся в таких областях, как:
|
24. Плисы. Архитектура, применение, программирования. Программируемая логическая интегральная схема (ПЛИС, англ. programmable logic device, PLD) электронный компонент, используемый для создания цифровых интегральных схем. В отличие от обычных цифровых микросхем, логика работы ПЛИС не определяется при изготовлении, а задаётся посредством программирования (проектирования). Для программирования используются отладочные среды, позволяющие задать желаемую структуру цифрового устройства в виде принципиальной электрической схемы или программы на специальных языках Verilog, VHDL. Существует 2 вида плисов: 1) CPLD (англ. complex programmable logic device сложные программируемые логические устройства) содержат относительно крупные программируемые логические блоки макроячейки, соединённые с внешними выводами и внутренними шинами. Функциональность CPLD кодируется в энергонезависимой памяти, поэтому нет необходимости их перепрограммировать при включении. Может применяться для расширения числа входов/выходов рядом с большими кристаллами, или для предобработки сигналов (например, контроллер COM-порта, USB, VGA). Основой CPLD является матрица макроячеек, в которой реализованы логические соединения вентилей или более сложные логические операции. Блоки макроячеек объединены программируемой коммутационной матрицей с последующим выходом на входы (выходы) схемы. 2) FPGA (англ. field-programmable gate array) (ППВМ) содержат блоки умножения-суммирования, которые широко применяются при обработке сигналов (DSP), а также логические элементы (как правило, на базе таблиц перекодировки таблиц истинности) и их блоки коммутации. FPGA обычно используются для обработки сигналов, имеют больше логических элементов и более гибкую архитектуру, чем CPLD. Программа для FPGA хранится в распределённой памяти, которая может быть выполнена как на основе энергозависимых ячеек статического ОЗУ. FPGA программируются путём изменения логики работы принципиальной схемы, например, с помощью исходного кода на языке проектирования (типа VHDL), на котором можно описать эту логику работы микросхемы. ППВМ является одной из архитектурных разновидностей программируемых логических интегральных схем (ПЛИС). ППВМ могут быть модифицированы практически в любой момент в процессе их использования. Они состоят из конфигурируемых логических блоков, подобных переключателям с множеством входов и одним выходом (логические вентили или gates). Принципиальное отличие ППВМ состоит в том, что и функции блоков, и конфигурация соединений между ними могут меняться с помощью специальных сигналов, посылаемых схеме. Отличие этих двух видов определяется: - строительным блоком - цифровой логикой Некоторые производители плисов: Atmel, Altera , Lattice semiconductor , Xilinx Один плис может заменить целый прибор. Микропроцессор построен на основе плисов (цифровая логика- аналоговой части нет). Микроконтроллер: АВР, Микрочип, MPLab, каждая фирма дает свою среду. Язык программирования : текстовый, графический. |
22. Форматы шестнадцатеричных файлов. Intel HEX формат файла, предназначенного для представления произвольных двоичных данных в текстовом виде. Файл обычно имеет расширение HEX (hexadecimal). Встречаются две модификации: intel-standart и intel-extended. Intel-standart поддерживает только 16 бит адрес (до 64 кБайт). Intel-extended имеет расширенный список типов записей и 32-бит адрес. Достоинством формата (в отличие от простого двоичного) является возможность указывать только определенные области адресов (с точностью до байта). Многие микроконтроллерные архитектуры имеют несколько областей программирования с обширными пустотами в адресации между ними. Файл состоит из текстовых ASCII строк. Каждая строка представляет собой одну запись. Каждая запись начинается с двоеточия (:), после которого идет набор шестнадцатеричных цифр кратных байту: -Начало записи (:). -Количество байт данных, содержащихся в этой записи. Занимает один байт (две шестнадцатеричных цифры), что соответствует 0…255 в десятичной системе. -Начальный адрес блока записываемых данных 2 байта. Этот адрес определяет абсолютное местоположение данных этой записи в двоичном файле. -Один байт, обозначающий тип записи. Определены следующие типы записей: -0 запись содержит данные двоичного файла. -1 запись обозначает конец файла, данных не содержит. Имеет характерный вид «:00000001FF». -2 запись адреса сегмента (подробнее см.ниже). -4 запись расширенного адреса (подробнее см.ниже). -Байты данных, которые требуется сохранить в EPROM (их число указывается в начале записи, от 0 до 255 байт). -Последний байт в записи является контрольной суммой. Рассчитывается так чтобы сумма всех байтов в записи была равна 0. -Строка заканчивается стандартной парой CR/LF (0Dh 0Ah). Запись адреса сегмента Пример записи: -02 Количество байт данных -0000 В этом типе записи всегда равно 0000 -02 Тип записи 02 (запись адреса сегмента). -1000 Номер параграфа (реальный адрес будет равен 0x10000). -EC Контрольная сумма Запись расширенного адреса Пример записи: -02 Количество байт данных -0000 Всегда равно 0 -04 Тип записи 04 (запись расширенного линейного адреса) -00FF Старшее слово смещения адреса (0x00FF0000) -FB Контрольная сумма Пример одной записи данных: -10 Количество байт данных (16 байт) -2462 Адрес памяти, куда будет помещена запись. -00 Тип записи данные. -464C...464C Данные -33 Контрольная сумма записи. SREC формат текстового ASCII файла разработанный фирмой Motorola для хранения двоичных данных, также иногда называется Motorola S-record или S19. Формат имеет ряд преимуществ по сравнению с бинарными форматами. ASCII файлы можно изменять с помощью текстового редактора. Этот формат был разработан в 1970 для процессора Motorola 6800 и используется многими компиляторами как конечный результат работы, особенно у компиляторов для встраиваемых систем. SREC файл состоит из записей, представляющих собой ASCII символы. Все шестнадцатеричные (Hex) числа записаны в виде старший байт слева. Записи имеют следующую структуру:
Пример записи: S00F000068656C6C6F202020202000003C где: S Старт; 0Тип записи; 0F Количество байт 0000 Адрес; 68656C6C6F20202020200000 Данные 3C Контрольная сумма |