您现在的位置: 主页 > 电子技术 > EDA > 基于PSoC的V/F转换器实现 -
本文所属标签:
为本文创立个标签吧:

基于PSoC的V/F转换器实现 -

来源: 网络用户发布,如有版权联系网管删除 2018-08-09 

[导读]摘要:介绍一种可编程系统芯片PSoC(Programmable System on-Chip)的主要功能,逻辑结构及其系统实现。分析了V/F转换器的基本原理,提出了在传统V/F转换器的基础上,通过使用PSoC上的数模混合信号阵列芯片实现压频转换

摘要:介绍一种可编程系统芯片PSoC(Programmable System on-Chip)的主要功能,逻辑结构及其系统实现。分析了V/F转换器的基本原理,提出了在传统V/F转换器的基础上,通过使用PSoC上的数模混合信号阵列芯片实现压频转换的功能。相比传统技术,新设计方式易于多功能集成,简化了外围电路,具有成本低廉,精度高,功耗低,可靠性好的优点。
关键字:PSoC  V/F转换器  数模混合信号阵列芯片

本文引用地址: http://www.21ic.com/app/eda/200903/33554.htm

1        引言

由美国赛普拉斯(CYPRESS)公司推出的可编程片上系统(PSoC)混合信号阵列是一款完整的系统级解决方案。该芯片包括可配置的数字和模拟外设,8位微控制器和三种嵌入式存储器。与传统单片机的根本区别在于PSoC内部集成的数字和模拟模块是可配置的,可以根据不同设计要求调用不同的数字和模拟模块,完成芯片内部的功能设计,实现使用一块芯片就可以配置成具有多种不同外围元器件的微控制器,真正实现了微控制器的通用可配置。PSoC最大限度的将设计的灵活性与易用性相结合,大大提高了开发效率,降低了系统开发的复杂性和费用,同时增强了系统的可靠性和抗干扰能力。

1.1 PSoC内部结构

PSoC微控制器集成了一个快速8比特的CPU,8~16KB的Flash程序存储器,SRAM数据存储器,以及数字和模拟模块。

PSoC有8个数字模块(4通讯能力)和12个模拟模块(4连续时间型和8开关电容式)。数字模块可被配置为计时器,控制器或串行通讯端口。模拟模块可以通过连接需要的寄存器,设置合适的运算放大器电路,编程实现放大器,滤波器,比较器,模数转换器等功能。入图一所示。

1.2 PSoC软件工具

PSoC Desinger是基于Windows的软件开发工具。包括器件编辑器,应用程序编辑器,调试器。器件编辑器:选择,放置和配置用户模块,资源和引脚;应用程序编辑器:包括C编译程序,汇编程序,库管理程序;调试器:支持在线仿真,设置断点并进行跟踪。

      


                                                       (图一)

2              工作原理

    V/F转换是将被测物理量经传感器转换成与被测信号成比例的连续变化的电压(或电流)量,再转换为电压〔或电流)的脉冲频率(f)或周期(T)。根据电荷平衡式可知,输出频率 ,说明输人电压 与f存在线性函数关系。在PSoC中,使用连续时间模块(CT)和一个开关电容模块(SC)就可以实现V/F转化。

V/F 转换器的原理图如图二所示。

          
(图二)

图中包括一个积分器和一个施密特触发器。积分器可由带模拟模块的SC模块建立,施密特触发器可由带内部电阻的CT模块建立。积分器的输出电压由前一个采样的输出电压和施密特触发器的状态决定。在SC模块中将Sign位置为1,可使积分器的增益为负。施密特触发器的输出状态随着积分器的输出极性的变化而变化。当施密特触发器的输出为负时,每个采样时钟会使积分器的输出   ,A和电容(F)的比值决定(公式1)。

 (2)

3              软件实现

3.1 模块设置

采用PSoC Desinger作为PSoC的集成开发环境(IDE)。转换器被放置在PSoC Desinger的Column-O 中,可编程比较器用来生成施密特触发器,反馈电阻与放大器的同相端连接,反相端直接和积分器的输出相连。因为积分器使用的是自动归零的模式,在每个时钟里SC的输出在需要的输出值和AGND间变化。由于施密特触发器的迟滞现象,因此就使积分器对转换器没有影响。

积分器放置在ASC10中,可配置的SC模块用来生成积分器,Comparator Bus作为输入源,FCap被置为32, ACap被置为1,这样就可以在每个给定输入电压里得到最大可能的积分过程。为了处理来自PSoC的Vss接地输入信号,PSoC Desinger中的ARefMux被置为REFLO,RefMux被置为Vdd/2 Vdd/2。如果要使用以AGND为参考的输入信号,就得把ARefMux参数置为AGND,同时设置好输入和输出管脚。

3.2 程序结构

void main()

{

CMPPR_COMP_CRO|=BIT (2);                           //连接放大器RTopMux端

CMPPR_COMP_CR1=(CMPPR_COMP_CR1& OxCO)|Ox2F;  //设置NMux和Pmux的连接

CMPPR_COMP_CR2&=BIT(6);                           //将输出锁存

CMPPR_start (CMPPR_HIGHPOWER);

AMD_CR0|=0x04;

INTEGR_Start(INTEGR_HIGHPOWER);

BYPASS_FUNC_REG=BYPASS_FUNC_REG&OxFC|0x02;

BYPASS_control_REG|=0x03;

BYPASS_Start();

While(1);                                              //一直循环下去

}

3.3 测试结果
 

输入电压(V)

理论输出频率 (KHZ)

实际输出频率  (KHZ)

误差率

0.5

1.0

0.980

-2.0%

1.0

2.0

2.030

1.5%

1.5

3.0

3.064

2.13%

2.0

4.0

4.113

2.82%

2.5

5.0

4.912

-1.76%

3.0

6.0

5.886

-1.9%

3.5

7.0

7.225

3.21%

4.0

8.0

7.748

-3.15%

4.5

9.0

8.837

-1.81%

5.0

10.0

10.306

3.06%

(图四)

 从图中可看出,用PSoC实现的V/F转换器线性度比较良好,误差小,具有广泛的应用范围。

4              结束语

    本文介绍了应用PSoC设计实现V/F转换器。从中可以看到PSoC设计灵活,开发简单,能大大提高开发效率,降低系统开发的复杂性和费用,缩短产品开发周期,具有广阔的应用前景。

5              本文作者创新点

    应用PSoC高度集成的硬件模块和完善的软件开发平台,根据需要实时动态地配置输入电压和输出频率的比值,具有很大的灵活性。



              查看评论 回复



嵌入式交流网主页 > 电子技术 > EDA > 基于PSoC的V/F转换器实现 -
 

"基于PSoC的V/F转换器实现 -"的相关文章

网站地图

围观()