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

 
 
> 2 SPI скорость, алгоритм, LPC2194/LPC2294 /01
bullit
сообщение Sep 18 2008, 12:08
Сообщение #1


пуля
****

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



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

Стоит следующая задача:
1) есть 2 АЦП AD7980. (1 MSPS, 16 бит, SPI) Время готовности данных = до 720 нс - макс.
2) необходимо каждые 2 мкс опрашивать обе АЦП (одновременно или со сдвигом 1 мкс), в течении ~2( и до 16) мс.
3) как вариант uC выбрал LPC2194(2294)/01 (на 125 градусов)
т.е. если запустить одновременно оба АЦП, то есть 1280 нс на получение данных с обоих АЦП на два SPI.
1280 нс / (16+1)= 13 МГц с копейками (!) клок. Не маленькая скорость.

Выбрал я LPC2194(2294) из-за АРМ (охота его освоить) и температуры применения 125 град. Тем более /01 могут работать и с 16 бит данных SPI.
Вот думаю, можно ли использовать оба модуля SPI одновременно?
В мануале:
Цитата
In Master mode, this register must be an even number greater than or equal to 8.
Violations of this can result in unpredictable behavior. The SPI SCK rate may be
calculated as: PCLK / SnSPCCR value. The PCLK rate is CCLK /APB divider rate as
determined by the APBDIV register contents (see Table 6–76).

Но что-то дальше теряется мысль... какова максимальная скорость SPI клока?

Я вижу картину так:
1) запускаем конвертирование обоих АЦП
2) разрешаем внешнее прерывания на выход SDO АЦП (см. даташит стр. 18 или 20)
3) как только пришло прерывание (без разницы от первого или второго), запускаем SPI
4) ждём прерывание от второго АЦП
5) ждем прерывание на "готовность" данных по SPI - т.е. прерывание на то что данные пришли.
6) записываем в память
7) таймер с переодичностью 2 мкс запускает преобразования.
Можно ли реализовать такой алгоритм?

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

PS реализацию на PIC обсуждалось здесь, но скорость 10 МГц мне мало...

Заранее большое спасибо.
Прикрепленные файлы
Прикрепленный файл  AD7980.pdf ( 632.13 килобайт ) Кол-во скачиваний: 31
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
bullit
сообщение Sep 24 2008, 05:33
Сообщение #2


пуля
****

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



Я вот что-то недопонимаю: можно ли клок включить "мгновенно"? Т.е. пришло прирывание, и запускаем клок и принимаем битики. Каких-то особых требований к времени запуска я не видел в доках.
Go to the top of the page
 
+Quote Post



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

 


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


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