АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

МОДУЛЬ ПОСЛЕДОВАТЕЛЬНОГО СИНХРОННОГО ИНТЕРФЕЙСА SPI08

Читайте также:
  1. I. МОДУЛЬ, СОСТОЯЩИЙ ИЗ ВОПРОСОВ ПО ДИСЦИПЛИНАМ БАЗОВОЙ ЧАСТИ ПРОФЕССИОНАЛЬНОГО ЦИКЛА ООП
  2. Банк тестових завдань з предмету пропедевтика ортопедичної стоматології на підсумковий модульний контроль 2-го курсу
  3. Блок CoolRunner CPLD используется для создания синхронного интерфейса междумикропроцессором и ПЛИСXilinx Virtex FPGA.
  4. в рамках модульно-рейтинговой системы (МРС)
  5. Варіант модульного завдання № 2
  6. Визначення модуля пружності (модуль Юнга ) при розтязі дроту.
  7. Відповідність підсумкових модульних рейтингових оцінок у балах оцінкам за національною шкалою та шкалою ECTS
  8. Выбор тока плавкой вставки предохранителей для защиты асинхронного электродвигателя
  9. Генераторы последовательного возбуждения.
  10. Двигатели последовательного возбуждения.
  11. Диагностика ошибок при помощи модульных часов
  12. Для підготовки до підсумкового модульного контролю

 

Модуль последовательного периферийного интерфейса 8P108 предназначен для вы- сокоскоростного обмена между МК и периферийными микросхемами, такими как АЦП и ЦАП, FLASH-пaмять большой информационной емкости, часы реального времени. Мо­дуль SP108 обладает следующими характеристиками:

· поддерживает два режима работы: ведущего (master) и ведомого (slave) приемо передатчиков;

· позволяет программно настраивать частоту обмена, причем в формировании сетки ча­стот модули таймеров Т1М08 и Р1Т08 не задействованы:

где = 2, 8, 32, 128; максимальная частота обмена в режиме ведущего составляет 4,0 МГц, в режиме ведомого – 8,0 МГц;

· генерирует запросы на прерывание c раздельными векторами по завершению приема

очередного байта или по окончании передачи байта;

· генерирует два флага нарушения режима работы: при переполнении приемника и

при принудительной смене режима работы (ведущей/ведомый) в процессе незавер­шенного обмена;

· позволяет программно конфигурировать линии приема и передачи данных (Mi50 и MOS1) как линии с открытым коллекторным выходом; объединение М1S0 и M031 по схеме «монтажное ИЛИ» делает модуль совместимым с протоколом интерфейса 120.

