首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用ADC产生正弦波

利用ADC产生正弦波
EN

Stack Overflow用户
提问于 2014-12-03 12:17:48
回答 1查看 848关注 0票数 0

我的董事会上有个模数转换器。我在信号发生器上产生正弦波。我把这个发生器输出给一个adc引脚。最后,我定期读取这个引脚的值。我试图在我的软件上创建一个正弦波。

代码语言:javascript
复制
x = t,
y = Asin(wt),
A : amptitute value of the generator, 
w : 2πf, f : I set its value on my software.(difference time between two read operation)
t : time

我也不使用adc引脚的价值。这个价值对创造波浪不是很重要吗?

EN

回答 1

Stack Overflow用户

发布于 2014-12-03 22:18:33

我将尝试根据我从你的帖子中了解到的内容,向你提供一些提示。

为了产生数字信号,模数转换器应该对在一定频率下产生的模拟信号进行采样。在您的情况下,您需要两个信息来跟踪您的曲线:

  1. 数据:

要跟踪的数据(样本),它代表信号的幅度,一直保持采样时间(在每个采样时刻)。

  1. 时间:

您需要知道ADC采样信号的时间周期,然后将每个数据与其对应的时间瞬间相关联。从ADC采样信号T= 1/f的频率可以推断出周期。

ADC将每个采样数据存储在寄存器中,并产生一个中断以通知处理器新的数据。您的中断服务例程(如果您正在进行中断)必须能够在数据被下一个示例替换之前提取该数据。作为建议,您可以在应用程序中创建一个缓冲区,在其中您的中断例程可以在其中存储数据。然后,应用程序可以从缓冲区中提取数据,并在系统有显示输出的情况下使用它绘制曲线,或者将其发送到桌面应用程序来完成这项工作。

你不需要坚持在你的帖子中的方程式,它是类似的。相反,您可以将数字化曲线看作f(t) = Data(t)。

当您使用linux时,如果您不想处理中断,您可以继续使用/sysfs接口读取数据。请注意,根据应用程序的要求,打开一个文件来读取每个示例的数据可能会很慢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27271586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档