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

 
 
> lpc214x, Хватит ли скорости
deelan
сообщение Oct 30 2007, 12:34
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 36
Регистрация: 18-07-07
Пользователь №: 29 198



Доброго времени суток.

Задача:

Есть какая-то аналоговая величина, которая должна оцифровываться с частотой 500-1000 кГц и разрешением 16 бит. Оцифровка запускается по какому-то, что сейчас не важно, сигналу и должна содержать порядка 1,300,000 значений, т.е. порядка 2.5 Мб данных, которые должны быть куда-то записаны.

Возможные решения, которые приходят в голову.
1. Подключить ПЛИС к микросхеме памяти и тактировать с помощью ПЛИС оцифровку и запись данных в память, затем после окончания процесса спокойно перебросить все данные c помощью LPC2148 на ПК.

2. Воспользоваться SD или MMC, подключенными к LPC по SPI и осущетвить запись туда, но тогда возникает сложность с тем, что даже на 500 кГц прерывания (например внешнее, говорящее о том, что оцифровка произведена) могут завалить всю систему.

3. Подключить ПЛИС и МК к SD карте и сделать тоже, что и в п.1.

Что можно было бы придумать наиболее простое в данном случае, с записью в SD карточку?

Заранее спасибо!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ruslan1
сообщение Oct 30 2007, 19:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Общие фразы, так как именно такие скорости не приходилось делать, да и могу сказать только применительно к мне знакомому AT91rm9200.
у тебя какой источник сигнала, последовательная шина или параллельный код?
Если последовательная SPI - то через DMA. Шуруешь пакет запросов-ответов длиной в общее кол-во значений, далее выбираешь собственно данные (если АЦП еще чего-то кроме данных валит). То есть весь пакет по DMA передастся за нужное время сбора данных (подбираешь скорость SPI).
Если параллельная шина- то вешаешь в общее адресное пространство так, чтобы при выборе последовательно расположенных 1.3e6 адресов выбирался твой АЦП. Далее организуешь шину так, чтобы цикл доступа был нужный (скорость семплирования). Выключил прерывания, дал команду memcpy() нужной длительности и вуаля.

Первым способом я работаю с ADS1258, вторым- с NAND FLASH.
Go to the top of the page
 
+Quote Post



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

 


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


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