使用PIC MCU项目的示波器

时间:2016-07-09 21:47:53

标签: java microcontroller dma adc

我对微控制器很新。所以我对他们的潜力一无所知。

我想使用微控制器制作示波器,该微控制器将通过ADC捕获数据并通过USB传输到计算机进行处理和显示。

我想讨论这个项目。我拥有的资源如下:

1)我的dsPIC MCU的ADC能够提供1.1 Msps,其中每个样本的分辨率为10位。它能够同时对多达4个通道进行同步采样。

2)MCU具有USB支持和DMA通道,用于将数据从ADC传输到直接USB。

我的问题是:

1)使用这些规格可以实现最快的采样率是什么?

2)这个项目可行吗?它是否足够快以与标准示波器竞争?

3)如何优化MCU以提供最佳性能?

4)你将如何制作这个项目? (你的方法)

5)我将使用JavaFx使计算机应用程序能够显示该示波器的结果。这是正确的做法吗?

1 个答案:

答案 0 :(得分:1)

我使用dsPIC系列MCU做了很多工作。我会尝试按顺序回答你的问题。

  

1)使用这些规格,我能获得的最快采样率是多少?

您的采样率正如您所说,1.1 Msps(每秒采样数为兆次),假设您只想从一个通道读取。如果您想从多个频道读取,每个频道的最大采样率将会降低。

  

2)这个项目可行吗?它是否足够快以与标准示波器竞争?

鉴于您对微控制器编程和基本电路原理有基本的了解,这绝对是一个可行的项目。您的示波器应该与提供1.1 Msps采样率的任何其他示波器相当,减去一些功能,例如支持10x探头(除非您为该功能构建电路)。该项目的大多数高级功能都将内置到您的Java程序中,而不是微控制器本身。

  

3)如何优化MCU以提供最佳性能?

为了尽可能快地获得MCU的性能,请按照规范支持的速度运行时钟,并尝试使用最少的指令找到在程序中实现相同结果的方法。这可能意味着避免在MCU端进行数据格式化,以便允许客户端程序进行这些计算。

  

4)你将如何制作这个项目? (你的方法)

这些MCU上的ADC操作并不是特别复杂。内置模块使项目非常易于管理。这个项目中程序最困难的部分(在我看来)将通过USB传输和接收数据。我首先要处理项目的这一部分(即使用PIC工作在PIC上,并能够从Java中实时接收和处理该数据)。如果您使用PIC24或dsPIC33系列或类似的16位MCU与Microchip编译器,我建议使用如下的C库:http://www.reesemicro.com/Home/pic24-software-library-collection

  

5)我将使用JavaFx使计算机应用程序能够显示该示波器的结果。这是正确的做法吗?

我从未使用过JavaFx,因此我不确定它的功能,但我确信某些Java用户界面库能够做到这一点。或许更了解JavaFx的人可以回答这部分问题吗?