PSoC Express是一种全新的设计工具,它可以加速样机的成型,把设计人员从繁琐的低水平编程工作中解脱出来,提高设计重复利用率,缩短设计周期,同时可以降低设计人员入门的门槛,扩充开发人员人才库。PSoC Express支持重新设置,可降低开发成本,它提供丰富的、可广泛延伸的器件以及功能库,能自动生成并定义工作报告。
PSoC综述
PSoC(Programmable System on Chip)即可编程片上系统,它把数字模块、模拟模块以及MCU集成在一起,可根据用户需要选择相应的模块并进行灵活配置。在灵活易用的开发工具的支持下, PSoC在许多领域都得到了广泛应用。
如图1所示,PSoC主要由数字模块、模拟模块、MCU以及存储器构成,模拟模块可以组成ADC、DAC、滤波器以及比较器等,数字模块可以组成定时器、计数器以及各种通信接口。数字模块和模拟模块都可根据需要配置,可以在任何时间修改设计,配置成不同的功能,并且支持动态配置,同一个模块在不同的时间实现不同的功能,这样就可以节省硬件资源。不同PSoC芯片的区别主要在于其数字模块和模拟模块的数量不同。
图1 PSoC的结构(略)
PSoC的价值在于其灵活和可编程的特点,此外,PSoC技术可提高产品的集成度,适用PSoC技术可以提高设计效率和产品质量,降低材料成本,并加速产品的上市。
PSoC技术在2003年上市,芯片累计发行已经超过一亿片,在计算机、通讯、工业、科学以及医疗等领域都得到了广泛应用。特别在CapSense应用中,成为按钮和滑动条的灵活简单的设计选择。
PSoC设计工具
Cypress公司为客户提供完备的开发支持工具,如图2所示包括各种评估板、编程器以及开发套件,并免费为客户提供开发软件,包括PSoC designer以及PSoC Express。
PSoC Express是系统级设计,整个设计过程都基于图形化,无需任何代码,它为用户提供了丰富的、经过验证的功能库,是一种开放式的架构。使用PSoC Express工具可以提高产品可靠性和生产率,并激发设计人员的创造力。
图2 Linphone网络电话(略)
PSoC Express的设计流程
由于PSoC Express的可视化设计特点,其设计流程很简单,只有四个步骤,即选择输入输出接口、定义输出行为、设计验证和仿真以及生成客户设计。
PSoC Express的设计要素
PSoC Express是一种基于输入和输出的图形化编辑器设计工具,其输入 和输出模块库已经包含230多个模块,这些模块称为驱动器。输入驱动器包括传感器、转速器和电位器等;输出驱动器包括继电器、脉宽调制器、蜂鸣器和风扇等;接口驱动器包括I2 C从设备和USB设备等。输入器件的驱动自动运行,输出器件的驱动需要传输函数,接口驱动启动通信功能。
评估器实现软件的中间过程,输入的值通过评估器进行逻辑和数字运算并产生中间结果。评估器用于存储内部数据,这些数据可以是离散的字节或连续的16位整型数。接口评估器用来存储来自通讯接口的值,传输函数评估器用于预定数值运算方式或逻辑来定义输入和输出函数。某些传输函数仅用于评估器,如循环延时、设置点区间和状态机。需要注意的是所有的评估器每次循环均被赋值。
图3 实验所用研发板(略)
输出函数是定义输出或评估器值的操作,有些是图形化的,有些是基于表达式的,也有混合式的。需注意的是所有项目是循环式的,所有传输函数在每个循环被执行,传输函数根据相互间的依赖关系自动排序。
图4 PSoC Express的界面(略)
表达式扩展了PSoC Express的功能,传输函数的潜在功能通过表达式实现。表达式与C语言中的定义类似,包括算数操作符、逻辑操作符和位操作符等。
PSoC Express的传输函数包括设置点区间、查找表、优先级编码、状态编码器、状态机和循环延时。用户可通过设置点区间执行一系列的门限值比较;查找表最多有64种离散输入状态组合,输出可以是离散和连续的,连续输出必须是已定义的状态;优先级编码器是基于表达式的,提供类似C语言的If和Then语式;状态编码器也是基于表达式的,可用于在每一个循环执行一个动作,分解复杂的算法,并联合不同的状态放入一个寄存器中。
PSoC Express只支持有限状态机。循环延时用一个循环延时输入,初始状态可以设为某一个值,对边沿触发和时间变量/过滤计算有用,对确定的PID控制循环是必要的,当系统依赖循环来赋值时,可建立清楚的评估次序。
设计实例——CapSense设计
设计内容与原理
本例利用CY3203A开发板、LCD等,显示手指对按键的触摸。电容感应的基本原理是连接按钮到PSoC的I/O,PSoC按照一定的频率顺序扫描这些按钮,检查有没有手指的存在,并作出相应显示。实验中使用了CSA技术,需要设置的参数包括手指极限值、噪声极限值、基准线更新极限值、恒流源电流值、迟滞、负噪声极限、低基准线复位、自动复位、外部电容、时钟、微调参数、滑条传感器个数、滑条分辨率以及滑条复用。
设计过程
打开软件后可以看到常用的设计、仿真、编程和编译界面。仿真、编程和编译在设计完成后用到。设计界面中有输入、输出、评估器等,每个部分都可以拖到新的窗口。在输入界面可以看到系列经验证过的、不断更新的输入驱动模块库,用户可根据需要选用。同样,在输出驱动库中找到所需的驱动模块,然后设置好传输函数,就完成了设计工作。接下来在仿真界面进行验证。验证通过后即可在编译界面选择相应的器件,并进行管脚配置。编译完成后形成16进制的文件以及BOM表等,确认无误后即可将程序通过编程界面烧写入实际的器件中。
更多详细内容,敬请登录m.188betcom手机版
在线座谈网址:
http://seminar.eccn.com/070525/jchf.asp
问答选编
问:用CapSense实现滑条后,分辨率有何变化?噪音性能 受影响吗?
答:用CapSense实现滑条后,分辨率可以提高n(max 1024) 倍,n可由用户定。不影响噪音性能。
问:PSoC Express都有哪些版本,有什么区别?
答: PSoC Express 3.0 Beta版已经推出。明年PSoC E xpress 和PSoC D esigner将合二为一,即当PSoC De signer 5.0版发布时将包括PSoC Express 和PSoC Designer 的 所有功能。
问:P SoC Express的运行环境怎样?可运行于何种嵌入式 操作系统?
答:P SoC Express的运行环境是Windows操作系统, P en tium CPU计算机即可。它不需要嵌入式操作系统。
问: 如果项目很复杂,PSoC Express也可以全部完成 吗?
答:P SoC Express可以完成大部分设计,假如某些部分它 完成不了,可以使用PSoC Designer完成。 使用Express 设 计时同时会自动生成Designer软件包。可以使用 Ex press做先期设计 ,减少时间,然后通过Designer进 行 优化、功能补充。
问:用 CSR和CSD做触摸按键的开发,PSoC Express与 PSoC Designer相比,在应用程序的灵活性上前者会不 会 差一些?生成的代码可以按照应用的要求进行修改吗?
答: P SoC Express在应用程序的灵活性上是差一 些 ,但 速 度更快。生成的代码可以按照应用要求在 PSoC De signer上进行修改 。
问:请 问CapSense电容触摸感应方案的触摸屏相对于电 阻触摸屏有什么优点?
答:优 点在于:电容触摸屏触摸无需压力,单次或无校准要 求 , 耐 用,不易老化,耐高温,透光率高, 省电,抗划伤(厚 玻 璃/塑料),抗刮伤(有玻璃保护)等。
问:请 问PSoC的主要应用领域?超大规模的SoC系统能 否使用?
答:P SoC主要是8 位或16 位机的应用领域,超大规模的 SoC系统当然能用,它是未来嵌入式系 统设计的主 流。
问:请问无代码设计是否意味着系统灵活性降低?
答:不是。无代码设计能省去低级而繁锁的代码编写、调试、 修改时间,所以有更多的时间放在系统设计和算法设计 等高级设计上,从而提高了设计效率。
问:P SoC CapSense开发板采用何种处理芯片?其芯片的 主频多少?支持32位或64位指令集吗?
答:采 用的是PSoC,它包含M8C的处理器。其 频率为 2 4MHz,目前只有8位的CPU,以后会推出32 位 产品。
问:Cypress的CapSense解决方案为系统设计人员提供了 哪些便利?
答:首先,设计灵活是PSoC CapSense 方案的很大优 势,设 计 人员在任何阶段都可以做修 改设计而不需要 改动硬 件 ;其次,CapSense解决方案可以使用同一颗芯片 支 持 多 种触摸方式,它占用空间 少, 且设计方便, 它支 持 C ap S ense Plus功 能 ,除了按键以外还 可 以使用同一 颗芯片 实 现其他功能;同时, 因为CapSense 使用的是 PSoC,所 以 还具备PSoC的所有优点。
问:PSoC Express有加密功能吗?如何对PSoC中的模拟配 置进行加密?
答:PSoc Express有加密功能,需要用PSoC Designer打开 E xpress工程文件,修改 flashsecurit.txt文件,可以实现 对 目标部分加密或完全 加密功能等。
问:PSoC Express 软件中附带的工程例子,每个项目中都 有IIC接口,请问这是必需的吗?
答:不是必需的,但有IIC接口可以导出内部的参数,方便调 试.
问:以PSoC Express为基础的一级内容驱动架构是什么?
答:PSoC Express的驱动架构是行为级描述,它是基于输 入 、输出以及接口驱动的定义, 然后通过传递函数定义输 出与输入的行为关系。 |