Перейти к содержанию
    

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

 

Задача:

 

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

 

Возможные решения, которые приходят в голову.

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

 

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

 

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

 

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

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Задача:

 

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

 

Возможные решения, которые приходят в голову.

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

 

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

 

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

 

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

 

Заранее спасибо!

Беспроигрышный вариант 1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Общие фразы, так как именно такие скорости не приходилось делать, да и могу сказать только применительно к мне знакомому AT91rm9200.

у тебя какой источник сигнала, последовательная шина или параллельный код?

Если последовательная SPI - то через DMA. Шуруешь пакет запросов-ответов длиной в общее кол-во значений, далее выбираешь собственно данные (если АЦП еще чего-то кроме данных валит). То есть весь пакет по DMA передастся за нужное время сбора данных (подбираешь скорость SPI).

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

 

Первым способом я работаю с ADS1258, вторым- с NAND FLASH.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Второй хороший способ, но как как организовать slave- параллельный порт?

(например интерфейс bt.656)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вариант 4. Ставите мегабайтный FIFO, логику и LPC

Вариант 5. Ставите два LPC, один сэмплирует полингом и отдает другому по 16-и битной параллельной шине по FIQ прерываниям.

Вариант 6. Ставите 4-е LPC и перемежаете выборку между ними потом через USB hub собираете все в один файл.

И т.д. , можно придумать еще кучу вариантов с LPC.

Но мне что-то кажется, что LPC здесь вообще не в тему. :biggrin:

 

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

 

Задача:

 

 

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

 

Возможные решения, которые приходят в голову.

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

 

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

 

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

 

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

 

Заранее спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ставите мегабайтный FIFO

и стоимость улетает в никуда :)

 

 

LPC конечно не особо годиться, хотя задача как раз для него, (если бы DMA поддерживал PIO), ну это лирика

 

 

еще вариант:

использовать расширитель входов MCP23S08 (parallel<>SPI) $0.77

 

правда он slave, но можно выкрутиться

строб завести на триггер DMA, который будет уже забирать значение по SPI.

 

1,25Мб/сек должно получиться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Речь, похоже, идет о девайсе для поддержки какого-то конкретного эксперимента. В таких ситуациях часто в начале не знаешь, что понадобится в конце. Поэтому (имхо) безусловно предпочтительным выглядит вариант с ПЛИС, где легко можно избежать ограничений по скорости и размеру памяти. Как и чем перебросить потом в комп, на SD Card или другое место - дело вкуса и технических возможностей.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...