VNC1L и все, все, все - Особенности SPI интерфейса
Индекс материала |
---|
VNC1L и все, все, все |
Задача |
Особенности SPI интерфейса |
Некоторые особенности и дополнения |
Программа |
Дополнительные материалы |
Все страницы |
Особенности SPI интерфейса
SPI интерфейс, реализованнай в AVR не имеет никакого отношения к SPI интерфейсу “Винни”. Исходя из этого 4 ноги AVR, реализующие взаимодействие могут быть любыми. Диаграммы взаимодействия реализованы программно. “Винни”, как SPI устройство может быть только SLAVE. Режим SPI выбирается ногами 46 и 47 “Винни” и никак не связан с прошивкой. Всего существует три режима взаимодействия низкого уровня:
Чтение байта данных:
Чтение байта статуса:
Запись байта данных:
Как видно из диаграмм сигнал CS активен по высокому уровню, что не является общепринятым. Запись бита происходит по переднему фронту SCLK. Существует три фазы диаграммы:
- • Подготовительная, где определяется направление передачи (Чтение/Запись) и адресс. (3 цикла)
- • Фаза передачи бйта данных. (8 циклов)
- • Завершающая, где происходит чтение статусного бита, и завершение CS. (2 цикла)
Всего взаимодействие происходит за 13 циклов SCLK.
Статусный бит определяет правильность прохождения всей последовательности на низком уровне. Его суть проста, если статусный бит равен нулю, все ОК. В противном случае необходимо повторить диаграмму. Это справедливо для всех трёх режимов. Если читается байт статуса, бит статуса при этом всегда ноль.
Бит направления (R/W) | Бит адреса (ADDR) | Операция |
1 | 0 | Чтение байта данных в буфер приемника |
1 | 1 | Чтение байта статуса |
0 | 0 | Запись байта данных в буфер передатчика |
Байт статуса определяет взаимодействие на более высоком уровне, это уровень передачи команд и получение ответа. Чтобы синхронизировать эти взаимодействия в “Винни” еть буфер приемника и буфер передатчика. Их сосотяние определяется значением битов байта статуса.
Биты | Значение | Состояние |
Bit0 | 0 | Буфер приемника пуст |
1 | Буфер приемника заполнен | |
Bit1 | 0 | Буфер передатчика заполнен |
1 | Буфер передатчика пуст | |
Bit4 | ||
Bit5 |
Обновлено (17.06.2012 09:04)