基于PSOC的低频信号发生器的设计

时间:2022-10-04 03:57:08

基于PSOC的低频信号发生器的设计

本文设计了一种基于PSoC(Programming System on Chip,片上可编程系统)的低频信号发生器。PSoC芯片是一种集MCU(Microprogrammed Control Unit,微控制单元)与CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)功能为一体的SoC(System on Chip,片上系统)芯片,而在集成开发环境Creator中,人们能够以图形化编程的方式来进行PSoC芯片的开发。因此,本文所进行的基于PsoC的低频信号发生器的设计不但能够发挥高度集成的PsoC芯片的优势,而且把图形化编程引入到嵌入式开发中,从而大大地减少了开发难度和提高了开发效率。

【关键词】PSOC 信号发生器 DMA 定时器

信号发生器在航空航天、工业生产、通信、雷达等多个领域都得到了广泛地使用。其能够根据需要输出多种波形的信号,比如正弦波、方波、三角波等。而其实现的方式也有很多种,既可以利用数字电路、模拟电路或者数模混合电路来实现,又可以综合使用ARM、FPGA、CPLD、DSP或者MCU等来实现。而Cypress公司所生产的PsoC芯片是一种集MCU与CPLD功能为一体的SoC芯片。并且一个PsoC芯片与微控制器的组合就能够提供多达一百多种外设功能,从而大大地降低了产品的体积与功耗,并且提升了开发速度与效率。此外,集成开发环境Creator的使用使得开发人员能够以图形化方式来进行PSoC芯片外设功能的设计,这些功能包括:PWM(Pulse Width Modulation,脉冲宽度调制)、SPI(Serial Peripheral Interface,串行外设接口)、定时器、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)、定时器等数字功能以及比较器、放大器、DAC、ADC、滤波器等模拟功能。因此,本文采用PSoC芯片CY8C38866AXI-040来来实现低频信号发生器。

1 系统结构设计

基于PSoC的低频信号发生器的系统结构是由上位机、USB接口、PSoC芯片、LCD显示、滤波整型与幅度调节所组成。上位机与PSoC芯片之间通过USB接口进行通信,而当PSOC芯片收到上位机发来的波形控制数据后,其将根据波形控制数据对其内部器件的参数进行设置从而产生所需频率的预设波形,同时LCD会把控制参数显示出来;PSoC芯片所送出信号经过滤波整形与幅度调节后输出给所需设备。

2 原理图设计

PSoC开发可以分成两个阶段:原理图设计阶段与程序设计阶段。首先对原理图设计进行介绍。

基于PSoC的低频信号发生器的原理图设计的过程为:首先在集成开发环境PSoC Creator中创建一个工程项目,由于本文使用的PSoC芯片为CY8C38866AXI-040,因此工程项目类型选择“PSoC3Design”;工程项目创建完以后,Creator会创建一个叫做TopDesign.cysch的文件,接着就可以进行原理图的设计了,而所设计的原理图就保存在TopDesign.cysch文件中;Creator中的元器件库包含了丰富的元器件,而且Creator还支持开发人员自己创建新的元器件;在进行原理图的设计时,开发人员可以直接从元器件目录中选取所需的元器件,并对这些元器件的连接关系进行定义。元器件的属性配置的方法有两种:一种是在原理图中直接对元器件的属性进行配置,配置的过程为:双击所需配置的元器件,接着在弹出的窗口中,进行相应的属性配置;另一种是在程序中对元器件的属性进行配置。由于原理图中的每个元器件都与一个API(Application Programming Interface, 应用程序编程接口)相对应,因此程序可以通过API来设置元器件的参数。本文所需要能够到的元器件有三个定时器、一个DMA(Direct Memory Access,直接内存存取)、一个PWM、一个DAC、一个USB接口和2MHz与1MHz的时钟信号。由于篇幅有限,这些元器件的属性设置就不进行介绍了。

3 软件设计

在完成了原理图的设计后,使用Creator中的“Build”对所创建的工程项目进行编译,并在在编译完成后,Creator会在工程项目中创建一些文件。这些文件中的“main.c”是系统默认的主程序文件。main.c文件会调用相应的API来实现对元器件的控制。本文的软件设计包括了定时器的ISR-1中断子程序以及main主程序的设计,图1给出了程序流程图。

从图1(a)中可以看出,主程序首先对所用到的元器件进行初始化,接着开启全局中断,然后对DMA进行初始化,而在DMA初始化的过程中,需要对每次请求传输的字节数、传输的源与目的地址进行设置以及一个DMA传输周期的字节数进行设置。最后主程序就会一直循环进行查询是否有中断发生如果没有中断发生,则继续查询,否则的话,则跳到如图1(b)所示的中断子程序进行中断处理。从图1(b)可以看出,一旦有中断发生,其首先从USB接口读取控制数据,接着判断该控制数据是否是新的,如果不是,则终止中断处理,否则的话,其首先会把控制数据送到LCD上进行显示,然后根据控制数据的内容,重新设置DMA的目的地址与源地址,然后对PWM的周期、占空比和死区进行设置,最后把频率控制字送入定时器。

4 结束语

本文所设计的基于PSoC的低频信号发生器所能输出的频率范围:0.01kHz~10kHz。并利用CY8C38866AXI-040来对设计方案进行实现。同时,还利用安捷伦53131A对基于PSoC的低频信号发生器所输出的信号进行测量,测量结果表明,最大频率误差为 2Hz。这是由PSoC的可编程时钟精度有限所造成的。

本文所设计的低频信号发生器只使用PSoC芯片中的极少的一部分资源,并且在集成开发环境Creator的协助下,大大地降低了开发难度,提升了开发效率,节省了开发时间。由于PSOC片内资源丰富,这不仅为以后低频信号发生器的功能升级提供了便利,还为功能扩展提供了方便,从而能够实现一片多用。

参考文献

[1]彭善琼,丁长松.一种新型信号发生器的设计与实现[J].电子工程师,2007, 33(2):38-40.

[2]CHEN C,WANG X,WANG C.Development of Teaching and Experimenting Platform Based on PSoC[J].Research and Exploration in Laboratory,2010,10: 033.

[3]Seguine R,Lee M.Layout Guidelines for

PSoC CapSense[J].Cypress Semicon-ductor Corporation,Application Note AN2292,2005:1-10.

[4]HAN X,GAO X,ZHANG C.General counter design based on PSOC[J].Journal of Heilongjiang Institute of Technology,2011(03):13-20.

作者简介

孙斌(1992-),男,山东省临沂市人。大学本科学历。研究方向为信号与信息处理。

李洋(1992-),男,山西省临汾市人。大学本科学历。研究方向为信号与信息处理。

游菡萏(1992-),女,四川省自贡市人。大学本科学历。研究方向为信号与信息处理。

作者单位

山东科技大学 山东省青岛市 266590

上一篇:发电厂低压厂用干式变压器的短路电流承受能力... 下一篇:基于多谐振荡器的升压电路仿真及实验分析