Статья опубликована в рамках: Научного журнала «Студенческий» № 10(30)
Рубрика журнала: Технические науки
Секция: Радиотехника, Электроника
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6
ЦИФРОВОЙ БЛОК ИНТЕРФЕЙСА SSI/SPI
Современные технические системы требуют средств передачи данных, для чего разрабатываются и встраиваются различные интерфейсы.
Была поставлена задача разработать цифровой блок интерфейса:
- Блок предназначен для работы с двумя типами интерфейсов – SPI и SSI.
- Блок должен поддерживать работу в режиме приема угловых данных длиной 24, 40, 72 бита.
- Блок должен поддерживать передачу управляющих команд заранее установленного формата.
Блок изначально представляется черным ящиком, имеющим некоторое количество входных и выходных контактов. В таблице 1 представлено конкретное количество входов и выходов блока.
Таблица 1.
Описание входов/выходов блока
Наименование |
Направление |
Назначение |
CLK |
ВХОД |
Внешний синхросигнал 50 МГц. |
RESET |
ВХОД |
Сигнал сброса, активный уровень – 0. |
MISO |
ВХОД |
Прием с линии MISO. |
SPI_MOD |
ВХОД |
Сигнал переключения режима работы: 0 – SPI, 1 – SSI. |
TEST_MOD |
ВХОД |
Сигнал отключения внутренней проверки управляющих команд. Активный уровень – 1. |
ADDR(7:0) |
ВХОД |
Шина адреса регистров в режиме программирования. |
DATA(15:0) |
ВХОД |
Шина отсылаемых данных в режиме программирования. |
COMM(2:0) |
ВХОД |
Шина отсылаемых команд в режиме программирования. |
ST_pulse |
ВХОД |
Старт-импульс-сигнал. |
PGM_MOD |
ВХОД |
Сигнал переключения работы в режим программирования, активный уровень – 1. |
DATA_MOD |
ВХОД |
Сигнал переключения работы в режим приема угловых данных, активный уровень – 1. |
SSI_CFG(1:0) |
ВХОД |
Шина конфигурации протокола SSI. |
SSI_TM(1:0) |
ВХОД |
Шина установки ожидания в протоколе SSI. |
CS |
ВЫХОД |
Установка линии CS. |
MA |
ВЫХОД |
Установка линии MA. |
MOSI |
ВЫХОД |
Установка линии MOSI. |
DATAQ(71:0) |
ВЫХОД |
Шина вывода принятых угловых данных. |
READY |
ВЫХОД |
Сигнал выполнения операции. |
Контакты CS, MA, MISO, MOSI идут на контактные площадки, к которым подключается ведомое устройство.
На рисунке 1 представлен черный ящик блока.
Рисунок 1. Черный ящик блока SPI_SSI_M_CTRL
Структура реализации блока была выбрана цельная, т. е. одним модулем, за исключением некоторых служебных функций. Внутренняя структура блока представлена на рисунке 2.
Рисунок 2. Внутренняя структура блока SPI_SSI_M_CTRL
Блок READY MASHINE выполняет функцию отслеживания состояния работы основного блока, внутренних флагов состояний, а также выводит сигнал READY, сигнализирующий о текущей занятости блока.
Блок FRONT MASHINE выполняет служебную функцию отслеживания состояния линии MA. Сигнализирует основному блоку о фронтах и спадах на линии.
Основной блок STATE MASHINE выполняет все главные функции SPI_SSI_M_CTRL. При установке входных значений устанавливает внутренние флаги состояний и производит запуск соответствующего алгоритма работы блока.
В режиме выдачи угловых данных по протоколу SPI обеспечивается управление, соответствующее временной диаграмме, представленной на рисунке 3.
Рисунок 3. Временная диаграмма работы интерфейса SPI в режиме выдачи угловых данных
В режиме выдачи угловых данных по протоколу SSI обеспечивается управление, соответствующее временной диаграмме, представленной на рисунке 4.
Рисунок 4. Временная диаграмма работы интерфейса SSI в режиме выдачи угловых данных
Длина протокола устанавливается соответственно таблице 2.
Таблица 2.
Выбор длины протока SSI/SPI в режиме выдачи угловых данных
№ |
SSI_CFG(1:0) |
Описание |
Длина посылки, бит |
SPI |
SSI |
1 |
00 |
Режим выдачи угловых данных без индикации состояния. |
24 |
Да |
Да |
2 |
01 |
Режим выдачи угловых данных с индикацией состояния. |
40 |
Да |
Да |
3 |
10 |
Тестовый режим. |
72 |
Да |
Нет |
4 |
11 |
- |
- |
- |
- |
Время ожидания TM в протоколе SSI устанавливается в соответствии с таблицей 3.
Таблица 3.
Выбор времени ожидания TM в протоколе SSI
№ |
SSI_TM(1:0) |
TM, мкс. |
SPI |
SSI |
1 |
00 |
2 |
Нет |
Да |
2 |
01 |
5 |
Нет |
Да |
3 |
10 |
10 |
Нет |
Да |
4 |
11 |
20 |
Нет |
Да |
В режиме программирования протоколы SSI и SPI посылают пакеты длиной 16 бит. 2 пакета отправляются в режиме чтения и записи, во всех остальных – 1 пакет. На рисунках 4-5 представлена структура пакетов.
Рисунок 4. Структура первого пакета
Рисунок 5. Структура второго пакета
Блок был написан на языке Verilog и испытан на FPGA Altera DE0-nano с использованием всех режимов работы.
Список литературы:
- Интерфейс SPI // Записки инженера [Электронный ресурс] – Режим доступа: http://s-engineer.ru/interfejs-spi/ (дата обращения: 14.05.18).
- Последовательный синхронный интерфейс SSI // MegaSensor [Электронный ресурс] – Режим доступа: https://megasensor.com/products/posledovatelnyj-sinhronnyj-interfejs-ssi/ (дата обращения: 14.05.18).
- Terasic DE0-nano User Manual – Terasic Technologies Icn. Available at: http://www.terasic.com.tw/attachment/archive/953/DE0-Nano-SoC_User_manual.pdf (accessed: 14 May 2018).
Оставить комментарий