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

 
 
> Господа, а кто нибудь пробывал работать с 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
 
Start new topic
Ответов
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



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

 


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


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