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

 
 
> 2 SPI модуля у dsPIC33, могут одновременно?
bullit
сообщение Sep 8 2008, 09:06
Сообщение #1


пуля
****

Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959



Доброго времени суток всем!
Сразу скажу, что с PICами, дела не имел, поэтому ориентируюсь плохо.

Стоит следующая задача:
1) есть 2 АЦП AD7980. (1 MSPS, 16 бит, SPI) Время готовности данных = до 720 нс.
2) необходимо каждые 2 мкс опрашивать АЦП, в течении ~2 мс.
т.е. если запустить одновременно оба АЦП, то есть 1280 нс на получение данных с обоих АЦП.
1280 нс / 32 (=2х16) = 25 МГц (!) клок. Бешеная скорость.

Приглянулися мне dsPIC33FJ. Хотя PIC32 SPI до 25 МГц, а dsPIC33 до 10 максимум.
Вот думаю, может использовать оба модуля SPI? тогда и скорость в два раза ниже. Можно ли использовать одновременно 2 модуля SPI. Даташиту читал, противоречий не увидел. Оба модуля настраиваются своими регистрами...

Полученные данные обрабатывать не нужно. Просто по запросу передать по UARTу.

Может даже выбрать что-то попроще можно?

Заранее большое спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bullit
сообщение Sep 8 2008, 11:15
Сообщение #2


пуля
****

Группа: Свой
Сообщений: 674
Регистрация: 10-05-06
Из: Уфа
Пользователь №: 16 959



Отправлять буду после того как оцифрую 2 мс окно.
И ещё вопрос: после того как получил я 16 бит (длину данных там вроде как можно устанавливать = 8, 16, 32) сохраню в оперативу с первого модуля, потом приму со второго и тоже сохраню. Время хватит? работа чисто с бортовой оперативой.

А может хватить время у МК (silabs) с мипс = 25 одним хардварным и одним софтверным spi ? при тех же условиях. скорость передачи особо не волнует. Времени даже на 1 Гц скорости хватит
Go to the top of the page
 
+Quote Post
evc
сообщение Sep 8 2008, 12:26
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 206
Регистрация: 17-03-07
Из: Москва
Пользователь №: 26 266



Цитата(bullit @ Sep 8 2008, 15:15) *
Отправлять буду после того как оцифрую 2 мс окно.
И ещё вопрос: после того как получил я 16 бит (длину данных там вроде как можно устанавливать = 8, 16, 32) сохраню в оперативу с первого модуля, потом приму со второго и тоже сохраню. Время хватит?


Если будете пользовать оба модуля, можете запускать их одновременно, у каждого SPI - свой буфер.
Программно если делаете - "клок" будет общий, а данные тоже будут поступать одновременно на два пина "данные", тоже быстро получается:

unsigned long буфер_SPI;
for (i = 0; i < 16; i++){
пин_клок = 1;
буфер_SPI += PORTX & 3;//Данные поступают на 0 и 1 пин.
пин_клок = 0;
буфер_SPI = буфер_SPI << 2;
}

например ...


--------------------
УЭР
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:04
Рейтинг@Mail.ru


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