|
32х битный SPI, чем и как принять поток?, АЦП AD7764 |
|
|
|
Sep 27 2010, 14:32
|
Группа: Новичок
Сообщений: 8
Регистрация: 27-09-10
Пользователь №: 59 763

|
Доброго времени суток. Необходимо получать поток от АЦП AD7764, он работает по SPI, длина слова 32 бита, АЦП - мастер, сигнал словной синхронизации активен в течение передачи всех 32 бит. Скорость потока 10 (20) Мбит/c.
Использовать плис оочень не хочется, по скорости обработки вполне подходят Picolo (F28ая серия), да и MSP430, их и хотелось использовать, но как втащить в них 32битный SPI поток??? У F28 16-битный SPI, у MSP430 - 8битный.
Подскажите пожалуйста какое-нибудь решение, может есть процы с 32битным SPI, или можно как-то принять такой поток на F28?
|
|
|
|
|
 |
Ответов
|
Sep 27 2010, 23:19
|
Группа: Новичок
Сообщений: 8
Регистрация: 27-09-10
Пользователь №: 59 763

|
Цитата(MALLOY2 @ Sep 27 2010, 19:02)  Какая разница какой SPI хоть 8 хоть 16, рулите чипселектом и запускаете сколько вам надо посылок. Там нет чипселекта, мастер - АЦП Цитата(rezident @ Sep 27 2010, 19:07)  Не понял сути затруднений.  SPI интерфейс синхронный, никто не мешает хоть по 1 биту принимать. Лишь бы успевать из буфера SPI-slave эти биты/байты/слова выгребать. Используйте любой подходящий МК с требуемой частотой приема в режиме slave. От МК требуется лишь возможность успевать извлекать байты или слова из буфера SPI с темпом 2.5*10^6 байт/с или 1,25*10^6 слов/сек. То бишь тактовая частота МК должна быть ориентировочно не ниже 25МГц. А если у МК будет DMA, да еще и с отдельной шиной, то вообще ноу проблемс. Тоесть, если я правильно понял, 16 бит приняли > по прерыванию обработали, дальше принимаем слудующие 16 бит, ну и по словной синхронизации контроллируем слова.. Я так понимаю ДМА в таком режиме тоже настроить вполне реально? А откуда взялись эти цифры 2.5 и 1.25? Почему не 2 и 1 М? Почему именно такой запас? Picolo сейчас еще раз посмотрел, там DMA нет, тогда дельфино остается или DSC типа tms320f28234, по даташиту он вполне будет работать и на 40MHz клоке Вообще задача, принять сигнал, перенести на ноль, децемировать-отфильтровать с 312кГц до 1кГц.. почти всё _Pasha, jorikdimaУ меня получилось, что msp430 переваривает до 10Мбит/c поток (при 25МГц клоке), но это совсем впритык.. Прошу прощения, если я где-то туплю, ибо пока только учусь  ))
|
|
|
|
|
Sep 27 2010, 23:46
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(draqon @ Sep 28 2010, 05:19)  Тоесть, если я правильно понял, 16 бит приняли > по прерыванию обработали, дальше принимаем слудующие 16 бит, ну и по словной синхронизации контроллируем слова.. Приняли столько бит, сколько позволяет модуль SPI или SSP. Цитата(draqon @ Sep 28 2010, 05:19)  Я так понимаю ДМА в таком режиме тоже настроить вполне реально? Вопрос бессмысленный, т.к. не указан кристалл. Обычно - да, DMA имеет возможность складывать в память принятое по SPI или SSP автоматически, без участия ядра. Только при отсутствии отдельной шины доступа DMA подтормаживает его (ядра) работу. Хотя даже и в этом случае по сравнению с работой по прерыванию от SPI или SSP у DMA имеется некоторый выигрыш за счет отсутствия необходимости сохранения контекста при вызове прерывания. Цитата(draqon @ Sep 28 2010, 05:19)  А откуда взялись эти цифры 2.5 и 1.25? Почему не 2 и 1 М? Почему именно такой запас? Дык банальная арифметика.  20Мбит/с / 8 бит=2,5МБайт/с и соответственно 1,25Мслов/с. Цитата(draqon @ Sep 28 2010, 05:19)  У меня получилось, что msp430 переваривает до 10Мбит/c поток (при 25МГц клоке), но это совсем впритык.. По прерыванию? У MSP430 вход в прерывание и выход из него, даже без сохранения контекста, 9 тактов занимает. Не очень хорошо это. Для быстродействия получается, что выгоднее по опросу флага готовности работать.
|
|
|
|
Сообщений в этой теме
draqon 32х битный SPI, чем и как принять поток? Sep 27 2010, 14:32 MALLOY2 Какая разница какой SPI хоть 8 хоть 16, рулите чип... Sep 27 2010, 15:02 rezident Не понял сути затруднений. SPI интерфейс синхрон... Sep 27 2010, 15:07 jorikdima Согласен, проблемы не видно. Читать то можно байта... Sep 27 2010, 15:12 _Pasha Мда... а что потом делать с этим потоком? Надо ж е... Sep 27 2010, 20:05  draqon ЦитатаВопрос бессмысленный,
Ну получается c28 (нап... Sep 28 2010, 00:11   rezident Цитата(draqon @ Sep 28 2010, 06:11) Ну по... Sep 28 2010, 00:29 Абырвалг Цитата(draqon @ Sep 28 2010, 03:19) Тоест... Oct 5 2010, 03:43 draqon Да, это я уже нашел, спасибо, и там есть McBSP в ... Oct 5 2010, 23:36 rezident Цитата(draqon @ Oct 6 2010, 05:36) Блин, ... Oct 6 2010, 00:38 Абырвалг Цитата(draqon @ Oct 6 2010, 03:36) Это из... Oct 6 2010, 07:48  sysel У меня есть 2 проекта на данных АЦПшках
В первом ... Oct 7 2010, 08:55 draqon Абырвалг
Понял, спасибо...
sysel
Так у LPC1754 12... Oct 10 2010, 20:51 draqon Абырвалг
Понял, спасибо...
sysel
Так у LPC1754 12... Oct 10 2010, 20:51 sysel Цитата(draqon @ Oct 11 2010, 00:51) какая... Oct 11 2010, 05:06 draqon sysel
MCLK/4 это уже проще )
CPLDшку как конверте... Oct 11 2010, 10:27 sysel Цитата(draqon @ Oct 11 2010, 14:27) sysel... Oct 11 2010, 10:53  draqon Цитата(sysel @ Oct 11 2010, 14:53) Да хот... Oct 13 2010, 12:54   sysel Цитата(draqon @ Oct 13 2010, 16:54) Все т... Oct 13 2010, 16:52
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|