У вас вопросы?
У нас ответы:) SamZan.net

Передача данных по интерфейсу SPI

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 29.12.2024

21. Передача данных  по интерфейсу  SPI.

SPI (англ. Serial Peripheral Interface, SPI bus — последовательный периферийный интерфейс, шина SPI) — последовательный синхронный стандарт передачи данных в режиме полного дуплекса, разработанный компанией Motorola для обеспечения простого и недорогого сопряжения микроконтроллеров и периферии. SPI также иногда называют четырёхпроводным (англ. four-wire) интерфейсом.

В отличие от стандартного последовательного порта (англ. standard serial port), SPI является синхронным интерфейсом, в котором любая передача синхронизирована с общим тактовым сигналом, генерируемым ведущим устройством (процессором). Принимающая (ведомая) периферия синхронизирует получение битовой последовательности с тактовым сигналом. К одному последовательному периферийному интерфейсу ведущего устройства-микросхемы может присоединяться несколько микросхем. Ведущее устройство выбирает ведомое для передачи, активируя сигнал «выбор кристалла» (англ. chip select) на ведомой микросхеме. Периферия, не выбранная процессором, не принимает участия в передаче по SPI.

В SPI используются четыре цифровых сигнала:

  •  MOSI или SI — выход ведущего, вход ведомого (англ. Master Out Slave In). Служит для передачи данных от ведущего устройства ведомому.
  •  MISO или SO — вход ведущего, выход ведомого (англ. Master In Slave Out). Служит для передачи данных от ведомого устройства ведущему.
  •  SCLK или SCK — последовательный тактовый сигнал (англ. Serial Clock). Служит для передачи тактового сигнала для ведомых устройств.
  •  CS или SS — выбор микросхемы, выбор ведомого (англ. Chip Select, Slave Select).

Главным составным блоком интерфейса 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 имеет небольшой набор стандартной периферии и блок конфигурируемых элементов, который выделяет эти микроконтроллеры из устройств той же ценовой категории. Конфигурируемые элементы (блоки) разделены на две группы:

  •  аналоговые, предназначенные для построения ЦАП, АЦП, компараторов, активных фильтров и т. п.;
  •  цифровые, предназначенные для построения счетчиков, ШИМ, последовательных каналов передачи, последовательного интерфейса с периферией (SPI), универсальных асинхронных приемопередатчиков (UART).

В «стандартную периферию» входят следующие блоки:

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).

Запись адреса сегмента

Пример записи:
:020000021000EC где:

-02 Количество байт данных

-0000 В этом типе записи всегда равно 0000

-02 Тип записи 02 (запись адреса сегмента).

-1000 Номер параграфа (реальный адрес будет равен 0x10000).

-EC Контрольная сумма

Запись расширенного адреса

Пример записи:
: 0200000400FFFB где:

-02 Количество байт данных

-0000 Всегда равно 0

-04 Тип записи 04 (запись расширенного линейного адреса)

-00FF Старшее слово смещения адреса (0x00FF0000)

-FB Контрольная сумма

Пример одной записи данных:
:10246200464C5549442050524F46494C4500464C33 где:

-10 Количество байт данных (16 байт)

-2462 Адрес памяти, куда будет помещена запись.

-00 Тип записи — данные.

-464C...464C Данные

-33 Контрольная сумма записи.

SREC — формат текстового ASCII файла разработанный фирмой Motorola для хранения двоичных данных, также иногда называется Motorola S-record или S19. Формат имеет ряд преимуществ по сравнению с бинарными форматами. ASCII файлы можно изменять с помощью текстового редактора.

Этот формат был разработан в 1970 для процессора Motorola 6800 и используется многими компиляторами как конечный результат работы, особенно у компиляторов для встраиваемых систем.

SREC файл состоит из записей, представляющих собой ASCII символы. Все шестнадцатеричные (Hex) числа записаны в виде старший байт слева. Записи имеют следующую структуру:

  1.  Старт, один символ S.
  2.  Тип записи, одна цифра, 0 до 9, определяет тип поля данных.
  3.  Число байт, две шестнадцатеричных цифры, указывающие количества байт в оставшейся части записи (адрес, поле данных, контрольная сумма).
  4.  Адрес, четыре, шесть или восемь шестнадцатеричных цифр определяющих начальный адрес блока данных этой записи в памяти.
  5.  Данные, двоичные данные закодированные шестнадцатеричными числами длиной n байт.
  6.  Контрольная сумма, два шестнадцатеричных числа, дополняет до FF сумму чисел полей: число байт, адреса и данных. Необходима для проверки целостности данных.
  •  

Пример записи: S00F000068656C6C6F202020202000003C

где: S Старт; 0Тип записи; 0F Количество байт

0000 Адрес; 68656C6C6F20202020200000 Данные

3C Контрольная сумма




1. Тема 21Структурнофункціональна організація людини з точки зору взаємодії її з оточуючим середовищем
2. Модель управления конфликтными потоками в классе алгоритмов
3. тематики Занятие 97 Тема Понятие функции нескольких переменных
4. Возможности экзистенциальной терапии «трудных» подростков
5. ПермиГаджиевой Л
6.  Природжена бронхоектатична хвороба синдроми війчастої дисфункції муковісцидоз первинна гіпогаммаглобу
7. Подпрограмма англ
8. ТЕМА ЛЕКЦИИ 9 ОСНОВЫ ОРГАНИЧЕСКОЙ ХИМИИ Вопросы- Предмет органической химии Исторический обзо
9. Быт и настроения политической каторги и ссылки Сибири в 1900 - 1917 годах
10. реферату- Боргова стабільність гривніРозділ- Макроекономіка Боргова стабільність гривні В Україні яка щ
11. план ~ это документ в котором описываются все основные аспекты предпринимательской деятельности анализиру
12. Особенности организации брендинга на российском предприятии
13. Аленушка. По местным преданиям усадьбу в 1917 году поджег владелец Ахтырки князь E
14. исполнительное право- понятие предмет принципы
15. ТЕМАТИЧНОГО МАЯТНИКА
16. заочная форма обучения Вид учебной работы Всего часов зачетн
17. Создание методик измерений и испытание технических средств, применяемых в жилых, коммерческих зонах с малым энергопотреблением
18. Шпаргалка- Сущность, функции и значение финансов организации. Фонды денежных средств организаций и их предназначени
19. і Шексіз симметрия осьтері бар н~ктелік симметрия топтары шекті симметрия топтары немесе Кюри топтары д
20. Определение скорости ультразвука и модуля объемной упругости методом стоячей волны