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

 
 
> 32х битный SPI, чем и как принять поток?, АЦП AD7764
draqon
сообщение Sep 27 2010, 14:32
Сообщение #1





Группа: Новичок
Сообщений: 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?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
draqon
сообщение Sep 27 2010, 23:19
Сообщение #2





Группа: Новичок
Сообщений: 8
Регистрация: 27-09-10
Пользователь №: 59 763



Цитата(MALLOY2 @ Sep 27 2010, 19:02) *
Какая разница какой SPI хоть 8 хоть 16, рулите чипселектом и запускаете сколько вам надо посылок.

Там нет чипселекта, мастер - АЦП


Цитата(rezident @ Sep 27 2010, 19:07) *
Не понял сути затруднений. cranky.gif 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МГц клоке), но это совсем впритык..

Прошу прощения, если я где-то туплю, ибо пока только учусь smile.gif))
Go to the top of the page
 
+Quote Post
rezident
сообщение Sep 27 2010, 23:46
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 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 М? Почему именно такой запас?
Дык банальная арифметика. laughing.gif 20Мбит/с / 8 бит=2,5МБайт/с и соответственно 1,25Мслов/с.
Цитата(draqon @ Sep 28 2010, 05:19) *
У меня получилось, что msp430 переваривает до 10Мбит/c поток (при 25МГц клоке), но это совсем впритык..
По прерыванию? У MSP430 вход в прерывание и выход из него, даже без сохранения контекста, 9 тактов занимает. Не очень хорошо это. Для быстродействия получается, что выгоднее по опросу флага готовности работать.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 20th June 2025 - 11:40
Рейтинг@Mail.ru


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