Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 10(30)

Рубрика журнала: Технические науки

Секция: Радиотехника, Электроника

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6

Библиографическое описание:
Горочный В.В. ЦИФРОВОЙ БЛОК ИНТЕРФЕЙСА SSI/SPI // Студенческий: электрон. научн. журн. 2018. № 10(30). URL: https://sibac.info/journal/student/30/107755 (дата обращения: 26.12.2024).

ЦИФРОВОЙ БЛОК ИНТЕРФЕЙСА SSI/SPI

Горочный Вячеслав Владимирович

магистрант, кафедра систем автоматического управления и контроля Московского института электронной техники – МИЭТ,

РФ, г. Зеленоград

Современные технические системы требуют средств передачи данных, для чего разрабатываются и встраиваются различные интерфейсы.

Была поставлена задача разработать цифровой блок интерфейса:

  1. Блок предназначен для работы с двумя типами интерфейсов – SPI и SSI.
  2. Блок должен поддерживать работу в режиме приема угловых данных длиной 24, 40, 72 бита.
  3. Блок должен поддерживать передачу управляющих команд заранее установленного формата.

Блок изначально представляется черным ящиком, имеющим некоторое количество входных и выходных контактов.  В таблице 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.

 

SSI

Рисунок 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 с использованием всех режимов работы.

 

Список литературы:

  1. Интерфейс SPI // Записки инженера [Электронный ресурс] – Режим доступа: http://s-engineer.ru/interfejs-spi/ (дата обращения: 14.05.18).
  2. Последовательный синхронный интерфейс SSI  // MegaSensor [Электронный ресурс] – Режим доступа: https://megasensor.com/products/posledovatelnyj-sinhronnyj-interfejs-ssi/ (дата обращения: 14.05.18).
  3. 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).

Оставить комментарий