基于MCU+FPGA双系统架构下的直接数字频率合成技术设计

来源 :电脑学习 | 被引量 : 0次 | 上传用户:wufeng727
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了DDS技术在MCU FPGA双系统的一种实现方法,重点介绍了MCU的控制系统设计与现场可编程逻辑门阵列FPGA实现直接数字频率合成的原理及其电路结构,并给出了利用ALTERA公司的Flex10K系列EPFIOK10LC84-4设计实现方案。
  关键词:直接数字频率合成(DDS) MCU 现场可编程逻辑门阵列(FPGA)
  中图分类号:TN741 文献标识码:B 文章编号:1002-2422(2008)01-0013-02
  
  DDS技术在相对带宽、频率转换时间、相位连续性、高分辨率以及集成化等一系列性能指标方面已远远超过了传统频率合成技术。当DDS中的累加器的位数N很大时,最低输出频率可达Hz、mHz乃至μHz。如果fc为100MHz,那么当N为40位时,其分辨率可达90uHz。转换时间最快可达10ns的量级,这都是传统频率合成所不能比拟的。
  
  1 DDS的基本原理和参数要求
  
  DDS设计是以AT89C51和FPGA为核心,采用直接数字合成技术,通过一定的手段将正弦波波形的数字量表示的幅值存入存储器RAM(又称波形存储器)中,然后通过一个地址发生器对RAM寻址得到对应的幅值,用RAM的输出值来驱动DAC,然后经滤波即可转换成所需要的模拟正弦波形。因为它是在时域中进行频率合成,从而能够对输出频率进行快速而且精确的控制,并且这种控制全部都是数字控制,因此可以提供非常高的频率精度。DDS实现的基本原理框图如图1。
  
  DDS技术在本质上实现了一个数字分频器的功能,它的频率精度是由N位相位累加器的比特数决定的,即输入的参考频率除以2N就决定了DDS所能够实现的频率精度。输出信号波形的频率及频率分辨率可以表示如下:
  fout=Mfc/2N
  fmin=fc/2N
  式中:fout为输出信号频率;fmin为输出信号分辨率:M为频率控制字;N为相位累加器字长:fc为基准频率源。DDS输出信号的频率主要取决于频率控制字M,相位累加器字长N决定DDS的频率分辨率。当M增大时,fout可以不断的提高,由抽样定理,最高输出频率不得大于f/2,实际工作时输出频率小于f/3较为合适。
  
  2 DDS的总体方案设计
  
  系统采用MCU和FPGA两个系统进行设计,在很多系统设计中,经常会遇到多个控制系统共同协作完成整个系统的设计,解决多系统(包括双系统)共同协作互相通信的关键是要处理好系统之间通信的总线仲裁问题(即BUs_Contro1),只有解决了这个问题,才能保证整个系统的正常运转。设计中由MCU的P3.0作为总线控制,MCU主要进行键盘输入,显示单元及对RAM存储波形数据的控制。上电后,由MCU给予初始化,转而由FPGA来控制波形数据的读取,然后通过D/A控制及幅度控制单元,再经过一个低通滤波器,就可以得到所需的输出波形。
  
  3 MCu控制系统模块的方案设计
  
  系统上电后,MCU系统控制模块首先进行初始化工作,主要完成的功能是:系统初始化的工作,包括输出信号的频率、幅度、占空比以及波形类型的设置,然后進行键盘扫描并进行判断处理。输出500Hz,幅度为5V的正弦波。然后进入键盘扫描,对输入的键值进行操作。根据具体情况设置几种合法的键盘输入,假设设定如下:
  (1)5个数字键加,‘A’键,用来设定频率。如设定500Hz的频率,按键次序是‘00500A’。
  (2)2个数字键加‘B’键,用来设定信号幅度。如设定
  2.4V的峰峰值,按键次序是‘24B’。
  (3)1个数字键加‘C’键,用来设定输出信号类型。0、1、2分别指正弦波、三角波、方波。
  (4)1个数字键加‘D’键,用来设定方波的占空比。如设定20%的占空比,按键次序是‘2D’。
  (5)任何时候输入‘E’键,都表示清除前面的所有输入,回到初始状态。下面是C51程序的部分源程序:
  void main()
  {
  unsigned int freq,now_freq:
  unsigned char amp,zkb,wave_type,now_amp,now_zkb,now_type;
  unsigned char key,key1,k,key_buffer[5];
  bus_ctrl=1;sel_da=0;amp=50,zkb=5,wave_type=0,freq=500;
  now_type=wave_type; now_zkb=zkb;now_amp=amp;nowfreq=freq;
  write_dphase(freq);wrlte_wave amp(amp);init_ram(wave_type,
  zkb);
  wave_out(now_freq);k=0;bus_ctrl=0;
  while(1)
  {
  key=sctmkey():
  }
  }
  
  4 波形存储器数据的产生方案
  
  波形存储器的设计是很重要的部分。为了保证波形的平滑,设计时可将一个周期分为65536个点,点数很多,直接求解很麻烦。正弦波形具有特有的对称性,可以考虑取一个周期的一半(或者是四分之一)即可,充分运用其对称性通过一定的编程算法实现整个周期波形的还原。采用了取半个周期,即要取32768个采样点,如果直接用单片机计算32768个点的正弦幅度值,涉及的多次浮点运算,初始化时间很长,为了提高效率,可采取一种简单的方法。这里用的是8位的DA,所以每个幅度值也是8位的,一共有256个不同的幅度值,ram中存储的是余弦函数从π到2π的幅度值,由下式计算:
  amp=127.5 127.5cos(δ 2δ(n 0.5)/65532)
  n=0,1,…,32768
  将每个幅度值的个数记下。由于余弦函数的对称性,幅度为255的点的个数和幅度为0的点的个数是相同的,因此将幅度0到127的点的个数分别存储到一个step[128]的数组中,这个数组位于程序存储器中。初始化余弦函数的波形的时候就可以直接根据step[128]向ram中写数据。这一设计大大缩短了ram空间波形数据的初始化时间,是系统设计的一大突出特色。
  
  5 FPGA控制模块的设计方案
  
  FPGA控制模块的设计主要包括:分频模块,相位累加器模块,锁存模块,MCU写FPGA内寄存器模块,数码管扫描显示模块等。
  相位累加器模块相当于地址发生器,对于一个连续的正弦波信号,其角频率ω可以用相位斜率△φ/△t表示。当角频率。为定值时,正弦波信号的相位与时间成线性关系,即φ=△t。根据这一基本关系,在一定频率fc的时钟信号作用下,通过一个线性的计数时序发生器按照相位增量M进行累加,所产生的结果作为取样地址对正弦波波形存储器进行扫描,进而周期性的读取波形存储器中的数据。
  
  6 结束语
  
  DDS是现今一种重要的频率合成手段,高速集成电路的发展进一步改善了DDS的性能,它与传统技术相结合组成的各种混合设计方案将频率源的性能提高到了一个新的水平,因此,未来的DDS不仅可应用于需要使用信号源的传统领域,而且也必将开拓出许多新的应用领域。
  实践证明:本系统在频率不高于17kHz时能产生精确的正弦波形,而且十分稳定。由于基准时钟为526.7KHz,且分辨率为19位,因此,该系统能产生的最低频率为1.0045Hz,若要产生更低频率及更精确的波形,可以提高分辨率并相应减小基准时钟,这在FPGA中实现起来相当容易,可以通过改变RAM数据,产生任意波形。用FPGA设计DDS电路较采用专用DDS芯片更为灵活方便。
