第六部分 PSoC35模拟子系统

上传人:pu****.1 文档编号:569453911 上传时间:2024-07-29 格式:PPT 页数:205 大小:2.59MB
返回 下载 相关 举报
第六部分 PSoC35模拟子系统_第1页
第1页 / 共205页
第六部分 PSoC35模拟子系统_第2页
第2页 / 共205页
第六部分 PSoC35模拟子系统_第3页
第3页 / 共205页
第六部分 PSoC35模拟子系统_第4页
第4页 / 共205页
第六部分 PSoC35模拟子系统_第5页
第5页 / 共205页
点击查看更多>>
资源描述

《第六部分 PSoC35模拟子系统》由会员分享,可在线阅读,更多相关《第六部分 PSoC35模拟子系统(205页珍藏版)》请在金锄头文库上搜索。

1、第第6章章 PSoC3/5模拟子系统模拟子系统Chapter 6 Analog Sub-System of PSoC3/5 何宾何宾2010.10PSoC3/5模拟子系统模拟子系统-前言前言n n 本章详细介绍本章详细介绍PSoCPSoC模拟子系统的各个模块及其功能,模拟子系统的各个模块及其功能,其主要内容包括:其主要内容包括:n nPSoCPSoC模拟子系统功能概述;模拟子系统功能概述;n n模拟子系统的布线结构;模拟子系统的布线结构;n n模模/ /数转换器数转换器ADCADC模块;模块;n n模拟比较器模块;模拟比较器模块;n n运算放大器模块;运算放大器模块;n n可编程可编程SC/C

2、TSC/CT模块;模块;n n数数/ /模转换器模转换器DACDAC模块;模块;n nCapSenseCapSense模块;模块;n nLCDLCD直接驱动模块;直接驱动模块;n n温度传感器模块等内容。温度传感器模块等内容。PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述 n n 模拟可编程系统根据应用特定要求,将标准和高级模模拟可编程系统根据应用特定要求,将标准和高级模拟信号处理模块结合在一起。这些模块互相联结,并且拟信号处理模块结合在一起。这些模块互相联结,并且连接到芯片的任意引脚上,提供了高级的设计灵活性和连接到芯片的任意引脚上,提供了高级的设计灵活性和

3、IPIP安全性。安全性。PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述图图 模拟系模拟系统的结构统的结构PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述图图 PSoC3最大模拟功能子系统结构最大模拟功能子系统结构PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述图图 PSoC5 最大模拟功能子系统结构最大模拟功能子系统结构PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述n n模拟子系统功能的概述:模拟子系统功能的概述:n n灵活的,可配置的模拟布线结构,该结构提供了模

4、拟全局,灵活的,可配置的模拟布线结构,该结构提供了模拟全局,模拟复用总线和模拟本地总线;模拟复用总线和模拟本地总线;n n高分辨率的高分辨率的-模数转换器模数转换器ADCADCn n两个逐次逼近寄存器型(两个逐次逼近寄存器型(Successive Successive approximation,SARapproximation,SAR)ADC(PSoC5ADC(PSoC5内提供内提供) )n n最多最多4 4个数模转换器个数模转换器DACDAC,提供电压或电流输出;,提供电压或电流输出;n n最多最多4 4个比较器,可选择连接到可配置的个比较器,可选择连接到可配置的LUTLUT输出;输出;n

5、 n最多最多4 4个可配置的开关电容个可配置的开关电容/ /连续时间(连续时间(SC/CTSC/CT)模块用于实)模块用于实现那些包含放大器,增益缓冲区,可编程增益放大器,互阻现那些包含放大器,增益缓冲区,可编程增益放大器,互阻放大器和混频器在内的功能。放大器和混频器在内的功能。PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述n n最多最多4 4个放大器,用于内部的应用和连接到个放大器,用于内部的应用和连接到GPIOGPIO,能被用于,能被用于高电流输出缓冲区;高电流输出缓冲区;n n电容感应子系统,用于电容性触摸屏感应;电容感应子系统,用于电容性触摸屏感应;n

6、 n高精度的参考源产生一个高精度的模拟电压用于内部的模拟高精度的参考源产生一个高精度的模拟电压用于内部的模拟模块;模块; PSoC3/5模拟子系统模拟子系统-PSoC模拟子系统功能概述模拟子系统功能概述n nPSoCPSoCCreatorCreator软件程序为设计者提供了一个友好的软件程序为设计者提供了一个友好的图图形界面接口,用于在形界面接口,用于在GPIOGPIO与各种模拟资源之间,配置模与各种模拟资源之间,配置模拟连接。拟连接。PSoCPSoCCreatorCreator软件提供了各种元件的库允许设计者配软件提供了各种元件的库允许设计者配置这种模拟块来实现应用程序特定的功能(置这种模拟

7、块来实现应用程序特定的功能(PGAPGA,互阻,互阻放大器。电压放大器。电压DACDAC,电流,电流DACDAC等)。等)。该软件工具也生成该软件工具也生成APIAPI接口库允许设计者编写固件,接口库允许设计者编写固件,这样允许在模拟外设和这样允许在模拟外设和CPU/CPU/存储器之间进行通信。存储器之间进行通信。PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构 n n PSoC3/5PSoC3/5提供了灵活的模拟布线结构,这个结构提供提供了灵活的模拟布线结构,这个结构提供了连接了连接GPIOGPIO和不同模拟块的能力。灵活的布线结构中最和不同模拟块的能力。灵活的布

8、线结构中最有特点的就是允许动态布线输入和输出,用于连接到不有特点的就是允许动态布线输入和输出,用于连接到不同的模拟块。同的模拟块。 PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构 模拟系统的块图结构模拟系统的块图结构PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构n n模拟子系统布线结构的主要特点有:n n灵活的,可配置的模拟布线结构;灵活的,可配置的模拟布线结构;n n1616个模拟全局总线(个模拟全局总线(AnalogGlobalBus,AGAnalogGlobalBus,AG)和两个模拟复)和两个模拟复用总线(用总线(AMUXBU

9、SAMUXBUS),可以与),可以与GPIOGPIO和模拟模块连接。和模拟模块连接。n n每个每个GPIOGPIO与一个模拟全局和一个模拟复用总线连接;与一个模拟全局和一个模拟复用总线连接;n n8 8个模拟本地总线(个模拟本地总线(AnalogLocalBusAnalogLocalBus)在不同的模拟模块之)在不同的模拟模块之间连接信号;间连接信号; n n复用器和开关,用于模拟模块的输入和输出选择。复用器和开关,用于模拟模块的输入和输出选择。PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构PSoC3的模拟互联结构的模拟互联结构PSoC3/5模拟子系统模拟子系统-

10、模拟子系统的布线结构模拟子系统的布线结构PSoC5的模拟互联结构的模拟互联结构PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构n n模拟布线结构分成了四个象限,每个象限有四个模模拟布线结构分成了四个象限,每个象限有四个模拟全局(拟全局(AGL0.3AGL0.3,AGL4.7AGL4.7,AGR0.3AGR0.3,AGR4.7AGR4.7)。)。每个每个GPIOGPIO通过模拟开关连接到对应的通过模拟开关连接到对应的AGAG。模拟开关总线。模拟开关总线是一个共享布线资源,用于连接每个是一个共享布线资源,用于连接每个GPIOGPIO。在。在PSoCPSoC中有中有两个两

11、个AMUXBUSAMUXBUS布线,一个在左半部(布线,一个在左半部(AMUXBUSLAMUXBUSL),),一一个在右半部(个在右半部(AMUXBUSRAMUXBUSR)。)。PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构n n模拟本地总线(模拟本地总线(abusabus)是模拟子系统内的布线资)是模拟子系统内的布线资源,用于连接不同的源,用于连接不同的e e模拟模块。模拟模块。PSoCPSoC中有中有8 8个个abusabus,4 4个位于左半部(个位于左半部(abusl0:3abusl0:3),另外),另外4 4个位于右半部个位于右半部(abusr0:3ab

12、usr0:3)。使用)。使用abusabus,可以节约用于互联模拟模,可以节约用于互联模拟模块块所使用的模拟全局和模拟复用总线。所使用的模拟全局和模拟复用总线。PSoC3/5模拟子系统模拟子系统-模拟子系统的布线结构模拟子系统的布线结构n n 多路复用器和开关存于各种总线中来引导输入多路复用器和开关存于各种总线中来引导输入/ /输出输出模拟模块的信号。一个多路复用器模拟模块的信号。一个多路复用器n n 在一个时间内只能由一个连接,然而开关可以同时有在一个时间内只能由一个连接,然而开关可以同时有多个连接。图中的多路复用器用灰色的椭圆表示,开关用多个连接。图中的多路复用器用灰色的椭圆表示,开关用透

13、明的椭圆表示。透明的椭圆表示。模模/数转换器数转换器ADC模块模块-ADC模块模块nPSoC3/5包含一个-ADC。这个ADC提供了差分输入,高分辨率和良好的线性度,该ADC可用于声音信号处理和测量方面的应用。下表给出了不同ADC分辨率下的采样速度和SNR值。比特位spsSNR(dB)201801101648k9012192k70模模/数转换器数转换器ADC模块模块-ADC模块模块图图 -的内部功能原理的内部功能原理模模/数转换器数转换器ADC模块模块-ADC功能功能 图图 ADC -原理结构原理结构模模/数转换器数转换器ADC模块模块-ADC功能功能从前面的图可以看出,输入缓冲区(从前面的图

14、可以看出,输入缓冲区(InputBufferInputBuffer)连接到内部和外部总线输入复用开关上。来自输入复用连接到内部和外部总线输入复用开关上。来自输入复用开关上的信号直接或者通过缓冲区传递到开关上的信号直接或者通过缓冲区传递到-调制器。调制器。 -执行真正的模拟执行真正的模拟- -数字的转换。数字的转换。调制器过采样输入,产生串行的比特流输出。调制器过采样输入,产生串行的比特流输出。高速数据流对大多数应用是没有意义的,所以在后高速数据流对大多数应用是没有意义的,所以在后级加入抽取器。级加入抽取器。抽取器将高速的串行数据流转换成并行的抽取器将高速的串行数据流转换成并行的ADCADC结结

15、果。抽取器控制分辨率和采样率;输出是最后四个采样果。抽取器控制分辨率和采样率;输出是最后四个采样的函数。当输入多路复用开关被切换,输出的前三个采的函数。当输入多路复用开关被切换,输出的前三个采样就不是有效的,直到开关切换后的第四个采样才是有样就不是有效的,直到开关切换后的第四个采样才是有效的。效的。模模/数转换器数转换器ADC模块模块-ADC功能功能n n 在在PSoCPSoC中的中的ADCADC模块的具体结构包括:模块的具体结构包括:n n输入放大器;提供高输入阻抗和用户可选择的增益。输入放大器;提供高输入阻抗和用户可选择的增益。n n 3 3阶阶-调制器调制器n n抽取器抽取器包含一个抽取

16、器抽取器包含一个4 4阶的阶的CICCIC抽取滤波器和后端处理单元。抽取滤波器和后端处理单元。后端处理单元执行可选的增益,偏置和采样滤波器功后端处理单元执行可选的增益,偏置和采样滤波器功能。能。 -ADC功能功能-操作模式操作模式设置者可以配置设置者可以配置ADCADC,使其工作在下面的四种模式,使其工作在下面的四种模式之一:之一:n n单采样;单采样;n n快速滤波器;快速滤波器;n n连续连续/ /快速平均。快速平均。通过往控制寄存器写启动位或者发送开始转换信号通过往控制寄存器写启动位或者发送开始转换信号(StartOfConversionStartOfConversion,SOCSOC)

17、,来启动),来启动ADCADC转换器。转换器。当转换结束后,设置一个状态位,并且转换结束信当转换结束后,设置一个状态位,并且转换结束信号(号(EndofConversion,EOCEndofConversion,EOC)为高电平,这个信号一直)为高电平,这个信号一直保持到保持到CPUCPU或或DMADMA读取转换值为止。读取转换值为止。-ADC功能功能-操作模式操作模式n n 1 1单采样单采样在触发器作用下,执行单次采样。在这种模式下,在触发器作用下,执行单次采样。在这种模式下,ADCADC在待机模式下等待在待机模式下等待SOCSOC信号有效。当信号有效。当SOCSOC有效,有效,ADCAD

18、C执行一次采样转换,并捕获结果。为了检测执行一次采样转换,并捕获结果。为了检测EOCEOC,系统可以轮询一个控制寄存器或者配置外部的系统可以轮询一个控制寄存器或者配置外部的EOCEOC信号信号来产生一个中断或者调用来产生一个中断或者调用DMADMA请求。请求。当传输完成后,当传输完成后,ADCADC进入待机状态。直到下一个进入待机状态。直到下一个SOCSOC事件。事件。-ADC功能功能-操作模式操作模式n n 2 2连续采样连续采样n n 在连续模式下,通道复位,然后连续运行直到停在连续模式下,通道复位,然后连续运行直到停止。当输入信号不需要切换,并且需要多个采样值时,止。当输入信号不需要切换

19、,并且需要多个采样值时,就可以采用这种模式。就可以采用这种模式。-ADC功能功能-操作模式操作模式n n3 3快速滤波器快速滤波器快速滤波器模式连续的捕获数据,在每个采样间,通快速滤波器模式连续的捕获数据,在每个采样间,通道复位。一个采样结束,另一个采样立即开始,使用轮道复位。一个采样结束,另一个采样立即开始,使用轮询,中断或询,中断或DMADMA来传输结果。当输入在多个通道间进行来传输结果。当输入在多个通道间进行切换,并且在每个采样间需要一个滤波器进行复位时,就切换,并且在每个采样间需要一个滤波器进行复位时,就可以采用这种模式。可以采用这种模式。 -ADC功能功能-操作模式操作模式n n 4

20、 4快速快速FIRFIR(平均)(平均)这种模式和快速滤波器类似,但在两个转换间不复位这种模式和快速滤波器类似,但在两个转换间不复位调制器。当要求抽取率因子大于调制器。当要求抽取率因子大于128128时,可以使用。这种时,可以使用。这种模式使用后续的处理器模式使用后续的处理器sinc1sinc1滤波器执行额外的抽取,以得滤波器执行额外的抽取,以得到大于到大于1616位的分辨率。位的分辨率。-ADC功能功能-操作模式操作模式n nSOCSOC信号用于启动信号用于启动ADCADC。一个数字时钟或者。一个数字时钟或者UDBUDB的的输出能用于驱动这个输入信号。此外,采样周期必须大输出能用于驱动这个输

