打印

PSoC3/5使用介绍

[复制链接]
3237|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gygp|  楼主 | 2012-10-24 23:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简单的介绍一下PSoC3/5的使用,写得有些粗糙,供新手入门,有经验者请忽视!
PSoC全称为Programmable System-On-Chip,中文名为片上可编程系统是在一个专有的MCU内核周围集成了可配置的模拟和数字外围器件阵列PSoC块,利用芯片内部的可编程互联阵列,有效地配置芯片上的模拟和数字块资源,达到可编程片上系统的目的。

PSoC一共有三个系列,分别为1系、3系和5系,其中1系芯片采用的是M8C内核,处理能力为3MIPS3系芯片采用的是增加型51内核,处理能力为33MIPS5系芯片采用的是ARM公司设计的Cortex-M3内核,处理能力为100MIPS

开发PSoC所用的软件有三个,开发1系芯片所用的软件为PSoC DesignerPSoC Express,但PSoC Express用得不多;开发3系和5系芯片所用的软件为PSoC Creator。与PSoC DesignerPSoC Express相比,PSoC Creator结合了以上两者的优点,更加容易使用,更加人性化。

开发PSoC主要有两个阶段,第一个阶段为原理图设计,每二个阶段为程序设计。由于1系产品已经上市十多年,现在已经有非常丰富的中文资料,详细可以以通过一本名为《可编程片上系统(PSoC)原理及实训》进行学习。下面主要以3系和5系产品为例介绍一下这两个阶段。

原理图设计

PSoC Creator软件可以在Cypress官网下载到,网址为:http://www.cypress.com/?id=2494

目前所用的版本为测试版本,所以经常更新,这一点不用感到奇怪,安装好软件以后如图所示


打开PSoC Creator 以后的主界面如图所示


关于如何使用它,官方有非常详细的介绍,在帮助文档中可以找到。下面以一个例子简单的介绍一下。
1打开PSoC Creator 软件
2新建一个工程,在“Start Page”中点击“Create New Project...
3在弹出的“New Project”窗口中选择“Empty PSoC3 Design”,要是用5系芯片,就选择“Empty PSoC5 Design”,为新工程取一个名字,该软件是非常不支持中文的,在任何时候都不能有中文字符,这里也不例外,这里我们取名为“LED_With_PWM
沙发
gygp|  楼主 | 2012-10-24 23:39 | 只看该作者
4在“Location”中选择你要存储的位置,请注意不要有中文字






5在默认情况下,PSoC Creator会打开一个名为“TopDesign.cysch”的文件,在这里我们将完成原理图的设计。

原理图的设计与在Protel中画原理图类似,在软件的右边,会有一个元件目录,你可以直接使用其中的元件,当然你也可以自己创建元件。

使用特权

评论回复
板凳
gygp|  楼主 | 2012-10-24 23:39 | 只看该作者
在“Component Catalog -> Digital -> Function -> PWM”中找到PWM元件,然后将拖到原理图中,这样我们就放置了一个元件在原理图中了,要想放其它的元件方法与之类似。
6虽然已经放置了一个元件在原理图中,但是我们并没有对其进行配置,配置它有两种方法,一种是使用程序对其进行配置,每一个原理图中的模块都会有相应的程序与之对应,详细的说明可以右击元件,在出现的下拉菜单中选择“Open Data Sheet...”打开其技术文档进行查找,另一种方法是直接在原理图中对其进行配置,这也是我们常用的方法,双击元件,即可对其进行配置,配置参数也请参考其技术文档,我们将PWM配置为如下所示

官方提供的技术文档是非常丰富的,请一定记得查阅其技术哟!!!
7在这个时候,你可能已经发现,在软件的右下角会提示有若干错误,这是很正常的,因为我们还没有对PWM这个元件的外围进行处理,我们放一个“Logic Low0’”在元件的reset kill 端 ,在放一个“Clock”在元件的clock 端 ,在放一个“Digital Output Pin”在元件的pwm端 ,放好后,如下图所示

