Обсуждаем контроллеры компании Atmel.
Ответить

I2c с помощью USI в attiny84.

Чт апр 20, 2023 15:02:07

Народ, прошу помощи. Кто касался использования аппаратного I2C в тиньках? Необходимо реализовать передачу данных в режиме Мастер->слейв, используя аппаратный трансивер контроллера, без сторонних библиотек и ардуиновского ногодрыгания. В даташите очень мало информации и складывается такое впечатление, что блок USI в этих контроллерах очень урезан. Хотелось бы увидеть пример реализации коммуникации на C с использованием контрольного регистра USI.
Нашел неплохую статью на easyelectronic, но там речь идёт о блоке TWI, который изначально заточен именно под I2C. А вот про USI ни слова...

Re: I2c с помощью USI в attiny84.

Пт апр 21, 2023 11:50:39

Про USI тоже там есть..

Re: I2c с помощью USI в attiny84.

Ср май 03, 2023 16:28:01

Да, увидел. Короче полноценного автомата i2c там нет, что печально.

Re: I2c с помощью USI в attiny84.

Ср май 03, 2023 20:22:41

Полноценный есть в 817, 16хх и им подобных.. Придут скоро, буду тестить. Корпуса у них правда не для лута.

Re: I2c с помощью USI в attiny84.

Сб сен 02, 2023 21:09:18

Как для режима i2c "master", USI малопригоден. Это далеко не TWI. Он больше заточен на то, что камень будет использован в режиме i2c "slave", да ещё и большую часть времени будет в спячке. Там даже такой урезанный USI просто незаменим.

Re: I2c с помощью USI в attiny84.

Чт сен 21, 2023 19:24:41

Да, увидел. Короче полноценного автомата i2c там нет, что печально.

Того, что есть, вполне достаточно для безгеморойной полуаппаратной реализации. Открытый сток для линий I2C есть, буферный сдвиговый регистр -- тоже. Остальное легко делается программно. Простейший master-only стек на C выходит около 160 байт.
Ответить