查看: 4301|回复: 2

PSoC3/5使用介绍(转帖,看起来不错)

[复制链接]
  • TA的每日心情
    奋斗
    2019-4-25 10:29
  • 签到天数: 724 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-8-31 18:28:02 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 翔宇 于 2012-9-3 14:17 编辑

    简单的介绍一下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  
    目前所用的版本为测试版本,所以经常更新,这一点不用感到奇怪,安装好软件以后如图所示
    图1.jpg
    打开PSoC Creator 以后的主界面如图所示
    图2.jpg
    关于如何使用它,官方有非常详细的介绍,在帮助文档中可以找到。下面以一个例子简单的介绍一下。
    1打开PSoC Creator 软件
    2新建一个工程,在“Start Page”中点击“Create New Project...
    3在弹出的“New Project”窗口中选择“Empty PSoC3 Design”,要是用5系芯片,就选择“Empty PSoC5 Design”,为新工程取一个名字,该软件是非常不支持中文的,在任何时候都不能有中文字符,这里也不例外,这里我们取名为“LED_With_PWM
    4在“Location”中选择你要存储的位置,请注意不要有中文字
    图3.jpg
    5在默认情况下,PSoC Creator会打开一个名为“TopDesign.cysch”的文件,在这里我们将完成原理图的设计。
    图4.jpg
    原理图的设计与在Protel中画原理图类似,在软件的右边,会有一个元件目录,你可以直接使用其中的元件,当然你也可以自己创建元件。
    在“Component Catalog -> Digital -> Function -> PWM”中找到PWM元件,然后将拖到原理图中,这样我们就放置了一个元件在原理图中了,要想放其它的元件方法与之类似。
    6虽然已经放置了一个元件在原理图中,但是我们并没有对其进行配置,配置它有两种方法,一种是使用程序对其进行配置,每一个原理图中的模块都会有相应的程序与之对应,详细的说明可以右击元件,在出现的下拉菜单中选择“Open Data Sheet...”打开其技术文档进行查找,另一种方法是直接在原理图中对其进行配置,这也是我们常用的方法,双击元件,即可对其进行配置,配置参数也请参考其技术文档,我们将PWM配置为如下所示
    图5.jpg
    官方提供的技术文档是非常丰富的,请一定记得查阅其技术哟!!!
    7在这个时候,你可能已经发现,在软件的右下角会提示有若干错误,这是很正常的,因为我们还没有对PWM这个元件的外围进行处理,我们放一个“Logic Low0’”在元件的reset kill 端 ,在放一个“Clock”在元件的clock 端 ,在放一个“Digital Output Pin”在元件的pwm端 ,放好后,如下图所示
    图6.jpg
    这时就没有错误了,依照上述配置PWM模块的方法,对新添加的元件进行配置,在这里体现了PSoC一个非常优秀的功能,那就是时钟的灵活性,你可以配置出任何你想要的时钟,在这里,这里把时钟配置为100Hz
    8原理图的设计就基本上完成了,但是你要像在FPGA中一样对引脚进行锁定,你可以把引脚锁定到任何你想要的GPIO上,这也是PSoC的一个优势,引脚相当灵活,任何一个GPIO都能用做数字或模拟引脚。
    打开工程目录下的“LED_With_PWM.cydwr”文件会出现如下界面
    图7.jpg
    在右边选择你想要的引脚后,保存后关闭。如果你没有配置引脚,那么系统会自动为你分配一个引脚,这可不是我们想要的结果。原理图设计到此就完成了。

    程序设计
    1在设计完原理图之后,你需要点击一下编译,这样系统就会自动生成各种需要的文件,编译完成后你会发现,工程目录中多了很多文件。
    图8.jpg
    2由于3系产品使用的是51内核,所以程序与普通的51单片机程序并没有多大不同,系统默认在“main.c”中写主函数,在程序中,你需要调用各种元件的API来完成对元件的操作,这些API函数你可以在元件的技术中找到,也可以直接打开元件对应的C文件和H文件查找。需要特别说明的一点是,几乎所有的元件,在程序中都需要用一个函数使其工作起来,在这个例子中,我们要使PWM工作起来所用的函数是“PWM_1_Start()”
    3、写好后的程序比较简单,如下所示。
    图9.jpg
    4将程序编译好以后,下载到芯片中,这样,你只需在你锁定的引脚上接上一个led,就能观察到led周期性的闪烁,周期为1秒。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2014-5-28 19:02
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2012-9-1 21:25:03 | 显示全部楼层
    看似不错呀!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2019-4-25 10:29
  • 签到天数: 724 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2012-9-1 21:40:21 | 显示全部楼层
    E08610225 发表于 2012-9-1 21:25
    看似不错呀!

    嗯,感觉不错,如果能申请到板子就知道这到底是好是坏了!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-28 00:03 , Processed in 0.128556 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.