这时就没有错误了,依照上述配置PWM模块的方法,对新添加的元件进行配置,在这里体现了PSoC一个非常优秀的功能,那就是时钟的灵活性,你可以配置出任何你想要的时钟,在这里,这里把时钟配置为100Hz
8原理图的设计就基本上完成了,但是你要像在FPGA中一样对引脚进行锁定,你可以把引脚锁定到任何你想要的GPIO上,这也是PSoC的一个优势,引脚相当灵活,任何一个GPIO都能用做数字或模拟引脚。
打开工程目录下的“LED_With_PWM.cydwr”文件会出现如下界面

    在右边选择你想要的引脚后,保存后关闭。如果你没有配置引脚,那么系统会自动为你分配一个引脚,这可不是我们想要的结果。原理图设计到此就完成了。

使用特权

评论回复
地板
gygp|  楼主 | 2012-10-24 23:39 | 只看该作者
程序设计

1在设计完原理图之后,你需要点击一下编译,这样系统就会自动生成各种需要的文件,编译完成后你会发现,工程目录中多了很多文件。


2由于3系产品使用的是51内核,所以程序与普通的51单片机程序并没有多大不同,系统默认在“main.c”中写主函数,在程序中,你需要调用各种元件的API来完成对元件的操作,这些API函数你可以在元件的技术中找到,也可以直接打开元件对应的C文件和H文件查找。需要特别说明的一点是,几乎所有的元件,在程序中都需要用一个函数使其工作起来,在这个例子中,我们要使PWM工作起来所用的函数是“PWM_1_Start()
3写好后的程序比较简单,如下所示。

4将程序编译好以后,下载到芯片中,这样,你只需在你锁定的引脚上接上一个led,就能观察到led周期性的闪烁,周期为1秒。

使用特权

评论回复
5
gaochy1126| | 2012-10-25 00:31 | 只看该作者
对我们这些新手来说 ,很有用的 谢谢分享资料

使用特权

评论回复
6
Go_PSoC| | 2012-10-25 10:50 | 只看该作者
赞一个

使用特权

评论回复
7
1044633192| | 2012-12-18 15:51 | 只看该作者
楼主大神,我手里有个5系列的,也附带了几个例子都跑完了,但是还是一头雾水,求指教,求例子

使用特权

评论回复
8
shibalihuandao| | 2012-12-23 18:11 | 只看该作者
很详细

使用特权

评论回复
9
zgsxhzac| | 2012-12-23 18:12 | 只看该作者
楼主辛苦了

使用特权

评论回复
10
someontime| | 2012-12-23 18:24 | 只看该作者
挺全面的

使用特权

评论回复
11
specialfrin| | 2012-12-23 18:24 | 只看该作者
对新手来说确实很简单

使用特权

评论回复
12
justbybing| | 2012-12-23 19:08 | 只看该作者
值得顶一下

使用特权

评论回复
13
waitingf| | 2012-12-23 19:09 | 只看该作者
是个好资料 楼主辛苦了

使用特权

评论回复
14
hongong| | 2012-12-25 17:36 | 只看该作者
很详细啊

使用特权

评论回复
15
在路上的旁观者| | 2013-10-2 16:53 | 只看该作者
学习了

使用特权

评论回复
16
jiaoyong110| | 2013-10-3 10:57 | 只看该作者
楼主威武。。。。

使用特权

评论回复
17
G21372| | 2013-10-23 13:21 | 只看该作者
很详细 新手应该很容易理解吧

使用特权

评论回复
18
yangguangaisha| | 2013-10-23 13:32 | 只看该作者
扫盲功能很强大

使用特权

评论回复
19
gexingyouxian| | 2013-10-23 13:42 | 只看该作者
很详细的介绍 已阅 呵呵

使用特权

评论回复
20
acer4736| | 2013-10-23 22:42 | 只看该作者
楼主碉堡了 这个困扰我很长时间了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

184

主题

8184

帖子

15

粉丝