《电子技术应用》

基于PSoC的同频反相正弦波发生器的研究

2017年微型机与应用第6期 作者:年俊杰,苏智剑,吴嘉宜,李向飞
2017/4/8 22:33:00

  年俊杰,苏智剑,吴嘉宜,李向飞

  (郑州大学 机械工程学院,河南 郑州 450001)

       摘要:Cypress半导体公司生产的片上可编程系统芯片(PSoC)可视为8位微控制器,它包含可实现多重配置的模拟器件、数字器件和模数混合器件。研究了基于PSoC的差动式电感传感器的微控制器设计方案,实现微控制器与差动式电感传感器的连接、传感器输出信号的整流以及输出结果的AD转换等。与需要多个芯片以及外部硬件电路协调工作的传统设计方案相比,该设计方案简化了交流信号的生产与测量工作,在保持高系统性能的同时,缩减了板极空间,降低了系统功耗和成本。

  关键词:差动式电感传感器;片上可编程系统(PSoC)驱动器;微控制器

  中图分类号:TP202+.2文献标识码:ADOI: 10.19358/j.issn.16747720.2017.06.002

  引用格式:年俊杰,苏智剑,吴嘉宜,等. 基于PSoC的同频反相正弦波发生器的研究[J].微型机与应用,2017,36(6):3-6.

0引言

  在实际应用中,很多硬件驱动器上都需要同频、相位相差180°的双路正弦信号。Cypress半导体公司生产的片上可编程系统芯片(PSoC)可视为8位微控制器,它几乎不需要外部电路,一片PSoC芯片就可以实现一个电子系统,具有丰富的内部资源,比如可实现多重配置的模拟器件、数字器件和模数混合器件[1],如图1所示。

001.jpg

1发生器原理

  基于PSoC产生两路同频反相的正弦信号的过程是:先生成方波,然后利用用户可配置的开关电容器模块实现带通滤波或低通滤波,进而获得正弦信号[2]。本文将介绍两种方波发生方式,两种方波生成正弦波的方式如图2所示。

002.jpg

2方波信号

  PSoC芯片中包含有数字模块计数器、定时器和脉冲调制用户模块。这三种模块通过不同的设置,可以实现不同的功能。文中就是利用这三种模块来实现两种产生方波的方式。

  2.1定时器(Timer8)和脉冲调制(PWM8)模块产生方波

  定时器用户模块提供了可编程的减值计数器、时钟和启用信号,可以在任何系统时基或外部来源之间进行选择。一旦启动,定时器就能够连续运行并能在达到最终计数时,从周期寄存器内重新加载定时器的内部数值。

  PWM用户模块提供了可编程周期和脉冲宽度的脉冲宽度调制器,时钟和启用信号可以从若干来源中选择,每个脉冲循环的周期值自动重新加载。

  方波频率的计算公式为:

  L1EBO~U`%TP6%2$W1L(%QF4.png

  方波占空比计算公式为:

  q=(PulseWidth+1)/(Period+1)(2)

  2.2计数器(Counter16)模块产生方波

  计数器用户模块提供周期和脉冲宽度可编程的减值计数器。时钟和启用信号可以在任何系统时基或外部来源之间进行选择,终端计数周期自动重新载入。

  方波的频率计算公式为:

  %V2V`TK%){1UF$@7@_FAPSK.png

  方波占空比计算公式为:

  q=(CompareValue+1)/(Period+1)(4)

3正弦波发生器

  3.1低通滤波器(LPF2)产生正弦波

  LPF2用户模块是一种通用型的二阶状态变量滤波器,也称双二次低通滤波器。它可以通过设置参数实现任何一种经典的全极点滤波器。转折频率和阻尼比均为时钟频率以及电容器数值比率的函数[3]。转折频率可以通过控制采样频率时钟来精确地设置或调整。这种产生正弦波的方式其PSoC数字模块内部连接如图3所示。

003.jpg

  低通滤波器的原理图如图4所示。

004.jpg

  该滤波器的传递函数表达式为:

  G7UZI~5FZ4@38)0[@6EX11P.png

  由此可以得到增益G、转换频率wn、wo和阻尼率d的设计公式:

  {0H6YN]KU)ZQR4Q84GRNO2B.png

  对于第一阶近似来说,设计公式可以简化为更清晰的电容比率关系:

  T[{V5%TP}@~)G0Q~7%%56JF.png

  此设计流程目标是为了得到尽可能高的时钟频率fclk,以达到最佳的保真度和最低的混叠现象。将CA和CB设置为32,将C2设置为最小的整数值1,C4的初始值设置为最大值31,根据C3≥d2C2CACBC4, 算出最小数值C3,根据下式

  C4=dCACBC2/C3(12)

  修改C4并取最接近的整数。根据公式(11)来计算fclk,由

  T27NS7%`4JQF7QRQYYOUE~U.png

  求VC1,并取最接近的整数。

  根据公式(7)和公式(8)来调节数值C2、C3和C4以达成要求的数值d和ω0,通常,通过减少C4来满足d的要求。重新计算系统时钟频率以采用更新的电容器数值来满足ω0的要求。

  3.2带通滤波器(BPF2)产生正弦波

  BPF2用户模块是一种通用型的二阶状态变量带通滤波器,也称双二次带通滤波器,中心频率和Q值(中心频率与带宽的比率)均为时钟频率以及所选定的电容数值比率函数。中心频率可以通过控制采样频率时钟来精确地设置或调整。

  这种产生正弦波的方式其PSoC数字模块内部连接如图5所示。

005.jpg

  带通滤波器原理图如图6。

006.jpg

  带通滤波器的传递函数表达式如下。

  主要参数表达式:

  %4T%3M6}_S91X(]XQ~LYHAS.png

  针对中心频率和中带宽增益的滤波器要求,如果已知高-3 dB和低-3 dB点的fu和fl,可以计算中心频率:

  fC=fufl(18)

  将CA和CB设置为32,设置C2、C3的初始值等于极点对的Q值。根据以上公式计算:

  TUTR[Q8FHH$QILI8{G%()HB.png

  C4取最接近的整数,如果C4为负数或虚数,则需要调整C3的数值,重新排列公式(17)可计算出C4,必要时需要迭代。

  重新排列公式(15),可计算采样频率:

  OSR=fsfC(20)

  OSR应尽量大,以达到最佳的保真度和最低的混叠现象,如果OSR小于5.0,则调节C2并重新计算。

  根据下式:

  S7%61LJ2QJ_HSDKBAY3B8LR.png

  求VC1,取最接近的整数,再重新计算采样频率和中心频率,最后计算Q和增益G值。

  3.3频率及幅值设置

  在带通滤波器设计中,各个参数均可以求出。根据所需频率,调整方波发生器各模块的参数即可。由于每个参数只能取整,重新计算输出频率后,再调整带通滤波器的参数,可以达到最佳效果。

  方波经过滤波器后会有一定的衰减,可以根据式(16)所示的增益G的计算公式调整参数来实现幅值调节,最直接的方式是调整C1,并不影响滤波器的性质,但C1只能取整,而调整增益G公式的其他参数,则需要重新设计带通滤波器,十分麻烦,因此增加了可编译增益放大器PGA,通过调整C1和PGA的参数即可得到想要的增益。

4结果及分析

  由于方波产生、方波转为正弦波各有两种设计方式,故有四种方式产生正弦信号,这里称2.1节中产生的方波经低通滤波后的正弦波发生的设计为方案一,称用2.2节产生的方波经低通滤波后的正弦波发生的设计为方案二,称2.1节的方波经带通滤波后的正弦波发生的设计为方案三,称2.2节的方波经带通滤波后的正弦波发生的设计为方案四,利用台达发生器产生双路反向方波为方案五。为了便于分析,通过调整全局变量、各模块参数使2.1节和2.2节中产生的两路方波频率为8 kHz、峰峰值为5 V,根据方波信号,配置好低通滤波器及带通滤波器的参数,产生频率为8 kHz、峰峰值为2.8 V的双路正弦信号。

  由四个方案的波形并不能观测出方波发生方式的不同对正弦信号有何影响,但可知低通滤波和带通滤波由于芯片内电容不同,衰减程度不同,现在主要分析这四种方案波形的稳定性及同频性。

007.jpg

  本文采集每种方案的2 500个点进行数据拟合分析,可得表1,将每种方案的两路正弦信号相加,进行数据采集,每组数据同样采集2 500个点,如表2所示。为了验证发生器可以应用在实际工作中,在同样的条件下文中采集了台达DG1022发生器产生的双路正弦信号的2 500个点进行数据对比分析。由表1、表2数据分析可得,四种方案波形的R Value值都很接近1,说明正弦波的波形很好,根据平均残差平方的大小,方案一、方案二与台达发生器信号的残差平方大小一致,最为接近正弦波,也可以得出经过低通滤波器得到的波形更接近正弦波的结论。产生信号的波动均在4.5%左右,说明设计的四种同频反相正弦发生器的稳定性及同频性均很好。5结论

  所设计的同频反相正弦波发生器完全使用PSoC内部资源,大幅度降低了系统体积和成本,开发时间短,修改性和重构性好,并且根据测量数据结果分析,文中所研究的四种发生器同频性及稳定性均很好,可以用于实际工作中,并且在设计确定频率之后,通过修改参数,可以得到任何想要的幅值。

  参考文献

  [1] 叶朝晖,华成英.可编程偏上系统(PSoC)原理及实训[M].北京:清华大学出版社,2008.

  [2] PETERSON S.PSoC micro controller and LVDT measure position[J].END China,2006(10):105108.

  [3] 郭帅,何永义.可编程片上系统[J].机电一体化, 2002,8(6):4851.


继续阅读>>