реклама на сайте
подробности

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Реализация SPI в AVR
Tarbal
сообщение Sep 30 2013, 18:43
Сообщение #16


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(__Alexander @ Sep 30 2013, 18:54) *
а почему это слэйв самостоятельно выставляет на линию miso лог "1" ? такого быть не может. это обычный сдвиговый регистр. если он работает на прием, то это прием.
CS на SPI не обязателен, точнее его можно жестко притянуть к земле, но если вылезет ошибка, то тогда да, не перезапустишь )


MISO -> M(aster)I(n)S(lave)O(ut)
MISO is out for slave
Go to the top of the page
 
+Quote Post
__Alexander
сообщение Oct 1 2013, 06:37
Сообщение #17


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 18-07-07
Из: Киев
Пользователь №: 29 202



да. не внимательно прочел. сорри.

уж слишком много отличий от стандартного spi в avr. если скорости не большие, то легче сделать программно. clk повесить на прерывание и сдвигать на выход байт как захочется.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 1 2013, 09:08
Сообщение #18


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Tarbal @ Sep 26 2013, 01:17) *
Чип селект (слейв селект) сигнал обязателен в SPI

lol.gif


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 1 2013, 16:27
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(ILYAUL @ Oct 1 2013, 13:08) *
lol.gif


А своими словами слабо?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 1 2013, 19:15
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Tarbal @ Oct 1 2013, 20:27) *
А своими словами слабо?

В большинстве случаев его просто сажают на землю


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 1 2013, 22:57
Сообщение #21


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(ILYAUL @ Oct 1 2013, 23:15) *
В большинстве случаев его просто сажают на землю


Обычно с этого начинают писать драйвер SPI EEPROM. Потом, наевшись проблем, понимают наконец роль сингнала SS и начинают им управлять.

Я же поднесу вам суть проблемы на блюдечке. Вот выдержка из описания микросхемы памяти AT25010A:
A Write instruction requires the following sequence. After the CS line is pulled low to
select the device, the WRITE op-code (including A8) is transmitted via the SI line fol-
lowed by the byte address (A7 A0) and the data (D7 D0) to be programmed.
Programming will start after the CS pin is brought high. The low-to-high transition of the
CS pin must occur during the SCK low time immediately after clocking in the D0 (LSB)
data bit.

Если SS посадить на землю, то ничего не запишется.
http://www.atmel.ca/Images/doc3348.pdf

Сообщение отредактировал Tarbal - Oct 1 2013, 23:06
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 2 2013, 11:58
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Ваш случай по-видимому относится к меньшинству , где-то у меня такая валялась . Проверю


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Duhas
сообщение Oct 2 2013, 16:15
Сообщение #23


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



это не чей то случай, это часть спецификации интерфейса. то что можно использовать только часть спецификации для передачи данных не означает что это правильно. в случае соединения точка точка можно редуцировать SS линию в ряде случаев, а в случае связи 3-х устройств ?

вы просто произвели для себя подмену понятий SPI = "SPI так как им пользуюсь я", но других то убеждать в этом не обязательно.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 2 2013, 17:57
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Duhas @ Oct 2 2013, 20:15) *
а в случае связи 3-х устройств ?

Протокол SPI допускает не использовать SS . Для Ваших трех - решений предостаточно , от рассыпухи до использования портов контролера ( не лучший вариант) Что будите делать если у Вас их , SPI устройст 22 шт. , все однотипные и обратная связь с MCU не нужна. Тоже дешифраторы нагородите/
Кстати даю сразу правильный ответ , чтоб закрыть тему ибо мне не интересна, что для 3 что для 22 устройств SS может сидеть на земле и при этом путаницы в обращении к устройствам не будет. А вот почему и как - решаете Вы


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Duhas
сообщение Oct 3 2013, 04:10
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 13-04-07
Пользователь №: 27 018



считаю что красивым решением для 22 устройств будет повесить на ту же SPI сдвиговый регистр + дешифраторы и адресовать до 255 устройств записью однобайтного адреса устройства на шине. Но представить 10+ периферийных устройств на шине SPI я не могу, т.к. либо это очень много однотипных устройств, что может говорить либо о неверном подборе компонентов, либо о суровой специализации устройства, где могут быть не критичны как трата пинов МК, так и установка доп. микросхем. в случае когда устройств много и требуется скорость - это уже несколько SPI..

если же городить пакетную передачу с адресацией для SPI - то это уже , имхо, извращение, т.к. для этого есть I2C и прочее...
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 3 2013, 07:42
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Я посмотрел этот проект, чтобы себе напомнить как было решена сия задача. Единственное в чём погорячился , что SS был использован но не только как выбор всех чипов (PIC 22шт.) сразу , но и как сигнал окончания передачи. По сути SPI и сдвиговый регистр братья близнецы. И как любой сдвиговый регистр его можно наращивать . Поэтому в буфер мастера загоняются данные для всех 22 устройств . Первыми выходят данные для последнего устройства в цепочке. И кстати первыми приходят , если они Вам нужны. За 176 импульсов CLK все устройства получат свои данные и отдадут что накопили. Сигнал SS снимается , сообщая все устройствам сразу , что они получили свои данные.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 3 2013, 16:08
Сообщение #27


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(ILYAUL @ Oct 2 2013, 21:57) *
Протокол SPI допускает не использовать SS .


И аргументировать сможете? Приведете документ, в котором об этом сказано?
Я полагаю, что это ваше личное умозаключение, но вы можете переубедить меня, приведя ссылку на документ.

Цитата(ILYAUL @ Oct 3 2013, 11:42) *
Я посмотрел этот проект, чтобы себе напомнить как было решена сия задача. Единственное в чём погорячился , что SS был использован но не только как выбор всех чипов (PIC 22шт.) сразу , но и как сигнал окончания передачи. По сути SPI и сдвиговый регистр братья близнецы. И как любой сдвиговый регистр его можно наращивать . Поэтому в буфер мастера загоняются данные для всех 22 устройств . Первыми выходят данные для последнего устройства в цепочке. И кстати первыми приходят , если они Вам нужны. За 176 импульсов CLK все устройства получат свои данные и отдадут что накопили. Сигнал SS снимается , сообщая все устройствам сразу , что они получили свои данные.


Вопрос стоит не как ухитриться сделать нестандартно, а следует ли вообще применять нестандартные решения.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Oct 3 2013, 16:14
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(Tarbal @ Oct 3 2013, 20:08) *
И аргументировать сможете? Приведете документ, в котором об этом сказано?
Я полагаю, что это ваше личное умозаключение, но вы можете переубедить меня, приведя ссылку на документ.


Поищу
Цитата(Tarbal @ Oct 3 2013, 20:08) *
Вопрос стоит не как ухитриться сделать нестандартно, а следует ли вообще применять нестандартные решения.

Что же здесь не стандартного , даже любимый Вами SS использован


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 3 2013, 17:40
Сообщение #29


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(ILYAUL @ Oct 3 2013, 20:14) *
Что же здесь не стандартного , даже любимый Вами SS использован


Тады Ой!
Однако не мой любимый sm.gif, его стандарт любит.
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Oct 3 2013, 18:44
Сообщение #30


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



deleted duplicated message

Сообщение отредактировал Tarbal - Oct 3 2013, 18:45
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th July 2025 - 22:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.0149 секунд с 7
ELECTRONIX ©2004-2016