21、入信号。此外,采样周期必须大于转换周期。在系统中,如果需要于转换周期。在系统中,如果需要ADCADC和其他硬件同和其他硬件同步,则需要使用步,则需要使用SOCSOC信号。这个信号是可选的,如果信号。这个信号是可选的,如果ADCADC运行在连续模式下,则不需要这个信号。运行在连续模式下,则不需要这个信号。n n当每次转换完后,当每次转换完后,EOCEOC信号为高。这个信号可用于信号为高。这个信号可用于触发一个中断或者触发一个中断或者DMADMA请求。请求。-ADC功能功能-转换器的分辨率转换器的分辨率-ADC-ADC的分辨率限制在的分辨率限制在8-208-20位。分辨率越高,采位。分辨率越高,采

22、样率越低。当修改分辨率时,时钟会相应的改变来保证一样率越低。当修改分辨率时,时钟会相应的改变来保证一个合理的采样率。个合理的采样率。-ADC-ADC有固有的不稳定性,导致其在操作范围的有固有的不稳定性,导致其在操作范围的上限和下限会产生非线性。为了避免产生这种现象,输入上限和下限会产生非线性。为了避免产生这种现象,输入在调制器的前端被衰减在调制器的前端被衰减10%10%。后端处理器使用。后端处理器使用1.111.11倍的增倍的增益来补偿这种衰减。最终的结果比要求的范围扩大了益来补偿这种衰减。最终的结果比要求的范围扩大了10%10%。比如:比如:比如:比如:如果选择输入范围如果选择输入范围1.0

23、24V1.024V,实际的输入范围是,实际的输入范围是1.126V1.126V。有用的输入保持在。有用的输入保持在1.024V1.024V,但是除非输入超,但是除非输入超过过1.126V1.126V,否则,否则ADCADC不会饱和。不会饱和。-ADC功能功能-转换器的分辨率转换器的分辨率从从ADCADC的数字数出也会超过范围的数字数出也会超过范围10%10%,如果,如果ADCADC配置配置为为1010位操作,通常一个位操作,通常一个1010位的差分的位的差分的ADCADC输出范围输出范围-512-512到到511511,对应,对应-1.024-1.024到到+1.022+1.022。由于这个额

24、外的由于这个额外的10%10%的范围,数字输出直到计数的范围,数字输出直到计数563563前不会饱和(而不是前不会饱和(而不是-512-512到到511511)。)。-ADC功能功能-转换器的分辨率转换器的分辨率除非分辨率设为除非分辨率设为8 8位或位或1616位时,一般不需要关心的问位时,一般不需要关心的问题。当分辨率设置为题。当分辨率设置为8 8位时,必须要注意不能使计数值从位时,必须要注意不能使计数值从其最大的正值其最大的正值/ /负值卷回到所对应的一个负值或者负值。负值卷回到所对应的一个负值或者负值。防止产生这个问题使用防止产生这个问题使用APIAPI函数,使得返回一个比设定分函数,使

25、得返回一个比设定分辨率大的一个值。比如:辨率大的一个值。比如:1 1)分辨率设为)分辨率设为1616位,其最大的正值和负值会超过位,其最大的正值和负值会超过32767-3276832767-32768的范围,所以使用的范围,所以使用ADC_GetResult32()ADC_GetResult32()函数,函数,而不是使用而不是使用ADC_GetResult16()ADC_GetResult16()函数。函数。2 2)对分辨率为)对分辨率为8 8时,其最大的正值和负值会超过时,其最大的正值和负值会超过127-127-128128,所以使用,所以使用ADC_GetResult16()ADC_Get

