ATLab 0 24 февраля, 2009 Опубликовано 24 февраля, 2009 · Жалоба Вряд ли такой путь подойдет - ибо срабатывания порога - это апофигей процесса, а интересует еще и препроцессинг - то что бызо нза какое то количество времени до того, как сигнал перешагнул порог.... Поэтому по крайней мере нужно буферизированиеОчередной вопрос из серии "догадайся сам"? Где в исходном посте написано, что нужно обрабатывать предисторию срабатывания по превышению порога? Люблю я таких, ух как люблю... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nuts_ 0 3 июля, 2009 Опубликовано 3 июля, 2009 · Жалоба Есть контроллеры Cygnal два ADC с DMA на 1MSP каждый у оболих DAC есть 2 АППАРАТНЫх ЦИФРОВых компаратора. То есть в соотв. регистры пишеться значение срабатывания по верху и низу сигнала а дальше оцифровка идет парктически аппаратно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
shurila 0 3 июля, 2009 Опубликовано 3 июля, 2009 · Жалоба Не, такое не подходит - ибо: 1) дорого 2) оно PCI, а надо снаружи вешать - ЮСБ посмотрите на такое решение подключения внешних устройств к PC Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 4 июля, 2009 Опубликовано 4 июля, 2009 · Жалоба Может, stm32f103 подойдет? АЦП 12 бит. Есть DMA и USB. У АЦП есть аналоговый вотчдог. Посмотрите, по-моему так самое оно )) Кста, и ценник хороший. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 4 июля, 2009 Опубликовано 4 июля, 2009 · Жалоба Я понимаю что трудозатраты можно только очень грубо оценить, но в процессе изучения информации и мое представление о работе существенно меняется... Теперь передо мной не стоит вопрос схемотехники - ибо устройств будет 1 (максимум 2-3) и нет особых требований к габаритам, то нет смысла городить что то свое - достаточно взять отладочную плату - для AVR32 - наверное EVK1101/EVK1100, если ARM7 - пока не нашел какие именно МК из этого сесмейства обладают АЦП>=800ksps... А ну-ка покажите мне пальцем где в AVR32 или ARM7 ADC на 800 килосэмплов с учетом Acquisition Time при переключении каналов. И еще покажите какой ARM7 разгребет поток 800 килосэмплов в реальном времени. Так что х-мегу отметаем :) Тут похоже AVR32 вместе с ARM7 отметаются. Надо смотреть в сторону младших DSP или внешних ADC + FPGA + USB проц. Или делать 4 одноканальных устройства с общей синхронизацией. Вот к примеру в силабсовских процессорах у ADC есть аппаратное сравнение результата с окном и вход внешнего запуска ADC. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leonmezon 0 5 июля, 2009 Опубликовано 5 июля, 2009 · Жалоба Всю систему можно построить на 4 Atmega (с доп. ОЗУ) и Xmega + преобразователь USART-USB и 1 кварцевый генератор секундных импульсов для синхронизации (вообще при хороших кварцах достаточно будет сделать один запуск всей системы). Работает примерно так: по внешнему такту запускаться 4 АЦП в каждой Atmege и принимаются данные со скоростью 200 кГц, при превышении порога - записываем 2000 значений от срабатывания по уровню в буфер и их обработка (по крайне мере так следует из задачи), далее канал опять начинает принимать данные и в это же время по SPI (на частоте 1-10 МГц - частота выбираться от кварцев)передает данные в Xmega - который управляет приемом данных от 4 каналов АЦП-ATmega - и передает через преобразователь USART-USB на ПК (примерно скорость 1 Мбит). Данное решение возможно если только не надо постоянно передавать данные с АЦП - а только 2000 значений после срабатывания порога (хотя возможны коррективы - если порог очень часто). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 5 июля, 2009 Опубликовано 5 июля, 2009 · Жалоба А какой вид имеют входные сигналы? Это монотонные функции? Какое время нахождения выше порога? На STM32F103 можно включить непрерывное преобразование 4 каналов (CH0->CH1->CH2->CH3->CH0-> и т.д.) с автоматическим укладыванием в память посредством DMA. Если настроить DMA для работы в кольцевом режиме с генерацией прерывания при половинном заполнении, то по прерыванию можно анализировать порог программно (при этом DMA и АЦП будут работать и получать новые данные). Если превышение есть, то у Вас в буфере уже есть предыстория сигналов на N отсчетов назад. Затем готовите пакет и отправляете хоть по USB. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smac 0 5 июля, 2009 Опубликовано 5 июля, 2009 (изменено) · Жалоба ... Работает примерно так: по внешнему такту запускаться 4 АЦП в каждой Atmege и принимаются данные со скоростью 200 кГц... Вообще-то атмел рекомендует для получения 10 бит разрешения не превышать тактовой частоты для АЦП более 200 кГц. на преобразование уходит по-моему циклов 13. Чтобы получить частоту семплирования 200 кСемплов нужно чтобы тактовая была приблизительно 2,6 МГц, думаю что больше 2 бит точности (в самом лучшем случае) при такой тактовой на атмеловском АЦП получить нельзя. З. Ы. Естественно сказанное относится к меговскому АЦП, а не к Хмеговскому, которое судя по всему значительно круче. Изменено 5 июля, 2009 пользователем smac Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leonmezon 0 5 июля, 2009 Опубликовано 5 июля, 2009 · Жалоба Вообще-то атмел рекомендует для получения 10 бит разрешения не превышать тактовой частоты для АЦП более 200 кГц. на преобразование уходит по-моему циклов 13. Чтобы получить частоту семплирования 200 кСемплов нужно чтобы тактовая была приблизительно 2,6 МГц, думаю что больше 2 бит точности (в самом лучшем случае) при такой тактовой на атмеловском АЦП получить нельзя. З. Ы. Естественно сказанное относится к меговскому АЦП, а не к Хмеговскому, которое судя по всему значительно круче. Можно принимать сигнал в цикле - т.е. один и тот же сигнал заводим на 2 линии АЦП - и получаем - пока по одному преобразовываем, со второго канала считываем и так далее .... В этом случае частоты другие! На AVR написал как бы сам делал (при условии что не нужна предыстория перед порогом, да и есть компилятор, среда отладки, программаторы...опыт работы). Если же необходима предыстория (и все равно на чем делать, и нет ограничений по финансам и времени) - то лучше всего: быстродействующие АЦП Analog Device + 1 АРМ старших версий с внешним ОЗУ, CF и установленной Windows CE или Linux Embedded - при этом большая часть вопросов просто отпадает (как писать USB, FAT...., временная синхронизация ... ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smac 0 6 июля, 2009 Опубликовано 6 июля, 2009 · Жалоба Можно принимать сигнал в цикле - т.е. один и тот же сигнал заводим на 2 линии АЦП - и получаем - пока по одному преобразовываем, со второго канала считываем и так далее .... В этом случае частоты другие! ... Я Вам совсем про другое говорил, проблема скорости считывания не стоит в атмеловском АЦП, проблема в том что с него нельзя получить 200 кСемплов в секунду с нормальной (ну хотя-бы 8 бит) точностью. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_3m 9 6 июля, 2009 Опубликовано 6 июля, 2009 · Жалоба Я Вам совсем про другое говорил, проблема скорости считывания не стоит в атмеловском АЦП, проблема в том что с него нельзя получить 200 кСемплов в секунду с нормальной (ну хотя-бы 8 бит) точностью. По моему проблема в том что ТЗ мало кто читает. Автор хотел 200килосэмплов по 4 каналам одновременно, 2000 отсчетов после превышения порога в любом кнале и предысторию того что было до превышения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 15 марта, 2010 Опубликовано 15 марта, 2010 · Жалоба Коллеги, помогите оценить возможность реализации задачи. На один из портов МК заходит параллельная восьмибитная шина данных. На 2 две линии другого порта подается байтовая и кадровая синхронизация. Максимальная частота байтовой синхронизации - 4МГц, короткий кадровый импульс появляется раз в 512 байт, указывая на начало блока. Сможет/успеет ли ATxmega принять один блок и уложить в заданную область ОЗУ? С DMA и системой событий ещё не работал, только начинаю изучать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Duhas 0 16 марта, 2010 Опубликовано 16 марта, 2010 · Жалоба по идее сможет, я как разрожусь на макетку для 128А1 буду пробовать читать камеру.. там байтовая будет до 12-16МГц.. по теме - у Хмеги конвейрный АЦП.. Плюс их бывает и по 2 в камне... и заявленная скорость 2Msps... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mp41 0 16 марта, 2010 Опубликовано 16 марта, 2010 · Жалоба Duhas, Вы обнадёжили. Однако, изучая документацию, узнал, что DMA и система событий тактируются от периферийной тактовой частоты (максимум 32МГц), а 2х- и 4х-периферийную частоту для этих модулей применить нельзя. Я планировал формировать событие от перепада уровня на выводе синхронизации и этим событием запускать транзакцию DMA от I/O (порт, на котором будет 8-бит данных) к внутренней SRAM. Всё это я должен успеть за 8 тактов процессорной тактовой частоты, получается впритык (5 или 6 тактов по моим подсчетам). Как думаете, а что если на время приёма этого блока немного разгонять контроллер при помощи внутреннего PLL? В студии DMA и Event System симулируются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Duhas 0 16 марта, 2010 Опубликовано 16 марта, 2010 · Жалоба ну сильно я бы не обнадеживался на вашем месте) я точно не уверен то все это успеет отработать.. неплохо бы поглядеть на макете.. а его пока нема... на счет разгона - не в курсе.. про ДМА - симулируется, а вот система событий - непонятно, толи я ей не понравился, но когда пробовал - не получилось... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться