Помогите подружить Attiny85 и RFID RC522

Vittorio
Offline
Зарегистрирован: 02.02.2015
Здравствуйте.
Помогите разобраться, можно ли запустить модуль RC522 на тиньке - у нее 6 пинов IO, и у RC522 6 пинов.
Проблема собственно пока с подключением.
У RC522 такая распиновка:
1 → SPI SS/SDA
2 → SPI SCK 
3 → SPI MOSI
4 → SPI MISO
7 → RST/Reset
 
У тиньки (я использую Digispark) такая:
Pin 0 → I2C SDA, PWM
Pin 1 → PWM, LED
Pin 2 → I2C SCK, Analog 1
Pin 3 → Analog 3 (also used for USB+ when USB is in use)
Pin 4 → PWM, Analog 2 (also used for USB- when USB is in use)
Pin 5 → Analog 0
 
Это вообще реально? Хочется именно на Attiny85. Использовать для этого Arduino с ее 20 IO - это как-то из пушки...
LittleBuster
Offline
Зарегистрирован: 08.01.2015

тинька85 она везде одинаковая

На Reset можно забить, MISO, MOSI, SCK это обычный SPI

SS - Chip Select Коли одно устройство я думаю на землю можно кинуть спокойно. Главное чтоб в h файле этого rfid уже не были прописаны пины иначе его править придётся

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

На Reset можно забить, MISO, MOSI, SCK это обычный SPI

SS - Chip Select Коли одно устройство я думаю на землю можно кинуть спокойно. 

круто. а как его ресетить без ресета? и как он станет слейвом если CS на земле валяется?

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Круто. А зачем его резетить скажите? Мне вот чёто ниразу не пригодилось это на езернет модуле. 2)Если вы невнимательно читали, я написал если одно устройство то SS на землю

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

Круто. А зачем его резетить скажите? Мне вот чёто ниразу не пригодилось это на езернет модуле. 2)Если вы невнимательно читали, я написал если одно устройство то SS на землю

даже не знаю зачем ресетят в процесе инициализации... традиция наверное...

может все же SS на + а не на землю?

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Puhlyaviy пишет:

даже не знаю зачем ресетят в процесе инициализации... традиция наверное...

может все же SS на + а не на землю?

Не знаю о каких традициях вы нам рассказываете, у меня резет на езернете даже не подключен к МК и не поверите всё работает.

насчёт SS на + или на землю в той же теме, в которой вы отписывались пишут, что если несколько устройств, то мастеру 0 даём, а остальным + в процессе опроса.

http://arduino.ru/forum/obshchii/podklyuchenie-neskolkikh-ustroistv-po-spi

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

Не знаю о каких традициях вы нам рассказываете, у меня резет на езернете даже не подключен к МК и не поверите всё работает.

насчёт SS на + или на землю в той же теме, в которой вы отписывались пишут, что если несколько устройств, то мастеру 0 даём, а остальным + в процессе опроса.

Раз на раз не приходиться. Не все инициализируется без ресета.
 

так вы чей SS решили на землю положить?

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Puhlyaviy пишет:

Раз на раз не приходиться. Не все инициализируется без ресета.
 

так вы чей SS решили на землю положить?

ножка с устройства RC522 конечо, не МК же.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

ножка с устройства RC522 конечо, не МК же.

круто... повторюсь, и как же RC522 узнает что он слейв и нужно уже начинать работать?

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Puhlyaviy пишет:

круто... повторюсь, и как же RC522 узнает что он слейв и нужно уже начинать работать?

Я одного понять не могу в вашей логике: зачем ему вообще быть слейвом если он ОДИН на шине. Опять повторюсь в в теме, которой вы отписывались, когда много устройств на шине висит, пишут, что поочерёдно ставим 0 на то устройство с которым щас работаем, а единицы на те с которыми не работаем, потом на следующее устройство ставим 0 и с ним работаем, а на предыдущее единицу, вот и получается из слов NeiroN, что 0 ставим на текущего мастера, с которым мы работаем. А если у нас одно устройство, то и мастер один и слейвы не нужны.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Иногда SPI устройсво без дергания SS просто не заработает...

LittleBuster
Offline
Зарегистрирован: 08.01.2015

ясно

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

Я одного понять не могу в вашей логике: зачем ему вообще быть слейвом если он ОДИН на шине. Опять повторюсь в в теме, которой вы отписывались, когда много устройств на шине висит, пишут, что поочерёдно ставим 0 на то устройство с которым щас работаем, а единицы на те с которыми не работаем, потом на следующее устройство ставим 0 и с ним работаем, а на предыдущее единицу, вот и получается из слов NeiroN, что 0 ставим на текущего мастера, с которым мы работаем. А если у нас одно устройство, то и мастер один и слейвы не нужны.

АААА ну тогда конечно, раз пишут. то так и делайте. ноль на мастера :)

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

MaksMS пишет:

Иногда SPI устройсво без дергания SS просто не заработает...

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

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Puhlyaviy пишет:

АААА ну тогда конечно, раз пишут. то так и делайте. ноль на мастера :)

Ну надо было иронизировать в той теме, если по вашему мнению 0 на мастера неправда

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

Ну надо было иронизировать в той теме, если по вашему мнению 0 на мастера неправда

Давай я задам вопрос по другому. кто в данной конструкции мастер?

LittleBuster
Offline
Зарегистрирован: 08.01.2015

Puhlyaviy пишет:

Давай я задам вопрос по другому. кто в данной конструкции мастер?

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

http://forum.amperka.ru/threads/uno-%D0%B8-%D0%BD%D0%B5%D1%81%D0%BA%D0%B...

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

LittleBuster пишет:

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

http://forum.amperka.ru/threads/uno-%D0%B8-%D0%BD%D0%B5%D1%81%D0%BA%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2-%D0%BD%D0%B0-%D1%88%D0%B8%D0%BD%D0%B5-spi.2960/

Читайте вики хотя бы

SS : Slave Select (active low, output from master). 

Мастер это АРДУИНА. Все остальные слейвы, активные или неактивные. Но даже при том что для того что бы сделать слейва активным нужно ему подать логический НОЛЬ, я бы один фиг не стал его просто так бросать на землю при условии что он даже один на шине сидит. В сумме с брошеным на произвол ресетом, будете долго гадать почему оно не работает или работает через раз. В целом это были бы ваши проблемы, но это не ваш проект и подобные советы с вашей стороны как то не совсем коректны..

Да и CS хорошо подтянуть через10К к питанию. Традиция такая. :)

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

хм, мысль свежая. Ради интереса был проведен эксперимент на Arduino Mini: без IRQ (висит в воздухе) - модуль работает, без RST - работает. Будет ли работать при другой влажности и иных условиях - фиг его знает, надо бы действительно подтяжку поставить.

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

Осталась только малость - запустить SPI на тиньке :)
Как говорится, "80% проекта занимает 20% времени, остальные 20% занимают 80% времени".