Контроллер 5Р108 обслуживает стандартную шину S[01, для чего имеет четыре линии:

MOS1 – линия передачи данных от ведущего к ведомому (Master Output Slave Input); Mi80 –линия передачи данных от ведомого к ведущему (Master Input Slave Output); SPSCK – линия сигнала синхронизации данных;

SS – линия выбора ведомого.

Направление передачи каждой линии определяется выбором режима работы кон­троллера SP108. Если назначен режим ведущего (бит MSTR регистра управления SPCR равен 1), то линии МОS1 и SCK работают в режиме вывода, а линия MISO в режиме ввода. Если назначен режим ведомого (MSTR = 0), то линии M0S1, SCK и SS работают в режиме ввода, а MIS0 – в режиме вывода. В режиме ведущего линия SS может быть использована, как обычная линия ввода/вывода.

Обслуживание модуля SP108 является альтернативной функцией для линий РТО. Если бит разрешения работы контроллера модуля установлен SРЕ = 1, то независимо от значения соответствующих битоd регистра направления передачи порта ввода/вывода его линии назначаются для работы в составе контроллера SP108.

Функциональная схема контроллера 51'108 приведена на рис. 4.1. Основные эле­менты контроллера – 8-разрядный сдвиговый регистр (Shift Register) и два буферных регистра данных, программно доступных по одному и тому же адресу. При выполнении операции записи в регистр данных SPDR данные будут запомнены в буферном регистре передатчика. Буфер данных передатчика недоступен для чтения. Операция чтения реги­стра SPDR возвращает данные из буферного регистра приемника. Буфер данных прием­ника недоступен для записи.

Если контроллер настроен для работы в режиме ведущего, то обмен данными в лю­бом из направлений (прием или передача) инициируется операцией записи байта в ре­гистр данных. Этот байт сначала автоматически копируется в сдвиговый регистр, а затем сдвигается в течение 8 тактов генератора синхронизации обмена на линию M0SI. Одновременно на линию SCK выдаются импульсы синхронизации. Каждый из импульсов син­хронизации SCK, поступающих от ведущего на одноименный вход ведомого, вызывает операцию сдвига данных на один разряд в сдвиговом регистре принимающего устрой­ства. В результате очередной бит, переданный ведущим по линии MOSI, запоминается в регистре-приемнике, но одновременно на линию M1S0 выдвигается очередной стар­ший бит этого регистра. Бит с линии MIS0 фиксируется в сдвиговом регистре ведущего. При завершении передачи 8 бит данных от ведущего к ведомому в сдвиговом регистре ведущего окажется принятый байт данных от ведомого. Если пользователь желает реа­лизовать передачу байта данных от ведущего к ведомому, то для осуществления обмена в программе ведущего в регистр данных контроллера SP108 записывается передавае­мый байт, а при завершении передачи бесполезные данные из регистра данных порта SP108 просто не считываются. Если же пользователь желает реализовать прием байта данных, то для осуществления обмена в программе ведущего в регистр данных контрол­лера SP108 записывается любой «ненужный» байт, а при завершении передачи приня­тый полезный байт данных считывается из регистра данных порта SР108. Завершение передачи каждого байта данных отмечается установкой в «1» бита SPIF регистра состо­яния SPSR. Этот бит генерирует запрос на прерывание, если прерывания от модуля SPI разрешены (бит SPIЕ = 1). При обмене с высокими скоростями в режиме ведущего бит завершения передачи байта SPIF следует контролировать программно. Для этого после записи очередного байта в регистр данных следует прочитать регистр состояния SPSR, дождаться, пока бит ВР1Р не установится, а затем произвести считывание принятых дан­ных или запись следующего передаваемого байта в регистр данных (в зависимости от направления передачи).

Рис. 4.1. Функциональная схема контроллера SР108

Бит SPIF сбрасывается в «0» автоматически при выполнении последовательности из двух операций:

· чтение регистра состояния SPSR при установленном бите SPIF;

· чтение или запись в регистр данных SCDR.

Если контроллер SP108 работает в режиме ведомого, то момент начала передачи определяет ведущий. Поэтому следует организовать прерывания по запросу от триггера SPIF, в подпрограмме обработки которого принятый байт будет прочитан из регистра данных и проанализирован, а при необходимости предоставления ведущему каких-либо данных очередной байт будет записан в регистр данных для последующей передачи при поступлении импульсов синхронизации SCK от ведущего.

Контроллер SP108 поддерживает 4 возможных режима SPI. Для задания детализиро­ванной временной диаграммы обмена следует использовать биты СРНА и CPOL регист­ра управления SPCR. Скорость обмена в режиме ведущего определяется программно настраиваемым коэффициентом делителя (биты SPR1:SPRO регистра управления). Максимальная скорость обмена составляет /2, минимальная - /128. В режиме ве­домого биты SPR1:SPR0 не оказывают влияния на работу контроллера. Скорость обме­на определяется ведущим, она может достигать

Программно-логическая модель модуля 81'108 включает три регистра специальных функций:

1) SPCR - регистр управления модуля SP108;

2) SPSCR - регистр состояния модуля SP108;

3) SPDR - регистр данных модуля SP108.

