SPI из USI в ATtini2313

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Аватара пользователя
Сообщения: 122
Зарегистрирован: Пт июл 11, 2008 21:49:40
Откуда: Украина

Сообщение sad-angel »

Мне нужно cделать програмный SPI-Master из USI.Может Кто-то ещё делал подобное.Написал программу не работает.Вроде все правильно.Записиваю даные в USIDR,проверяю флаг USIOIF-он не устанавлевается.Мой исходник:

.include “tn2313def.inc”

.macro outi
ldi r16,@1
out @0,r16
.endmacro

outi SPL,ramend
outi DDRB,0b11111111

Transnit:
outi USIDR,0b11001100 ;пример даных для передачи
outi USISR,(1<<USIOIF)

ldi r16,(1<<USIWM0|1<<USICS1|1<<USICLK|1<<USITC)
out USICR,r16

wait:
sbis USISR,USIOIF
rjmp wait

loop:rjmp loop
Реклама
Встал на лапы
Сообщения: 123
Зарегистрирован: Пт мар 13, 2009 13:11:56
Откуда: Минск

Сообщение Kisa »

Интересно,а этот USI в attiny2313 поддерживаеться в AVRstudio? Я сегодня все варианты со всеми регистрами пробовал подбирать,вобще никак не реагирует. И даже этот четырёх битный счётчик никак не реагирует...
До этого пробовал разные апаратные SPI на других контроллерах симулировать,так всё нормально,если на входе устанавливаю 1 и при этом нажимая F11 и изменяю переодически 0 с 1 на SCK(slave) то в регистр данных одни еденицы и записываться...В Мастере с каждым SCK на MOSI последовательно выдаёт содержимое регистра данных.
На attiny2313 подобным образом пробовал USART эмулировать,в асинхронном режиме работает в качестве передатчика, приёмник чтото не симулируеться,(тоесть при любых обстоятельствах регистр данных пуст) но он мне пока не нужен...Над ним мозги особо не парил... Авот с USI уже плавяться :oops:
Мне не стоит труда придумать как это сделать програмно,просто хочиться научиться штатные устройсва юзать.
Как я понял выводы USI совпадат с SPI програмирования? Об этом почти негде не пишеться.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 122
Зарегистрирован: Пт июл 11, 2008 21:49:40
Откуда: Украина

Сообщение sad-angel »

У меня уже все работает.Проблема в том что в даташите все написано правильно, а АВРСтудии не работает.Написал прогу - проверил в Протеус все работает! По поводу выводов:

MOSI - DO (data out) (PB6/MISO/DO/PCINT6)
MISO - DI (data in) (PB5/MOSI/DI/SDA/PCINT5)
SCK - USCK (PB7/USCKSLK/PCINT7)
линия CS отсутствует. (если надо делаеться програмно из любой линии порта)

Если надо могу выложить свой пример реализации (исходник асм+собраная схема в Протеус)
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

Неплохо бы. Поделитесь.

А есть ли у кого нить пример для СИ?
Даташит - библия моя...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев

Сообщение Аксель »

Скелет колобка состоит из черепа.
Контактная информация:
Реклама
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

Аксель писал(а):http://www.radiokot.ru/forum/viewtopic.php?t=14429&start=0&postdays=0&postorder=asc&highlight=&sid=1dcc7dd9c9792ea2657e3086c0ae65ca
И что? Проблема то так и не решилась, кода нет у меня и я незнаю асм.
Даташит - библия моя...
Изображение
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев

Сообщение Аксель »

Соболезную по этому поводу.
Скелет колобка состоит из черепа.
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 122
Зарегистрирован: Пт июл 11, 2008 21:49:40
Откуда: Украина

Сообщение sad-angel »

VenomXP писал(а):Неплохо бы. Поделитесь.
Держите:
Вложения
ATtiny_595_leds.zip
(47.1 КБ) 352 скачивания
Грызет канифоль
Аватара пользователя
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09

Сообщение VenomXP »

Аксель писал(а):Соболезную по этому поводу.
А к чему тогда кидать мне ссылку на мою же тему, вы бы хотя бы почитали, я бы не стал повторно задавать вопрос если бы проблема решилась, а сам бы с радостью поделился. И не стоит проявлять сарказм.
sad-angel писал(а):Держите:
Спасибо.
Даташит - библия моя...
Изображение
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев

Сообщение Аксель »

VenomXP, а почему Вы думаете, что ссылка лично Вам? Лично Вам я бы написал ЛС.

А вот Вы лично пример на Си в архиве получили? :)
Скелет колобка состоит из черепа.
Контактная информация:
Встал на лапы
Сообщения: 123
Зарегистрирован: Пт мар 13, 2009 13:11:56
Откуда: Минск

Сообщение Kisa »

Щiро дякую, пояснили :)
Это получаеться в Протеусе можно на асме писать и симулировать такие вещи как USI,в отличии от АВРСтудии ?
Опытный кот
Аватара пользователя
Сообщения: 800
Зарегистрирован: Ср апр 25, 2007 09:50:43
Откуда: Киев

Сообщение Аксель »

Протеус симулирует "железо" МК. В протеусе для модели МК "скармливается"("прошивается") уже скомпилированый HEX-файл. А на каком языке его писали до компиляции - протеусу неважно.

HEX-файл находится отдельно от файла самого проекта. Путь к нему указан в свойствах МК в проекте. (Т.е. в проекте протеуса можно указать любой другой HEX).
Скелет колобка состоит из черепа.
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 122
Зарегистрирован: Пт июл 11, 2008 21:49:40
Откуда: Украина

Сообщение sad-angel »

Kisa писал(а):Щiро дякую, пояснили :)
Это получаеться в Протеусе можно на асме писать и симулировать такие вещи как USI,в отличии от АВРСтудии ?
Вы меня не совсем поняли.Имел в виду что симуляция USI в AVRStudio правильно не работает(не знаю почему,но флаг окончания передачи по USI не устанавливается.). Проверить работает ли программма можно в Proteus, или еще даже лучше в железе.

P.S. Правильно так: "Щиро дякую,пояснили :)
Встал на лапы
Сообщения: 123
Зарегистрирован: Пт мар 13, 2009 13:11:56
Откуда: Минск

Сообщение Kisa »

Да там не только флаг конца передачи,там состояние пинов никак не меняеться и на них никак не реагирует...Может на днях в железе попробую. Разные симуляторы схем,особенно аналоговых, мне пока техническим ананизмом кажуться...Хотя стоит попробовать :)
Эх... Обидно, тут с годами в Минске забываю родной язык... :oops:
А коменты рулят !!! :))
Встал на лапы
Сообщения: 123
Зарегистрирован: Пт мар 13, 2009 13:11:56
Откуда: Минск

Сообщение Kisa »

На железе всё с первого тыка заработало!
Использовал самый первый пример мастера из даташита.
Если на входе ноль,то и принемаем ноль,если еденица то только одни единицы и приймем,а если соеденить MISO и MOSI то принемаем то ,что и передаём.
Привожу пример тестирования.
Вложения
usi2.asm
(654 байт) 436 скачиваний
Встал на лапы
Аватара пользователя
Сообщения: 122
Зарегистрирован: Пт июл 11, 2008 21:49:40
Откуда: Украина

Сообщение sad-angel »

Kisa писал(а):На железе всё с первого тыка заработало!
Поздравляю!
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»