引子
你有没有经历过这样的情况,早上刚到公司,你的老板就对你说“去做一套新的嵌入式系统,要求在两周内看到样机!”,然后你一脸愁容“ 啊?!两周时间太短了!”你要经过架构设计阶段,设计原理图阶段,画PCB阶段,调试样机阶段。在这些阶段你的老板或者客户可能会要求改变最初的设计,那么你就要从头再来,通过加班加点来赶进度,但是制作PCB和焊接器件时间是你所不能左右的,短短两周怎么完成老板交给的任务?
不要发愁,现在新产品P SoC的出现 ,保证能让您按期圆满完成老板交给的任务!
P SoC自从2003上市以来,短短4年里已经受到很多客户的青睐,它的灵活性和高度集成性已深入人心,假如使用PSoC,我们就不会再为时间紧任务重或者频繁的修改需求发愁。为了使更多的朋友熟悉和使用PSoC,赛普拉斯最近推出了一款简单实用的PSoC入门级工具FTK- FirstTouch? Kit,本文会重点介绍这种工具以及使用方法。
图1 传统嵌入式设计流程(略)
PSoC介绍
PSoC 是 Programmable System on Chip 的缩写,也就是可编程片上系统。PSoC不仅仅是一颗MCU, 它是综合了模拟、数字和混合信号的可编程系统。PSoC包含丰富的可编程模拟模块,例如常用的ADCs,DACs,过滤器,比较器等等,还有专为触摸设计的 CapSense模块。PSoC还包含丰富的数字模块,例如时钟、计数器、PWMs、串口、SPI 等等。 PSoC的核是一个8位的MCU,工作频率可以达到24MHz。另外PSoC还内置了Flash和SRAM。
图2中桔黄色的部分,就是可编程数字模块和模拟模块,也就是PSoC的特色,这些可编程的数字模块和模拟模块都可以配置成不同的功能,例如UART、ADC、Filter和PWM等等,这就是用户模块。再回到在设计初始遇到的问题,由于需求的变化,在设计过程中可能会做一些修改,而每次修改都要去查找和使用不同的器件,PSoC就会解决这个问题,不需要重新选择器件,PSoC的可编程数字模 块和模拟模块可以配置成需要的用户模块,可以满足各个阶段需求的变化!
图2 PSoC可编程片上系统(略)
图3 PSoC内部框图(略)
FirstTouch?Kit
PSoC ? FirstTouch? Kit是专门为初学者设计的PSoC入门工具,主要用来了解和使用PSoC,它简单实用,使用者可以没有任何PSoC设计经验。
如图4所示,FirstTouch? Kit为USB接口,它包含FirstTouch PC桥接器(FTPC)和FirstTouch多功能扩展卡(FTMF),把FTMF扩展卡插入FTPC桥,这就是FirstTouch? Kit工具。
图4 FirstTouch?Kit(略)
FTMF扩展卡上有独立的PSoC,可以把FTPC桥拿开,插到其他目标硬件或开发平台,图5即为FTMF扩展卡。
图5 FTMF扩展卡(略)
PSoC ? FirstTouch? Kit可以实现4种设计:CapSense,温度感应,光感应和Capsense接近式感应。沿着滑条滑动手指,LED颜色会随手指位置不同而变化,这就是简单的Capsense设计;温度感应是指LED颜色随外界温度变化而变化,并当超过一定温度时蜂鸣器会发出声音;光感应是指LED亮度随外界光线变化而变化;Capsese接近式感应,LED颜色随着手掌与工具主板距离变化而变化。
FirstTouch? Kit使用方法
PSoC ? FirstTouch? Kit可以使用PSoC Express?可视化设计工具, PSoC Express?使这些设计实现起来更简单,它充分展现了PSoC的灵活性和高度集成性。
PSoC Express 是Cypress 公司推出的针对可编程片上系统的图形化开发工具。如果把以前基于代码编写的开发工具比作DOS系统,PSoC Express就是一个革命性的Windows系统。使用这种图形化的嵌入式系统开发工具,工程师不需要编写任何程序,大幅度降低了工程师开发单片机解决方案的难度,使他们从繁琐的代码编写中解脱出来,把精力集中在针对各种应用的系统设计和创新
PSoC Express丰富的可仿真设计环境能够使设计人员“看得见”他们的设计,并即时对其设计进行仿真测试和性能评估. 借助于PSoC Express, 设计人员还可随时重新给PSoC可编程模块定义功能,可以先设计,再选择器件,从而大大简化了设计开发过程缩短了设计开发周期.
PSoC Express 还能够自动生成原理图、BOM和项目报告,减省了设计人员大量的文件编写任务和时间。
首先打开PSoC Express软件,在PSoC Express 起始页“Express Design Catalo g”,有一个“CY3270-PSoC FirstTouch Kit”文件夹,点开这个文件夹就会看到前面提 到的四个设计实例:CapSense Proximity Sensor,CapSense Touch Sensing Slider Light Sensor和 Temperature Sensor。在右面“Express Helper”栏里可以看到这几个项目的说明文档。可以从这几个实例入手,了解和掌握PSoC使用使用方法。还可以从网站http://w ww.cypress.com/firsttouch/上下载更多实例。
图6 FirstTouch&Express设计实例(略)
如何使用PSoC FirstTouch 入门工具和PSoC Express设计项目
除了上述修改已有的例子以外,用户也可以自己新建一个项目,下面就以一个Capsense滑条设计为例讲一下如何使用PSoC FirstTouch 入门工具和PSoC Express来设计。
设计一个Capsense滑条,并带有3个红绿蓝LED,当手指在滑条上滑动时随着手指位置的不同LED会显示不同的颜色。
在设计之前请按照PSoC FirstTouch 工具快速安装指南安装好硬件和软件。
要新建一个PSoC Express 项目,打开PSoC Express 软件后,从主菜单点击文件,选“New Project”,输入文件名,可以输入“CapSenseTouchSensing”,中间不能有空格,然后点击OK。
PSoC Express 设计流程简单,分别为Design,Simulate,Build和Program。
Design
开始第一个步骤,Design。首先选择输入,点击设计目录的Inputs按钮,找到CY3270 PSoC FirstTouch Kit 文件夹, 把CSD Slider 拖到设计区域,出现一个“add input driver”窗口,可以从这个窗口里修改名字和属性,先把名字改为CapSenseSlider,最下方有属性栏, 把Sensor Pins 改为7 , Slider Resolution 改为99,然后点击OK。
这时候又会出现一个Add Input Driver 窗口, 这个窗口是CapSense CSD Property 驱动窗口,每次添加CSD驱动时这个窗口都会自动出现,所有CSD驱动共享CapSense CSD Property 驱动。所以只需要把名字改为CSDProperties,然后点击OK。
下一步是选择输出,点击设计目录的outputs按钮,找到Display文件夹,选择LED, TriColor 下面的Red/Green/Blue,拖到设计区域,这时候会出现一个add output driver窗口,把名字改为LED,然后点击OK。
现在准备定义输出属性,输出设备需要用户定义逻辑关系来产生输出值。右击输出驱动LED,选择 transfer function,选择Priority Encoder ,点击OK,然后优先级编码窗口就会出现,类似于if-then-else结构。
设定第一个条件CapSenseSlider_Position ==0,then, RGBLED = LED_state_OFF,可以从下拉菜单里选择或者键入,每输入一组语句按回车键就可以进入下一组;第二个条件为CapSenseSlider_Position <=33,then RGBLED = LED_state_BLU E,这时说明当Slider位置小于或等于33时,LED亮蓝色;第三个条件为CapSenseSlider_Position <=66,then RGBLED = LED_state_GREEN ;第四个条件为CapSenseSlider_Position <=99, then RGBLED state to LED_state_RED;最后一个条件If 1 then RGBLED =LED_state_OFF,这是默认的状态,然后点击OK,此时输入输出之间的逻辑关系就定义好了。
Simulate
下面进入仿真阶段。仿真是一个比较重要的工具,因为可以看到项目的操作情况,看看是否按照定义的逻辑关系变化,可以节约时间和精力。点击 Simulation,进入仿真区域,可以改变输入值,然后观察LED输出变化,假如结果满足设计,仿真结束。
Build
对这个项目仿真之后,验证了它的逻辑关系,就可以进入Build步骤了。从主菜单点击Bulid, 选择Generate/Build 'CapSenseTouchSensing' Project,然后就可以看到所有符合条件的PSoC器件,选择32-Pin CY8C21434,点击next.进入管脚分配界面,可以拖拉这些定义好的信号到相应的IO脚, CapSenseSlider_CSD_Slider06 到 Port 2[7], CapSenseSlider_CSD_Slider05 到Port 2[6] 以此类推,当所有管脚都定义好后,点击下一步, PSoC Express 开始Bulid,生成16进制文件,可以把这个16进制文件编程到PSoC FirstTouch 入门工具的PSoC器件。Build结束以后,器件清单,原理图等也会同步生成。
Program
现在可以对PSoC进行编程了,从主菜单中,点击Program,会进入 PSoC Programmer界面,在PSoC Programmer窗口中,Port选为FirstTouch,器件型号为21X34系列CY8C21434-24LFXI,也就是在FirstTouch多功能扩展卡上的PSoC型号。然后设置变成模式为reset。设置好后点击Program按钮,这时候Programmer就会下载16进制文件到First Touch PC桥, First Touch PC桥会把程序编程到多功能扩展卡的PSoC器件里,编程结束后First Touch PC桥会复位多功能扩展卡然后开始运行项目
到现在为止就完成了整个项目,可以验证项目了,在滑条上滑动手指,可以看到LED颜色随手指位置变化而变化的情况。
结语
通过上面的介绍,就可以对PSoC有所了解,体会到它的集成度高,设计灵活,简单易学,所以当下次老板再给您这样的任务时,您可以毫不犹豫地回答:“没问题!” |