26、Result16()函数。函数。模模模模/ /数转换器数转换器数转换器数转换器ADCADC模块模块模块模块- -逐次逼近型逐次逼近型逐次逼近型逐次逼近型ADCADC模块模块模块模块 n nPSoC5PSoC5提供了最多两个逐次逼近型(提供了最多两个逐次逼近型(SARSAR)ADCADC。该。该ADCADC分辨率为分辨率为1212位,最高采样率为位,最高采样率为1Msps1Msps。SARADCSARADC支持支持单端或差分输入,这使得单端或差分输入,这使得ADCADC可以用于不同的采样和控制可以用于不同的采样和控制领域。领域。在该在该ADCADC中,采样输入信号,并且与中,采样输入信号,并且与

27、DACDAC的输出进的输出进行比较。行比较。DACDAC使用一个二进制的搜索算法,用来确定每次使用一个二进制的搜索算法,用来确定每次最高有效位最高有效位MSBMSB到最低有效位的到最低有效位的LSBLSB的输出。的输出。模模/数转换器数转换器ADC模块模块-逐次逼近型逐次逼近型ADC模块模块图图 SAR DAC 结构图结构图模模/数转换器数转换器ADC模块模块-逐次逼近型逐次逼近型ADC模块模块n n输入连接到模拟全局和复用器上。输入连接到模拟全局和复用器上。 n n时钟频率是采样率的时钟频率是采样率的1616倍;最高的时钟率是倍;最高的时钟率是16MHz16MHz写一个启动位或者给启动帧(写

28、一个启动位或者给启动帧(StartofFrameStartofFrame,SOFSOF)信号启动)信号启动ADCADC。SOFSOF信号用于采样周期比转换时间长的应用,或者信号用于采样周期比转换时间长的应用,或者ADCADC需要和其它硬件同步的应用。这个信号是可选需要和其它硬件同步的应用。这个信号是可选的,当的,当SARSAR模块运行在连续模式下,不需要连接该信模块运行在连续模式下,不需要连接该信号。数字时钟或者号。数字时钟或者UDBUDB输出能用来驱动这个输入。输出能用来驱动这个输入。当当SARSAR刚上电或者从任何休眠模式唤醒时,将等待刚上电或者从任何休眠模式唤醒时,将等待10us10us

29、,然后准备开始第一次转换。,然后准备开始第一次转换。模模/数转换器数转换器ADC模块模块-逐次逼近型逐次逼近型ADC模块模块n n当转换完成后,设置状态位和输出结束帧(当转换完成后,设置状态位和输出结束帧(EndofEndofFrameFrame,EOFEOF)有效信号,直到)有效信号,直到CPUCPU或者或者DMADMA读取该值读取该值后,后,EOFEOF变成无效。变成无效。EOFEOF信号可用于中断或者信号可用于中断或者DMADMA请请求。求。n n一个一个ONE_SHOTONE_SHOT控制位用于设置控制位用于设置SARADCSARADC转换模式转换模式为:连续或者转换为:连续或者转换/

30、SOF/SOF信号。支持信号。支持DMADMA传输连续采传输连续采样,而无需样,而无需CPUCPU的干预。的干预。PSoC3/5模拟子系统模拟子系统-模拟比较器模块模拟比较器模块 n nPSoCPSoC提供了最多提供了最多4 4个比较器,其特点主要有:个比较器,其特点主要有:n n输入偏置小于输入偏置小于5mV5mV;n n轨至轨共模输入范围轨至轨共模输入范围Vssa-VccaVssa-Vcca;n n通过使用快速、慢或超低功耗在速度和功耗之间进行权衡;通过使用快速、慢或超低功耗在速度和功耗之间进行权衡;n n比较器输出能布线到查找表(比较器输出能布线到查找表(LookUpTableLookU

31、pTable,LUTLUT),执),执行简单的逻辑功能,然后也能布线到数字模块;行简单的逻辑功能,然后也能布线到数字模块;n n比较器的正输入可以选择穿过一个低通滤波器;比较器的正输入可以选择穿过一个低通滤波器;n n比较器输入能连接到比较器输入能连接到GPIOGPIO,DACDAC输出和输出和SCSC模块输出;模块输出;模拟比较器模块模拟比较器模块 -输入和输出接口输入和输出接口 n n到比较器的正和负输入来自模拟全局总线,模拟复到比较器的正和负输入来自模拟全局总线,模拟复用线,模拟本地总线和高精度的参考源。用线,模拟本地总线和高精度的参考源。从比较器的输出能布线到两输入从比较器的输出能布线

32、到两输入LUTLUT的任何一个,的任何一个,LUTLUT的输出布线到的输出布线到UDBUDB数字系统接口。数字系统接口。下图给出了模拟比较器的结构图。下图给出了模拟比较器的结构图。模拟比较器模块模拟比较器模块 -输入和输出接口输入和输出接口图图 放大器结构放大器结构模拟比较器模块模拟比较器模块 -LUTn nPSoCPSoC包含包含4 4个个LUTLUT。LUTLUT有两个输入,一个输出。有两个输入,一个输出。LUTLUT由比较器驱动。由比较器驱动。LUTLUT的输出布线到的输出布线到UDBUDB阵列的数字系阵列的数字系统接口。从统接口。从UDBUDB阵列的数字系统接口,这些信号能连接到阵列的

33、数字系统接口,这些信号能连接到UDBUDB,DMADMA控制器,控制器,I/OI/O或者中断控制器。或者中断控制器。LUTLUT控制字写入寄存器,用于设置输出的逻辑功能。控制字写入寄存器,用于设置输出的逻辑功能。下表给出了下表给出了LUTLUT功能和程序字的输入。功能和程序字的输入。模拟比较器模块模拟比较器模块 -LUTLUT和程序字和程序字控制字(4位二进制数)输出(A和B是LUT的输入)0000FALSE(0)0001AANDB0010AAND(NOTB)0011A0100(NOTA)ANDB0101B0110AXORB0111AORB模拟比较器模块模拟比较器模块 -LUT控制字(4位二进

34、制数)输出(A和B是LUT的输入)1000ANORB1001AXNORB1010NOTB1011AOR(NOTB)1100NOTA1101(NOTA)ORB1110ANANDB1111TRUE(1)PSoC3/5模拟子系统模拟子系统-运算放大器模块运算放大器模块 PSoC5包含最多4个通用运算放大器,运算放大器是独立的,使用外部或内部信号能将运算放大器配置成一个增益级或者跟随器。下图给出了运算放大器的内部结构。图图 运算放大器内部结构运算放大器内部结构PSoC3/5模拟子系统模拟子系统-运算放大器模块运算放大器模块n n在任何一种配置中,输入和输出信号能全部连接到在任何一种配置中,输入和输出信

35、号能全部连接到内部全局信号,使用内部全局信号,使用ADCADC或者比较器对其进行监测。通过或者比较器对其进行监测。通过在信号和在信号和GPIOGPIO引脚之间切换来实现配置。下图给出了放引脚之间切换来实现配置。下图给出了放大器的配置。大器的配置。PSoC3/5模拟子系统模拟子系统-运算放大器模块运算放大器模块(a) 电压跟随器电压跟随器(b) 外部独立放大器外部独立放大器(c) 内部独立放大器内部独立放大器运算放大器的配置运算放大器的配置PSoC3/5模拟子系统模拟子系统-运算放大器模块运算放大器模块n n放大器有三个速度模式:放大器有三个速度模式:n n慢慢n n中中n n快。快。低速模式消

36、耗最小的静态功耗。快速模式消耗最大的低速模式消耗最小的静态功耗。快速模式消耗最大的功耗。输入能轨至轨的摆动。输出摆动能轨至轨的运行功耗。输入能轨至轨的摆动。输出摆动能轨至轨的运行在低电流输出,在在低电流输出,在50mV50mV的轨迹内。当驱动高电流负载的轨迹内。当驱动高电流负载(大约(大约25mA25mA),输出电压能得到),输出电压能得到500mV500mV内的轨迹。内的轨迹。PSoC3/5模拟子系统模拟子系统-可编程可编程SC/CT模块模块 PSoC5PSoC5包含四个开关电容包含四个开关电容/ /连续时间(连续时间(SC/CTSC/CT)模)模块。块。下图给出了下图给出了SC/CTSC/

37、CT模块的结构图。每个开关电容模块的结构图。每个开关电容/ /连续时间模块建立一个带有开关、电容和电阻阵列连续时间模块建立一个带有开关、电容和电阻阵列的轨至轨的放大器。的轨至轨的放大器。PSoC3/5模拟子系统模拟子系统-可编程可编程SC/CT模块模块 SC/CT模块结构模块结构PSoC3/5模拟子系统模拟子系统-可编程可编程SC/CT模块模块n n开关电容是一种电路设计技术,使用电容脉冲开关开关电容是一种电路设计技术,使用电容脉冲开关(而不使用电阻)创建一个模拟功能。这些电路通过在电(而不使用电阻)创建一个模拟功能。这些电路通过在电容之间打开和关闭不同的开关,搬移电荷(容之间打开和关闭不同的

38、开关,搬移电荷(chargecharge)来运)来运行。非重叠相位的时钟信号控制开关,所以不会同时打开行。非重叠相位的时钟信号控制开关,所以不会同时打开所有的开关。所有的开关。PSoC3/5模拟子系统模拟子系统-可编程可编程SC/CT模块模块n nPSoCPSoCCreatorCreator软件工具提供了图形化接口,允许直软件工具提供了图形化接口,允许直接对接对SC/CTSC/CT模块进行编程。开关控制和时钟相位控制配模块进行编程。开关控制和时钟相位控制配置由软件工具完成。置由软件工具完成。用户只需要应用程序确定使用的参数,比如:增用户只需要应用程序确定使用的参数,比如:增益,放大器极性,益,

39、放大器极性,VrefVref的连接等。的连接等。PSoC3/5模拟子系统模拟子系统-可编程可编程SC/CT模块模块相同的放大器和模块接口也是可连接到电阻阵列,相同的放大器和模块接口也是可连接到电阻阵列,可以允许建立不同的连续时间功能。放大器和电阻网络可以允许建立不同的连续时间功能。放大器和电阻网络可编程用于执行不同的功能,其中包括:可编程用于执行不同的功能,其中包括:n n纯粹的运算放大器纯粹的运算放大器- -连续模式;连续模式;n n单位增益缓冲区单位增益缓冲区- -连续模式;连续模式;n n可编程增益放大器(可编程增益放大器(ProgrammableGainAmplifierProgram

40、mableGainAmplifier,PGAPGA)- -连续模式;连续模式;n n互阻放大器(互阻放大器(TransimpedanceTransimpedanceAmplifierAmplifier,TIATIA)(也称为)(也称为电流电流- -电压转换器)电压转换器)- -连续模式;连续模式;n n上上/ /下混频器下混频器- -连续模式;连续模式;n n采样和保持混频器采样和保持混频器(NRZS/H)-(NRZS/H)-开关电容模式;开关电容模式;n n一阶模拟一阶模拟- -数字调制器数字调制器- -开关电容模式;开关电容模式;PSoC3/5模拟子系统模拟子系统-可编程可编程SC/CT模

41、块模块SC/CT模块的操作模式通过在SC0.3_CR1寄存器的MODE2:0位来设置。 SC/CT操作模式操作模式SC_MODE2:0操作模式000纯粹放大器模式001互阻放大器模式010连续时间混频器011离散事件混频器-NRZS/H100单位增益放大器101一阶调制器110可编程增益放大器PGA111跟踪和保持放大器可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器 n n纯粹的放大器有输入和输出用纯粹的放大器有输入和输出用于连接到内部或外部信号,所有其于连接到内部或外部信号,所有其它的电阻和电容不与放大器连接。它的电阻和电容不与放大器连接。这个放大器共有两级,轨至轨的折这个放大器共

42、有两级,轨至轨的折叠级联的第一级和叠级联的第一级和A A类第二级。类第二级。单位增益的带宽大于单位增益的带宽大于6MHz6MHz,输出驱动电流最大为输出驱动电流最大为650uA650uA。这对于。这对于缓冲内部的信号(比如缓冲内部的信号(比如DACDAC输出)输出)是足够的,驱动的外部负载大于是足够的,驱动的外部负载大于7.5k7.5k。 纯粹放大器的配置纯粹放大器的配置可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器 SC/CT模模块驱动控制控制设置置SC_DRIVE1:0I_load(Ua)00280014201053011650为了提供不同的负载条件,补偿电容和输出级驱动能力是可

43、编程的。来自信号摆率和时间所要求的最小的抖动率及负载电容决定了应用。这些是稳定性最基本的考虑。可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器其中:Cload包括放大器输出节点的电容和外部容性负载。来自模拟总线布线的标称为10pF的电容用于内部负载。如下表,根据SC0.3_CR1:0寄存器位的输出抖动率要求,设置SC_DRIVE1:0驱动控制。可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器n n这个模块有三个控制选项用于修改闭环带宽和稳定这个模块有三个控制选项用于修改闭环带宽和稳定性:性:n n通过放大器第一级的电流(通过放大器第一级的电流(BIAS_CONTROLBIAS_

44、CONTROL),),n n运放输入和输出之间密勒电容(运放输入和输出之间密勒电容(SC_COMP1:0SC_COMP1:0),),n n输出和负输入端之间的反馈电容(输出和负输入端之间的反馈电容(SC_REDC1:0SC_REDC1:0),),可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器n n1 1BIAS_CONTROLBIAS_CONTROLn n该选项将通过放大器级的电流加倍(设置该选项将通过放大器级的电流加倍(设置SC0.3_CR20SC0.3_CR20寄存器位)。连续模式下的寄存器位)。连续模式下的ACAC开环稳定开环稳定性性分析表明,即这个选项设置为分析表明,即这个选

45、项设置为1 1,然后使用电容选项,然后使用电容选项控制带宽控制带宽/ /稳定性,一旦电路稳定后,比在第一级设置小稳定性,一旦电路稳定后,比在第一级设置小电流将获得更大的整体带宽。电流将获得更大的整体带宽。可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器n n 2 2SC_COMP1:0SC_COMP1:0n n 设置放大器内的补偿电容。该设置直接影响放大器设置放大器内的补偿电容。该设置直接影响放大器的带宽增益。下表给出了放大器的输入和输出之间的的带宽增益。下表给出了放大器的输入和输出之间的密勒电容的选择。密勒电容的选择。密勒密勒电容的容的选择SC_COMP1:0Cmiller(pF)0

46、01.30012.60103.90115.20可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器n n3 3SC_REDC1:0SC_REDC1:0n n输出和负反馈直接的反馈电容的选择用于控制稳输出和负反馈直接的反馈电容的选择用于控制稳定性。取决于连续时间配置,这个选项通常可以产生定性。取决于连续时间配置,这个选项通常可以产生更高的频率零点和更低的频率极点,这样就可以降低更高的频率零点和更低的频率极点,这样就可以降低整体的带宽,增加了单位增益频率上的相位裕度。整体的带宽,增加了单位增益频率上的相位裕度。可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器如下表所示,这个电容通过如下

47、表所示,这个电容通过SC0.3_CR3:2SC0.3_CR3:2寄存器位寄存器位来设置值。来设置值。CFB的的设置置SC_REDC1:0CFB(pF)000.00011.30100.85112.15可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器如下表,给出了每种模式下的推荐的稳定性设置。如下表,给出了每种模式下的推荐的稳定性设置。对于对于TIATIA模式,模拟全局负载的模型是:在输入模式,模拟全局负载的模型是:在输入10pF10pF电容电容和和150150开关电容阻抗,加入额外的开关电容阻抗,加入额外的40pF40pF电容的输入用来电容的输入用来建建模输入二极管电容。模输入二极管电容

48、。可编程可编程SC/CT模块模块-单纯的放大器单纯的放大器推荐的推荐的稳定性定性设置置SC_MODE2:0操作模式BIAS_CONTROLSC_COMP1:0SC_REDC1:0001互阻放大器模式133010连续时间混频器121011离散事件混频器-NRZS/H120100单位增益放大器120101一阶调制器10110可编程增益放大器PGA详见后面111跟踪和保持放大器120可编程可编程SC/CT模块模块-单位增益单位增益 n n如下图,单位增益缓冲区是一个纯粹的放大器,其如下图,单位增益缓冲区是一个纯粹的放大器,其输出直接连接到反向输入,增益为输出直接连接到反向输入,增益为1.001.00

49、。大于。大于6MHz6MHz有有- -3dB3dB带宽。带宽。 单位增益放大器用于一个内单位增益放大器用于一个内部产生的高输出阻抗的信号,比部产生的高输出阻抗的信号,比如电压如电压DACDAC输出,要求驱动一个输出,要求驱动一个负载,或者当一个高阻抗外部源负载,或者当一个高阻抗外部源要求驱动一个片上的负载,比如:连续时间混频器。要求驱动一个片上的负载,比如:连续时间混频器。单位增益放大器单位增益放大器可编程可编程SC/CT模块模块-可编程增益放大器可编程增益放大器 PGAPGA放大一个内部或外部的信号。放大一个内部或外部的信号。PGAPGA能配置成能配置成运行在反相和非反相模式。运行在反相和非

50、反相模式。PGAPGA能配置成正和负增益能配置成正和负增益分别高达分别高达5050和和4949,可以通过调整,可以通过调整R1R1和和R2R2来改变增益。来改变增益。下图给出了下图给出了PGAPGA的结构图。通过切换输入复用器上的结构图。通过切换输入复用器上的共享选择值来改变其同相和反相。的共享选择值来改变其同相和反相。 PGA的结构图的结构图可编程可编程SC/CT模块模块-可编程增益放大器可编程增益放大器n n表给出了增益和带宽的对应关系。表给出了增益和带宽的对应关系。PGAPGA应用于输入信号不够应用于输入信号不够大,能达到大,能达到ADCADC的分辨率,的分辨率,或者其它或者其它SC/C

51、TSC/CT块动态范围。块动态范围。增益是实时调整,增益是实时调整,包括改变包括改变PGAPGA的增益。的增益。增益带宽16.0MHz24340kHz48220kHz50215kHz可编程可编程SC/CT模块模块-可编程增益放大器可编程增益放大器n n PGAPGA能被配置为正向增益或者反向增益的结构,或能被配置为正向增益或者反向增益的结构,或者差分放大器的一半。下表给出了在寄存器者差分放大器的一半。下表给出了在寄存器SCL0.3_CR1SCL0.3_CR1的的SC_GAIN5SC_GAIN5位来确定增益。位来确定增益。表表 PGA增益配置增益配置SC_GAINGAIN0反向(-RFB/RIN

52、)1非反向(1+RFB/RIN)可编程可编程SC/CT模块模块-可编程增益放大器可编程增益放大器(c)差分配置(a)正向增益(b)负向增益图6.16PGA不同增益配置可编程可编程SC/CT模块模块-可编程增益放大器可编程增益放大器n n上图给出了不同增益配置的符号描述。如上图上图给出了不同增益配置的符号描述。如上图(c)(c),差分放大器使用两个背对背的放大器连接而成。差分放大器使用两个背对背的放大器连接而成。RLADRLAD是是SCSC模块的外部元件,低阻抗用来减少增益误差。当不使模块的外部元件,低阻抗用来减少增益误差。当不使用差分模式时,将用差分模式时,将R RININ连接到模拟或全局布线

53、资源,连接到模拟或全局布线资源,R RLADLAD有很高的阻抗减少增益误差。差分放大器的输出有很高的阻抗减少增益误差。差分放大器的输出为:为:输出的共模电压包含在输入的共模电压内,表示为:可编程可编程SC/CT模块模块-可编程增益放大器可编程增益放大器下表下表给出了出了PGA稳定性参数定性参数设置。置。SC_RVAL2:0R20_40B正向增益BIAS_CONTROLSC_COMP1:0SC_REDC1:00011200111201021211121211004101101410111081011118101100016111100116111可编程可编程SC/CT模块模块-可编程增益放大器可

54、编程增益放大器SC_RVAL2:0R20_40B正向增益BIAS_CONTROLSC_COMP1:0SC_REDC1:0101024113101132113110024102110148110111025102111150110可编程可编程SC/CT模块模块-互阻放大器互阻放大器互阻放大器(互阻放大器(TransimpedanceTransimpedance Amplifier,TIAAmplifier,TIA),也称),也称为电流为电流- -电压转换器,将电流转换成电压的模块,图给出电压转换器,将电流转换成电压的模块,图给出了互阻放大器的符号图。典型的应用包括用电压测量电路了互阻放大器的符号

55、图。典型的应用包括用电压测量电路或仪器测量电流,或者建立一个电流控制的电压源。或仪器测量电流,或者建立一个电流控制的电压源。 互阻放大器符号互阻放大器符号可编程可编程SC/CT模块模块-互阻放大器互阻放大器n n下表给出了反馈电阻的设置对应关系。下表给出了反馈电阻的设置对应关系。 SC_RVAL(二进制)Rfb(k)000200013001040011601001201012501105001111000可编程可编程SC/CT模块模块-互阻放大器互阻放大器n n表表 给出了反馈电容的设置对应关系给出了反馈电容的设置对应关系SC_REDC1:0CFB(pF)000.00011.30103.301

56、14.60可编程可编程SC/CT模块模块-互阻放大器互阻放大器TIATIA在连续模式下使用内部的反馈电阻将电流转换在连续模式下使用内部的反馈电阻将电流转换成电压。放大器的电压输出和输入电流成正比,对于成电压。放大器的电压输出和输入电流成正比,对于电流输入电流输入IinIin,输出电压,输出电压VoutVout为:为:其中:为反馈电阻。的范围为其中:为反馈电阻。的范围为20k20k到到1M1M之间。之间。可编程可编程SC/CT模块模块-互阻放大器互阻放大器互阻放大器的带宽由反馈电阻和与反馈电阻并联的电容确定。-3dB频率带宽表示为:可编程可编程SC/CT模块模块-连续时间混频器连续时间混频器 下

57、图给出了连续时间混频器的配置。它在正相单位增益和反向单位增益之间进行切换。最高的切换频率为1MHz。 连续时间混混频器的配置器的配置可编程可编程SC/CT模块模块-连续时间混频器连续时间混频器n n 连续时间模式用于实现上转换,这是由于相对于采样连续时间模式用于实现上转换,这是由于相对于采样混频器来说,它提供了更高的转换增益。混频器来说,它提供了更高的转换增益。 在在CTCT混频器内,混频器内,FCLK+FINFCLK+FIN的信号幅度和的信号幅度和FCLK-FINFCLK-FIN的信号幅度是一样的,然而在采样模式下,在两个配置间的信号幅度是一样的,然而在采样模式下,在两个配置间有衰减。有衰减

58、。下图给出了输入信号为下图给出了输入信号为200kHz200kHz,载波为,载波为255kHz255kHz的波形的波形图。图。可编程可编程SC/CT模块模块-连续时间混频器连续时间混频器连续时间混频器的波形连续时间混频器的波形混频器输出频谱包括455kHz和55kHz,N*FCLKFIN(N为奇数)等。上变换通过滤出所希望的输入频率和调制频率混合的谐波来实现。可编程可编程SC/CT模块模块-连续时间混频器连续时间混频器n n对于连续时间的混频器模式包括控制采样函数和对于连续时间的混频器模式包括控制采样函数和在反相增益中设置电阻值完成。在反相增益中设置电阻值完成。 可编程可编程SC/CT模块模块

59、-连续时间混频器连续时间混频器n n表给出了表给出了CTCT混频器的混频器的采样配置,采样配置,n n表给出了表给出了CTCT混频器的混频器的输入电阻设置。输入电阻设置。 SC_DYN_CNTRL配置0反相放大器,增益为11单位增益缓冲区R20_40BRMIX040k120k可编程可编程SC/CT模块模块-采样混频器采样混频器采样混频本质上是非归零采样和保持电路,其响应采样混频本质上是非归零采样和保持电路,其响应速度很快。速度很快。混频器的输出可以驱动片外的陶瓷滤波器(比如混频器的输出可以驱动片外的陶瓷滤波器(比如455kHzMurata455kHzMurataCerafilCerafil),

60、或者驱动片上的模拟布线连接),或者驱动片上的模拟布线连接的内部的内部ADCADC,为了使,为了使ADCADC正确的采样混频器的输出,用正确的采样混频器的输出,用于于ADCADC的混频器的采样时钟是相同的。的混频器的采样时钟是相同的。采样混频器用于向下混频。下变换通过滤出所希望采样混频器用于向下混频。下变换通过滤出所希望的输入频率和调制频率混合的谐波来实现。的输入频率和调制频率混合的谐波来实现。可编程可编程SC/CT模块模块-采样混频器采样混频器下面详细分析离散时间采样混频器原理,图给出下面详细分析离散时间采样混频器原理,图给出了简化结构。了简化结构。 简化结构简化结构可编程可编程SC/CT模块

61、模块-采样混频器采样混频器非归零采样和保持通过切换积分电容实现。非归零采样和保持通过切换积分电容实现。 C1C1或者或者C4C4总能采样输入信号,而其它被运算放大器总能采样输入信号,而其它被运算放大器积分。积分。FinFin信号的采样频率低于信号的采样频率低于FinFin信号频率。信号频率。混频器配置成混频器配置成FoutFout与在输入时钟上升沿下的新值进行与在输入时钟上升沿下的新值进行积分。积分。 可编程可编程SC/CT模块模块-采样混频器采样混频器采样时钟频率大于采样时钟频率大于1/21/2的的FinFin信号频率,输出是输入和信号频率,输出是输入和采样频率加上偏置元件的差值。当采样频率

62、低于采样频率加上偏置元件的差值。当采样频率低于1/21/2的的FinFin信号频率时,输出是输入和采样频率最大整数倍(小信号频率时,输出是输入和采样频率最大整数倍(小于于FinFin信号频率)的差值信号频率)的差值。对于给定的输入载波频率对于给定的输入载波频率FinFin,采样时钟频率,采样时钟频率FclkFclk,和,和期望的输出频率期望的输出频率FoutFout,并且规定,并且规定FclkFclk小于小于4MHz4MHz,Finin小于14MHz。可编程可编程SC/CT模块模块-采样混频器采样混频器如果如果:,则 (1)如果:,则(2)综上所述:可编程可编程SC/CT模块模块-采样混频器采

63、样混频器n n下图给出了下图给出了N=1N=1时的混频器的输出(时的混频器的输出(Fin=1.36MHzFin=1.36MHz,FclkFclk=1.28MHz=1.28MHz)。)。下图给出了下图给出了N=3N=3时的混频器的输出(时的混频器的输出(Fin=13.6MHzFin=13.6MHz, FclkFclk=3.2MHz=3.2MHz)。)。图图 N=1时的混频器的输出时的混频器的输出 图图 N=3时的混频器的输出时的混频器的输出可编程可编程SC/CT模块模块-采样混频器采样混频器n n 对于这种配置的选项是参考源和时钟分频选项。这对于这种配置的选项是参考源和时钟分频选项。这个选项存在

64、或者使用外部参考源电压或者内部的参考个选项存在或者使用外部参考源电压或者内部的参考地。如下表所示,这个选项使用地。如下表所示,这个选项使用SC_GNDVREFSC_GNDVREFSC0.3_CR2SC0.3_CR2信号控制。信号控制。SC_GNDVREF放大器/电容参考0外部电压1内部地可编程可编程SC/CT模块模块-采样混频器采样混频器使用内部的地连接,将引起步长增加和减少的不一使用内部的地连接,将引起步长增加和减少的不一 致,这是由于负输入端降到地以下时,放大器响应不一致,这是由于负输入端降到地以下时,放大器响应不一样所引起的。避免这个畸变,使用外部参考源选项,将其样所引起的。避免这个畸变

65、,使用外部参考源选项,将其设置为设置为500mV500mV或者更多。或者更多。离散混频器的结果是在输入时钟的上升沿和下降离散混频器的结果是在输入时钟的上升沿和下降沿,有一个新的保持值时,输出就被改变。如下表所示,沿,有一个新的保持值时,输出就被改变。如下表所示,SC_DIVSC_DIV控制信号能用来指定在输入时钟上升沿值改变。控制信号能用来指定在输入时钟上升沿值改变。表表 用于采用于采样和保持的和保持的时钟分分频选项SC_DIVSC_CLOCK要求0SC_CLK设置为所期望采样率的一半1SC_CLK设置为采样率可编程可编程SC/CT模块模块- -调制器调制器 n nSC/CTSC/CT块能编程

66、作为开关电容积分器,用于在高过采块能编程作为开关电容积分器,用于在高过采样率下的一阶调制器环路。积分器的输出和参考电平相比样率下的一阶调制器环路。积分器的输出和参考电平相比较,然后返回到反馈环的输入。在高采样率下控制调制器较,然后返回到反馈环的输入。在高采样率下控制调制器的输出,因此需要抽取滤波器将信号带宽降到感兴趣的范的输出,因此需要抽取滤波器将信号带宽降到感兴趣的范围内。围内。 离散时间离散时间-调制器块图调制器块图可编程可编程SC/CT模块模块- -调制器调制器n n通过放在积分电容的复位开关,调制器能被用于增通过放在积分电容的复位开关,调制器能被用于增量调制器。来自第一级调制器的采样数

67、据的精度由下面量调制器。来自第一级调制器的采样数据的精度由下面几个因素决定:几个因素决定:n n最大输入信号带宽;最大输入信号带宽;n n过采样率;过采样率;n n采样时钟的抖动。采样时钟的抖动。过采样率时钟最高为过采样率时钟最高为4MHz4MHz。低于。低于x64x64的过采样不产的过采样不产生稳定的输出,下表给出了系统仿真给出的期望性能。生稳定的输出,下表给出了系统仿真给出的期望性能。 可编程可编程SC/CT模块模块- -调制器调制器系系统仿真仿真给出的期望性能出的期望性能最高输入信号频率过采样率OSR(fsamp/fsig/2)采样时钟频率(MHz)抽取后的SNR(最大输入信号下)16k

68、Hz642.04854dB8kHz1282.04864dB32kHz644.09654dB16kHz1284.09664dB可编程可编程SC/CT模块模块- -调制器调制器n n下图给出了开关电容第一级调试器的配置下图给出了开关电容第一级调试器的配置(a) 采样周期采样周期可编程可编程SC/CT模块模块- -调制器调制器(b) 积积分分周周期期图图 开关电容第一级调制器的配置开关电容第一级调制器的配置可编程可编程SC/CT模块模块-跟踪和保持放大器跟踪和保持放大器 跟踪和保持放大器模式使用单位增益缓冲区放大器跟踪和保持放大器模式使用单位增益缓冲区放大器实现。下图给出跟踪和保持模块图。实现。下图

69、给出跟踪和保持模块图。 图 跟踪和保持模跟踪和保持模块图可编程可编程SC/CT模块模块-跟踪和保持放大器跟踪和保持放大器n跟踪和保持模式跟踪输入5.5V的1%的步长时间小于1us。来自采样开关的电荷注入误差小于1mV。保持丢失小于0.2mV。下表给出了保持和跟踪的放大器控制。表保持和跟踪的放大器控制SC_DYN_CNTLVOUT0跟踪VIN1保持采样值PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块 n nPSoCPSoC提供了提供了4 4个数个数- -模转换器模转换器DACDAC。每个。每个DACDAC为为8 8位,位,能配置成电压或电流输出。能配置成电压或电流输出

70、。DACDAC支持支持CapsenseCapsense,电源管理,电源管理和波形生成等。下图给出了和波形生成等。下图给出了DACDAC的模块图。的模块图。 图图 DAC模块内部结构模块内部结构PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n其特点主要包括:n n可调可调255255级步长的电压或电流输出;级步长的电压或电流输出;n n可编程的台阶大小(取决于范围);可编程的台阶大小(取决于范围);n n8 8位标定用于校正位标定用于校正25%25%的增益误差;的增益误差;n n电流输出模式下,源(电流输出模式下,源(sourcesource)和吸收)和吸收(si

71、nk)(sink)选项;选项;n n电流模式下,电流模式下,8Msps8Msps的转换率;电压模式下,的转换率;电压模式下,1Mbps1Mbps的转换的转换率。率。n n单调性单调性PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n下表给出了下表给出了DACDAC寄存器组寄存器组 。表DAC寄存器组寄存器名字功能特点通用寄存器DACx_CR0DAC控制寄存器0选择模式,范围和速度DACx_CR1DAC控制寄存器1控制UDB,方向和复位DACx_SW0DAC全局布线寄存器0DAC电压输出布线DACx_SW1DAC本地总线布线寄存器1DAC电压输出布线DACx_SW2

72、DAC复用开关布线寄存器2DAC电流/电压输出布线DACx_SW3DAC全局布线寄存器3DAC电流输出布线DACx_STROBEDAC选通寄存器控制选通DACDACx_DDAC数据寄存器DACx_TRDAC标定寄存器修正DAC模块PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n通过设置寄存器通过设置寄存器DACx_CR04DACx_CR04,使,使DACDAC工作在电流工作在电流模式下,输出电流范围为模式下,输出电流范围为0-32uA,0-256uA0-32uA,0-256uA和和0-2.048mA0-2.048mA。IDACIDAC能通过配置寄存器能通过配置寄

73、存器DACx_CR12DACx_CR12,将转换器配,将转换器配置为源电流(即从输出端向外电路流出的负载电流)和置为源电流(即从输出端向外电路流出的负载电流)和吸收电流(外电路流入输出端的负载电流)模式。吸收电流(外电路流入输出端的负载电流)模式。此外,也可以使用此外,也可以使用UDBUDB输入来控制源和吸收模式。输入来控制源和吸收模式。通过使用通过使用DACx_CR13DACx_CR13位来使能使用位来使能使用UDBUDB输入。输入。PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n通过设置寄存器通过设置寄存器DACx_CR04DACx_CR04,使,使DACD

74、AC工作在电工作在电压模式下,压模式下,DACDAC输出电流通过电阻连接,输出电压的输出电流通过电阻连接,输出电压的范围通过设置寄存器范围通过设置寄存器DACx_CR03:2DACx_CR03:2,将其电压输出范,将其电压输出范围设置为围设置为0-1.024V0-1.024V或者或者0-4.096V0-4.096V。在电压模式下,任何连接到在电压模式下,任何连接到DACDAC输出端的负载应输出端的负载应该是纯容性的(该是纯容性的(VDACVDAC的输出不被缓冲)。的输出不被缓冲)。PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n在电压模式下,转换率最高为在电压模

75、式下,转换率最高为1Mbps1Mbps。此外,在。此外,在4V4V模式下比模式下比1V1V模式转换速度要慢,这是由于到模式转换速度要慢,这是由于到VssaVssa的的电电阻负载比阻负载比1V1V的负载大的负载大4 4倍。在倍。在4V4V模式下,最高转换速度模式下,最高转换速度为为250kbps250kbps。下图给出了下图给出了DACDAC的输出选项,通过两个独立的复用的输出选项,通过两个独立的复用开关得到。这些复用开关通过开关得到。这些复用开关通过DAC_SWxDAC_SWx寄存器来控寄存器来控制。制。PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块图图 DAC互联

76、结构互联结构PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n nDACDAC中可用中可用8 8个标定位来消除个标定位来消除DACDAC的增益误差。的增益误差。cal7:0cal7:0的默认输出是的默认输出是1000000010000000。比默认值低将降低增益;。比默认值低将降低增益;反之增加。使用反之增加。使用DACx_TRDACx_TR寄存器完成标定,标定的最小寄存器完成标定,标定的最小分辨率是分辨率是 LSBLSB的的0.50.5,即表示有可以通过标定来修正,即表示有可以通过标定来修正25%25%的的增益误差。增益误差。采样标定过程如下:采样标定过程如下:n

77、n 1 1)固定输入码)固定输入码=255=255,CalCal码码=128=128,捕获,捕获DACDAC的输出的输出( (dac_vout/dac_ioutdac_vout/dac_iout) ); n n 2 2)确定)确定LSBLSB的增益误差;的增益误差;n n 3 3)使用正确的标定码,捕获)使用正确的标定码,捕获DACDAC的输出的输出( (dac_vout/dac_ioutdac_vout/dac_iout) )。PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n通过将两个电流通过将两个电流DACDAC的输出求和,可以实现更高分的输出求和,可以实现

