PSOC原理及操作教程第一章概述1.1什么是SOC?把微处理器、存储器、高密度逻辑电路、模拟和混合电路,以及其他电路集成到一个芯片上,构成一个具有信号采集、转换、存储和I/O处理功能的系统,称为片上系统(SoC-SystemonChip)。SoC采用超深亚微米加工工艺、IP(intellectualProperty)内核复用和软硬件协同设计技术,是超大规模集成电路的发展趋势。SOC又称为系统级芯片,它的设计称为集成系统的设计。集成系统和集成电路的关系相当于集成电路和分立元件的关系。在设计过程中,设计者面对的不再是电路芯片,而是能实现设计功能的IP核库。设计者不必要在众多的模块电路中搜索所需要的电路芯片,只需要根据设计功能和固件特性选择相应的IP核。这些IP核将被集成系统复用。这种设计方法从传统的集成电路设计转向集成系统设计,从整个系统的角度出发,把处理机制、模型算法、芯片结构、各层次电路直至器件的设计紧密地结合在一起,在单个芯片上完成整个系统的功能,设计的重心也从逻辑综合、布局布线转向系统的设计、软硬件的设计以及仿真,它的设计必须是从系统行为级开始的自上向下的设计方法。采用集成系统的设计方法完成同样功能所需的晶体管的数目可以降低很多。集成电路设计方法向集成系统设计方法的转变,不仅是一种概念上的突破,同时也是信息技术发展的必然结果。从应用的角度划分,SoC包括专用型、可编程型(PSoC-ProgrammableSystemonChip)和OEM(OriginalEquipmentManufacturer原始设备生产商)型。可编程型基于IP内核,通过编程来选择构成产品,是SoC主要形式和重要应用方向,也是下面介绍的重点。1.2PSOC与单片机相比的特点PsoC与传统微控制器相比具有如下特点:1、PSoc基于IP内核,通过编程来选择构成产品,具有无与伦比的灵活性,是SoC主要形式和重要应用方向。例如:某一种型号的单片机具有一个16位定时器和一个8位的定时器,那么在用户使用的过程中,只能用这两个定时器;PSoc则不同,以Cypress公司的CY8C29466为例,它里面提供了四种分别是8位、16位、24位和32的定时器,用户在使用的过程中可以根据需要在一定范围内灵活的选择自己需要的定时器,可以使用多个同一种定时器,也可以使用多种定时器,具有很大的灵活性。2、数字模块、模拟模块和MCU集成在一起。如图1.1所示PSoc不仅包含了一般的单片机具有的常用的数字模块,它还包含了多种放大器、电压比较器、模数转换、数模转换、滤波器和用来测量自身微控制器温度的FlashTemp模块。高度的集成化使得用户的设计快速高效且节省元器件。3、强大但简单易用的工具用户模块。用户模块是PSoC中预先定义和配置好的数字和模拟模块,并已对寄存器参数初始化。用户在使用的过程中只需要选择用户模块并对一些必要进行简单的配置即可。4、强大而高效的开发工具。Cypress公司提供的两种开发软件PSocDesigner和PSocexpress可以使用户的开发周期大大缩短。实践证明,一个以前从来都没学习过单片机的人学习PSoc要比学习其他单片机用的时间短。1.3PSOC发展过程PSoc的发展与单片机技术的发展密不可分,实际上就是单片机技术在半导体工业不断发展,超大规模集成电路工艺水平的不断提高,深亚微米工艺已经走向成熟,以及EDA软件工具不断升级的今天发展的必然产物,它能极大地满足人们对电子系统的诸如缩小体积、减轻重量、降低功耗、提高可靠性、提高性能、增强保密性、降低系统成本等等多方面的要求。PSoc始于20世纪90年代中期,它的发展主要经历了以下几个阶段:1.1994年Motorola公司发布了FlexCore系统,这个系统是用来制作基于68000和PowerPC的定制微CPU。2.1995年,LSILogic公司采用SOC为SONY公司进行设计。以上两者是基于IP核完成SOC设计的最早报道。3.1999年Atmel公司开发出首个基于RISC的现场可编程系统级集成电路FPSLIC-AT40KFPGA。4.之前推出的SOC均是数字逻辑系统。2000年Cypress公司首次推出了以CY8C25×××和CY8C26×××系列为代表混合信号SOC。混合信号SOC就是该片上系统既有数字逻辑系统,还有模拟功能,甚至还应该包括数模混合信号模块块、RF电路模块等众多功能模块。5.后来Cypress公司又相继推出了CY8C29×××/27×××/24×××/22×××/21×××等包含少量混合信号处理电路的PSoc.21世纪集成电路将进入SoC时代。SOC能够将越来越复杂的功能集成到芯片上,这使得集成电路发展成为集成系统,电子整机的功能将可以集成到一个芯片中。SOC将引领新一代嵌入式CPU的技术发展,将不断满足日益增长的功能密度、灵活的网络连接、轻便的移动应用、多媒体的信息处理等要求。第二章PSoC的结构与特点作为一种新型的、适合时代要求的智能器件,PSoc具有与普通单片机不同的结构和特点,本章将从整体上予以介绍。2.1PSOC的总体结构PSoc的整体结构如图2.1所示,包括PSoc内核(PSocCore)、数字系统(DigitalSystem)、模拟系统(AnalogSystem)、系统资源(SystemResource)四部分组成。这四个主要部分通过系统总线通信网络联系在一起。图2.1PSoc的整体结构2.1.1PSoC内核PSoC内核是一个功能强大的处理器,支持丰富的指令设置。它包含CPU内核、用于数据存储的静态存储器SRAM、用于控制程序在一个新地址中短暂执行的中断控制器、睡眠和看门狗定时器和一组包括锁相环、内部主振荡器、内部低速振荡器和外部晶振的时钟源。这些时钟和系统资源中的可编程时钟分频因子一起使得把几乎所有的定时需求集成到PSoc设备中成为了可能。CPU内核,也称为M8C,是一个工作频率可以达到24MHz的强大的处理器。M8C是一个4MIPS的8位哈佛结构的微处理器。在CPU内核的内部静态包含有RAM(SRAM)和FLASH存储器。最小的PSoc设备之间有差别很小的模拟结构。PSoc的通用输入输出(GPI/O)把器件的CPU、数字和模拟资源与外部引脚进行了连接。每一个引脚有八种不同的驱动模式,不同的驱动模式为外部接口提供了很大的灵活性。每一个引脚都可以因高电平、低电平或者电平的变化而产生一个系统中断。2.1.2数字系统PSoc的数字系统由数字PSoc模块、行内数字模块互连(RDI)、行间数字阵列互连(ADI)、全局数字系统互连(GDI)组成。数字模块最多有四行16个。数字模块的个数因设备的不同而不同,具体的各种设备所含的数字模块的数目参见表2-1。表2-1不同PSoc的模块数目表数字模块可以通过一系列的全局总线连接到任何通用的I/O口,全局总线可以把任何信号发送到任何引脚上。全局总线还允许信号多路技术和进行逻辑操作。这一配置使得你的设计从一个外围设备固定的控制器中解脱出来了。2.1.3模拟系统PSoc的模拟系统包括全局模拟互连(GAI),基本模拟PSoc模块阵列、模拟信号基准电压发生器、模拟信号输入多路选择器等几部分组成。模拟系统模块最多包括四个模拟列,12个模拟模块,不同的设备具有的模拟模块的数目不同,参见表2-1。每一个可配置的模块都是由一个拓扑电路组成,该拓扑电路允许用户创造复杂的模拟信号流。每一个模拟列包括一个B类连续时间模块(ACB)、一个C类开关电容模块(ASC)、一个D类开关电容模块(ASD)。2.1.4系统资源系统资源提供了额外的可编程片上系统功能,这些功能取决于你的PSoc设备的特征。参见表2-2。表2-2CY8C系列器件提供的系统资源包括:数字时钟(SYSCLK×2、SYSCLK、CPUCLK、VC1、VC2、VC3、SLEEP等时钟);乘法/加法器(MACs);两种类型(Type1、Type2)的采样抽取器;主从及多主模式的I2C接口(通信速率:400kbps);用户可设定电压阀值的电源电压检测模块及上电复位模块;片上开关模式升压泵(SwitchModePump);片上精密参考电压;USB功能模块;I/O模拟多路选择器。2.2与传统单片机系统设计方案的比较PSoc作为一种新型器件,能在更大的程度上满足设计需求,采用PSoc的设计方案与采用传统单片机的系统设计方案相比有很多优点。1.从开发系统来看,Cypress公司提供的两种开发软件PSocDesigner和PSocExpress可以根据硬件电路的构造自动生成高质量的可供调用的API函数,编程者无须像以前那样在底层驱动程序上劳神费力而可将精力更多地放在应用层程序的编制上,提高了开发效率。例如:PSoc中提供了LCD和八段LED的驱动程序,如图2.2所示。用户在使用时,只需要选择该模块后进行简单的参数配置,写2到3句程序即可。2.PSoc的开发基于成熟而又丰富的用户模块,极大地减少甚至免除了设计者在成千上万外围元件中选择的烦恼,节省了模拟量处理电路调试及修改的精力和时间,提高了成功率、灵活性和可靠性。3.PSoc采用了一种新的构架,通过可配置的数字及模拟区块灵活地构造适用的用户模块,这是传统的单片机所不具备的。4.PSoc可以动态重构,即在应用中通过程序改变存储在闪存中设定的参数,重新定义系统所需要的功能模块的种类和数量,动态地完成片上资源的重新分配,实现新的外围元器件的功能,这一点保证了系统资源的最大化,最合理化和最经济化应用。5.与传统意义上的单片机系统相比,PSoc最大程度地实现了系统单片化的目标,也减少了PCB的面积。和其他架构的SoC相比,PSoc在保证以更简便方式实现更多更灵活功能和具备较高性能的前提下,达到了迄今为止最高的性价比。图2.3中左边的PCB板是采用传统单片机的设计方案,右边的PCB板是在实现与左图相同的功能的前提下采用PSoc的设计方案,从图中明显的可以看出采用PSoc的设计方案节省了大量的元器件,PCB板的面积也相应的小了很多。图2.3PSoC与采用传统单片机的设计方案对比第三章PSoC集成开发环境3.1PSOCDesigner的安装PSoCDesigner是Cypress公司用于PSoC芯片开发的集成开发环境。该软件支持C语言、汇编语言及二者混合编程。3.1.1软件安装步骤(1):将Cypress公司的光盘放入电脑,就出现下面的安装界面:(2):单击InstallPSoCDesigner4.3,出现下面的对话框:(3):单击Next进入下面的对话框:(4):单击YES为接受协议,进入选择路径对话框:(5):单击Browse可以选择安装路径,单击Next进入下一步安装:(6):单击Next进入安装确认对话框:(7):单击Next开始安装:(8):安装完毕后出现下面界面:(9):单击Finish,重启计算机完成安装。安装完PSoCDesigner4.3后还需要安装PSoCProgrammer,用来烧写芯片。安装时,只须在第一步时单击InstallPSoCProgrammer2.20,其他步骤和前面一致。如下:3.1.2激活PSoCC语言编译器使用PSoCDesigner4.3前需要激活PSoCC语言编译器,按照以下步骤激活:(1):打开PSoCDesigner4.3;(2):执行ToolsOptions;(3):单击Compiler选项;(4):输入PSoCC语言编译器的授权码;(5):阅读授权协议,单击OK完成激活。3.2PSOCIDE的使用3.2.1PSOCIDE的结构PSOCIDE的结构如下图所示:PSOCIDE的结构3.2.2文件类型和扩展名当我们创建好自己的工程后,系统会相应的创建一个以该工程名字命名的文件夹。该文件夹包括下面三个文件夹:lib(库文件夹)、obj(目标文件夹)、output(编译输出文件夹)。Lib文件夹存放系统的库文件;obj文件夹存放编译c或汇编源文件时生成的中间文件;Output文件夹存放调试使用的.hex文件、清单文件及其他调试