Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Последовательный периферийный интерфейс – SPI. Цель работы.Изучение принципа работы SPI




Цель работы. Изучение принципа работы SPI. Получение навыков использования SPI для программирования МК и организации приема/передачи данных. Разработка и отладка управляющих программ приема/передачи и программ обработки данных.

 

 

Краткие теоретические сведения

SPI представляет собой последовательный трехпроводной синхронный интерфейс, предназначенный для обмена данными с другими устройствами и внутрисистемного программирования МК.

Устройство, которое имеет SPI порт работает по принципу ведущий-ведомый. К одному порту могут быть подключены несколько ведомых устройств. В некоторых случаях SPI порт используется только в однонаправленном режиме. Более подробно см. раздел 2.9.

Соединение ведущего и ведомого производится посредством трех линий: MOSI, MISO, SCK. (см. раздел 2.9).

Ведущее устройство по линии MOSI посылает данные в последовательном коде для ведомого, а по линии SCK формирует тактовые импульсы для ведомого. Частота SCK определяет скорость обмена, причем тактовые импульсы всегда формирует ведущий. Максимальная частота не должна превышать частоту МК/4.

При приеме данных ведущее устройство формирует тактовые импульсы, а ведомое передает данные по линии MISO. В отличие от UART, SPI не может одновременно принимать и предавать данные.

Особенности SPI:

1. Обмен данными можно производить, начиная со старшего или с младшего разряда.

2. После завершения приема/передачи формируется запрос прерывания.

3. Имеет программные средства определения скорости обмена.

4. Имеет режим энергосбережения (работает только ведомый).

При подключение к одному ведущему несколько ведомых необходимо управлять выходом SS. В этом случае линии MISO, MOSI программируются пользователем. В одной системе могут быть два и более ведущих, работающих поочередно.

Управление портом производится с помощью регистров: SPDR, SPCR, SPSR.

Регистр данных SPDR. Необходим для временного хранения передаваемых или получаемых данных.

Регистр управления SPCR. Предназначен для хранения управляющих слов организующих работу порта.

Назначение битов регистра:

· D7-SPIE – бит разрешения прерывания по завершению приема данных.

· D6-SPE – разрешение работы SPI.

· D5-DORD – порядок данных. При установке передача начинается с младшего разряда, иначе со старшего.

· D4-MSTR – бит выбора режима ведущий/ведомый.

· D3-CPOL – полярность тактовых сигналов.

· D2-CPHA – фаза тактового сигнала.

· D1,D0-SPR1,SPR0 – скорость обмена.

Регистр статуса SPSR. Предназначен для хранения служебной информации о порте и о ходе его работы. Назначение битов регистра:

· D7-SPIF – флаг завершения передачи/приема.

· D6-WCOL – бит ошибки положения.

· D5-D0 – зарезервировано.

 

Пример программы передачи байта данных по SPI порту. Данные для передачи считывать из порта А.

;------------------------------------------------------------

;инициализация стека

ldi r16,high(ramend)

out sph,r16

ldi r16,low(ramend)

out spl,r16

;------------------------------------------------------------

;инициализация порта А

clr r16

out DDRA, r16

;------------------------------------------------------------

;инициализация передатчика в режиме мастер

ldi r16,(1<<DDB5)|(1<<DDB4)

;установка MOSI и SCK на вывод, все остальные на ввод

out DDRB,r16

;разрешение SPI в режиме мастера, установка скорости связи fck/16

ldi r17,(1<<SPE)|(1<<MSTR)|(1<<SPR0)

out SPCR,r17

Start:

In r16, PORTA;ввод байта из порта А

RCall Transmit;вызов подпрограммы передачи байта данных

rjmp start

;------------------------------------------------------------

;Подпрограмма передачи данных

Transmit:

out SPDR,r16;Запуск передачи данных

Wait:

sbis SPSR,SPIF;Ожидание завершения передачи данных

rjmp Wait

ret

 

Индивидуальные задания к выполнению

Лабораторной работы №6

Разработать программу (варианты)

1. передачи данных, расположенных в ОЗУ, начиная со старшего бита, по порту SPI.

2. приема данных в режиме ведомого по порту SPI с сохранением их в ОЗУ по сигналу «Запрос прерывания».

3. приема данных по порту SPI. Если количество единиц в байте четное, то сохранить байт в одной области ОЗУ, нечетное - в другой области.

4. приема данных по порту SPI. Если количество единиц в байте четное, то записать байт в порт A, иначе - в порт В.

5. приема данных по порту SPI. Если четное число, то сохранить в одной области ОЗУ, иначе - в другой области.

6. приема данных по порту SPI. Если четное число, то записать в порт A, иначе - в порт В.

7. передачи данных по порту SPI в режиме ведущего по двум адресам. Передаваемые данные расположены в ОЗУ.

8. передачи и приема данных по порту SPI с контролем по паритету.

 

Контрольные вопросы к лабораторной работе № 6

1. Назначение SPI порта МК и его основные характеристики.

2. Режимы работы SPI и отличительные особенности.

3. Формат регистра статуса SPI - SPSR и назначение битов регистра. Привести пример использования регистра статуса SPI

4. Регистр управления SPI - SPCR и назначение битов регистра. Привести пример использования регистра управления SPI.

5. Выбор частоты тактового сигнала и требования к выбору частоты обмена данными.

6. Назначение регистра данных SPI - SPDR.

7. Привести пример считывания содержимого регистра статуса SPI, записи данных в регистры управления и данных SPI.

8. Вектора прерывания SPI и их назначение. Привести пример организации приема/передачи в режиме прерывания.

9. Приведите временные диаграммы приема/передачи информации SPI порту.

10. Привести схему соединения ведущего и ведомого МК по SPI порту.

11. Особенности использования SPI при программировании МК.

12. Чем отличается работа ведущего-приемника от ведомого-приемника?

13. Чем отличается работа ведущего-передатчика от ведомого-передатчика?

 

Лабораторная работа №7





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 918 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

4442 - | 4318 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.