用单片机做信号发生器,输出频率范围达到MHz,怎么解决?

芯片是DAC0832和AT89C51
网上看的都Hz,或者KHz的
要达到MHz,有什么解决方法?

如果是用12T的单片机,用12M的晶振,那单片机的指令周期就是1uS,输出的最高频率需要两个周期(2uS),即0.5MHz。
如果采用两倍晶振(24M),最高频率可以达到1Mhz。但DAC0832的电流稳定时间是1uS。因此要达到MHz。用0832和51单片机不可能实现。
建议采更高速的单片机(1T)或CPLD来驱动,建议选用高速任意信号发生卡,可以达到4G。追问

有相关的文章么?麻烦推荐下?

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-15
用12T的单片机,用12M的晶振,那单片机的指令周期就是1uS,输出的最高频率需要两个周期(2uS),即0.5MHz。
如果采用两倍晶振(24M),最高频率可以达到1Mhz。但DAC0832的电流稳定时间是1uS。因此要达到MHz。用0832和51单片机不可能实现。
建议采更高速的单片机(1T)或CPLD来驱动,建议选用高速任意信号发生卡,可以达到4G
第2个回答  2012-07-01
单片机并不适用于MHz级别的信号发生装置,对于复杂模拟波形信号的DDS,由于要涉及到复杂的浮点运算,一般还是要用到FPGA或DSP,网上以DDS做关键词可以搜索到很多资料。当然,如果是仅仅要输出频率或占空比可变的方波,可以采用带片上高速定时器的芯片,德仪(TI)的群星系列ARM芯片就不错。
相似回答