2016-07-09 22 views
0

Я довольно новичок в микроконтроллерах. Поэтому я мало имею в виду их потенциал.Осциллограф с использованием проекта PIC MCU

Я хочу сделать осциллограф с помощью микроконтроллера, который будет захватывать данные через АЦП и передавать его через USB для обработки и отображения.

Я хочу обсудить этот проект. Ресурсы, которые у меня имеются, следующие:

1) АЦП моего MCU dsPIC способен обеспечивать 1,1 Мбит/с, где каждый образец имеет 10-битное разрешение. Он имеет возможность делать одновременную выборку для 4 каналов одновременно.

2) MCU имеет поддержку USB и каналы DMA для передачи данных с АЦП на прямой USB.

Мои вопросы:

1) Какой самый быстрый частота дискретизации можно с помощью этих получения идеальной характеристики?

2) Возможно ли, что этот проект? Будет ли это достаточно быстро, чтобы конкурировать со стандартным осциллографом?

3) Как я могу оптимизировать для MCU, чтобы обеспечить наилучшую производительность?

4) Как бы вы сделали этот проект? (ваш подход)

5) Я буду использовать JavaFx для того, чтобы приложение компьютера могло показывать результаты этого осциллографа. Правильно ли это?

ответ

1

Я проделал большую работу, используя микроконтроллеры семейства dsPIC. Я попытаюсь ответить на ваши вопросы в порядке.

1) Какова самая быстрая частота дискретизации, которую я могу выполнить с использованием этих спецификаций?

Ваша частота дискретизации точно так же, как вы сказали, 1,1 Msps (Mega-samples-per-second), предполагая, что вы хотите читать только с одного канала. Если вы хотите читать более одного канала, ваша максимальная частота дискретизации на канал будет уменьшаться.

2) Возможно ли выполнение этого проекта? Будет ли это достаточно быстро, чтобы конкурировать со стандартным осциллографом?

Это, безусловно, осуществимый проект, учитывая, что вы имеете базовое понимание программирования микроконтроллеров и принципов базовой схемы. Ваш осциллограф должен быть сопоставим с любым другим осциллографом, предлагающим частоту дискретизации 1,1 Мпс минус некоторые функции, такие как поддержка 10-кратных зондов (если вы не построите схему для этой функции). Большинство расширенных функций этого проекта будут встроены в вашу программу Java, а не сам микроконтроллер.

3) Как я могу оптимизировать MCU, чтобы обеспечить наилучшую производительность?

Чтобы максимально быстро выполнить работу вашего MCU, запустите часы так же быстро, как поддержка спецификаций, и попытайтесь найти способы добиться того же результата в вашей программе с наименьшим количеством инструкций. Это может означать отказ от форматирования данных на стороне MCU в пользу того, чтобы клиентская программа выполняла эти вычисления.

4) Как бы вы сделали этот проект? (ваш подход)

Операции АЦП на этих микроконтроллерах не особенно сложны. Встроенные модули делают проект очень управляемым. Наиболее программно сложная часть этого проекта (на мой взгляд) будет передавать и получать данные через USB. Сначала я бы занялся этой частью проекта (что делает работу USB в ПОС и возможность получать и обрабатывать данные в реальном времени из Java). Если вы используете PIC24 или семейство dsPIC33 или аналогичный 16-битный микроконтроллер с Microchip компилятором Я рекомендую использовать библиотеку C, как этот один: http://www.reesemicro.com/Home/pic24-software-library-collection

5) Я буду использовать JavaFX для создания приложения Компьютер способен показывающие результаты этого осциллографа. Правильно ли это?

Я никогда не использовал JavaFx, поэтому я не уверен в его возможностях, но я уверен, что некоторые библиотеки интерфейса пользователя Java способны на это. Может быть, кто-то, кто лучше разбирается в JavaFx, может ответить на эту часть вопроса?

+0

Carol Благодарим вас за такое сообщение. MCU, который я использую, - dsPIC33EP512MU810. Он поставляется с модулем USB On-the-GO. Но он может работать только до 12 Мбит/с. Учитывая, что мне приходится передавать 1,1 Мпс * (10 бит на образец) = 11 Мбит/с. Будет ли этот модуль USB быть способен передавать эти данные в реальном времени? (сомнительно из-за накладных расходов и т. д.) Я очень люблю этот материал, поэтому я не знаю много о USB-накопителе –

+0

На веб-странице этого продукта говорится, что чип поддерживает USB 2.0 и быстрый поиск в Google показывает, что USB 2.0 способен 480 Мбит/с, поэтому USB должен легко справиться с этой пропускной способностью. У вас всегда будет какая-то задержка (физика;)), но я думаю, что использование USB позволит вам иметь довольно небольшую задержку между ПОС и ПК. –