Аппаратный SPI

4-битные микроконтроллеры и микропроцессоры (прошлое, настоящее, будущее)

Moderator: Lavr

User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Аппаратный SPI

Post by Lavr »

Я довольно давно уже интересовался простой аппаратной реализацией какого-либо последовательного интерфейса для загрузки программ в память 4-битного поделия...
Lavr 18 Июн 2011 wrote:Джентльмены, у кого-нибуть есть образец чисто аппаратной реализации какого-либо
популярного последовательного интерфейса: RS-232, SPI, FSK или чего-то подобного?.
И не столь долго позже я прототип такой схемы для реализации интерфейса SPI нашел.
Решил выложить здесь, поскольку, как оказалось, похожие схемы вызывают порой интерес...

Image
Схема master SPI-порта.


Image
Схема подчиненного SPI-порта.

Более подробно, как это всё работает, а заодно - что такое интерфейс SPI и в чем его
преимущество, можно посмотреть на странице: История компьютера - SPI-порты.
iLavr
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

Схема подчиненного SPI-порта.
Каккой из них mosi, а какой miso?
Верхний вроде mosi?!

И какие сигналы микросхем инвертированные, а какие нет? А то непонятно как эти схемы вообще работает.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

DimkaM wrote:И какие сигналы микросхем инвертированные, а какие нет? А то непонятно как эти схемы вообще работает.
Мне лично - понятно, на мой взгляд, - это хороший пример простой схемотехнической
реализации SPI.

Работает это так: по "Сигналу записи" команда (или данные) записываются в сдвиговый
регистр D3 параллельно, поскольку разрешается параллельная запись по V и одновременно
запускается тактовый генератор на D1, который защелкивает байт в регистр по С и одновременно
высовывает его старший бит на линию MOSI.
Этот же "Сигнал записи" сбрасывает счетчик D2, который по тактам генератора на D1
отсчитывает сдвиг 8 бит.
Сдвиг осуществляется по тактам генератора на D1, поступающим на вход С сдвигового
регистра D3, причем этот же сигнал от генератора на D1, задержанный цепчкой R3, C3
через буфер D4 выводится на линию стробирования SCLK.
После 8 импульсов сдвига от генератора на D1 счетчик D2 выключает генератор на D1
и схема готова к передаче следующего байта.

Диаграмма должна получиться примерно такого типа:

Image

Всё остальное на этих схемах - сдвиговые регистры, и их работа самая обычная.

Мне кажется, там где я эти схемы зацепил, всё написано довольно подробно и понятно.
А если покажется, что маловато, то в Интернете достаточно страниц, посвященых сугубо
протоколу интерфейса SPI.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Видимо вопрос был в том, что на последней картинке два MISO ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Я ответил на тот вопрос, который процитирован. Объяснил как работает то,
что может быть непонятным. Ссылку на источник - также привёл.

А то, что там на последней картинке, - меня, честно говоря, волновало меньше всего.
Поскольку единственное, что здесь может быть интересным в плане схемотехники -
на первой картинке.


PS. Как тут принято говорить - каков вопрос, такой и ответ...
iLavr
DimkaM
Maniac
Posts: 261
Joined: 22 Jun 2005 04:35
Location: МО Россия

Post by DimkaM »

дык я без наездов спросил, пытаюсь вникнуть.

Я вот думаю, в "мастер-схеме", нельзя ли избавится от D6 ?
Задействовав вход DI на D3 или времянки не сойдутся?

D3 я так понимаю ир13, ни чё другого в голову не приходит

---пост адд---
п.с. Нда не сходятся, если бы девятибитный регистр, то можно былоб.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Post by Lavr »

Да тут никто и не имеет в виду никакие наезды... :wink: ты не так понял.

Эти схемы - то, что называется, хороший "прототип", то есть, весьма верно иллюстрируют
основную идею. А что конкретно поставить на отдельные позиции - дело конкретного исполнителя.

Ну и, естественно, - надо смотреть конкретно, что "по фронту" работает, а что и "по спаду".

Я лично прикинул, что и ИР1 вполне подойдет, хотя у них - два тактовых, но у меня их много.
Но их мне прийдется парочку поставить
Может и ИР13 вполне подойдет - но я не проверял...

Я просто исполнял очень похожую конструкцию, поэтому представляю, что вариантов
конкретных здесь достаточно.
iLavr
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вот в новом журнальчике для американских электронных хоббистов опять статья про параллельно-последовательные преобразования на мелкой логике:

Last edited by Shaos on 25 Dec 2013 12:23, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Электромонтёр
Fanat
Posts: 97
Joined: 23 Feb 2018 22:20

Re: Аппаратный SPI

Post by Электромонтёр »

А вот моя версия SPI, 2012 года на советских ТТЛШ:

 СХЕМА
img_021.png

Сам макет:
img_022.jpg
Описание устройства валяется у меня на сайте, но сайт из-за перерегистрации домена заработает не раньше марта...
You do not have the required permissions to view the files attached to this post.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Аппаратный SPI

Post by Shaos »

Электромонтёр wrote:Описание устройства валяется у меня на сайте, но сайт из-за перерегистрации домена заработает не раньше марта...
Заработал?
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Аппаратный SPI

Post by Lavr »

Понадобился мне простой источник сигнала по интерфейсу SPI, и я про эту схему вспомнил.
Как я тут писал ранее, сдвиговый регистр я бы сделал на паре К155ИР1, я так и сделал, хотя
два раздельных входа синхронизации схему по сравнению с прототипом несколько усложнили.
Но, тем не менее, схема работает, и, надеюсь, что работает правильно.

 HARDWARE SPI SCHEMATICS
SPI.gif

В архиве - проект в Proteus:
SPI_0.zip
Неожиданно сдвиговый регистр К155ИР1 доставил дискомфорт... :-?
У меня они есть со времён "Специалиста" - там они выдвигали видео-сигнал.
Но как-то так случилось, я их всегда использовал так, что оба входа такта
соединены вместе, а здесь понадобилось включить их независимо.
Полез я уточнить, какой из тактовых входов за что отвечает:
https://www.microshemca.ru/IR1/
И по мере уточнения, был-таки удивлён, что про К155ИР1 и про его
аналог 7495 написаны, как мне показалось, несколько разные сведния. :roll:
https://www.microshemca.ru/7495/
You do not have the required permissions to view the files attached to this post.
iLavr