其他文献
Plot  Buck is a large dog who leads a comfortable life in a California pasture with his owner, a judge. One day he is stolen by the gardener’s assistant and sold to pay off a gambling1 debt. Buck is t
Dog: You got a letter.  Me: OK.  Dog: From the bank, I think,  Me: OK.  Dog: Tasted important.  Dog: Hey. Why are you keeping another dog in the bedroom?  Me: Christ. I have told you so many times...
编者注  亚历山大·贝尔是一位美国发明家和企业家。他获得了世界上第一台可用的电话机的专利权(发明者为意大利人安东尼奥·梅乌奇),创建了贝尔电话公司(AT
There are gains for all our losses,  There are balms1 for all our pain;  But when youth, the dream, departs2  It takes something from our hearts,  And it never comes again.  We are stronger, and are b
古典诗词于我,大抵是中学时,老师在课上反复强调的几个诗人的字、号、写作风格、历史地位等,最好背得与课本上一字不差,还有就是高考前猛背的诗词名句,只为了考试时的两分。考完试后短时间内还有印象,如今十几年过去了,还给哪个老师都已模糊了。  偶尔翻到那么三两句诗词,正应自己当时的心情,与灵魂捆绑在一起的,压抑许久的爱与哀愁随那十几个字撒落一地,再也忘却不了。诗词能动人,或因为她似一池清水,将古人的生活与
■  “My dear lady,” says Holmes. “You’re shivering. Are you cold? Do you want a cup of hot tea?”  “I’m not cold,” the woman replies, “I fear for my life!”  “We are here to help you. Don’t worry about a
摘要:本文针对传统的关系型数据库和新兴的NosQL數据库进行性能测试比对。选取关系型数据库的代表MysQL和NOSQL数据库的代表Redis。通过建立模型和搭建测试环境,同时进行20 000次数据的插入操作和查询操作,然后对比MysQL数据库和Re—dis数据库的总耗时和平均耗时,得出Redis数据库的存储和查询效率高的结论。  关键词:MySQL;Redis;关系数据库;NoSQL
On Olympus(奥林匹斯山), there once lived twelve gods and goddesses who ruled the universe. These gods and goddesses controlled the seasons, the weather, and the growth of crops. They also rewarded people w
【中考英语阅读理解分类介绍及例文参考答案】  记叙文  Passage 1 1—5 BACAD  Passage 2 1—5 ACACD  议论文  Passage 1 1—5 CBCAD  Passage 2 1—5 CABDB  说明文  Passage 1 1—5 CADBA  Passage 2 1—5 ADBCD  应用文  Passage 1 1—5 CDBCB  Passage 2
摘要:本文在原有的多层架构基础之上。重新抽象出七层系统架构,并对各层的特点和技术实现进行了较为细致阐述。  关键词;出口退税管理系统;系统架构:七层架构  中图分类号:TP311.1  文献标识码:A  文章编号:1002-2422(2010)05-0045-03    1 总体架构设计    1.1设计约束分析  在出口退税系统设计时,需要注意下列约束限制:  (1)开发的系统本身定位为现有系统