第1章 PSoC设计导论 何宾 2011.12 本章内容 Cypress公司的可编程片上系统(Programmable Systemon-Chip, PSoC)将微控制器、可编程逻辑阵列、模拟可编程 阵列等资源集成在单芯片上,为电子系统的设计带来了前 所未有的机遇。 本章主要介绍了微控制器基础、可编程片上系统PSoC 概述、PSoC3设计流程、PSoC3的结构及功能和PSoC3器件 概述。本章的内容是对PSoC所涉及知识的整体概述,通过 本章内容的学习,帮助读者从“系统”角度把握PSoC技术 的 本质,方便对后续内容的学习和理解。 微控制器基础 微控制器是指带有外设的微处理器系统,比如台式 电脑的CPU,它是一个微处理器系统。微控制器将响应 来自I/O引脚、定时器、通信等的输入,同时通过对信息 进行操作控制来产生合适的输出信号。 I/O引脚使的微控制器能读取来自其它设备的按钮和 状态信息,同时I/O引脚也能够输出信号用来打开灯、运 行电机和驱动显示设备。 定时器、通讯模块和数/模转换模块能使微控制器执 行特殊的任务,比如与PC机进行通讯,读取温度信息等 。 微控制器基础 从微观上说,微控制器是一个集成了成千上万电子 开关的设备。正如编程的人目的是为了将复杂的操作简 化为逻辑和算术运算来完成任务那样,微控制器的设计 人员必须决定使用什么电子设备来完成这些任务,比如 ,晶体管,FET和二极管等。 大多数的微控制器工作在二进制系统下,比如’1’或 ’0’,逻辑高或逻辑低,开或关。 微控制器基础 Cypress的微控制器系统称为可编程片上系统 (Programmable System-on-Chip, PSoC),那是因为在单芯片 上包含了CPU内核、足够的模拟子系统和数字子系统资源 。因此,在实现一个系统时,几乎不需要外部的电路。 微控制器的涵义 如图1.1所示,微处理器系统的CPU通常需要和其它 部件相连接,这样才能使其发挥作用。微处理器系统通 常会使用到的功能部件包括: 微控制器的涵义 --CPU 中央处理单元(Central Processing Unit, CPU)是系 统的“大脑”,它知道如何和各种不同空间的存储器交 换 (读或写)信息。同时,也执行一些逻辑指令,最基本 和最通用的有:加、减、逻辑“或”、逻辑“与”、逻 辑“异 或”、移位、移动和复制。一些处理器可能执行更加复 杂 的操作,但这些操作都是由最基本的操作组合得到的。 微控制器的涵义 --CPU CPU由一些子系统构成,在这些子系统中最重要的 是程序计数器(Program Counter, PC),指令译码器和算 术逻辑单元(Arithmetic Logic Unit,ALU)部分。 PC指向Flash存储器指定的地址,然后返回指令和数 据。PC用来确定送到指令译码器内的Flash中的字段。指 令译码器包含译码逻辑,这些逻辑将对从Flash返回的数 进行“翻译”,用来确定程序将执行的指令,这些指令 将“ 告诉”CPU下一步所做的逻辑操作行为。 微控制器的涵义 --CPU CPU不但能实现运算操作,也能修改程序运行的地 址。如果在执行指令的过程中,并不是顺序的执行指 令,比如遇到调转指令,那么PC将加载新的所要运行 指令的地址,并且从指向Flash新的地址位置的地方执 行程序。如果指令需要CPU执行一些运算,那么相关的 数将送到ALU单元中。 此外,CPU也能根据所接收到的指令对外设进行控 制。 微控制器的涵义 --Cache 从位置和访问速度方面来说,高速缓存Cache最靠近 CPU。有时,将Cache直接集成在同一芯片内。但并不是 必须放在同一个硅片上,只是封装在同一个芯片内。 微控制器的涵义 --RAM 从CPU访问速度来说,访问随机访问存储器( Random Access Memory, RAM)比访问高速缓存要慢。 需要说明的是,这个词语已经失去了它的原本含义 ,这是由于现在大部分的存储器都能够以任何顺序进行 访问。 微控制器的涵义 --硬件驱动 从速度来说,是系统中最慢和最大的存储部分。它 用来保存程序,并且是由非易失性的存储介质构成。 微控制器编程语言 世界上不管是什么厂商的CPU,也不管它们采用什 么样的结构,它们都有下面的共同特点: 都是靠程序计数器(Program Counter, PC)来控制程序的 运行,正因为这个原因,它们本质上也是串行执行的; 工作在二进制状态下,也就是通常所说的在PC的控制下, 通过运行二进制组成的机器代码,来控制CPU内各个功能部 件的运行。 微控制器编程语言 对CPU来说,所谓的“机器语言指令”,就是通过 CPU内的控制逻辑来协调CPU内各个功能部件,完成所 要求的操作。机器语言的运行效率是最高的。 机器语言指令应该由:操作码和操作数两部分构成。 操作码告诉CPU所需要执行的操作; 操作数是执行操作所针对的对象。这些对象包括:立即数, 寄存器和存储器等,通过访问这些对象来获得所需要操作的 对象。比如:对8051来说,机器语言指令-7D25,表示该指 令要实现数据传输操作,“7D”是操作码,“25“是操作对 象”,其表示将十六进制数#25,送到R5寄存器中。 微控制器编程语言 但是,正如前面所说的,纯粹意义上的“机器语 言 ”对程序员太难理解了,为什么?这是因为程序员是 CPU的操作者,而不是CPU的设计者,程序员根本不可 能从二进制代码的排列中看出“机器语言”所描述的 逻辑 操作行为。 微控制器编程语言 为了帮助程序员理解CPU所执行的操作,通过汇编语 言助记符指令来帮助程序员设计指令来控制CPU的运行。 汇编语言助记符指令通过汇编器被翻译成机器语言指 令。 用汇编助记符描述机器指令的形式为: [标号:] 助记符 [操作数] [;注释] 标号用来表示一行指令 助记符表示所要执行的逻辑操作行为 操作数为逻辑操作行为所操作具体对象 微控制器编程语言 现在用汇编语言来描述上面的机器指令“7D25”: MOV R5, #25 MOV表示数据移动操作,R5表示目的操作数,#25 表示源操作数,这个助记符汇编指令所表示的是,将立 即数25复制到R5寄存器中。 使用助记符来描述CPU所要进行的操作,比使用机 器语言直接描述更加容易理解和记忆。 微控制器编程语言 但是,由于汇编语言下面是机器语言,所以对于使用 汇编语言编程的程序员来说,他必须很清楚CPU的指令集 ,寄存器单元和存储器映射等繁琐的硬件规则。虽然其执 行效率基本上和机器语言一样,但是使用汇编语言编程效 率很低。 因为很多程序员根本不了解CPU的具体内部结构, 所以对它们来说,使用汇编语言编程并不比使用机器指令 编程好到哪里去,这也是一件令他们非常痛苦的事情。 微控制器编程语言 值得高兴的是,在今天,厂商开发的软件平台支持使用C 、BASIC等高级语言对硬件进行编程;C语言是不能直接 在CPU上运行,它必须首先通过编译器(Compiler)转换 成机器语言,才能在CPU上运行。使用高级语言所编写的 代码其运行的效率不可能比用汇编语言编程的运行效率高 ,所以说,如果你想让C语言所编写的代码和汇编语言编 写的代码有一样高的代码执行效率,你只能是绞尽脑汁的 对C代码进行优化,或者使用C语言和汇编语言混合编程, 来满足代码长度和运行时间的设计要求。虽然这一过程是 也会让程序员耗费很多的精力,但是,值得他们高兴的是 ,他们再也不用和底层硬件直接打交道了。 微控制器编程语言 表1.1 C语言和汇编助记符之间的对应关系 C语言描述 汇编助记符 机器指令 功能 F=C+D MOV A, 0x08 E508 将数据空间地址为0x08的内容送给累加器A ADD A, 0x09 2509 将数据空间地址为0x09的内容和累加器A相加后 送给累加器A MOV 0x0A, A F50A 将累加器A的内容送到地址为0x0A的数据空间 现在更令程序员更高兴的事情是,越来越多的厂商提 供了硬件的应用程序接口(Application Program Interface, API)函数,这样程序员可以根本不用知道更多的硬件实 现细节,只需关心如何编写代码来使硬件工作,这样就 大大提高了程序的设计效率。 可编程片上系统PSoC概述 -PSoC发展概述 当今世界,嵌入式处理器无处不在。在过去三十年 间: 市场要求不断地降低嵌入式系统的成本; 要求嵌入式处理器处理及控制能力不断的提高; 在这两个因素的推动下,使得嵌入式处理器的功能 变得越来越复杂。 所以,当半导体市场出现越来越多的片上可编程系 统,设计者就不会感到奇怪了。 这种PSoC其实质就是将CPU、模拟和数字子系统集 成在单芯片上。典型的,美国Cypress公司,率先实现了 在单芯片上实现完整的模拟和数字系统的集成,其典型 的代表作即PSoC1、PSoC3和PSoC5。 可编程片上系统PSoC概述 -PSoC发展概述 特别值得一提的是,PSoC3和PSoC5片上可编程系统 ,由于在芯片内部分别集成了业界流行的8051 CPU硬核和 ARM Cortex-M3 CPU硬核,使其受到业界的高度关注。以 PSoC芯片和PSoC Creator软件开发工具为代表的硬件设计 平台和软件设计工具,引领着未来嵌入式系统设计的发展 方向。 可编程片上系统PSoC概述 -PSoC发展概述 其设计方法的核心就是,以不同的数字和模拟IP核“ 积木块”为中心的“系统级”设计,这种设计方法所体现 出 来的是对未来嵌入式设计者所要求的“重基础”和“宽专 业” 的要求。因为,这种PSoC具有很高的集成度,所涉及的知 识内容也比较多,这就是“宽专业”,但是,要想能完成 PSoC的设计,要求设计者有非常好的基础理论知识,这就 是“重基础”。 使用PSoC进行嵌入式系统设计具有以下几个方面的优 可编程片上系统PSoC概述 -PSoC发展概述 1. 定制 基于PSoC嵌入式系统的设计人员可以很灵活地选择 所要连接的外设和控制器。因此,设计人员可以设计出 一个独一无二的外设,这个外设可以直接和总线连接。 对于一些非标准的外设,设计人员很容易的使用PSoC内 嵌的通用数字块(Universal Digital Block,UDB)阵列实 现对非标准外设的定制。比如,设计人员很容易的在 PSoC上设计出多个UART接口的嵌入式系统,而这些在 传统的8051单片机和嵌入式系统是无法实现的。因此, 在PSoC平台中,向这样类似的配置是很容易实现的。 可编程片上系统PSoC概述 -PSoC发展概述 2. 降低元件成本 由于基于PSoC平台的嵌入式系统的功能多样性,以前 需要用很多元件才能实现的系统,现在可以使用一个PSoC 芯片实现。比如,辅助I/O芯片或协处理器与现有的处理 器之间的连接。减少在设计中所使用的元件的数量,不但 可以降低元件的成本,而且可以大大缩小电路板的尺寸, 提高系统的可靠性。 可编程片上系统PSoC概述 -PSoC发展概述 3. 硬件加速 选择PSoC的一个重要的原因就是,PSoC能在硬件和软 件之间进行权衡,使嵌入式系统达到最大的效率和性能。 比如,当算法是嵌入式系统软件性能的瓶颈时,一个使用 定制的协处理器引擎能用来实现算法,这个协处理器通过 专用的,低延迟的通道与嵌入式处理器连接。使用现代的 硬件设计工具,很容易的将软件瓶颈转向硬件处理。 下面通过表1.2详细说明它们在软件和硬件设计上的区 别。 可编程片上系统PSoC概述 -PSoC发展概述 PSoC(8051内核) 硬件 内部集成大量软件和硬件可配置的模拟 模块 传统8051 内部没有集成模拟模块 内部根据用户要求可定制IP核。 无用户定制IP核功能 端口功能丰富,可配置模拟/数字功能、 驱动能力等 端口功能单一 引脚可以和内部模块任意连接 引脚固定,不能修改引脚和内部模 块的连接方式 软件 汇编,C语言编程 预建立/用户定制元件驱动函数自动生成 汇编,C语言编程 无元件驱动函数自动生成 综合上述,PSoC是一个MCU,但是是一个高度的硬件和软 件可编程的MCU。在PSoC的平台上充满了设计的创意。 PSoC设计方法 --设计背景 一个典型的嵌入式系统由下面三个主要模块构成: 处理器; 数字(外设和逻辑); 模拟(用于与传感器和控制器的物理接口); 系统根据硬件接口要求,由三个模块连接构成硬件平 台。然后,在这个硬件设计上,“构建”软件,来执行所 要 求的处理和控制功能。 按照传统的设计方法,一旦定制的“软件”和“硬件 ”开 始运行,对这个设计需要进行修改或更新时,就成为一件 令设计者异常痛苦的事情。众所周知,这是一件耗钱和耗 PSoC设计方法 --设计背景 对于嵌入式系统设计者来说,需要其设计在市场上超 过其竞争对手,以快速的占领市场。 当你在市场上看到种类繁多的手机等电子产品的激烈 竞争时,你就彻底明白了市场对嵌入式系统设计者是多么 的重要。 为了拥有早期市场优势,在知识和投资中,尽可能的 “ 重用”。“重用”其实就是重复使用,这种思想使得设计 成 本大大降低和设计周期大大缩短,这应该是所有嵌入式系 PSoC设计方法 --设计背景 嵌入式系统设计者,希望支持其嵌入式系统设计的 工具和元件能够支持甚至最后几分钟的重要变化。这样, 使得它们能从容的面对这种变化,更加对设计充满信心。 当然设计应该充分的利用工业标准的“生态设计” , 查查相关资料就知道“生态设计”对未来嵌入式系统设计 时 多么的重要。 嵌入式系统设计发展到今天,设计者应该充分利用众 多的嵌入式开发社区和标准的工具。充分利用这些资源可 PSoC设计方法 --设计背景 这些挑战其实可以归结为一个事实,即较长的设计 周期,较高的市场要求变化几率和不同的需求。 众所周知,一点点设计变化,都将使得设计周期延 长。缩短设计周期,不但拥有了财富上的优势,而且降 低了不确定性,提供了早期消费者提供的反馈信息,当 你拥有这些信息,对产品快速改进时,产品就成为市场 的领导者。 PSoC设计方法 --IP核复用技术 SoC设计,本质上就是在单芯片内部,将不同功能 的IP核的连接在一起,以满足不同的应用要求。现在的 PSoC设计,规模巨大而且功能复杂,设计人员不可能从 头开始进行设计。现在采用的方式是,在设计中尽可能 使用现有的功能模块,当没有现成的模块可以使用时, 设计人员才需要自己花时间和精力设计新的模块。 EDA设计人员把这些现成的模块通常称为IP( intellectual Property)核。IP核来源主要有三个方面: 前一个设计创建的模块; SoC生产厂商的提供 第三方IP厂商的提供。 PSoC设计方法 --IP核复用技术 IP核是具有知识产权核的集成电路芯核总称,是经过 反复验证过的、具有特定功能的宏模块,与芯片制造工艺 无关,可以移植到不同的半导体工艺中。 到了SOC阶段,IP核设计已成为片上可编程系统解决 方案厂商中非常重要的任务,其所能提供的IP核的资源数 目,体现了厂商的实力。对于可编程SoC芯片,其提供的 IP核越丰富,用户的设计就越方便,其市场占用率就越高 。目前,IP核已经成为系统设计的基本单元,并作为独立 设计成果被交换、转让和销售。 从IP核的提供方式上,通常将其分为软核、硬核和固 核这3类。从完成IP核所花费的成本来讲,硬核代价最大 ;从使用灵活性来讲,软核的可复用使用性最高。 PSoC设计方法 --IP核复用技术 1.软核 软核在EDA设计领域指的是综合之前的寄存器传输级 (RTL)模型;具体在FPGA设计中指的是对电路的硬件 语言描述,包括逻辑描述、网表和帮助文档等。 软核只经过功能仿真,需要经过综合以及布局布线才 能使用。其优点是灵活性高、可移植性强,允许用户自配 置;缺点是对模块的预测性较低,在后续设计中存在发生 错误的可能性,有一定的设计风险。 软核是IP核应用最广泛的形式。比如:可以使用HDL 语言在PSoC芯片内部,通过UDB资源生成设计者定制的 外设控制器。 PSoC设计方法 --IP核复用技术 2.固核 固核在EDA设计领域指的是带有平面规划信息的网 表;具体在SoC设计中可以看做带有布局规划的软核, 通常以RTL代码和对应具体工艺网表的混合形式提供。 将RTL描述结合具体标准单元库进行综合优化设计,形 成门级网表,再通过布局布线工具即可使用。和软核相 比,固核的设计灵活性稍差,但在可靠性上有较大提高 。目前,固核也是IP核的主流形式之一。 PSoC设计方法 --IP核复用技术 3.硬核 硬核指经过验证的设计版图;具体在PSoC设计中指布 局和工艺固定、经过前端和后端验证的设计,设计人员不 能对其修改。不能修改的原因有两个:首先是系统设计对 各个模块的时序要求很严格,不允许打乱已有的物理版图 ;其次是保护知识产权的要求,不允许设计人员对其有任 何改动。IP硬核的不许修改特点使其复用有一定的困难, 因此只能用于某些特定应用,使用范围较窄。比如:典型 的PSoC3内部集成了8051CPU硬核,PSoC5内部集成了 ARM Cortex-M3 CPU硬核。 PSoC设计方法 --设计重用技术 “设计重用”是PSoC设计中一个非常重要的设计思 想 ,“设计重用”比“IP核复用”具有更高的设计灵活性。 这个 思想的提出,使得嵌入式系统设计方法进入到一个崭新的 阶段。当然,这是众多半导体厂商的最高理想境界。 PSoC设计方法 --设计重用技术 设计重用的思想非常吸引人,但是目前的标准的解 决方式仅仅是迫使在项目的另一部分加入“定制”的开发 , 这不能根本上解决问题。 使得IP核重用利益最大化的方法是将软件和硬件作为 “同等地位”的“合作者”,不需要使得软件或硬件的任 何一 方需要了解对方的具体实现过程。实现这个目的的方法是 ,在定义硬件IP核的时候,顺便也要考虑到软件和开发工 具,这样在应用程序和硬件之间的接口就非常方便、高效 ,同时,彼此不需要“深入了解对方”。 PSoC设计方法 --设计重用技术 Cypress的PSoC Creator开发平台很好的实现了设计重 用的思想,并将其变为现实,即在生成硬件IP时,也同时 提供了相应所需要的软件API函数,这样使得设计更容易 运行,以更快的速度完成,更加容易维护和便携。 PSoC设计方法 --设计重用技术 当使用HDL语言开发IP核时,对其进行综合、仿真、 验证、编写测试平台、编写文档。那么应该为IP核的使用 者在IP核开发工具中提供相同的工具,这个工具就是当用 户在他的设计中例化所需要使用的IP核时,为每个例化的 IP核生成相应的API函数。 PSoC设计方法 --设计重用技术 PSoC3/5由嵌入式的处理器(8051或Cortex-M3)、 可编程的数字阵列和高精度的模拟资源构成。PSoC Creator软件充分的显示出其强大的设计重用功能,即硬 件模块或者元件能通过使用API函数进行封装,来简化软 件代码的开发,同时加速设计过程。 PSoC设计方法 --设计重用技术 PSoC Creator提供原理图捕获接口,在原理图界面内 ,设计者通过从模拟和数字元件库中拖拽元件来创建设计 。一个元件由一个在原理图界面内可见的符号或者其它原 理图的实现构成。当设计者建立(build)设计时,软件就 根据元件的名字产生相应的API函数。 PSoC设计方法 --设计重用技术 图1.2 API函数的定制 PSoC3设计流程 软 件 设 计 流 程 源文件编辑器 建立器(builder) C51编译器,生 成目标代码(.obj) LIBX51库管理 器,生成库文 件(.lib) LX51链接器,生成绝 对目标模块文件(.omf) 硬 件 设 计 流 程 在空白的界面开始设计 从 列表 中 , 拖 出元 件 ,并 将其放置到空白界面中。 用块和/或RTL定制元件 将元件连接到一起 将元件连接到时钟系统、 DMA、中断和引脚 综合、映射、布局布线 OHX51生成器, 生成十六进制文件(.Hex) 下载设计到PSoC芯片中 PSoC设计流程 代码生成器 PSoC3设计流程 -硬件设计流程 这里的“硬件”概念,是指在PSoC3芯片内,利用芯 片 内的CPU、存储器、数字子系统、模拟子系统等IP核资源 ,通过数字和模拟总线将这些IP核连接在一起,在“硅片 ” 上实现一个“定制”功能的数模混合嵌入式系统,这和通 常 的“硬件”概念是不一样的。 基于PSoC芯片内的硬件设计,采用的是原理图和硬件 描述语言(Hardware Description Language, HDL)的混合设 计方法实现的。 PSoC3设计流程 -硬件设计流程 原理图设计方法是指:从空白的背景开始设计,允 许设计者在这个空白的背景下,开始构建硬件系统,这个 构建硬件系统的过程,实际上就是在空白背景上放置不同 功能的IP核,然后用线连接的过程。构建硬件系统,可以 使用的方法包括: 通用的外设 串行通讯模块 标准模拟模块 布尔原语 层次化的元件(比如用户根据特殊要求定制的) 用户创建的寄存器传输级描述(Register Transfer Level, PSoC3设计流程 -硬件设计流程 HDL设计方法是指:当PSoC芯片所提供的IP核资源 不能满足设计需要时,设计者需要使用硬件描述语言( Hardware Description Language,HDL)和PSoC Creator软件 提供的相应功能来实现“定制”的要求。当这个设计在验 证 完后,就可以使用原理图的设计方法,将这个IP核添加到 设计中。 当使用原理图和HDL语言完成设计实现后,使用 Creator软件提供的软件工具对硬件设计进行处理,处理过 程主要包括: PSoC3设计流程 -硬件设计流程 1.综合 综合可以自动将系统直接从行为级描述综合为寄存器 传输级描述。行为级综合的输入为系统的行为级描述,输 出为寄存器传输级描述的数据通路。 2.映射 将设计中的逻辑描述映射到PSoC内相对应的功能单元 中。 PSoC3设计流程 -硬件设计流程 3.布局布线 布局布线的主要作用是调用布局布线器,根据用户约 束和物理约束,对设计模块进行实际的布局,并根据设计 连接,对布局后的模块进行布线。顺序是:先模拟部分, 后数字部分。 4.代码生成器 当布局布线完成后,生成用于创建配置的设置信息, 写到当前设计的工程目录下的Generated File文件夹下。在 建立整个工程时将使用这些信息。 PSoC3设计流程 -软件设计流程 PSoC3平台上的软件设计是在PSoC3内所构建的硬件平 台基础上实现的。其软件程序的设计流程包含以下几个步 骤: 1.C代码和汇编语言代码的编写 通过PSoC Creator软件提供的C语言编辑器和汇编语言 编辑器,完成相关代码的输入。相关代码是软件设计中和 C或汇编语言有关的代码,比如:.h头文件,.c文件和.A51 汇编文件等。 2.建立器(Builder) 当建立工程时,将硬件设计流程中所生成的和硬件有 关的代码,与源文件编辑器所输入的C或汇编代码放在一 起使用软件流程进行处理。 PSoC3设计流程 -软件设计流程 3.使用编译器对C代码和汇编代码进行编译 对于C代码,软件调用Keil提供的C51编译器对输入代 码进行编译。C51编译器从C文件中产生目标文件.obj。目 标文件可能被添加到库中或者可能和其它文件进行链接。 对于汇编代码,软件调用Keil提供的Ax51汇编器对代 码进行编译。汇编器本质是一个程序,将助记符代码(汇 编语言)翻译成可执行的目标代码。这个目标代码可以在 8051兼容的微控制器上执行。 目标代码是一个特殊格式的二进制文件,包含段的定 义、外部段的定义,二进制内容和调试信息。 PSoC3设计流程 -软件设计流程 4.使用库管理器生成库文件 当设计中需要使用库时,软件调用LIBX51库管理器 ,允许创建一个库,或者添加目标文件到库中,或者 从库文件中删除目标文件。 PSoC3设计流程 -软件设计流程 5.使用链接器生成绝对目标模块文件 软件调用Keil提供的LX51链接器/定位器,通过将前面 C编译器和汇编语言编译器创建的目标模块链接在一起, 来创建一个绝对目标模块。前面编译器所创建的这些目标 模块是可以重新定位的,但不可以直接的运行(即使只有 一个源模块构成)。这些目标文件必须通过链接器链接在 一起,并且转换成一个绝对的目标模块。LX51链接器产 生的文件包含: PSoC3设计流程 -软件设计流程 1)OMF2文件 在这个绝对目标模块中,分配了所有的可定位的段, 并且这些段有固定的地址和空间; 2)MAP文件 链接器列表文件,包含了链接/定位过程的丰富信息, 该文件由很多段构成。每一段以出现在map文件中的顺序 进行了描述。 3)COD文件 链接器CODE文件包含了完整的程序源代码/汇编代码 的列表。这个列表对调试是非常有用的。 PSoC3设计流程 -软件设计流程 6.使用转换器将OMF文件转换成十六进制文件 当需要将代码放到PSoC3内的Flash程序空间时,软件 调用Keil提供的OHX51工具,将链接器创建的绝对目标文 件转换成Intel格式的十六进制文件.HEX。 当上面的硬件和软件设计流程结束后,通过JTAG或 者SWD下载电缆,PSoC Creator软件将HEX文件下载到 PSoC3芯片中。其中的硬件信息用于在PSoC3芯片内构建 硬件平台。 这个硬件平台上的8051中央处理单元执行软件应用程 序,用来控制片内硬件平台,使得整个系统按照具体的应 用要求有条不紊地运行。 PSoC3的结构及功能 PSoC3的8051 CPU子系统使用单周期的流水结构的 8051微处理器,最高运行速度达到67MHz。 CPU子系统包括可编程嵌套的中断控制器,DMA控 制器和RAM。 PSoC3内的单周期运行的8051子系统比标准的8051处 理器速度快几十倍。 PSoC3的结构及功能 PSoC3的结构及功能 --数字子系统结构及功能 系统总线 数字系统 通用数字块阵列 I2C 主/从 UDB 使 用 示 例 N个 定时器、计数 器、PWM PSoC3的结构及功能 --模拟子系统结构及功能 PSoC3的结构及功能 --输入/输出引脚功能 PSoC 上提供了3种类型的I/O,其使用非常灵活。在 上电复位的时候,所有的I/O可以设置多种驱动模式。 PSoC3通过Vddio引脚,提供最多四个I/O电压域。每 个GPIO都有模拟I/O,LCD驱动,电容感应,产生中断, 抖动率控制和数字I/O的能力。 当作为输出时,PSoC3上的SIO允许独立于Vddio设置 Voh。当SIO为输入模式时,输出为高阻状态。SIO非常适 合使用I2C总线的应用(即当总线上有其它设备,而PSoC 又没有上电的情况)。SIO也提供大电流驱动能力用来驱 动LCD。 SIO可编程的输入门槛特性能使SIO作为通用的模拟比 较器。对于全速的USB,USB接口也提供了USBIO。 PSoC3引脚分布 PSoC3器件分类 器件类型 模拟模块(最大资源) MCU核(8051核) 数字模块(最大资源) CPU ( MHz ) Flash (KB) SRAM (KB) EEPR OM (KB) LCD段 驱动 ADC (Δ-Σ)位 数 D A C 比 较 器 SC/ CT 模 块 放 大 器 D F B 电 容 感 应 UDB 定时器 /PWM FS USB CA N2. 0B CY8C3244 48 16 2 0.5 √ 12 1 2 0 0 - √ 16 4 √ - CY8C3245 48 32 4 1 √ 12 1 2 0 0 - √ 20 4 √ - CY8C3246 48 64 8 2 √ 12 1 2 0 0 - √ 24 4 √ - CY8C3444 48 16 2 0.5 √ 12 2 4 2 2 - √ 16 4 √ - CY8C3445 48 32 4 1 √ 12 2 4 2 2 - √ 20 4 √ - CY8C3446 48 64 8 2 √ 12 2 4 2 2 - √ 24 4 √ - CY8C3665 67 32 4 1 √ 12 4 4 4 4 √ √ 20 4 √ √ CY8C3666 67 64 8 2 √ 12 4 4 4 4 √ √ 24 4 √ √ CY8C3865 67 32 4 1 √ 20 4 4 4 4 √ √ 20 4 √ - CY8C3866 67 64 8 2 √ 20 4 4 4 4 √ √ 24 4 √ -
© Copyright 2025 ExpyDoc