首页 >> 大全

【小黑嵌入式系统第七课】PSoC® 5LP 开发套件(CY8CKIT

2024-01-06 大全 32 作者:考证青年

上一课:

【小黑嵌入式系统第六课】嵌入式系统软件设计基础——C语言简述、程序涉及规范、多任务程序设计、状态机建模(FSM)、模块化设计、事件触发、时间触发

下一课:

【小黑嵌入式系统第八课】初识PSoC ™开发——关于PSoC &下载、创建项目、单片机中的hello world(点亮一个led)

文章目录 三、GPIO控制LED流水灯的实现

一、PSoC® 5LP主芯片

可用作 GPIO 的两个 USBIO引脚可从任意一个数字或模拟外设连接到任意的 GPIO任何 GPIO 都具有 LCD 直接驱动器功能,最多可驱动46 × 16 行任何 GPIO 均提供 支持1.2 V 至 5.5 V 接口电压,多达 4 个电压域 二、PSoC 5LP I/O系统 (1) I/O系统特性

所有I/O引脚均可供CPU和片内数字外设用作数字输入、数字输出,并且所有I/O引脚都可产生中断。

所有GPIO引脚都可用作模拟输入、(电容感应)、LCD段驱动。

SIO引脚可被用于超过Vdda电压(器件的最高供电电压)值时的情况,以及用来产生可编程的输出电压,或设置可编程的输入阈值电压。

一个GPIO引脚的结构框图:

一个SIO引脚的结构框图:

一个USBIO引脚的结构框图:

(2) I/O系统怎样运作?

PSoC 的I/O系统提供以下功能:

接下来后面主要介绍GPIO的基本运作方式

PSoC 5LP系列器件包含了46~72个I/O引脚,为了方便管理众多的I/O引脚,它们被组织成端口(port)的形式,每个端口最多包含8个引脚(pin)。

一些I/O引脚为多功能复用引脚(除通用功能外,还具有诸如USB、调试口、或石英晶体振荡器等特殊功能),其特殊功能通过相关的控制寄存器来使能,如通过设置石英晶体振荡器控制寄存器,可将该I/O引脚用作石英晶体振荡器功能。

微信企业号套件开发__电机控制器开发套件

具有多个名称的引脚为多功能复用引脚。

引脚名称中,诸如P1[2]的名称表示该引脚为端口1(port 1)中的2号引脚(pin2)。在PSoC中,一个端口最多包含8个引脚。

1、I/O驱动模式

I/O驱动模式是引脚的主要属性之一

每个GPIO或SIO引脚都可以被独立配置为8种驱动模式中的一种。

高阻模拟

为默认的复位状态,关闭所有的输出驱动器和数字输入缓冲器。这就避免了由于来自浮空的电压引起的流入数字输入缓冲器的电流。这个状态被推荐用于浮空或者支持模拟电压的引脚。

高阻模拟引脚连接到低噪声低干扰的专门布线路径,它不提供数字输入功能。

高阻数字

使能输入缓冲器用于数字信号输入。这是一个常用的高阻状态,推荐用于数字输入。

3.电阻上拉或电阻下拉

上拉或下拉各自在一个数据状态下提供串行电阻,并在另一数据状态下提供强驱动。该模式下,引脚能被用于数字输入/输出。这些模式常见于连接机械开关。

4.开漏、高驱动,开漏、低驱动

开漏模式引脚在一种数据状态下为高阻,在另一数据状态下提供强驱动。引脚能被用于数字输入/输出。

一个典型的应用是驱动I2C总线上的信号线。

5.强驱动

在高或低电平输出状态均提供强的CMOS输出驱动。这是引脚常用的输出模式。通常,强驱动模式引脚不得用作输入。这个模式通常用于驱动数字输出信号或者外部的FET。

6.电阻上拉和下拉

与电阻上拉或下拉模式类似,区别是总是存在串行电阻。在高输出状态是上拉,而在低输出状态是下拉。

该模式常用于其它可能引起短路的信号在驱动总线时。

如果I/O引脚选择旁路模式(缺省模式),则实际的I/O引脚上电压由端口数据寄存器(DR)值、引脚驱动模式、引脚所接负载共同决定。引脚电平状态可从端口状态寄存器(PS)中获得。

每个I/O引脚有三个驱动模式配置位(DM[2:0]),这些配置位位于一组[2:0]寄存器中。 例如寄存器、 、 的各自bit y位,这3位用来设置portx的piny引脚(即Px[y]引脚)的驱动模式。

I/O引脚驱动模式

2、I/O端口配置寄存器

配置I/O引脚驱动模式,以及引脚的其它一些功能设置,可通过两种方式:

CPU可通过写端口数据寄存器()来让引脚输出高低电平(或高阻态);CPU通过读引脚状态寄存器()来获取引脚实际的电平状态。

_微信企业号套件开发_电机控制器开发套件

端口配置寄存器:配置某端口的所有引脚,每种寄存器配置一个功能,各引脚功能设置可相同也可不相同。

表中所列的各寄存器均为一组寄存器。如PRT[0…11]_DR,表示有12个寄存器,分别为 ~ ,寄存器名中的数字表示端口号(即分别对应port0~的数据寄存器)。每个寄存器为8位,寄存器每个bit对应该端口的一个引脚,如寄存器的bit0对应port0的pin0(即P0[0]引脚)。

PRT[0…11]_PRT配置寄存器(只写):

将某端口的所有引脚配置为相同模式,一次完成全部功能配置。

使用寄存器实现对port x的所有引脚的一次性相同配置

端口引脚配置寄存器( ~ ):用于访问单个I/O端口引脚的配置或状态位。下图给出了访问P3[2]引脚配置寄存器的结构图。

全部的端口引脚配置寄存器简化表示为PRT[0…14]_PC[0…7],最多包含15x8个寄存器。

寄存器名称前面的数字为端口号,后面的数字为引脚号,如寄存器为port3的pin2(即P3[2]引脚)引脚配置寄存器。

三、GPIO控制LED流水灯的实现

建议使用方法1或方法2,尤其方法1。方法3只在要求很快的I/O操作速度时才需要。

补:延时的实现可利用组件所提供的延时函数()

关于GPIO控制LED流水灯的每个示例项目的阅读及运行:

(1)打开项目目录中的.cywrk文件;(项目路径中不能含有中文)

(2)而后查看项目的原理图.cysch、项目的设计范围资源文件.cydwr、main.c、GPIO.h(仅对 示例项目);

(3)将程序下载至PSoC 5LP芯片中(USB线连接到板上的J1口),实际观察运行效果。

关于GPIO控制LED流水灯的示例项目的注意事项:

(1)注意示例项目中的注释;

(2)在运行程序前需先将-050板上的LED1与P0[0]插孔用导线连接、将LED2与P0[1]连接;

(3)自带的组件,均有组件数据手册(中文翻译版需到官网中搜索下载),里面有该组件的功能、各种配置、API函数等内容的详细说明。

(4)每个项目都会自动隐式地包含组件,该组件提供了存取芯片资源的一种方式,提供了大量直接可用的API函数。所有示例项目均使用了的一个API函数 —— 延时函数(),示例项目2还使用了其引脚相关API函数。

组件的手册获取方式:

(5)PSoC 5LP器件内的所有寄存器的功能及使用说明,参见“PSoC 5LP寄存器技术参考手册”(PSoC 5LP TRM)。

(6)源程序中有一些自定义的数据类型,如main.c文件中的uint8类型,这些自定义数据类型的含义参见 。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了