Форматы регистров SPCR и SPSCR приведены в табл. 4.1 и 4.2. Регистр данных SPDR доступен по адресу 0012h.

 

 

Таблица 4.1

Формат регистра SPCR

SPCR Регистр управления модуля SP108
7 6 5 4 3 2 1 0
SPRIE х SPMSТR СРОL CРНА SPWOM SPE SРТlЕ
Состояние при сбросе: 28h Адрес OO10h
Имя бита Назначение бита
SPRIE Бит разрешения прерывания по запросу приемника модуля SP1 Бит разрешает генерацию запроса на прерывание при установленном бите SPRF: 1 — прерывания по запросу приемника разрешены; 0 — прерывания по запросу приемника запрещены. Биты доступен для чтения и для записи. При сбросе прерывания от приемника запрещаются.
SPMSTR Бит режима работы контроллера SPI 1 — контpoллер SPI работает в режиме ведущего (Master); 0 —контроллер SPI работает в режиме ведомого (slave). Бит доступен для чтения и для записи. При сбросе назначается режим ведомого.
CPOL Бит выбора полярности сигнала синхронизации SCK Этот бит определяет состояние линии SCK (вывод SPSCK) между сеансами передачи данных. Бит CPOL вместе с битом СРНА задает один из четырех возможных режимов SP1 интерфейса: 1 - SCK = 1 - между сеансами передачи данных; 0 - SCK = 0 - между сеансами передачи данных. Бит доступен для чтения и для записи. После сброса МК CPOL = 0.
СРНА Бит выбора фазы сигнала синхронизации SCK Этот бит определяет протокол обмена по 5Р1-шине. Если СРНА = 0, то начало обмена инициируется установкой сигнала выбора ведомого SS а активное состояние (режимы 0 и 1). Первый перепад сигнала синхронизации SCK используется принимающим устройством для запоминания очередного бита в сдвиговом регистре. Передающее устройство выставляет очередной бит посылки на линии MOSI по каждому четному фронту сигнала SCK. Сиг‑ нал на линии выбора ведущего SS должен быть возвращен в неактивное состояние после передачи каждого байта в любом направлении (рис. 4.25). Если СРНА = 1, то начало обмена определяет первое изменение уровня сигнала на линии SCK после установки сигнала выбора ведомого SS в активное состояние (режимы 2 и 3). Все нечетные перепады SCK вызывают выдвижение очередного бита посылки из сдвигового регистра передатчика на линию. Каждый четный перепад используется для записи этого бита в сдвиговый регистр приемника. Сигнал выбора ведомого может оставаться в активном состоянии SS = 0 в течение передачи нескольких байт информации (рис. 4.26). Бит доступен для чтения и для записи. После сброса МК СРНА = 1.
SPWOM Бит выбора режима открытого коллектора Этот бит определяет состояние выходных буферов линий M0SI, МIS0, SPSCK: 1 - буферы переведены в режим открытого коллекторного выхода; 0 - буферы работают в режиме двунаправленной передачи с возможностью установки в высокоимпедансное состояние. Перевод линий М0S1 и МIS0 в режим открытого коллектора позволяет соединить их по схеме «монтажное ИЛИ», что делает интерфейс SPI совместимым с интерфейсом I С. Бит доступен для чтения и для записи. После сброса SPWOM = 0.
                 

 

 

SPE Бит разрешения работы модуля SPI 1 - контроллер SРI включен; 0 –контроллер SPI выключен. Бит доступен для чтения и для записи. При сбросе МК контроллер SPI отключается.
SPTIE Бит разрешения прерывания по запросу передатчика модуля SPI Бит разрешает генерацию запроса на прерывание при установленном бите SPTE: 1 -прерывания по запросу передатчика разрешены; 0 - прерывания по запросу передатчика запрещены. Биты доступен для чтения и для записи. При сбросе прерывания от пере‑ датчика запрещаются.

 

Тaблица 4.41

Формат регистра SPSCR