78、更高分辨率的电流输出,如图所示,每一个有不同的输入部辨率的电流输出,如图所示,每一个有不同的输入部分。分。图图 高分辨率高分辨率DAC结构结构PSoC3/5模拟子系统模拟子系统 -数数/模转换器模转换器DAC模块模块n n如下图所示,可以使用两个如下图所示,可以使用两个8 8位的位的DACDAC实现实现1212位的位的DACDAC分辨率。分辨率。n n 1 1)一个)一个DACDAC范围是范围是0-2.048mA0-2.048mA,第二个范围,第二个范围0-32uA0-32uA。n n 2 2)最低范围)最低范围DACDAC的中间的中间4 4位被输入作为较低位被输入作为较低4 4位。位。图使用

79、两个图使用两个8位位DAC实现实现12位位DAC的例子的例子CapSense模块模块-CapSense模块的结构模块的结构n nCapSenseCapSense(电容感应)系统提供了丰富和高效的手(电容感应)系统提供了丰富和高效的手段来测量电容量,比如触摸感应按键,滑动块,接近度段来测量电容量,比如触摸感应按键,滑动块,接近度检测。检测。CapSenseCapSense系统使用系统资源配置,包括一些用于系统使用系统资源配置,包括一些用于CapSenseCapSense硬件功能。硬件功能。n nCapSense模块模块-CapSense模块的结构模块的结构n n该模块的主要特点有:该模块的主要特

80、点有:n n同时支持扫描两个电容传感器;同时支持扫描两个电容传感器;n n能实现不同的电容感应技术(能实现不同的电容感应技术(CSDCSD,CSACSA和其它);和其它);n n可配置的低通滤波器来消除开关噪声,用于精确测量;可配置的低通滤波器来消除开关噪声,用于精确测量;n n用于更快速测量的带有高驱动模式的参考缓冲区用于更快速测量的带有高驱动模式的参考缓冲区CapSense模块模块-CapSense模块的结构模块的结构n n下图给出了电容感应模块的结构图下图给出了电容感应模块的结构图图图 电容感应模块图电容感应模块图CapSense模块模块-CapSense模块的结构模块的结构n nCap

81、SenseCapSense模块包括:模块包括:n n参考驱动;参考驱动;n n低通滤波器;低通滤波器;n n模拟复用总线;模拟复用总线;n nGPIOGPIO部分;部分;CapSense模块模块-CapSense模块的结构模块的结构下面对这几部分的功能进行详细的介绍:下面对这几部分的功能进行详细的介绍:n n 1 1参考驱动参考驱动这个驱动器用来快速的初始化网络到独立于供电电源这个驱动器用来快速的初始化网络到独立于供电电源的一个电压。这个能力加速了电容扫描,并且改善了电源的一个电压。这个能力加速了电容扫描,并且改善了电源抑制比(抑制比(PowerSupplyRejectionRatioPowe

82、rSupplyRejectionRatio,PSRRPSRR)。)。参考电平选择为参考电平选择为1.0V1.0V或者或者1.2V(1.2V(通过通过CAPSX_CFG0CAPSX_CFG0寄寄存存器的器的refsetrefset位进行设置位进行设置) )。两个参考驱动是独立运行的;一。两个参考驱动是独立运行的;一个驱动器连到个驱动器连到AMUXBUSLAMUXBUSL,另一个驱动器连到,另一个驱动器连到AMUXBUSRAMUXBUSR。通过设置。通过设置CAPSX_CFG0CAPSX_CFG0寄存器的寄存器的out_enout_en位,位,将驱动器连接到将驱动器连接到AMUXBUSAMUXBU

