CY8C22x45的用户模块CSD2X对应于其专用的双通道CSD硬件模块。该用户模块支持多样性的配置。对于扫描的充电可以通过外部电阻Rb来实现也可以通过内部的IDAC来实现。同时对于应用比较少的场合,还可以选择单通道以节省资源。根据通道数以及所采用的充电方式的不同,双通道CSD2X用户模块支持的配置方式以及所需要的资源见下表2。
表 2 CSD2X用户模块支持的配置方式以及所需要的资源表
CY8C22x45内部集成了两个最大输出640 µA的电流源,因此可以替换掉充电电阻Rb对触摸感应进行充电。也可以关闭两个电流源,通过传统的外部充电电阻的方式进行触摸感应。采用Rb的配置每个通道需要额外的增加1个管脚。单通道相比双通道占用的资源较少,适合小型的应用。
采用IDAC配置和Rb配置的双通道配置的单个通道结构如下图3和图4所示。单通道的Rb配置和双通道中单个通道需要额外的增加1个管脚。单通道相比双通道占用的资源较少,适合小型的应用。
采用IDAC配置和Rb配置的双通道配置的单个通道结构如下图3和图4所示。单通道的Rb配置和双通道中单个通道相同,单通道的IDAC配置可以同时使用两个IDAC进行切换,使得在触控上始终有电流流过,在检测触控时,如果寄生电容特别大,可以采用此配置。也可以采用和双通道中单个通道相同的配置。本文仅讨论和双通道中单个通道相同的配置。
图 3 CSD IDAC配置结构图
图 4 CSD Rb配置结构图
如图3和图4所示,双通道CSD的充电时钟以及计数时钟有专门的CSD Logic来生成,不需要占用系统时钟。在IDAC的配置模式下,单个通道仅仅需要一个外置的Cmod电容就能够进行工作。而Rb的配置模式下,需要外接一个充电电阻Rb。Rb和IDAC的作用是根据Sigma-Delta调制器的输出进行间歇性的充电。CSD Logic中还集成了专用的计数器,不再需要占用数字模块构成计数器。
在新版本的PSoC开发环境中PD5,可以方便的使用CSD2X用户模块。在完成新建工程之后,给工程添加CSD2X用户模块,这时会弹出对话框用来选择不同的配置模式。根据自己的具体需要选择相应的配置模式。本文以双通道IDAC的配置为例。该用户模块可以配置的参数如图5所示。
图 5 CSD2X 用户模块可配置参数
该用户模块支持自动矫正,通过打开该选项可以在开机的时候进行矫正,通过调整IDAC的值使得计数器的输出在比较合适的范围内。
Reference R和Reference L参数用来设置比较器端的比较电压来源。IDAC Range用来设置IDAC的大小区间。结合单个触摸的IDAC配置共同来影响IDAC的大小。IDAC Range设置的越大,相应的IDAC的输出电流就越大。
Pre-ChargeSource 用来选择用来对触摸Switching的时钟来源。有两个选项,PRS可以生成随机的脉冲序列,使得系统具有更好的抗干扰特性。TImer选项使得充放电的脉冲频率稳定,在防水等应用中比较有优势。
Pre-Scalar用来选择系统输出CSD_Clock的分频系数。通常该系数可以根据触摸按键可充放电的最快频率来确定。
上述参数的配置是全局性的,能够影响到所有的触摸按键。
在完成上述参数的配置之后,可以通过打开向导对传感器的参数进行单个配置。如图6所示。