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

 
 
> MEGA И SPI
glebka
сообщение Sep 21 2006, 14:29
Сообщение #1


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

Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217



Надо к mege прикрутить через SPI два устройства.Причем одно будет только в slave,другое будет и принимать и посылать данные.Если кто делал подобное подскажите как лучше реализовать chip select, и процедуру передвчи и получения данных.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
glebka
сообщение Sep 21 2006, 17:02
Сообщение #2


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

Группа: Свой
Сообщений: 199
Регистрация: 22-06-05
Пользователь №: 6 217



Это понятно.Для этой цели собираюсь применить NC7SZ125M5.
Проблема немного в другом : отправить я смогу 16 бит, дергая cs когда надо, а как получить обратно 16 бит?
или читать два раза подряд SPDR?
Прошу прощение за непонимание.
Go to the top of the page
 
+Quote Post
Nanobyte
сообщение Sep 21 2006, 17:38
Сообщение #3


За битами по регистрам гоняюсь
***

Группа: Свой
Сообщений: 457
Регистрация: 24-04-06
Из: Таганрог
Пользователь №: 16 446



Цитата(glebka @ Sep 21 2006, 21:02) *
Это понятно.Для этой цели собираюсь применить NC7SZ125M5.
Проблема немного в другом : отправить я смогу 16 бит, дергая cs когда надо, а как получить обратно 16 бит?
или читать два раза подряд SPDR?
Прошу прощение за непонимание.

Регистры SPDR MASTER и SPDR SLAVE образуют общий кольцевой регистр сдвига, поэтому если SLAVE ничего не записывал в свой SPDR, MASTERу вернётся предыдущий отправленный им байт.
Если ваш алгоритм SLAVE-устройства предусматривает какую-либо обработку принятых данных, то лучше, наверное, начать считывать данные MASTER-ом после отсылки данных SLAVE-у путём передачи каких-то дополнительных байтов/команд.
Я делаю это таким образом:
1. Отправляю команду/данные (несколько байтов) SLAVE-устройству.
2. Отправляю в цикле байт запроса 0xFD (можно любой другой), и читаю принятые от SLAVE данные.
Если ответный байт равен 0xFD, то SLAVE ещё не готов.
3. Как только SLAVE подготовил данные для ответа, он записывает в свой SPDR байт готовности к ответу 0x80 (можно и другой, не совпадающий с 0xFD) и по приёму следующего байта от мастера, подтаскивает в SPDR следующие байты ответных данных.
4. MASTER, продолжая посылать запросы, вычитывает нужное число байтов из SLAVE.

Может, написал сложно и запутанно, но этот способ оказался наиболее удобным и устойчивым.


--------------------
Курсор влево, курсор вправо - считается хакерством. FORMAT C: производится без предупреждения
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- glebka   MEGA И SPI   Sep 21 2006, 14:29
- - prottoss   Цитата(glebka @ Sep 21 2006, 22:29) Надо ...   Sep 21 2006, 14:44
- - glebka   Всё прочитал, немного не понятно как MASTER MEGA б...   Sep 21 2006, 15:52
|- - Nanobyte   Цитата(glebka @ Sep 21 2006, 19:52) Всё п...   Sep 21 2006, 16:18
- - WHALE   А мультиплексор зачем?Если каждый из слэйвов управ...   Sep 21 2006, 20:17
|- - muravei   Цитата(WHALE @ Sep 22 2006, 00:17) как вх...   Sep 22 2006, 06:48
|- - Семён   Цитата(WHALE @ Sep 22 2006, 00:17) А муль...   Sep 22 2006, 06:50
|- - Nanobyte   Цитата(WHALE @ Sep 22 2006, 00:17) А муль...   Sep 22 2006, 06:51
|- - muravei   Цитата(Nanobyte @ Sep 22 2006, 10:51) MIS...   Sep 22 2006, 07:41
||- - Семён   Когда писал программу для Mege8 ,она была мастером...   Sep 22 2006, 07:55
|||- - muravei   Цитата(Семён @ Sep 22 2006, 11:55) ИМХО: ...   Sep 22 2006, 11:42
||- - Nanobyte   Цитата(muravei @ Sep 22 2006, 11:41) Так ...   Sep 22 2006, 08:01
||- - Семён   На мастере для выбора нужного слейва придется исп...   Sep 22 2006, 08:29
|- - Terminator   Цитата(Nanobyte @ Sep 22 2006, 13:51) ......   Sep 22 2006, 07:59
- - Shum1   Из достаточно большого опыта создания контроллеров...   Sep 22 2006, 11:49
- - prottoss   Вот простой пример : МЕГА16 - МАСТЕР, Две МЕГА8 и ...   Sep 22 2006, 12:14
- - glebka   Соединяю megu и max6957. Получается: высталяю CS...   Sep 22 2006, 14:12
|- - prottoss   Цитата(glebka @ Sep 22 2006, 22:12) Соеди...   Sep 22 2006, 14:34
- - Foris   посмотрите апноут avr335 - там хороший пример spi   Sep 22 2006, 16:44
- - stellar   Товарищи, помогите, не работает spi slave, что мож...   Sep 24 2006, 18:16
- - glebka   Спасибо всем большое за консультацию,действительно...   Oct 2 2006, 15:18


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

 


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


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