83、S。CapSense模块模块-CapSense模块的结构模块的结构参考驱动支持普通和高驱动模式,通过设置参考驱动支持普通和高驱动模式,通过设置CAPSX_CFG0CAPSX_CFG0寄存器的寄存器的boostboost位选择驱动模式。位选择驱动模式。n n在普通模式下,在在普通模式下,在600ns600ns内驱动电容最大到内驱动电容最大到100pF100pF; n n在高驱动模式下,在在高驱动模式下,在15us15us内驱动电容最大到内驱动电容最大到30pF30pF。CapSense模块模块-CapSense模块的结构模块的结构n n2 2低通滤波器低通滤波器提供两个可调低通滤波器(提供两个可

84、调低通滤波器(LowPassFilterLPFLowPassFilterLPF)。)。每个每个LPFLPF通过通过2:12:1复用开关选择输入。复用开关选择输入。n n在左侧,在左侧,LPFLPF输入是输入是AMUXBUSLAMUXBUSL和和AGL0AGL0;n n在右侧,在右侧,LPFLPF输入是输入是AMUXBUSRAMUXBUSR和和AGR0AGR0。使用使用LPF.CR0LPF.CR0寄存器的寄存器的swin1:0swin1:0位选择位选择LPFLPF的输入。的输入。通过开关将通过开关将LPFLPF的输出连接到的输出连接到abusl0abusl0和和abusr0abusr0。可调的。

85、可调的LPFLPF允许用户选择允许用户选择R R值为值为200k200k或者或者1000k1000k,C C值为值为5pF5pF或或者为者为10pF10pF。LPFx_CR0LPFx_CR0寄存器内的寄存器内的rselrsel和和cselcsel位用来选择电阻和电位用来选择电阻和电容。容。LPFLPF的控制寄存器为的控制寄存器为LPF0_CR0LPF0_CR0和和LPF1_CR0LPF1_CR0。CapSense模块模块-CapSense模块的结构模块的结构3 3模拟复用总线模拟复用总线 所有所有GPIOGPIO引脚,除了引脚,除了SIOSIO和和USBUSB引脚均支持电容感应引脚均支持电容感

86、应操作。用于电容感应的基本模拟复用总线是操作。用于电容感应的基本模拟复用总线是AMUXBUSAMUXBUS,该总线有两个网络该总线有两个网络(AMUXBUSL(AMUXBUSL和和AMUXBUSR)AMUXBUSR)用于两个用于两个同步的感应操作。这些也能被缩短来生成一个单个网络,同步的感应操作。这些也能被缩短来生成一个单个网络,该网络连接到所有的该网络连接到所有的GPIOGPIO。CapSense模块模块-CapSense模块的结构模块的结构AMUXBUSLAMUXBUSL和和AMUXBUSRAMUXBUSR网络连接到各自一半网络连接到各自一半的的GPIOGPIO,支持电容感应方法的所有特征

87、。,支持电容感应方法的所有特征。许多电容感应算法都使用许多电容感应算法都使用AMUXBUSAMUXBUS网络、网络、AMUXBUSRAMUXBUSR的模拟全局网络的模拟全局网络AGR0AGR0和和AMUXBUSLAMUXBUSL的的模拟全局网络模拟全局网络AGL0AGL0,提供到参考源的反馈。,提供到参考源的反馈。这个反馈通常是来自于外部电容连接的引脚,这个这个反馈通常是来自于外部电容连接的引脚,这个电容用于积分或者调制电容。电容用于积分或者调制电容。CapSense模块模块-CapSense模块的结构模块的结构n n4 4GPIOGPIO配置配置下图给出了下图给出了GPIOGPIO结构。端口

88、模拟全局复用寄存器结构。端口模拟全局复用寄存器(PRTx_AMUXPRTx_AMUX)被用来连接端口)被用来连接端口引脚到模拟复用总线。设置引脚到模拟复用总线。设置CAPSx_CFG1CAPSx_CFG1寄存器的寄存器的io_ctrl1:0io_ctrl1:0来使能上拉或下拉。来使能上拉或下拉。图图 GPIO结构结构CapSense模块模块-CapSense模块的结构模块的结构n n下图给出了在两种配置的感应电容的切换,用来将下图给出了在两种配置的感应电容的切换,用来将电容转换成相对应的电阻进行测量。电容转换成相对应的电阻进行测量。(a) 通过感应电阻对通过感应电阻对MUXBUS充电充电Cap

89、Sense模块模块-CapSense模块的结构模块的结构(b) 通过感应电阻对通过感应电阻对MUXBUS放电放电图图 两种配置的感应电容的切换两种配置的感应电容的切换CapSense模块模块-CapSense模块的结构模块的结构n n用下式计算等效电阻:用下式计算等效电阻:n n其中:其中:n nCs=Cs=传感器电容传感器电容n n1,2=1,2=非重叠的时钟,可以用伪随机序列发生器产生非重叠的时钟,可以用伪随机序列发生器产生 (pseudorandomsequence,PRSpseudorandomsequence,PRS)。)。n nfs fs= =时钟频率时钟频率n nCmodCmod

90、= =外部调制电容;外部调制电容;电容感应的方法通过将电容感应的方法通过将GPIOGPIO引脚在高低电平之间引脚在高低电平之间切换实现。硬件的剩余部分配置成合适的极性来匹配上切换实现。硬件的剩余部分配置成合适的极性来匹配上拉或下拉电阻。拉或下拉电阻。CapSense模块模块-CapSense模块的结构模块的结构n n电容感应时钟用于切换。可以使用两种方法来产生电容感应时钟用于切换。可以使用两种方法来产生CapSenseCapSense时钟:时钟:n n1 1)UDBUDB产生两个全局时钟产生两个全局时钟( (caps_dsi_lftcaps_dsi_lft和和caps_dsi_rtcaps_d

91、si_rt) ),并且布线到各自一侧的,并且布线到各自一侧的I/OI/O引脚的引脚的GPIOGPIO逻逻辑。设置辑。设置PRTx_CAPS_SELyPRTx_CAPS_SELy 寄存器(基于每端口寄存器(基于每端口/ /每每引引脚模式)来选择用于在测量期间切换传感器的全局时脚模式)来选择用于在测量期间切换传感器的全局时钟;钟;n n2 2)到)到I/OI/O引脚的引脚的DSIDSI输出能用于来自输出能用于来自UDBUDB的的电容感应的时钟源。编程电容感应的时钟源。编程PRTx_BIEyPRTx_BIEy 用于输入(每端口用于输入(每端口/ /每引脚),并且清除每引脚),并且清除PRTx_CAP

92、S_SELyPRTx_CAPS_SELy 选择选择DSIDSI输出输出作为电容感应的时钟。作为电容感应的时钟。CapSense模块模块-CapSense模块的结构模块的结构n n注意:静态连接外部的集成电容注意:静态连接外部的集成电容CmodCmod(没有切(没有切换),使用换),使用PRTx_AMUXPRTx_AMUX寄存器将其连接到寄存器将其连接到AMUXBUSAMUXBUS,并且并且PRTx_CAPSPRTx_CAPS_ _SELySELy=0=0,PRTx_BIEyPRTx_BIEy=0=0。n nGPIOGPIO引脚能作为屏蔽电极。屏蔽电极用于帮助在出引脚能作为屏蔽电极。屏蔽电极用于

93、帮助在出现水膜或水滴的情况下,提高操作的可靠性。测量这些影现水膜或水滴的情况下,提高操作的可靠性。测量这些影响因素在屏蔽电极的影响,并且从电容感应按键中消除。响因素在屏蔽电极的影响,并且从电容感应按键中消除。下面讨论的电容感应算法支持屏蔽电容。下面讨论的电容感应算法支持屏蔽电容。n n 不同的电容感应技术(不同的电容感应技术(CSDCSD,CSACSA)使用)使用PSoCPSoC上的很上的很多资源。这些包括多资源。这些包括UDBUDB,比较器和,比较器和V-IDACV-IDAC。电容感应算法电容感应算法 -电容感应电容感应-算法算法n n下图给出了电容感应下图给出了电容感应-(Capsense

94、CapsenseDeltaSigma,CSDDeltaSigma,CSD)的硬件配置。的硬件配置。电容感应算法电容感应算法 -电容感应电容感应-算法算法图图 CSD硬件配置硬件配置电容感应算法电容感应算法 -电容感应电容感应-算法算法n n下图给出了下图给出了CSDCSD算法的波形图。算法的波形图。 图图 CSD算法的波形图算法的波形图电容感应算法电容感应算法 -电容感应电容感应-算法算法n n电容感应电容感应-通过将积分电容的电压保持在目标门通过将积分电容的电压保持在目标门限的附近,并且基于目前的比较器的输出状态对电容进行限的附近,并且基于目前的比较器的输出状态对电容进行充电和放电操作来实现

95、的。充电和放电操作来实现的。感应电容在感应电容在VddVdd和积分电容之间进行连续的切换,用和积分电容之间进行连续的切换,用来在每个切换周期内驱动积分电压升高。来在每个切换周期内驱动积分电压升高。电容感应算法电容感应算法 -电容感应电容感应-算法算法n n 下面给出下面给出CSDCSD算法的具体实现步骤:算法的具体实现步骤:n n 1 1当积分电压达到参考电压时,比较器将使电流当积分电压达到参考电压时,比较器将使电流DACDAC对电容进行放电。对电容进行放电。n n 2 2当电容放电电压低于参考电压时,禁止当电容放电电压低于参考电压时,禁止IDACIDAC,以,以允许电容连续的充电。允许电容连

96、续的充电。n n 3 3当积分电容电压在比较器门限附近波动的时候,当积分电容电压在比较器门限附近波动的时候,在一个间隔内对比较器的低输出进行计数,然后给出感在一个间隔内对比较器的低输出进行计数,然后给出感应电容的测量结果。应电容的测量结果。 电容感应算法电容感应算法 -电容感应电容感应-算法算法n n4 4触摸时感应电容增加,因此等效电阻减少。这样触摸时感应电容增加,因此等效电阻减少。这样就引起流经感应等效电阻的电流增加。就引起流经感应等效电阻的电流增加。n n5 5在触摸时,为了将在触摸时,为了将C Cmodmod的电压保持在的电压保持在V VREFREF附近,附近,IDACIDAC的吸收电

97、流用于长期补偿较大的感应电容。这样就的吸收电流用于长期补偿较大的感应电容。这样就相应的改变计数值。相应的改变计数值。n n一个一个PRSPRS时钟用来替换固定的时钟源来驱动预充电时钟用来替换固定的时钟源来驱动预充电开关。与固定时钟源相比较,开关。与固定时钟源相比较,PRSPRS时钟降低了感应电容时钟降低了感应电容上上的辐射噪声,因此改善了的辐射噪声,因此改善了EMIEMI和干扰性能。和干扰性能。电容感应算法电容感应算法 -电容感应电容感应-算法算法PSoCPSoC也支持其它也支持其它CSDCSD算法:算法: 1 1)基于比较器的输出,开关电容电阻用来对积分电)基于比较器的输出,开关电容电阻用来

98、对积分电容进行充电,外部的泄漏电阻器用来对积分电容进行放容进行充电,外部的泄漏电阻器用来对积分电容进行放电。电。 2 2)基于比较器的输出,翻转极性,)基于比较器的输出,翻转极性,IDACIDAC就能被用于就能被用于对积分电容进行充电,开关电容电阻将积分电容对地进对积分电容进行充电,开关电容电阻将积分电容对地进行放电行放电( (图图7.32(b)7.32(b)。电容感应算法电容感应算法 -电容感应电容感应SAR算法算法n n如下图,电容感应如下图,电容感应SARSAR(CapsenseCapsenseSuccessiveSuccessiveApproximationApproximation,

99、CSACSA)算法,使用开关电容电路将电容)算法,使用开关电容电路将电容值转换成电压,然后使用值转换成电压,然后使用ADCADC进行测量。进行测量。电容感应算法电容感应算法 -电容感应电容感应SAR算法算法图图 CSA硬件配置硬件配置电容感应算法电容感应算法 -电容感应电容感应SAR算法算法当使用不同的当使用不同的ADCADC方法时,方法时,CSACSA使用带有计数器,使用带有计数器,IDACIDAC和比较器的典型的单斜率(和比较器的典型的单斜率(single-slopesingle-slope)方法。)方法。 下下图给出了图给出了CSACSA算法的波形图。算法的波形图。 图图 CSA算法波形

100、算法波形电容感应算法电容感应算法 -电容感应电容感应SAR算法算法下面给出了下面给出了CSACSA算法步骤:算法步骤:n n1 1标定标定n n电流送到带有电流送到带有IDACIDAC的总线上,同时,感应电容被时的总线上,同时,感应电容被时钟驱动对地形成开关电容阻抗。钟驱动对地形成开关电容阻抗。IDACIDAC的电流就通过这的电流就通过这个在平均直流电压(有开关纹波)上的开关电容驱动。个在平均直流电压(有开关纹波)上的开关电容驱动。 n nIDACIDAC电流通过电流通过SARSAR方法,在固件的控制下,进行方法,在固件的控制下,进行调整,直到这个电压接近与比较器的限度(调整,直到这个电压接近

101、与比较器的限度(tripleveltriplevel)。)。这个这个IDACIDAC的值就被保存,然后在扫描周期内使用。的值就被保存,然后在扫描周期内使用。电容感应算法电容感应算法 -电容感应电容感应SAR算法算法n n2 2扫描扫描 1 1)外部的积分(调制)电容连接到)外部的积分(调制)电容连接到AMUXBUSAMUXBUS总线,总线,参考源用来设置总线上的初始电压;参考源用来设置总线上的初始电压; 2 2)设置)设置IDACIDAC驱动驱动AMUXBUSAMUXBUS电压到比较器的行程电电压到比较器的行程电平(限度值);平(限度值); 3 3)IDACIDAC电流被降低到比这个电压稍微低

102、一些的程电流被降低到比这个电压稍微低一些的程度,这样就在参考电压和通常所确定的电压之间产生电压度,这样就在参考电压和通常所确定的电压之间产生电压差。基线计数值(差。基线计数值(BaseLineCountBaseLineCount)是没有触摸时的计数)是没有触摸时的计数值,并且和每次扫描的值进行比较。值,并且和每次扫描的值进行比较。电容感应算法电容感应算法 -电容感应电容感应SAR算法算法4 4)当感应电容增加时(比如触摸时),开关电容的)当感应电容增加时(比如触摸时),开关电容的有效阻抗就降低了,这样就进一步降低了确定的电压。有效阻抗就降低了,这样就进一步降低了确定的电压。n n 5 5)当总

103、线上的电压确定后,感应电容就脱离总线,)当总线上的电压确定后,感应电容就脱离总线,同时启动定时器,而一个不同的同时启动定时器,而一个不同的IDACIDAC电流被配置对电流被配置对AMUXBUSAMUXBUS充电;充电;n n6 6)充电到比较器的门限的时间由计算器进行计数。)充电到比较器的门限的时间由计算器进行计数。这个时间和感应电容是成比例的。这个充电时间的变化这个时间和感应电容是成比例的。这个充电时间的变化表示了感应电容的变化。由于充电时间的不同,可以得表示了感应电容的变化。由于充电时间的不同,可以得到不同的计数器,这个计数值反映了电容的变化。到不同的计数器,这个计数值反映了电容的变化。通

