打印

PSoC 开发软件使用介绍

[复制链接]
2022|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
beiwaroad|  楼主 | 2013-4-9 18:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
开发PSoC所用的软件有三个,开发1系芯片所用的软件为PSoC Designer和PSoC Express,但PSoC Express用得不多;开发3系和5系芯片所用的软件为PSoC Creator。与PSoC Designer和PSoC Express相比,PSoC Creator结合了以上两者的优点,更加容易使用,更加人性化。
开发PSoC主要有两个阶段,第一个阶段为原理图设计,每二个阶段为程序设计。由于1系产品已经上市十多年,现在已经有非常丰富的中文资料,详细可以以通过一本名为《可编程片上系统(PSoC)原理及实训》进行学习。下面主要以3系和5系产品为例介绍一下这两个阶段。
目前所用的版本为测试版本,所以经常更新,这一点不用感到奇怪,安装好软件以后如图所示

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

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

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

原理图的设计与在Protel中画原理图类似,在软件的右边,会有一个元件目录,你可以直接使用其中的元件,当然你也可以自己创建元件。
在“Component Catalog -> Digital -> Function -> PWM”中找到PWM元件,然后将拖到原理图中,这样我们就放置了一个元件在原理图中了,要想放其它的元件方法与之类似。
6、虽然已经放置了一个元件在原理图中,但是我们并没有对其进行配置,配置它有两种方法,一种是使用程序对其进行配置,每一个原理图中的模块都会有相应的程序与之对应,详细的说明可以右击元件,在出现的下拉菜单中选择“Open Data Sheet...”打开其技术文档进行查找,另一种方法是直接在原理图中对其进行配置,这也是我们常用的方法,双击元件,即可对其进行配置,配置参数也请参考其技术文档,我们将PWM配置为如下所示

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

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

在右边选择你想要的引脚后,保存后关闭。如果你没有配置引脚,那么系统会自动为你分配一个引脚,这可不是我们想要的结果。原理图设计到此就完成了。
程序设计
1、在设计完原理图之后,你需要点击一下编译,这样系统就会自动生成各种需要的文件,编译完成后你会发现,工程目录中多了很多文件。
[size=0.83em]2013-1-5 16:20 上传
下载附件 [size=0.83em](13.31 KB)




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

4、将程序编译好以后,下载到芯片中,这样,你只需在你锁定的引脚上接上一个led,就能观察到led周期性的闪烁,周期为1秒。
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

86

主题

964

帖子

2

粉丝