SPSCR Регистр управления модуля SP108
7 6 5 4 3 2 1 0
SPRF ERRIE OVRF MODF SРТЕ MODFEN SPR1 SPR0
Состояние при сбросе: 08h Адрес 0011h
Имя бита Назначение бита
SPRF Бит завершения приема байта данных Устанавливается в момент, когда принятые данные автоматически переписываются в буферный регистр данных приемника. Бит SPRF генерирует запрос на прерывание, если бит SPRIE установлен. Сбрасывается в «0» автоматически при выполнении последовательности из двух операций: • чтение регистра состояния SPSCR при установленном бите SPRF; • чтение из регистра данных SPDR принятого байта данных. Бит доступен только для чтения. При сбросе МК бит устанавливается в «0».
ERRIE Бит разрешения прерывания по флагам ошибки OVRF и МОDF Этот бит разрешает генерацию запроса на прерывание при установке в «1» флага нарушения режима MODF и флага ошибки приема OVRF: 1 — прерывания по флагам OVRF и МОDF разрешены; 0 — прерывания по флагам OVRF и MODF IDLE запрещены. Бит доступен для чтения и для записи. При сбросе прерывания по флагам ошибки запрещаются.
OVRF Бит ошибки приема Устанавливается при попытке записи аппаратными средствами приемника очередного принятого байта из сдвигового регистра в буферный регистр данных в то время, как предыдущие данные из буферного регистра еще не считаны (бит SPRF установлен). При таком стечении обстоятельств содер‑ жимое буферного регистра приемника сохраняется, а второй принятый байт теряется. Бит OVRF сбрасывается в «0» автоматически при выполнении последовательности из двух операций: • чтение регистра состояния SPSCR при установленном бите OVRF; • чтение из регистра данных SPDR первого принятого байта данных. Бит доступен только для чтения. При сбросе МК бит устанавливается в «0».
MODF Бит нарушения режима контроллера SPI Устанавливается, если на линию SS ведущего подали сигнал низкого логи‑ ческого уровня или если на линию SS ведомого подали сигнал высокого ло‑ гического уровняв процессе незавершенного обмена. Сбрасывается в «0» автоматически при выполнении последовательности из двух операций: • чтение регистра состояния SPSCR при установленном бите МООР; • запись в регистр данных 3PDR.6ит доступен толь ко для чтения. При сбросе МК бит устанавливается в «0».
                 

 

SPTE Бит готовности буфера передатчика к приему новых данных Устанавливается в момент, когда предварительно загруженные в регистр буфера передатчика данные автоматически переписываются в сдвиговый регистр передатчика. Однако процесс передачи нового байта из cдвигового регистра начнется только после того, как бит SPTE будет сброшен. Бит SPTE информирует МК о том, что буфер передатчика пуст, и в него может быть записан новый байт. Бит SPTE генерирует запрос на прерывание, если бит SРТIЕ установлен. Бит SPTE сбрасывается в «0» автоматически при вы‑ полнении операции записи в регистр данных SPDR Бит доступен только для чтения. При сбросе МК бит устанавливается в «1».
MODFEN Бит разрешения работы логики нарушения режима МОDF 1 — работа и установка бита MODF разрешены; 0 —работа и установка бита MODF запрещены. Если бит MODFEN сброшен и контроллер SPI работает в режиме ведущего, то линия SS может быть использована как обычная линия ввода/выdода. Бит доступен для чтения и для записи. При сбросе МК устанавливается в «0».
ELSiB —ELSiA Биты выбора скорости передачи Биты SPR1— SPR0 определяют скорость обмена при работе контроллера в режиме ведущего. В режиме ведомого скорость ограничена величиной fвus SPR1 SPR0 Частота следования Значение частоты Импульсов SKC следования при 0 0 4 МГц 0 1 2 МГц 1 0 250 кГц 1 1 62,5 кГц После сброса МК значения битов равны 0, т, е. выбрана максимальная скорость обмена.

 


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)