104、常有一个可选择的通常有一个可选择的LPFLPF与比较器的一个输入相与比较器的一个输入相连,用来降低来自引脚切换的纹波噪声。连,用来降低来自引脚切换的纹波噪声。LCD直接驱动模块直接驱动模块-LCD驱动接口概述驱动接口概述n nPSoCPSoC提供的液晶显示(提供的液晶显示(LiquidCrystalDisplayLiquidCrystalDisplay,LCDLCD)驱动系统是一个可配置的外设,允许)驱动系统是一个可配置的外设,允许PSoCPSoC设备直设备直接驱动板上接驱动板上LCDLCD。一个。一个LCDLCD驱动模块和每个驱动模块和每个GPIOGPIO相关。相关。 PSoCPSoC驱动器

105、为便携式仪器提供了方便的功耗估计,驱动器为便携式仪器提供了方便的功耗估计,使能不同的使能不同的LCDLCD和降低功耗模式。和降低功耗模式。 LCD直接驱动模块直接驱动模块-LCD驱动接口概述驱动接口概述图图 LCD直接驱动直接驱动LCD直接驱动模块直接驱动模块-LCD驱动接口概述驱动接口概述n n如上图所示,该模块由以下几个部分构成:如上图所示,该模块由以下几个部分构成:n nLCDDACLCDDAC;n nLCDLCD驱动器;驱动器;n nLCDLCD驱动偏置;驱动偏置;n nCPUCPU;n nDMADMA;n nUDBUDB;n nRAMRAM。 LCD直接驱动模块直接驱动模块-LCD驱

106、动接口概述驱动接口概述n n其特性包括:其特性包括: n n直接驱动直接驱动LCDLCD面板;面板;n n支持类型支持类型A A(标准)和类型(标准)和类型B B(低功耗)波形;(低功耗)波形;n n支持宽范围的支持宽范围的LCDLCD偏置(偏置(2V-5.2V2V-5.2V)n n静态的,静态的,1/3,1/4,1/51/3,1/4,1/5的偏置电压电平;的偏置电压电平;n n内部生成偏置电压;内部生成偏置电压;n n最多最多6262个通过公共和段输出;个通过公共和段输出;n n一个高复用率到一个高复用率到1/61/6,用于最大,用于最大1616个背板个背板/ /公共输出;公共输出;LCD直

107、接驱动模块直接驱动模块-LCD驱动接口概述驱动接口概述n n最多最多6161个前面板个前面板/ /段输出,用于静态驱动;段输出,用于静态驱动;n n驱动最多驱动最多736736个段(个段(1616背板背板x46x46前面板);前面板);n n最多最多128128级的软件控制的对比度;级的软件控制的对比度;n n通过通过DMADMA,将显示数据从存储器缓冲区移动到,将显示数据从存储器缓冲区移动到LCDLCD驱驱动器;动器;n n可调可调LCDLCD刷新率刷新率10Hz10Hz到到150Hz150Hz;n n用于负图像(用于负图像(NegativeImageNegativeImage)的反)的反L

108、CDLCD显示;显示;n n三个三个LCDLCD驱动模式,允许优化功率;驱动模式,允许优化功率;n n当当PSoCPSoC在有限活动模式下,可配置在有限活动模式下,可配置LCDLCD驱动器使能;驱动器使能;LCD直接驱动模块直接驱动模块-LCD驱动接口原理及功能驱动接口原理及功能 n nLCDLCD系统使用系统使用LCDDACLCDDAC和显示数据产生用于和显示数据产生用于LCDLCD面板显示产生所希望图像的正确输出电压。面板显示产生所希望图像的正确输出电压。在在LCDDACLCDDAC中设置偏置值和对比度。当驱动中设置偏置值和对比度。当驱动LCDLCD镜面时,用于镜面时,用于LCDLCD驱动

109、的驱动的GPIOGPIO必须选作为公共端或者必须选作为公共端或者段。段。LCD直接驱动模块直接驱动模块-LCD驱动接口原理及功能驱动接口原理及功能n n下面给出了显示数据变成一幅图像的步骤:下面给出了显示数据变成一幅图像的步骤:n n1 1通过一个通过一个/ /多个正确配置的,链接的多个正确配置的,链接的DMADMA交易描交易描述符述符TDTD,显示数据从与,显示数据从与PHUBPHUB(任何可用存储器块)相连(任何可用存储器块)相连的存储缓冲区移动到的存储缓冲区移动到LCDLCD驱动模块。驱动模块。n n2 2每个引脚上的数据,移动到端口数据寄存器,驱每个引脚上的数据,移动到端口数据寄存器,

110、驱动动LCDLCD驱动模块的数据显示输入。这样就可以选择到输出驱动模块的数据显示输入。这样就可以选择到输出引脚的正确电压;引脚的正确电压;LCD直接驱动模块直接驱动模块-LCD驱动接口原理及功能驱动接口原理及功能n n 3 3在在LCDLCD刷新时钟的每个上升沿(刷新时钟的每个上升沿(ENABLE_HIENABLE_HI),),用所有用所有LCDLCD端口数据寄存器加载下一个像素数据集合。端口数据寄存器加载下一个像素数据集合。刷新时钟也布线到刷新时钟也布线到DMADMA控制器,作为先前配置的控制器,作为先前配置的TDTD的请的请求线(行)。求线(行)。n n 4 4每次需要改变每次需要改变LC

111、DLCD显示驱动电压时,使用显示驱动电压时,使用DMADMA将将下一个像素数据集合从存储缓冲区移动到端口数据寄存下一个像素数据集合从存储缓冲区移动到端口数据寄存器。并且立即加载下一个像素数据集合到器。并且立即加载下一个像素数据集合到LCDLCD端口数据端口数据寄存器,而在写端口数据寄存器前,寄存器,而在写端口数据寄存器前,DMATDDMATD需要一些需要一些时钟周期。也可以使用时钟周期。也可以使用CPUCPU移动数据,这样将消耗较多移动数据,这样将消耗较多的计算周期。的计算周期。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述 n n下面介绍驱动下面介绍驱动LCDLC

112、D玻璃屏可用的驱动波形和详细的玻璃屏可用的驱动波形和详细的模块功能。模块功能。LCDDACLCDDAC,LCDLCD驱动器,驱动器,UDBUDB,时钟,时钟,DMADMA,CPUCPU和和RAMRAM都用于产生驱动都用于产生驱动LCDLCD屏。屏。n n 1 1波形类型波形类型除非给除非给LCDLCD面板的贯穿每个像素施加平均面板的贯穿每个像素施加平均0VDC0VDC的电的电压,否则会使屏永久损坏。如下图,给出了类型压,否则会使屏永久损坏。如下图,给出了类型A A和类和类型型B B的波形。的波形。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述图图 类型类型A和和B的

113、波形的波形LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n偏置(偏置(BiasBias)是指应用到)是指应用到LCDLCD的电压步长的数量的电压步长的数量(从(从0 0开始)。用于激活开始)。用于激活LCDLCD显示的电平等于电压步长显示的电平等于电压步长+1+1。因此,在步长。因此,在步长2 2和和3 3之间给像素施加能量。从电平之间给像素施加能量。从电平0 0开始计算,电平开始计算,电平3 3是第是第4 4级。注意在步长级。注意在步长-2-2和和-3-3之间也给之间也给像素施加能量,这是由于一帧内的像素响应的是像素施加能量,这是由于一帧内的像素响应的是RMS

114、RMS值值而不是而不是DCDC值。值。n n占空比指的是公共端或者背板的数量。占空比指的是公共端或者背板的数量。LCDLCD的帧频的帧频率指的是背板或者段输出变化的频率,所以帧频率直接率指的是背板或者段输出变化的频率,所以帧频率直接和公共端的数量相关。和公共端的数量相关。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n2 2LCDDACLCDDAC和它的控制和它的控制LCDDACLCDDAC用于对用于对LCDLCD驱动系统的对比度控制和产驱动系统的对比度控制和产生偏压。生偏压。LCDDACLCDDAC产生产生5 5个个LCDLCD驱动电压,其特点主要驱动电压,其

115、特点主要包括:包括:n n4 4个电压是从最大电压个电压是从最大电压V0V0衍生得到的;衍生得到的;n n默认,默认,5 5个偏置电压,来自个偏置电压,来自LCDDACLCDDAC的的V0-V4V0-V4,用于驱动,用于驱动每个每个LCDLCD驱动模块的相关驱动模块的相关I/OI/O引脚;引脚;n n模拟复用总线和模拟本地总线能被选择用于模拟复用总线和模拟本地总线能被选择用于LCDLCD驱动模块,驱动模块,而不是驱动而不是驱动LCDDACLCDDAC。当用户要求使用外部的分压电路来。当用户要求使用外部的分压电路来产生驱动电压和通过关闭内部的产生驱动电压和通过关闭内部的DACDAC来优化功耗时,

116、这是来优化功耗时,这是非常有用的。在这种模式下,软件不提供对比度控制。非常有用的。在这种模式下,软件不提供对比度控制。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n使用连接到使用连接到LCDDACLCDDAC模块的控制寄存器,就可以实模块的控制寄存器,就可以实现动态的对比度控制。现动态的对比度控制。LCDDACLCDDAC的输出电压的输出电压V0V0范围为范围为2.0V-5.2V2.0V-5.2V(步长为(步长为25.2mV25.2mV,步长精度为,步长精度为3.5mV3.5mV,绝对精,绝对精度度50mV50mV)。)。通过通过DACDAC的分压网络产生的分

117、压网络产生V1-V4V1-V4的电压。的电压。寄存器寄存器LCDDAC_CR16:0LCDDAC_CR16:0比特位,用于控制比特位,用于控制LCDLCDDACDAC的输入,用于设置的输入,用于设置V0V0。输入码为。输入码为0 0时,时,V0=2.0V0=2.0;输入;输入码为码为127127时,时,V0=5.2004V0=5.2004;(;(DACDAC的最大输出受限于芯片的的最大输出受限于芯片的供电电压供电电压VddaVdda)。)。下表给出了下表给出了 LCDLCD偏压选择映射关系。偏压选择映射关系。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述表表 LCD

118、偏偏压选择映射关系映射关系偏压选择输入lcd_bias_select1:0MultiplexBiasV0V1V2V3V4b1b0RatioVVVVV11无效1/52.0-5.20.800*V00.600*V00.400*V00.200*V01016:11/52.0-5.20.800*V00.600*V00.400*V00.200*V0018:11/42.0-5.20.750*V00.500*V00.500*V00.250*V0004:11/32.0-5.20.666*V00.333*V00.666*V00.333*V0LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n

119、 n尽管可以通过尽管可以通过LCDDACLCDDAC产生产生V V0 0-V-V4 4,模拟复用总线,模拟复用总线和模拟本地总线有可以用来驱动和模拟本地总线有可以用来驱动LCDLCD驱动模块(通过设驱动模块(通过设置置LCDDAC_SWLCDDAC_SW寄存器相应的比特位)。寄存器相应的比特位)。n n通过使用通过使用DMADMA和和GPIOGPIO可以实现静态偏置模式,因可以实现静态偏置模式,因为在这种模式下,只需要在为在这种模式下,只需要在V Vddioddio和地之间进行切换。和地之间进行切换。通过使用通过使用1/31/3偏置模式和在偏置模式和在V0V0和和V2V2之间进行切换,之间进行

120、切换,就可以实现一半的偏置模式。就可以实现一半的偏置模式。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n33LCDLCD驱动模块驱动模块一个一个LCDLCD驱动模块和每个驱动模块和每个GPIOGPIO相关联。相关联。LCDDACLCDDAC的的输出提供给输出提供给LCDLCD驱动缓冲区,用于直接驱动驱动缓冲区,用于直接驱动LCDLCD屏。屏。LCDLCD驱动模块由以下部分构成:驱动模块由以下部分构成:n n高和低驱动缓冲区;高和低驱动缓冲区;n n4:14:1的多路复用器;的多路复用器;n n公共端公共端/ /段切换开关;段切换开关;n n用于将用于将LCDL

121、CD电容放电到电容放电到0V0V的独立电路。的独立电路。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n nLCDLCD偏置产生器产生一个基于电压参考(用于偏置产生器产生一个基于电压参考(用于LCDLCD驱动模块)的带隙。输入到偏置产生器模块的是一个驱动模块)的带隙。输入到偏置产生器模块的是一个2.5uA2.5uA的带隙电流,输出是一个偏置电压和相关的地线。的带隙电流,输出是一个偏置电压和相关的地线。n n驱动器的输出电平取决于以下的三个标准驱动器的输出电平取决于以下的三个标准:n n引脚配置成公共端还是段;引脚配置成公共端还是段;n n像素数据;像素数据;n n电

122、平变化率(帧率);电平变化率(帧率);LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n来自来自 核的核的COM_SEGCOM_SEG信号的极性,确定了相关的信号的极性,确定了相关的缓冲区时公共端还是段。如果缓冲区时公共端还是段。如果COM_SEG=1COM_SEG=1,则为公共,则为公共端;否则为段。端;否则为段。这个信号不是动态的。这个信号不是动态的。4:14:1的多路复用开关将的多路复用开关将LCDLCD偏偏置电压复用到缓冲区。低电压的数字控制信号置电压复用到缓冲区。低电压的数字控制信号FRAMEFRAME和和DISPLAY_DATADISPLAY_DATA

123、用于控制复用器。用于控制复用器。根据根据COM_SEGCOM_SEG,FRAMEFRAME和和DISPLAY_DATADISPLAY_DATA,LCDLCD电压选择模块从电压选择模块从6 6个输入电压(个输入电压(V0-V4V0-V4,VssdVssd)选择其中)选择其中的一个来驱动的一个来驱动I/OI/O引脚。下表给出了引脚。下表给出了LCDLCD驱动输出的映射驱动输出的映射关系。关系。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述表表 LCD驱动输出映射关系出映射关系COM_SEGDISP_DATAFRAMEDRVR_IN/OUT000V3001V2010GND

124、011V0100V4101V1110V0111GNDLCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n图给出了图给出了LCDLCD驱动驱动模块产生的波形模块产生的波形(V0=5VV0=5V,V1=4VV1=4V,V2=3VV2=3V,V4=2VV4=2V,V5=1VV5=1V,GNDGND)。)。图图 LCD驱动模块产生的波形驱动模块产生的波形LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n nLCDLCD显示屏的尺寸,刷新速率和应用的功率估计显示屏的尺寸,刷新速率和应用的功率估计是选择功率模式的三个标准。这三个标准包括:是选择功率模式

