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

 
 
 
Reply to this topicStart new topic
> Господа, а кто нибудь пробывал работать с USI как SPI в 2,3mode, не так то просто, как кажется на первый взгляд
Kovrov
сообщение Jan 23 2006, 17:04
Сообщение #1


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



цель заставить ADC со скоростью конверсии до 1msps
состыковать с USI и выжать макс скорость конверсии
ADC например AD7495 с SPI режим работы по AVR SPI MODE 3

Сообщение отредактировал Kovrov - Jan 23 2006, 17:09


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 23 2006, 17:35
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Kovrov @ Jan 23 2006, 19:04) *
цель заставить ADC со скоростью конверсии до 1msps
состыковать с USI и выжать макс скорость конверсии
ADC например AD7495 с SPI режим работы по AVR SPI MODE 3


А кому кажется что это просто?
1msps - уж слишком для AVR..
Смотрите, допустим требуется получить 1msps при разрешении 8bit, будем работать в mode3, частота SCKusi = Fosc/2.. Берем приведенный в даташите пример кода:
Код
[b](2т)[/b] out USIDR,r16    
[b](1т)[/b] ldi r16,(1<<USIOIF)      
[b](2т)[/b] out USISR,r16            
[b](1т)[/b] ldi r16,(1<<USIWM0)|(
SPITransfer_loop:
(2т)out USICR,r16
[b](2т)[/b]sbis USISR,USIOIF
(2т)rjmp SPITransfer_
[b](2т)[/b]in r16,USIDR


перед инструкциями дописал время выполнения в тактах, жирным выделены инструкции время выполнения которых должны суммироваться с временем выполнения цикла приема/передачи по USI.
Итого аппаратно для передачи байта требуется 16 тактов + 10 тактов (выделенных инструкций) = 26. Т.о. даже если процессор будет осуществлять лишь только линеное чтение, и кроме этого больше ничего не делать, то потребуется тактовая частота ядра 26Mhz, а AVR контроллеров, способных работать на такой частоте пока еще нет, итого задача даже для 8bit 1 MSPS не решаема. Здесь можно порекомендовать использование плиса, реализующего работу с АЦП по SPI и выдающего контроллеру в параллельном виде.. Либо возьмите сразу параллельные АЦП к примеру ADS824/825.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 23 2006, 18:01
Сообщение #3


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



я ему про одно он мне про другое cheers.gif
ежу ясно, что на даже 20 мипс авр невостребует все ресурсы этого ацп
проблема не в этом, проблема заставить уси работать как AVR SPI MODE 3
просто, думается если взять техас там моде0 (если не ошибаюсь) и проблем не должно быть
а вот тут на те.. че то ни одной мысли...
а вообще в меге и аппаратном спи легко создавалось 8мгц клока и времени конверсии 2 с копейками мкс - другое дело нет ни какого кайфа от этого и вообще. это не интересно...


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
defunct
сообщение Jan 23 2006, 18:58
Сообщение #4


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Kovrov @ Jan 23 2006, 20:01) *
я ему про одно он мне про другое cheers.gif
проблема не в этом, проблема заставить уси работать как AVR SPI MODE 3


дык, звыняйте.. тада бы писали не со скоростью конверсии "1msps" т.к. msps и в африке msps, а 1Mhz.. smile.gif

Не вдаваясь в детали USI, напрашивается простой ответ - добавить инвертор...
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 24 2006, 04:34
Сообщение #5


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



Цитата(defunct @ Jan 23 2006, 21:58) *
дык, звыняйте.. тада бы писали не со скоростью конверсии "1msps" т.к. msps и в африке msps, а 1Mhz.. smile.gif

Это я не подумавши :-)
Цитата(defunct @ Jan 23 2006, 21:58) *
Не вдаваясь в детали USI, напрашивается простой ответ - добавить инвертор...

ставить ещё элементы - как то не хочется - че бы нибудь эдакова придумать, ну кроме конечно программного варианта...


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jan 24 2006, 09:15
Сообщение #6


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Kovrov, из Ваших постов так и не ясно в чём у Вас проблема.
Если надо запрограммировать SPI на mode 3, то это делается установкой CPOL = 1, CPHA = 1 в SPCR.
Если же дело в том, чтобы именно USI заставить работать как полнофункциональный SPI, то видимо без ухищрений не обойтись, в том числе и аппаратных.
Go to the top of the page
 
+Quote Post
Kovrov
сообщение Jan 24 2006, 16:01
Сообщение #7


Мастер-фломастер
****

Группа: Свой
Сообщений: 611
Регистрация: 29-12-05
Пользователь №: 12 700



С родным SPI проблем нет
проблемы сделать подобное на уси и заставить его работать в режиме 3 мастер - к сожалению пока безрезультатно!!

Сообщение отредактировал Kovrov - Jan 24 2006, 16:06


--------------------
Вон ПОПОВ, клоун клоуном, а радио изобрел!!
Go to the top of the page
 
+Quote Post

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

 


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


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