STC15系列单片机IO管脚能输出上MHZ频率的方波吗?
这久都在研究超超波,所谓超声波,频率就会高于20K,如果用于清洗,频率一般为几十KHZ,但如果是用于雾化,这个频率高达上M,有些领域甚至会达到几M.
驱动换能片的信号,有自激和他激两种大的形式。自激式的是应用LC,RC电路原理产生相应的震荡,然后经过放大来驱动换能片。他激式则通数字电路输出方波,经过放大后驱动换能片。两种方式的区别很明显,一个是电路一旦成形,电路的工作频率是不会变的,而另一种则是会可以通编程的手段来改变工作频率。实际上,换能片的谐振频率会随着使用时间,周围的环境等情况的变化而变化,在高要求的场合,需要实时跟踪换能片的谐振频率,那么首先的只能是数字电路实现的他激式电路。
那么,现在回到我们今天要分享的正题上来。这个高达上M的他激信号,如果用普通的51单片机,能实现吗?
在发现这样的疑问之前,笔者试图通过DSS专用IC来实现。但仔细研究发现,成本太高了,DSS芯片AD9850,在市面上很容易买到,且价格也是同类中便宜的了,其单片售价高达20接近30元RMB,就为仅仅得到一个频率及占空比可调的方波信号,这个成本实在太高。于是转向用单片机来实现。
平时用STC的片子比较多,就用STC 1T单片机STC15F60S2来测试。以下内容来自STC15手册。
1.PWM信号输出频率:其中PCA时间钟源最高为27MHz
很明显,通过PWM输出的方式是无法满足要求的。
2.通过IO管脚的变化来实现
按照上面的说法,IO应该能输出上MHZ的方波。为了使频率可控,我们采用了定时中断的方法来实验。当输出信号频率为1MHZ,占空比为50%时,一个周期为1us,那么定时器中断延时值为0.5us,即500ns。测试下来的结果是800多khz,而且再把值往下调也不能提高输出频率,故此我们得出结论:51单片机不能得到频率及占空比可调的方波---当频率要求为800KHZ以上时。
接下来,笔者将在STM32F10X平台上测试该性能,按手册说法,PWM方式就能输出高达72MHz的频率,我们拭目以待。
凯特网版权声明:以上内容允许转载,但请注明出处,谢谢!