125、的三个标准。这三个标准包括:n n高驱动;高驱动;n n低驱动;低驱动;n nLo2Lo2驱动;驱动;这三个标准决定了用于对显示段充电的电流。这三个标准决定了用于对显示段充电的电流。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述n n下面详细介绍这三种标准下面详细介绍这三种标准:n n高驱动模式:激活这个模式将高驱动模式:激活这个模式将ENABLE_HIENABLE_HI置高(只置高(只要对所有的像素充电),同时要对所有的像素充电),同时DRIVEDRIVE信号从低变为信号从低变为高。高。 为了激活低驱动模式,只要为了激活低驱动模式,只要DRIVEDRIVE信号从低

126、变为信号从低变为高。高。 驱动器对负载进行充电,这是一种采用降低精度来对驱动器对负载进行充电,这是一种采用降低精度来对负载快速充电的方式。当充电到它的容量后,自动转负载快速充电的方式。当充电到它的容量后,自动转换到低驱动模式,在选择输入电压的换到低驱动模式,在选择输入电压的10mV10mV内变化。充内变化。充电时间取决于显示屏的类型和尺寸,其时间在电时间取决于显示屏的类型和尺寸,其时间在30us-30us-300us300us之间。之间。当低驱动模式完成充电后,它用于补偿当低驱动模式完成充电后,它用于补偿LCDLCD显示屏的显示屏的漏电流。如果漏电流过大,则启用第漏电流。如果漏电流过大,则启用

127、第2 2种低驱动模式种低驱动模式Lo2Lo2,将输出电流增加,将输出电流增加1 1倍(与低驱动模式相比)。倍(与低驱动模式相比)。LCD直接驱动模块直接驱动模块-LCD结构概述和功能描述结构概述和功能描述低驱动模式可选择使用100kHzCHOP_CLOCK来补偿芯片偏移。芯片偏移是指像素电压不是平均为0V。可以使能/禁止来自UDB的时钟。时钟触发驱动模块输出的极性,反过来又切换输出偏移的极性。LCD显示不能对超过10kHz的频率进行响应,因此,当使用突变时钟时,在输出端的偏移被平均。 LCD直接驱动模块直接驱动模块- UDB和和LCD控制控制 n n 配置配置UDBUDB用于产生下面的全局用于

128、产生下面的全局LCDLCD控制信号:控制信号:n nDRIVEDRIVE,n nENABLE_HIENABLE_HI,n nFRAMEFRAME,n nDATA_CLOCKDATA_CLOCK,n nDAC_DISABLEDAC_DISABLE,n nCHOP_CLOCKCHOP_CLOCK。通过专用的全局布线通道将这些信号布线到通过专用的全局布线通道将这些信号布线到LCDLCD驱动模块。当需要读取下一包数据时,驱动模块。当需要读取下一包数据时,UDBUDB也产生也产生DMADMA请求。所有请求。所有UDBUDB产生的信号,都是基于来自时钟产生的信号,都是基于来自时钟分配网络的相同时钟输入。分

129、配网络的相同时钟输入。LCD直接驱动模块直接驱动模块- UDB和和LCD控制控制n n1 1驱动驱动按照前面的方式,确定驱动模式;按照前面的方式,确定驱动模式;n n2 2ENABLE_HIENABLE_HI在下面情况下使用在下面情况下使用ENABLE_HIENABLE_HI:n nLCDLCD模块使用高驱动模式;模块使用高驱动模式;n n用于用于LCDLCD端口数据寄存器的数据时钟;端口数据寄存器的数据时钟;n n作为作为DMADMA请求线将下一个数据像素集送到端口数据寄存器;请求线将下一个数据像素集送到端口数据寄存器;LCD直接驱动模块直接驱动模块- UDB和和LCD控制控制n n3 3F

130、RAMEFRAMEFRAMEFRAME(帧率)是一个方波信号,用于下面的条(帧率)是一个方波信号,用于下面的条件:件:n n类型类型A A波形频率波形频率=1/LCD=1/LCD刷新率刷新率* *复用率复用率*2*2n n类型类型B B波形频率波形频率=1/LCD=1/LCD刷新率刷新率* *复用率复用率n n4 4DATA_CLOCKDATA_CLOCKDATA_CLOCKDATA_CLOCK是一个方波用于下一个显示数据集:是一个方波用于下一个显示数据集:n n类型类型A A波形频率波形频率=LCD=LCD刷新率刷新率* *复用率复用率*2*2n n类型类型B B波形频率波形频率=LCD=L

131、CD刷新率刷新率* *复用率复用率LCD直接驱动模块直接驱动模块- UDB和和LCD控制控制n n 5 5DAC_DISABLEDAC_DISABLE低驱动模式下,将禁止低驱动模式下,将禁止DACDAC。n n 6 6CHOP_CLOCKCHOP_CLOCK该时钟用于低驱动模式下,消除偏移误差。由于在高该时钟用于低驱动模式下,消除偏移误差。由于在高驱动模式下,驱动模式下,LCDLCD驱动器门控该时钟,所以在整个驱动驱动器门控该时钟,所以在整个驱动周期内,时钟能连续运行周期内,时钟能连续运行LCD直接驱动模块直接驱动模块- LCD时钟时钟 n n支持支持LCDLCD像素刷新速率在像素刷新速率在1

132、0Hz-150Hz10Hz-150Hz之间。之间。UDBUDB或或者时钟分频器被配置用于生成正确的时钟信号布线到所者时钟分频器被配置用于生成正确的时钟信号布线到所有的有的LCDLCD驱动模块。这些信号取决于:驱动模块。这些信号取决于:n n一个可配置的基时钟,该时钟由芯片时钟分配网络到一个可配置的基时钟,该时钟由芯片时钟分配网络到UDBUDB。n n所要求的复用率;所要求的复用率;n n所需要的波形类型(所需要的波形类型(A A或或B B););LCD直接驱动模块直接驱动模块- LCD时钟时钟n n下图显示了用于驱动的不同时钟。下图显示了用于驱动的不同时钟。图图 用于驱动的不同时钟用于驱动的不

133、同时钟LCD直接驱动模块直接驱动模块- DMA和和LCD控制控制 使用使用CPUCPU或者或者DMADMA实现像素数据的传输。使用实现像素数据的传输。使用DMADMA的数据传输包括以下部分:的数据传输包括以下部分:n nCPU-CPU-写交易描述符到写交易描述符到DMADMAn nSRAM-SRAM-创建的显示存储器缓冲区,里面保存的像素数据;创建的显示存储器缓冲区,里面保存的像素数据;n nDMA-DMA-从显示存储器传输像素数据到端口数据寄存器;从显示存储器传输像素数据到端口数据寄存器;LCD直接驱动模块直接驱动模块- DMA和和LCD控制控制n n 在在PSoCPSoC中没有独立的显示存

134、储器,显示数据保存在中没有独立的显示存储器,显示数据保存在和和PHUBPHUB连接的连接的SRAMSRAM中,图像中,图像/ /显示缓冲区可以是任意显示缓冲区可以是任意一块可用的存储器。一块可用的存储器。n n 传输显示数据到传输显示数据到LCDLCD系统的一种方法就是使用系统的一种方法就是使用DMADMA。DMADMA的的TDTD必须配置成将显示数据集从存储器移必须配置成将显示数据集从存储器移动到端口数据寄存器中。这种方法可以将动到端口数据寄存器中。这种方法可以将CPUCPU释放出释放出来,也是一种最高效的方法。来,也是一种最高效的方法。LCD直接驱动模块直接驱动模块- DMA和和LCD控制

135、控制n n为了和为了和DMADMA一起高效传输数据,端口寄存器在存储一起高效传输数据,端口寄存器在存储器映射的一个独立连续区域内。这些器映射的一个独立连续区域内。这些PRTx_DR_ALIASPRTx_DR_ALIAS寄寄存器是连续的,可以减少用于移动数据所要求的存器是连续的,可以减少用于移动数据所要求的DMADMATDTD。n n一个额外的寄存器集(每端口)一个额外的寄存器集(每端口)- -PRTx_BIT_MASKPRTx_BIT_MASK寄存器,用于屏蔽对寄存器,用于屏蔽对PRTx_DR_ALIASPRTx_DR_ALIAS寄存器的写操作,寄存器的写操作,这是因为并不是所有的端口都用于这

136、是因为并不是所有的端口都用于LCDLCD,那些没用的端,那些没用的端口可以用于其它的应用。端口数据寄存器口可以用于其它的应用。端口数据寄存器PRTx_DRPRTx_DR仍然仍然可以用于寻址引脚(在可以用于寻址引脚(在PRTx_DR_ALIASPRTx_DR_ALIAS所屏蔽掉的)。所屏蔽掉的)。LCD直接驱动模块直接驱动模块-LCD操作操作 LCDLCD操作可以分为下面两种模式:操作可以分为下面两种模式:n n操作模式操作模式- -如何管理如何管理LCDLCD电源;电源;n n活动驱动模式活动驱动模式- -多长间隔用户就需要驱动多长间隔用户就需要驱动LCDLCD。LCD操作操作-LCD操作模式

137、操作模式 n nLCDLCD的电源管理集中于的电源管理集中于LCDLCD驱动系统中的两个元驱动系统中的两个元件:件:n nLCDDACLCDDAC;n nLCDLCD驱动器;驱动器;LCD操作操作-LCD操作模式操作模式n n 1 1LCDDACLCDDAC模式模式LCDDACLCDDAC有下面四种模式:有下面四种模式:n n带对比度控制的活动模式;带对比度控制的活动模式;n n不带对比度控制的活动模式;不带对比度控制的活动模式;n n禁止;禁止;n n断电模式;断电模式;LCD操作操作-LCD操作模式操作模式n n 1 1)带对比度控制的活动模式)带对比度控制的活动模式在这种模式下,使能该模

138、块,在这种模式下,使能该模块,V0-V4V0-V4是稳定的,变是稳定的,变化到化到V0-V4V0-V4的稳定时间小于的稳定时间小于10us10us。用于断电状态的稳定。用于断电状态的稳定时间也小于时间也小于10us10us。操作在该模式下时,。操作在该模式下时,LCDDAC_CR0LCDDAC_CR0寄存器的寄存器的amp_disableamp_disable位为位为0 0。n n2 2)不带对比度控制的活动模式)不带对比度控制的活动模式在这种模式下,使能该模块(除了对比度控制功能禁在这种模式下,使能该模块(除了对比度控制功能禁止外),止外),V0-V4V0-V4是稳定的,是稳定的,V0V0直

139、接连到直接连到3-5.5V3-5.5V,V1-V4V1-V4作作为为V0V0的分压。操作在该模式下时,的分压。操作在该模式下时,LCDDAC_CR0LCDDAC_CR0寄存器寄存器的的amp_disableamp_disable位为位为1 1。LCD操作操作-LCD操作模式操作模式n n 3 3)禁止模式)禁止模式在该模式下,禁止在该模式下,禁止LCDDACLCDDAC模块。模块。DACDAC输出为三输出为三态。通过使能来自态。通过使能来自UDBUDB的的dac_disabledac_disable信号,并且信号,并且PM_STBY_CFG5PM_STBY_CFG5寄存器的寄存器的en_lcd

140、en_lcd位为位为0 0来进入禁止模式。来进入禁止模式。在低功耗模式下,使用禁止模式,在这种模式下在在低功耗模式下,使用禁止模式,在这种模式下在很短时间内启动很短时间内启动V V0 0-V-V4 4,然后断电,留下,然后断电,留下V V0 0-V-V4 4线充电。线充电。4 4)断电模式)断电模式在该模式下,在该模式下,LCDDACLCDDAC为低功耗休眠状态。通过关为低功耗休眠状态。通过关闭所有电源(下拉到地)。断电模式将使芯片进入一种闭所有电源(下拉到地)。断电模式将使芯片进入一种低功耗模式。低功耗模式。 LCD操作操作-LCD操作模式操作模式n n2 2LCDLCD驱动模式驱动模式LC

141、DLCD驱动模式驱动模式 可以有下面的模式:可以有下面的模式:n n高驱动;高驱动;n n低驱动;低驱动;n n低驱动高电流;低驱动高电流;n n无驱动;无驱动;n nLCDLCD休眠休眠-LCD-LCD应用;应用;n nLCDLCD禁止禁止- -无无LCDLCD应用;应用;n nLCDLCD禁止禁止- -连接到连接到I/OI/O禁止;禁止;LCD操作操作-LCD操作模式操作模式n n 1 1)高驱动)高驱动n n 高驱动用于对高驱动用于对LCDLCD段进行充电。在这种模式下,低段进行充电。在这种模式下,低驱动缓冲区被激活用于消除当在高驱动模式和低驱动驱动缓冲区被激活用于消除当在高驱动模式和低

142、驱动模式切换时,引起的毛刺。禁止内部逻辑控制的模式切换时,引起的毛刺。禁止内部逻辑控制的CHOP_CLKCHOP_CLK消除来自耦合到供电电源的时钟。使用该消除来自耦合到供电电源的时钟。使用该模式,进行下面的设置:模式,进行下面的设置:n nENABLE_HIENABLE_HI和和DRIVEDRIVE信号设置为信号设置为 11;n nLCDDRV_CRLCDDRV_CR寄存器的寄存器的sleep_modesleep_mode位设置为位设置为 00;n nPRTxLCD_ENyPRTxLCD_ENy 设置为设置为 11。LCD操作操作-LCD操作模式操作模式 2 2)低驱动)低驱动由于低驱动模式

143、缓冲区比高驱动模式缓冲区更精由于低驱动模式缓冲区比高驱动模式缓冲区更精确;该模式的主要目的是校正偏移误差。这个模式也用确;该模式的主要目的是校正偏移误差。这个模式也用于当于当LCDLCD段有漏电流时,维持段有漏电流时,维持LCDLCD的电压。的电压。CHOP_CLKCHOP_CLK用于将芯片的不匹配偏移降到最低。使用该模式,进行用于将芯片的不匹配偏移降到最低。使用该模式,进行下面的设置:下面的设置:n nENABLE_HIENABLE_HI和来自和来自UDBUDB的的DRIVEDRIVE信号设置为信号设置为 11;n nLCDDRV_CRLCDDRV_CR寄存器的寄存器的lo2lo2位设置为位

