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

 
 
> ads1255, скорость сбора данных
messenger
сообщение Aug 20 2015, 05:13
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 361
Регистрация: 23-03-07
Пользователь №: 26 457



Добрый день!
Помогите разобраться.
У ацп ads1255 максимальная скорость оцифровки 30 000 измерений в секунду.
Флаг готовности ацп появляется с периодом 34 мкс. При работе на рекомендуемой производителем тактовой частоте 7,68 Мгц, время на запрос, t6, и чтение составляет порядка 23 мкс.
Задача собрать максимальное количество измерений за 1 мс.
Ранее я уже работал с этим ацп, блок расчетов взял старый, но там и скорости были 1-5 измерений в секунду.
Сейчас ПО организовано так, запускаю таймер на 1 мс, и читаю в цикле сколько успею. Получается 1 измерение. А нужно 5-10.
Вопросы)
1. На какой тактовой частоте должен работать контроллер, чтобы успеть забрать все данные на такой скорости?
2. Данные забирает компьютер. Как правильно организовать алгоритм чтения чтобы забрать максимальное количество измерений. Т.е. пересылать только значения 3-х байт данных, а обрабатывать уже в ПК? А как же переключение пределов.

У меня сейчас Atmega16 разбирает данные. Пишу на Си. Так в лучшем случае 1-2 измерения получается забрать на такой скорости.
Циклы for, While, и т.д. съедают от 5 до 10 мск.
Если заремаркировть полные циклы вычислений, то удается проконтролировать байт готовности 23-26 раз. Как только добавляю вычисления (приведение к виду напряжения, обработку предела) все сразу сходит до 1 го измерения за 1 мс.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexashka
сообщение Aug 21 2015, 05:01
Сообщение #2


Практикующий маг
******

Группа: Свой
Сообщений: 3 634
Регистрация: 28-04-05
Из: Дубна, Моск.обл
Пользователь №: 4 576



Цитата(messenger @ Aug 20 2015, 08:13) *
1. На какой тактовой частоте должен работать контроллер, чтобы успеть забрать все данные на такой скорости?
2. Данные забирает компьютер. Как правильно организовать алгоритм чтения чтобы забрать максимальное количество измерений. Т.е. пересылать только значения 3-х байт данных, а обрабатывать уже в ПК? А как же переключение пределов.

1. Встречные вопросы. SPI реализован аппаратно или программно? Если второе, то о высокой скорости можно забыть. Далее при аппаратной реализации скорость чтения НАПРЯМУЮ определяется настройками тактовой частоты блока SPI. Достаточно просто помножить длительность такта SPI на число бит (24 или сколько там выдает АЦП) и получите время, затрачиваемое на чтение слова.
2. Опять вопросы. А что нужно обрабатывать и как? Может Вы там корреляцию считаете или БПФ, а может нужно просто взять среднее - это совершенно разные по затратам операции и план действий соответственно будет разным. Но в любом случае, если объем данных для передачи после обработки не снижается кординально, то лучше передавать в ПК "как есть", и обработку делать в нём же.
Что значит переключение пределов? У Вас интерфейс какой - USB? Или COM? Что мешает передавать в одну сторону данные, а в другую команды на переключение пределов? (одновременно)
Если нужно задать определенную комбинацию каналов для опроса, то это можно сделать массивом -передаете массив номеров каналов, в той последовательности, в которой нужно их опросить, и контроллер далее начинает опрос согласно этому порядку. Тем более что каналов у вас, насколько я понимаю, всего 2 sm.gif
Работа с АЦП по прерываниям -АЦП завершил преобразование -> попали в прерывание от АЦП -> запустили чтение 3байт SPI ->вышли из прерывания; чтение SPI закончено->попали в прерывание от блока SPI -> скопировали значение из SPI в программный буфер->вышли из прерывания. C портом ВВ- можно и в главном цикле работать. Если что приходит (команда) -изменяете настройки АЦП (согласно команде) между циклами заполнения буфера. Это если 1мс нужно опросить разово. Если нужно непрерывный опрос -тогда 2 буфера "качельки", один заполняется -второй в это время передается в ПК. Это удобней для USB. Если UART -удобнее один кольцевой буфер. Както так.
Go to the top of the page
 
+Quote Post
=AK=
сообщение Aug 21 2015, 07:18
Сообщение #3


pontificator
******

Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483



Цитата(Alexashka @ Aug 21 2015, 14:31) *
1. Встречные вопросы. SPI реализован аппаратно или программно? Если второе, то о высокой скорости можно забыть. Далее при аппаратной реализации скорость чтения НАПРЯМУЮ определяется настройками тактовой частоты блока SPI. Достаточно просто помножить длительность такта SPI на число бит (24 или сколько там выдает АЦП) и получите время, затрачиваемое на чтение слова.

В порядке общего трепа: программный SPI не так уж плох. Помнится, лет пять назад я его гонял на Cypress EZ FX2, получалось около 800 kbps. Писал на С, на Кайле.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- messenger   ads1255   Aug 20 2015, 05:13
- - Plain   Тема о нехватке квалификации в правильном выборе и...   Aug 20 2015, 08:35
|- - Herz   Цитата(=AK= @ Aug 21 2015, 10:18) В поряд...   Aug 21 2015, 07:38
|- - Alexashka   Цитата(=AK= @ Aug 21 2015, 10:18) получал...   Aug 21 2015, 18:23
- - messenger   SPI программный. Скорость взята максимально возмож...   Aug 22 2015, 02:46
|- - Alexashka   Цитата(messenger @ Aug 22 2015, 05:46) Во...   Aug 22 2015, 09:03
- - Herz   Правильно - с аппаратным SPI, никаких делений и ум...   Aug 22 2015, 08:42
- - messenger   Ошибся. SPI аппаратный. Как я понял приводить к в...   Aug 26 2015, 12:35
|- - TSerg   Цитата(messenger @ Aug 26 2015, 15:35) И ...   Aug 26 2015, 18:40
|- - jcxz   Цитата(messenger @ Aug 26 2015, 18:35) И ...   Aug 27 2015, 05:05
- - panther26   удалено   Aug 27 2015, 17:48
- - messenger   Возник еще вопрос. Я правильно понимаю таблицу 13 ...   Nov 18 2015, 03:47
- - messenger   на осциллографе DRDY идет с периодом 30 мкс   Nov 18 2015, 16:39
- - Alexashka   Насколько я понимаю при скорости преобразования 30...   Nov 19 2015, 06:01
- - messenger   я правильно понимаю, что дождавшись изменение пара...   Nov 19 2015, 11:00
|- - Alexashka   Ну это не совсем задержка в обычном понимании, про...   Nov 19 2015, 11:52
|- - Ruslan1   Вообще-то лучше несколько иначе подходить. На 30k...   Nov 19 2015, 14:31
- - Alexashka   Я так понимаю автору просто нужно оцифровывать оди...   Nov 20 2015, 06:30


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

 


RSS Текстовая версия Сейчас: 8th August 2025 - 22:24
Рейтинг@Mail.ru


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