微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > Cortex-M3可编程片上系统原理及应用-PSoC设计导论之:微控制器基础

Cortex-M3可编程片上系统原理及应用-PSoC设计导论之:微控制器基础

时间:11-25 来源:与非网 点击:

Cypress 公司的可编程片上系统(Programmable System-on-Chip, PSoC) 将微控制器、可编程逻辑阵列、模拟可编程阵列等资源集成在单芯片上,为电子系统的设计带来了前所未有的机遇。

本章主要介绍:微控制器基础;可编程片上系统PSoC 概述;PSoC5 设计流程;PSoC5 的结构及功能;PSoC5 器件概述。本章的内容是对PSoC 所涉及知识的整体概述,通过本章内容的学习,帮助读者从"系统"角度把握PSoC 技术的本质,方便对后续内容的学习和理解。

微控制器是指带有外设的微处理器系统,比如台式电脑的CPU,它是一个微处理器系统。微控制器将响应来自I/O 引脚、定时器、通信等的输入,同时通过对信息进行操作控制来产生合适的输出信号。

I/O 引脚使得微控制器能读取来自其他设备的按钮和状态信息,同时I/O 引脚也能够输出信号用来打开灯、运行电机和驱动显示设备。

定时器、通信模块和数/模转换模块能使微控制器执行特殊的任务,比如与PC 机进行通信,读取温度信息等。

从微观上说,微控制器是一个集成了成千上万电子开关的设备。正如编程的人目的是为了将复杂的操作简化为逻辑和算术运算来完成任务那样,微控制器的设计人员必须决定使用什么电子设备来完成这些任务,比如,晶体管,FET 和二极管等。大多数的微控制器工作在二进制系统下,比如"1"或"0",逻辑高或逻辑低,开或关。

Cypress 的微控制器系统称为可编程片上系统(Programmable System-on-Chip, PSoC) ,那是因为在单芯片上包含了CPU 内核、足够的模拟子系统和数字子系统资源。因此,在实现一个系统时,几乎不需要外部的电路。

1.1.1 微控制器的涵义

如图1.1 所示,微处理器系统的CPU 通常需要和其他部件相连接,这样才能使其发挥作用。微处理器系统通常会使用到的功能部件包括以下内容。

图1.1 微处理器系统常用功能部件

(1)中央处理单元(CPU)

中央处理单元(Central Processing Unit, CPU )是系统的"大脑",它知道如何和各种不同空间的存储器交换(读或写)信息。同时,也执行一些逻辑指令,最基本和最通用的有:加、减、逻辑"或"、逻辑"与"、逻辑"异或"、移位、移动和复制。一些处理器可能执行更加复杂的操作,但这些操作都是由最基本的操作组合得到的。

CPU 由一些子系统构成,在这些子系统中最重要的是程序计数器(Program Counter, PC),指令译码器和算术逻辑单元(Arithmetic Logic Unit,ALU )部分。PC 指向Flash 存储器指定的地址,然后返回指令和数据。PC 用来确定送到指令译码器内的Flash 中的字段。指令译码器包含译码逻辑,这些逻辑将对从Flash 返回的数进行"翻译",用来确定程序将执行的指令,这些指令将"告诉"CPU 下一步所做的逻辑操作行为。

CPU 不但能实现运算操作,也能修改程序运行的地址。如果在执行指令的过程中,并不是顺序的执行指令,比如遇到调转指令,那么PC 将加载新的所要运行指令的地址,并且从指向Flash 新的地址位置的地方执行程序。如果指令需要CPU 执行一些运算,那么相关的数将送到ALU 单元中。

此外,CPU 也能根据所接收到的指令对外设进行控制。

(2)高速缓存(Cache)

从位置和访问速度方面来说,高速缓存Cache 最靠近CPU。有时,将Cache 直接集成在同一芯片内。但并不是必须放在同一个硅片上,只是封装在同一个芯片内。

(3)随机访问存储器(RAM)

从CPU 访问速度来说,访问随机访问存储器(Random Access Memory, RAM )比访问高速缓存要慢。需要说明的是,这个词语已经失去了它的原本含义,这是由于现在大部分的存储器都能够以任何顺序进行访问。

(4)硬件驱动

从速度来说,是系统中最慢和最大的存储部分。它用来保存程序,并且是由非易失性的存储介质构成。

1.1.2 微控制器编程语言

世界上不管是什么厂商的CPU,不管采用什么样结构的CPU,它们都有下面的共同特点:

都是靠程序计数器(Program Counter, PC )来控制程序的运行,正因为这个原因,它们本质上也是串行执行的;?

工作在二进制状态下,也就是通常所说的在PC 的控制下,通过运行二进制组成的机器代码,来控制CPU 内各个功能部件的运行。

对CPU 来说,所谓的"机器语言指令",就是通过CPU 内的控制逻辑来协调CPU 内各个功能部件,完成所要求的操作。机器语言的运行效率是最高的。

机器语言指令应该由操作码和操作数两部分构成。操作码告诉CPU 所需要执行的操作,操作数是执行操作所针对的对象。这些对象包括:立即数,寄存器和存储器等,通过访问这些对象来获得所需要操作的对象

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top