144、设置为 00;n nPRTxLCD_ENyPRTxLCD_ENy 设置为设置为 11。LCD操作操作-LCD操作模式操作模式n n3 3)低驱动高电流)低驱动高电流与低驱动使用相同的低驱动缓冲区,但是增加了偏与低驱动使用相同的低驱动缓冲区,但是增加了偏置电流,这种模式用来提供对大的漏电电流的补偿或者置电流,这种模式用来提供对大的漏电电流的补偿或者减少漏电流相关的偏移电压。这种模式的偏移误差低于减少漏电流相关的偏移电压。这种模式的偏移误差低于高驱动模式,但是高于低驱动模式。在这种模式下使用高驱动模式,但是高于低驱动模式。在这种模式下使用CHOP_CLKCHOP_CLK。这种模式(。这种模式(Lo

145、2)Lo2)的控制信号不是动态的。的控制信号不是动态的。使用该模式,进行下面的设置:使用该模式,进行下面的设置:n n来自来自UDBUDB的的DRIVEDRIVE信号设置为信号设置为 11;n nLCDDRV_CRLCDDRV_CR寄存器的寄存器的lo2lo2位设置为位设置为 00;n nPRTxLCD_ENyPRTxLCD_ENy 设置为设置为 11。LCD操作操作-LCD操作模式操作模式4 4)无驱动)无驱动在该模式下,提供对该模块的供电,但是禁止高驱在该模式下,提供对该模块的供电,但是禁止高驱动和低驱动缓冲区。输出是三态的。使用该模式,进行动和低驱动缓冲区。输出是三态的。使用该模式,进行

146、下面的设置:下面的设置:n n来自来自UDBUDB的的DRIVEDRIVE信号设置为信号设置为 00;n nLCDDRV_CRLCDDRV_CR寄存器的寄存器的sleep_modesleep_mode位设置为位设置为 00;n nPRTxLCD_ENyPRTxLCD_ENy 设置为设置为 11。LCD操作操作-LCD操作模式操作模式n n5 5)LCDLCD休眠休眠-LCD-LCD应用应用LCDLCD休眠模式是休眠模式是LCDLCD应用的断电模式。在这种模式应用的断电模式。在这种模式下,与模块连接的电源被开关断开,内部的电源节点下,与模块连接的电源被开关断开,内部的电源节点下拉到地。所有内部的

147、节点和输出节点都被拉到地。下拉到地。所有内部的节点和输出节点都被拉到地。使用该模式,进行下面的设置:使用该模式,进行下面的设置:n nLCDDRV_CRLCDDRV_CR寄存器的寄存器的sleep_modesleep_mode位设置为位设置为 00;n nPRTxLCD_ENyPRTxLCD_ENy 设置为设置为 11。LCD操作操作-LCD操作模式操作模式n n6 6)LCDLCD禁止禁止- -无无LCDLCD应用应用这是无这是无LCDLCD应用的断电模式。在这种模式下,输应用的断电模式。在这种模式下,输出是三态的。在这种模式下,与模块连接的电源被开出是三态的。在这种模式下,与模块连接的电源

148、被开关断开,内部的电源节点下拉到地。所有内部的节点关断开,内部的电源节点下拉到地。所有内部的节点和输出节点都被拉到地。和输出节点都被拉到地。n n使用该模式,进行下面的设置:使用该模式,进行下面的设置:n nLCDDRV_CRLCDDRV_CR寄存器的寄存器的sleep_modesleep_mode位设置为位设置为 11;n nPRTxLCD_ENyPRTxLCD_ENy 设置为设置为 00。LCD操作操作-LCD操作模式操作模式n n 7 7)LCDLCD禁止禁止- -连接到连接到I/OI/O禁止禁止该模式用来在芯片上电时,在该模式用来在芯片上电时,在LCDLCD禁止模式下,保禁止模式下,保

149、持持LCDLCD驱动器。在这种模式下,到驱动器。在这种模式下,到GPIOGPIO单元的电源信单元的电源信号被禁止。而其它所有模式下,使能到号被禁止。而其它所有模式下,使能到GPIOGPIO单元的电单元的电源信号。源信号。LCD操作操作-活动驱动模式活动驱动模式 n n类型类型A A和和B B波形用来驱动波形用来驱动LCDLCD,在每种类型中,帧被,在每种类型中,帧被分成子帧用来表示一帧内不同的电压级(电平)。自帧的分成子帧用来表示一帧内不同的电压级(电平)。自帧的数目由复用率因子决定。下面给出类型数目由复用率因子决定。下面给出类型A A和类型和类型B B更明显更明显的区别:的区别:n n类型类

150、型A A:每个子帧进一步的分成子帧分割。每一个子帧分割定:每个子帧进一步的分成子帧分割。每一个子帧分割定义了过渡和要求义了过渡和要求LCDLCD驱动进入高驱动模式。电压变化总是由驱动进入高驱动模式。电压变化总是由FRAMEFRAME控制信号的变化来表示。控制信号的变化来表示。n n类型类型B B:电压变化总是由:电压变化总是由FRAMEFRAME控制信号或者控制信号或者DISP_DATADISP_DATA的的变化来表示。在这些情况下,变化来表示。在这些情况下,FRAMEFRAME控制信号或者控制信号或者DISP_DATADISP_DATA的变化要求激活驱动显示。的变化要求激活驱动显示。LCD操

151、作操作-活动驱动模式活动驱动模式表表 三种活三种活动驱动模式模式模式功能AlwaysActive(A)在整个帧内,LCD都被驱动TransitionActive(B)只在电压过渡过程中驱动LCD,在电压过渡之间,对LCD系统的模拟元件断电Intra_TransitionActive(C)在每个电压过渡时,LCD被驱动若干次。LCD操作操作-活动驱动模式活动驱动模式n n 1 1总是激活总是激活(AlwaysActive)(AlwaysActive)n n 下图给出了该模式下的两种波形图。下图给出了该模式下的两种波形图。(a)类型类型A波形波形LCD操作操作-活动驱动模式活动驱动模式(b)类型类

152、型B波形波形图图 总是激活模式下的波形总是激活模式下的波形LCD操作操作-活动驱动模式活动驱动模式n n 2 2过渡激活(过渡激活(TransitionActiveTransitionActive)n n 下图给出了该模式下的两种波形图下图给出了该模式下的两种波形图。(a)类型A波形LCD操作操作-活动驱动模式活动驱动模式(b)类型类型B波形波形图图 过渡激活模式下的波形过渡激活模式下的波形LCD操作操作-活动驱动模式活动驱动模式n n 3 3内过渡激活(内过渡激活(Intra_TransitionIntra_TransitionActiveActive)下图给出了该模式下的两种波形图。下图给

153、出了该模式下的两种波形图。(a)类型类型A波形波形LCD操作操作-活动驱动模式活动驱动模式(b)类型类型B波形波形图图 内过渡激活模式下的波形内过渡激活模式下的波形LCD操作操作-活动驱动模式活动驱动模式n n下面将介绍下面将介绍LCDLCD驱动公共的全局和本地信号。全局驱动公共的全局和本地信号。全局信号由硬件和一些寄存器设置产生。本地信号通过寄存器信号由硬件和一些寄存器设置产生。本地信号通过寄存器设置产生。设置产生。n n当使用当使用LCDLCD驱动器时,只有一些需要在启动外设时进驱动器时,只有一些需要在启动外设时进行设置,其它一些时再运行的时候进行设置。处理一些信行设置,其它一些时再运行的

154、时候进行设置。处理一些信号可能是复杂的,但是当理解信号源或者设置对外设功能号可能是复杂的,但是当理解信号源或者设置对外设功能的影响后,这个任务就变得比较容易了。的影响后,这个任务就变得比较容易了。LCD操作操作-活动驱动模式活动驱动模式表给出了全局和本地信号的影响。表给出了全局和本地信号的影响。表表 全局和本地信号的影响全局和本地信号的影响类型信号设置功能全局DriveUDB用于选择驱动模式全局ENABLE_HIUDB执行下面三个功能1)使能高驱动模式;2)用于LCD端口数据寄存器的时钟3)用于将下一数据集移动到端口寄存器的DMA请求线全局FRAMEUDB50%占空比的方波,决定段的刷新率全局

155、DATA_CLOCKUDB方波脉冲用于下一显示数据集的时钟全局DAC_DISABLEUDB与电源相关的信号一起来使能LCDDACLCD操作操作-活动驱动模式活动驱动模式类型信号设置功能全局CHOP_CLOCKUDB在低驱动模式下,100kHz信号用于取消偏移误差。全局InvertLCDDRV_CR颠倒LCD显示,通过颠倒显示数据全局Lo2LCDDRV_CR使能/禁止,LCDDriver模块低驱动高电流模式。全局SleepLCDDRV_CR如果设置,将LCD置为休眠模式全局ContrastLCDDAC_CR16:0128级的软件对比度控制全局BiasLevelLCDDAC_CR01:0用于显示的

156、偏置电平。这取决于复用率因子全局LCDDACdisableLCDDAC_CR02禁止LCDDAC。当通过模拟复用总线将偏置电压布线到驱动器时,使用该设置LCD操作操作-活动驱动模式活动驱动模式类型信号设置功能全局DispblnkLCDDRV_CRsleep和POR逻辑将显示像素拉到地和空白显示本地Pwrdn_nPortx_LCD_EN7:0和POR逻辑这是活动的低信号,用于对LCD驱动器进行断电本地Com_SegPortx_LCD_COM_SEG7:0将引脚配制成公共端/段;1为公共端,否则段;本地LCD_EnPortx_LCD_EN7:0如果该位被设置用于特殊的端口引脚,则配制GPIO用于L

157、CD驱动器。LCD操作操作-活动驱动模式活动驱动模式n n下面给出一个具体的例子,来说明公共端和段的含下面给出一个具体的例子,来说明公共端和段的含义,即外部接口的连接关系。在该例子中,将显示义,即外部接口的连接关系。在该例子中,将显示 22。下图给出了下图给出了LCDLCD段和公共端的关系。段和公共端的关系。图图 LCD段和公共端的关系段和公共端的关系LCD操作操作-活动驱动模式活动驱动模式n n下表给出了下表给出了PSoCPSoC与与LCDLCD的连接关系。的连接关系。表表 PSoC与与LCD的的连接关系接关系PSoC端口P10P11P12P13LCD引脚Com1Com2Com3Com4P1

158、44A4F4E4DSP1P154B4G4CDP3SP2P163A3F3E3DSP3P173B3G3CDP2SP4P202A2F2E2DSP5P212B2G2CDP1SP6P221A1F1E1DSP7P231B1G1C-SP8LCD操作操作-活动驱动模式活动驱动模式n nLCDLCD工具给予公共端和段的数量创建显示缓冲区。工具给予公共端和段的数量创建显示缓冲区。下图给出从引脚选择和配置信息所创建的显示缓冲区。下图给出从引脚选择和配置信息所创建的显示缓冲区。图图 从引脚选择和配置信息所创建的显示缓冲区从引脚选择和配置信息所创建的显示缓冲区LCD操作操作-活动驱动模式活动驱动模式n n 如图给出了在

159、位置1显示2,所设置的段为1A,1B,1G,1E,1D。图 在位置在位置1显示示2PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块 n n如图所示,如图所示,PSoC3PSoC3和和PSoC5PSoC5提供了片上的温度传感提供了片上的温度传感器用于测量内部晶片器用于测量内部晶片diedie的温度。温度传感器使用的温度。温度传感器使用VbeVbe的方法来用于数字温度测量。的方法来用于数字温度测量。PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块图图 温度传感器结构图温度传感器结构图PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n n该温度传

160、感器模块的主要特点有:该温度传感器模块的主要特点有:n n1010的绝对精度;的绝对精度;n n在在-50-+150-50-+150范围内,范围内,1010的精度;的精度;n n将温度传感器的输出布线到模拟全局线将温度传感器的输出布线到模拟全局线AGL3AGL3。PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n n其工作原理就是利用了其工作原理就是利用了BJTBJT晶体管的晶体管的BEBE级电压对级电压对温度(恒定集电极电流和温度(恒定集电极电流和0 0VceVce电压)敏感的特点实现电压)敏感的特点实现测温的。测温的。VbeVbe输出的测量使用的两个不同的电流,一个是低输

161、出的测量使用的两个不同的电流,一个是低偏置电流,另一个是高偏置电流,其比值为偏置电流,另一个是高偏置电流,其比值为1:291:29。VbeVbe输出电压的变化和温度是成线性关系的。输出电压的变化和温度是成线性关系的。温度传感器的输出可以送到温度传感器的输出可以送到ADCADC或者使用或者使用AGL3AGL3送送到片上其它资源。到片上其它资源。 PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块为了提高测量精度,为了提高测量精度,PSoC3/5PSoC3/5使用了下面的技术:使用了下面的技术:n n 1 1)动态元件匹配技术,循环选择在)动态元件匹配技术,循环选择在8 8个镜像电

162、流源通道;个镜像电流源通道;n n 2 2)曲率补偿技术,提高线性度;)曲率补偿技术,提高线性度;n n 3 3)一个两点线性适配标定程序)一个两点线性适配标定程序PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n n下表给出了命令寄存器的列表。其命令序列由2字节关键字、命令码和相关的参数组成,其格式如下:寄存器大小(Bits)功能SPC_CPU_DATA8数据从/到CPUSPC_DMA_DATA8数据从/到DMACSPC_SR8状态-准备,数据可用,状态码表命令寄存器PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n n关键字节关键字节#1-#1-总是总是

163、0xB60xB6;n n关键字节关键字节#2-#2-总是总是0xD30xD3;n n命令码字节命令码字节n n命令参数字节;命令参数字节;n n命令数据字节;命令数据字节;PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n n1 1获得温度命令格式获得温度命令格式下图给出了获得温度命令的格式。下图给出了获得温度命令的格式。PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n nnumSampnumSamp:采样的次数为:采样的次数为2numSamp2numSamp;numSampnumSamp的值的值0 0,1 1,2 2,3 3,4 4,5 5。n nper

164、ioMSb-perioLSBperioMSb-perioLSB:用于根据:用于根据ADCADC的时钟周期,设的时钟周期,设 置用于抽取器的积分时间。置用于抽取器的积分时间。n nclkDividerclkDivider:分频因子。:分频因子。ADCADC时钟频率等于:时钟频率等于:spcCLKspcCLK/。(。(spcCLKspcCLK为为36MHz36MHz)。)。n n温度的转换时间温度的转换时间=2numSamp+1=2numSamp+1*(*(spcCLKspcCLK* *clkDividerclkDivider)*)*(时间周期)(时间周期)+CPU+CPU的执行时的执行时间。间。PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n2设置温度传感器的命令格式n下图给出了设置温度传感器的命令格式。nSequenceSelect:0选择低偏置电流;1选择高偏置电流;nSequenceFreeze:0使能序列器;1禁止序列器;nCurvatureCompensationEnable:0无补偿;1有补偿。图 设置温度置温度传感器的命令格式感器的命令格式PSoC3/5模拟子系统模拟子系统 -温度传感器模块温度传感器模块n3禁止温度传感器的命令格式下图给出了禁止温度传感器的命令格式。 图 禁止温度禁止温度传感器的命令格式感器的命令格式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 幼儿/小学教育 > 小学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号