欢迎来到天天文库
浏览记录
ID:41740641
大小:148.49 KB
页数:8页
时间:2019-08-31
《PSoC单芯片任意波形发生器的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PSoC单芯片任意波形发生器的设计与实现作者:沈阳理工大学李军杰李斌杨永强來源:电子设计应用2009年第5期引言波形发生器常被称作信号发生器,在教学实验或实际丄作中作为信号源为电路提供所需的激励信号,因而是一种必不可少的工具。现代新型信号发生器的研制都采用直接数字频率合成(DDS)技术进行,这种技术是第三代频率合成技术的标志,主要特点是计算机参与频率合成,既可以用软件來实现,也可以用硬件來实现,或者二者结合。本设计研制的仟意波形发生器基于美国赛普拉斯公司生产的混合信号可编程芯片PSoC平台。该芯片内不仅集成了M8C微控制器,还集
2、成了各种数字模块和模拟模块,各个模块可以通过系统内部总线相互通信,所以只用一颗芯片就能够完成整个系统的研制。DDS原理简介DDS是从相位概念出发直接合成所需波形的一种频率合成技术。一个直接数字频率合成器由相位累加器、加法器、波形存储ROM、D/A转换器和低通滤波器(LPF)构成。DDS的原理框图如图1所示。其中K为频率控制字,P为相位控制字,W为波形控制字,fc为参考时钟频率,N为相位累加器的字长,D为ROM数据位及D/A转换器的字长。相位累加器在时钟fc的控制下以步KK作累加,输出的N位二进制码与相位控制字P、波形控制字W相加
3、后作为波形ROM的地址,对波形ROM进行寻址,波形ROM输出D位幅度码S(n)经D/A转换器变成阶梯波形S(t),再经LPF平滑后就可以得到合成的信号波形。合成的信号波形的形状取决于波形ROM中存放的幅度码,因此用DDS可以产生任意波形。DDS系统中除了D/A转换和低通滤波电路外都是数字电路,以往的设计都基于纯数字芯片设计,很难实现单芯片的解决方案,而PSoC的出现刚好满足了这种单芯片、全集成的要求。时立曲S(n)S(t)■亠~~累加器亠加法器加法器fROMfD/A丁LPF—►坂率控制~相位控制字F谀宠揑制宇*图1DDS原理框图
4、系统总体结构及主要功能模块根据以上介绍的DDS原理,结合具体的设计给出系统的总体结构如图2所示。在PSoCDesigner中设计PSoC各个模块的硬件结构,这些模块主要有UART模块、EEPROM模块、DAC8模块、PGA(可编程增益放大器)模块以及LPF2(二阶低通滤波器)模块。卩soc内部模块圉2埜纺愿毬结构圉全局系统模块的设计全局系统模块主要是PSoC内核的设计,PSoC内核包WiCPU内核、SRAM、SROM、Flash存储器、中断控制器、睡眠与看门狗以及一组时钟源等。全局系统模块的设计可以通过在PSoCDesigner
5、中的全局资源窗口中进行选择即可完成,本系统全局资源的配置主要有儿个选项,如表1所示。表1全局资源的配置全局资源参数值PowerSetting[Vcc/SysClkfreq]5.0V/24MHZCPUClockSysClk/1VC1=SysClk/N6VC2=VC1/N4VC3SourceSysClk/1VC3Divider156AnalogPowerSCOn/RefLowRefMux(Vdd/2)+/-BandGapWatchdogEnableDisableUART模块的设计设计UART的H的是让系统和上位机进行通信,主要作用是
6、接收上位机传送的各种波形信号数据,然后存储到模拟的EEPROM中,这样我们所船要的任意波形的数据都可以由上位机产生,可以随时进行更改。在PSoC中,UART模块耍占用2个基本数字模块,另外还需要1个计数器模块来产生UART通信所需要的波特率。本系统选取一个8位的计数器来产生波特率,波特率计数器及UART模块的配置主要有儿项内容,如表2及表3所示。表2波特率计数器模埃的设養用户樓块參数选项参数值ClockVC3ClockSyncSynctoSysCIkEnableHighTerminalCountOutRow_0_Output_2
7、Period155CompareTypeLessThanOrEqualInterrputTypeTerminalCountInvertEnatleNormal表3UART模咲的设运用户模块参数选项参数值ClockRow0Output2RXInputRow0lnput0TXOutputRow0Output1TXInterruptMedeTXCompleteClockSyncSynctoSysCIkRXCmdBufferEnableEEPROM模块的设计EEPROM是一种在PSoC的Flash存储器中,运用软件机制來模拟唤件E2功能
8、的虚拟EEPROM,它不占用任何的PSoC系统资源,并且可以同时使用多个这样的虚拟EEPROM模块。只要Flash的大小允许,可以实现较大容量的EEPROM。在PSoC器件中,Flash空间被分成多个64Byte的字节块。PSoC的这种结构使在读取Flash数据
此文档下载收益归作者所有