引言
到目前为止,有三种技术对电子工程师设计电子产品的模式产生了重大而又深远的影响,它们是:可编程微控制器( MCU ),可编程逻辑阵列和可编程模拟阵列。与采用多个分立元件及单一功能的模拟与数字集成电路组成的电子系统相比,采用可编程技术和包含可编程芯片在内的电子系统将具有更简单的结构、更强的性能和更低的成本。而采用可编程技术也使电子工程师的智慧和想象力得到了更大的发挥,设计出来的产品智能化程度更高。
MCU自问世以来就受到电子开发工程师的青睐。由于它的可编程能力和可程序控制性能使得MCU得到广泛使用。然而,不同的用户根据不同的项目要求希望MCU能包含比以前更多的周边资源来进一步降低系统成本。事实上,现今的MCU厂商大都能提供多种系列多个型号的MCU供用户选择。因为指令系统和硬件结构的不兼容,设计工程师花在选型上的时间已经占据整个开发时间的相当的比例。现在MCU的发展 趋势是系统在片芯片(System on Chip,SoC),它是将微处理器核和所有的周边设备包括TIMER、PWM、ADC、DAC、UART、SPI、I2C、CAN、E2PROM、USB等等全部集成在一个芯片里,力图能满足所有设计工程师的需要。
可编程逻辑阵列可以整合系统设计过程中大量的逻辑运算功能,提高系统的可靠性。它已经历了门阵列(GAL)、可编程逻辑器件(PLD)、复杂可编程逻辑器件(CPLD)和现场可编程门阵列(FPGA)四个发展阶段。由于它具有高速度,高集成,高性能,并且可用VHDL和Verilog程序编程,因而得到了越来越多的应用。
可编程模拟阵列( FPAA )由多个可编程模拟模块组成,可编程模拟模块采用开关电容、运算放大器和多路开关有机组合并通过时钟信号的作用,可以实现模拟信号的放大、比较、多种有源滤波和AD转换等诸多模拟功能。目前制造现场可编程模拟阵列的公司有Anadigm和莱迪思(LattICe)等。虽然由于价格的原因FPAA还没有被广泛使用,但FPAA包含多个可编程模拟模块,可以集多种模拟功能于一体,省略了许多外围的无源元件和PCB的面积,对模拟工程师仍然具有一定的吸引力。
赛普拉斯半导体基于微处理器的 PSoC ,不仅具有MCU的可编程能力,还包含了部分可编程逻辑运算功能,同时也提供了可编程模拟阵列,集三种可编程能力与一体。其中的周边数字功能(如TIMER、COUNTER、PWM、UART、SPI)由与可编程模拟阵列相对应的可编程数字阵列提供。通过对寄存器的配置或控制,三者之间可以相互作用,协调工作,是真正的可编程系统级芯片。
PSoC的功能框图
PSoC主要由PSoC核、数字阵列、模拟阵列和附加的系统资源所组成。其中PSoC的核就是称之为M8C的8位微处理器,以及相应的Flash存储器、SRAM、SROM和两个数字时钟源。而数字阵列则包含至少一排(4个)的数字模块,模拟阵列则包含至少一列(3个)的模拟模块,附加的系统资源主要有数字时钟、乘加器、抽样滤波器、I2C、系统复位(包括POR和LVD)、开关泵、内部电压参考和IO模拟输入多路器。虽然PSoC 的核心是一个8 位微处理器,但因为数字阵列中的数字模块和模拟阵列中模拟模块的通用性和可配置性,所以PSoC不仅可以处理数字信号而且可以处理模拟信号,它又被称作是一个具有嵌入式微控制器内核的混合信号阵列。
在PSoC的数字阵列和模拟阵列中,一个模块或几个模块可以被配置成一个用户模块,用户模块的主要任务就是向设计师提供几组能够由其进行配置和互连的通用积木式部件,以便执行多种功能。对于大多数设计师来说,复合可编程逻辑器件(CPLD)的“宏单元”是他们所熟悉的对用户模块最为贴近的类比。每个单元(同样,每个用户模块)都是根据核心功能来构筑的,当对其进行配置时,就会产生定制功能或板载外围元件的最终结果。例如,用一个数字模块可以配置一个8位的定时器或一个8位的PWM;用两个数字模块可以配置一个16位的PWM或一个UART,用一个模拟模块可以配置一个放大器或一个比较器,用两个模拟模块可以配置一个低通滤波器或一个带通滤波器;用一个数字模块和一个模拟模块可以配置一个⊿-∑ADC。PSoC的集成开发环境已经提供了几十种常用的用户模块供用户选择。这些数字和模拟单元也可由设计师自己配置,构造用户自己独一无二的用户模块。
www.55dianzi.com
PSoC 的内核采用哈佛(Harvard)架构,在24MHz 的频率下具有高达4MIPS 的操作性能,并可以满足苛刻的USB 睡眠功耗规范要求。该器件具有一个具有全面可编程性的内部CPU 时钟,甚至在正常操作期间也可对其加以改变。它有2-32K的FLASHC程序存储空间,128-2K的RAM,这意味着PSoC 能够实现一个全混合信号设计,而无需任何的外部元件。PSoC 的CPU 内核允许对所有由用户模块配置组成的特殊功能寄存器进行存取操作。在这种场合,该内核还支持一种名为“动态重构”的概念。这一非常强大的能力使得PSoC 能够在硬件的控制之下对其所有的用户模块进行全面重构,并由此获得一个全新的“个性”和功能。该能力使得PSoC的资源得到 更充分的利用,120%的资源利用率在PSoC已经成为可能。
PSoC的数字模块
数字阵列由一个或几个数字排组成,而一个数字排包含四个数字模块。这四个数字模块包括两个基本的数字模块(DBB)和两个通信的数字模块(DCB)。每一个数字模块都可以被构造成为一个独立的数字功能块。其中的数字功能包括:定时器、计数器、PWM、伪随机码发生器(PRS)和CRC校验。几个数字模块组合起来可以组成一个位数超过8位的数字功能块。如,三个数字模块可以构造成为一个24位的PWM。通信的数字模块可以构造主或从的SPI和全双工的UART。每一个数字模块的输入和输出都可以通过排输入总线或排输出总线或排广播总线与其他数字模块相连。每一个数字模块的输入和输出也可以经由排的输入和输出总线到全局的输入和输出总线(奇的或偶的)与任一通用的I/O口相连。排输出总线中相邻的两根线可以实施任何一种硬件逻辑运算(可编程逻辑功能)。数字模块的输出也可以作为模拟SC模块的时钟同步信号提供给模拟模块,见图2。
数字模块由数据通道、输入多路器、输出多路器、构造寄存器和相应的数据链路所组成,其框图见图3。每一个数字模块都有7个寄存器来控制和决定它的功能和状态。功能寄存器主要用于选择这个模块将要实施的功能;输入寄存器主要用于选择模块所采用的时钟源和数据源。输出寄存器主要用于选择模块的输出通路和输出方式。数据通道包含三个数据寄存器(DR0、DR1、DR2)和一个控制寄存器,作为不同的功能块,这些寄存器的作用也是不一样的。当一个数字模块被作为定时器、计数器和PWM时,DR0、DR1和DR2被分别作为周期寄存器,向下计数器和比较寄存器;而一个数字模块被作为PRS和CRC时,DR0、DR1和DR2被分别作为多项式寄存器,移位寄存器和种子寄存器;当一个数字模块被作为SPI和UART时,DR0、DR1和DR2被分别作为输入缓冲器,移位寄存器周和输出缓冲器。另外每一个数字模块都有一个中断屏蔽位来确定这个模块是允许还是禁止中断。每一个数字模块都有一个对应的中断向量和相应的中断服务程序。
由于数字模块的可构造性和可组合性,PSoC的数字模块还可以实现其他的数字功能,如数字缓冲器、数字反向器、红外接受器和红外发射器等等。
PSoC的模拟模块
PSoC的模拟阵列被设计成按列来排列。不同型号的PSoC,它的列数目是不一样的。一般它的数目是1、2或4列。每一列有3个模拟模块。每一列的第一个模块被称为连续时间的模拟模块(ACT),而第二和第三个模块被称为开关电容模拟模块(ASC)。每一列都有一个输入时钟多路选择器,可以选择的时钟信号可以是系统的时钟,也可以是来自数字模块的时钟信号,它主要用于开关电容模拟模块,它的频率大小可以大致确定输入到开关电容模拟模块的模拟信号的频宽。每一列也都有一个模拟总线和一个比较总线,模拟总线可以将模拟模块输出的模拟信号路由到这一列其他模拟模块,也可以经缓冲器输出到I/O口。比较总线可以连接到作为比较功能的模拟模块的输出,比较总线经模拟LUT(带缓冲的逻辑运算器)可以被路由到任一个数字模块,LUT上信号的跳变也可以产生中断,触发中断服务程序。通过模拟LUT,相邻两列比较总线也可以实施任何一种硬件逻辑运算(可编程逻辑功能)。
本文关键字:暂无联系方式综合-其它,单片机-工控设备 - 综合-其它