查看: 1802|回复: 0

[分享] 从系统框图解读LPC800的配置与特性

[复制链接]

该用户从未签到

72

主题

80

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
724
最后登录
2020-1-3
发表于 2018-11-23 09:10:39 | 显示全部楼层 |阅读模式
本帖最后由 eefishing 于 2018-11-22 17:50 编辑

系统框图是快速了解MCU产品的最佳途径,当接触一个新型号的产品时,一般第一个要求就是看系统框图。

系统框图中不但给出了芯片中功能模块的配置信息,而且读者往往可以从框图中各个模块所摆放的位置,以及它们之间的关系,解读出很多有用甚至关键的信息。

不少初学MCU的同学,往往会忽略系统框图的解读,希望大家阅读本文之后,能够掌握这一重要的学习方法。


LPC81x/82x

下面先展示一下LPC81x/82x的框图,然后再进行一些解读。
图1. LPC81x系统框图
12.png

图2. LPC82x系统框图
15.png

从上面两个框图中,可以得到以下一些基本信息:
① LPC81x与LPC82x在系统架构上是一样的。两者都是使用Cortex-M0+作为CPU核心,CPU通过AHB轻总线连接片内存储器(包括Flash、SRAM和ROM),同时经AHB至APB的桥接连接访问各种片上外部设备。

② GPIO模块与CPU有直接通道,CPU对它的访问不需经过AHB或APB总线。这是Cortex-M0+核心的主要特色之一,可以实现快速的GPIO访问。由于有此直接通道,GPIO的最快输入输出速度可以达到CPU时钟速度的1/2,相对于Cortex-M3/M4产品,由于需要通过普通的系统总线,GPIO只能达到CPU时钟速度的1/4,有本质的区别。

③ 框图里可以清晰准确地看出,每个系列的外设配置情况,包括外设的种类、数量、输入输出信号以及信号方向等。这里举几个例子,更详细地看看:
a.LPC81x和LPC82x都具有3个USART模块,每个USART模块都有5个输入输出信号。
b.LPC82x具有4个I2C模块,但LPC81x只有1个I2C模块。
c.LPC82x具有ADC功能,但LPC81x没有。ADC模块最多有12个输入端。
d.两个系列都有SCT定时器,但LPC82x的SCT定时器输入端具有一个“输入选择器”,而LPC81x的输入端是与外界(通过开关矩阵)直接相连。

④ 我们知道CPU访问AHB上的设备的速度,要快于访问APB上的设备,优先级也较高。从框图中可以看到所有的外设,包括系统配置(SYSCON)和输入输出配置(IOCON)寄存器组,都是连接到APB总线,而SCT定时器却是连接到AHB总线上,这样的安排是为了保证可以更快地操控SCT。

⑤ LPC82x具有DMA控制器,它连接到AHB总线上。LPC81x不具备DMA控制器。框图中灰色框所标示的设备,能够触发或请求DMA传输。

⑥ 所有功能模块的对外连接,都是通过“开关矩阵”实现的。

⑦ 两个系列分别有18或29个连接到开关矩阵的输入输出引脚,同时具有18或29个GPIO输入输出信号线。GPIO模块的输入输出信号是如何通过开关矩阵连接到外部引脚的,以后会再做详细介绍。

在芯片中,每一个功能模块都相对独立,它们通过一些功能信号与其它模块连接互动;这些功能信号除了供电、时钟、中断是每个模块都需要的以外,就是连接到AHB或APB总线上的总线信号(包括地址、数据和控制信号等),CPU通过总线信号访问功能模块的寄存器组,实现配置和控制以及数据交换。在框图中,每个功能模块靠近总线一侧的双箭头标志,就是该模块的总线信号。

对于具有需要连接到外部引脚的信号,框图中用单线箭头标示出该信号的方向,并标注了信号名称。对于没有连接到外部引脚的模块,框图中只画出了它们的总线信号。例如加窗看门狗定时器、多速率定时器、CRC计算器、DMA控制器等模块。

要特别提一下的是IOCON(输入输出配置)这个模块,框图中画出了它与APB总线连接的这一端,这表示CPU通过APB总线访问IOCON的寄存器组,图中没有画出的是IOCON所控制的每一个IO引脚的部分,这部分内容会在以后介绍IOCON时再进行展示。



LPC83x

LPC83x的框图与LPC82x的框图非常相像,如果仔细比较就会发现以下一些差别:
- LPC83x没有模拟比较器。
- LPC83x中配置的USART和I2C数量较少
- LPC83x的RAM容量较小
细心的读者可以从用户手册的存储器地址空间的分配表中,看到更加详细的差别来。下面是LPC83x的存储器空间分配图的片段。
图3. LPC83x存储器地址空间分配图(片段)
18.png

图4. LPC83x系统框图
19.png
当然,细心的读者也注意到了,LPC83x的适用工作温度范围是-40°C ~ +85°C,LPC81x/LPC82x和LPC84x的适用工作温度范围扩大到-40°C ~ +105°C。



LPC84x

LPC84x相较前面几个系列做了很大的扩充,整体的结构没有变,存储器变大了,增加了一些新的外设,引脚数目也增加了很多,使得她的应用范围更广,功能更灵活。

LPC84x的数据手册和用户手册中,在框图的画法上换了一种风格,这样画更强调功能性以及模块的配置。同时在这个框图中,可以比前面几个系列的框图更直观地看到AHB总线矩阵的连接方式,读者可以更清晰地了解系统运行时的性能。

图5. LPC84x系统框图(功能配置)
21.png

上图中的绿色虚线框部分就是AHB矩阵,框中的竖线是两个总线主设备,横线是总线的从设备。从设备的区分在于,主设备能够主动发起数据传输,主设备需要发出读写控制信号和驱动地址信号线,从设备只能被动地接受地址和控制信号,发送或接收数据。

在AHB矩阵中,共有五组从设备:
1、默认存储执行指令的Flash闪存和ROM。
2、第一个8KB的SRAM,此存储区的基本功能是存放程序运行时的数据,也可以用于存储Cortex-M0+核心执行指令的追踪信息,供调试程序用。
3、第二个8KB的SRAM,此存储区不能用于存放追踪信息。
4、AHB至APB的桥。
5、SCT定时器、DMA控制器、CRC计算器、MTB控制器和FAIM控制器。

不同的主设备可以同时访问不在同一组的从设备,例如在CPU从Flash取指令并执行时,DMA控制器可以同时在SRAM中搬移数据;或者当CPU在第一个SRAM区存取数据的同时,DMA控制器在另一个SRAM区存取数据。

处在同一组的从设备,只能按顺序分别被访问。

读者了解了这些内部构造,可以根据自己的需要合理安排程序的执行顺序,最大限度地利用芯片内部的数据通路,实现最佳性能。

在APB总线上,挂了很多设备,图中设备的顺序是按照它们的寄存器组,在存储空间分配的地址顺序排列的。对照用户手册中的存储器地址映像表,可以知道每个APB外设的寄存器组分别占据了16KB的地址空间,看门狗的寄存器组处于所有APB外设地址空间的最低地址。

下面的框图是按照LPC81x/LPC82x/LPC83x的风格,从使用者的视角画的系统框图。

图6. LPC84x系统框图(程序员视角)
222.png

与其它几个系列的框图比较,我们可以看出LPC84x有不少新的东西:
① 更多的Flash和SRAM容量。
② FAIM模块。FAIM用于在启动时配置其它模块的初始状态,包括引脚的方向和上拉或下拉,启动时的ISP端口和配置,以及为低功耗而设置的低主频启动等。
③ 定时器CTimer。该32位定时器有四个输入捕获和四个输出匹配信号,但芯片上只引出了三个捕获和三个匹配信号,可以与外部引脚相连。
④ 两个10位DAC模块。
⑤ 电容触摸按键模块,该模块可以最多连接9个按键,或组合配置为滑条或旋转盘。
⑥ 从LPC82x最多的29个输入输出引脚,大幅增加到54个引脚,而且所有引脚功能都是经过开关矩阵的配置。
⑦ STC定时器的输出信号,比LPC82x/83x增加了一个,达到7个。
⑧ 模拟比较器的输入端,比LPC81x/82x增加了三个,达到5个。

与前面的框图相比,图6中还可以看到一个“JTAG测试和边界扫描接口”,和一些信号线从“时钟发生器,电源控制”模块引出,这些内容在其它系列里面也有相同的部分存在,只是没有画出来而已。

用于程序追踪调试的MTB存储器和控制接口,在其它系列里也是存在的,同样也没有画在系统框图中。



LPC80x

前不久恩智浦又发布了一个新的子系列——LPC80x,分别有LPC802和LPC804两种配置,及多种封装形式,详细内容可以参考以下两篇文章:
小巧‘零’珑的MCU:LPC80x面面观
LPC800系列选型指南

下面是LPC802和LPC804的框图,此处不多做解释,读者可以结合前面几个子系列的框图,对照比较之后就能够看出区别来。
图7. LPC802系统框图
23.png

图8. LPC804系统框图
25.png

图中可以明显看出,LPC804是LPC802的增强版,增加了电容触摸接口、可编程逻辑单元(PLU)、10位的DAC输出、一个I2C接口,存储器容量也增加了一倍,性价比更高了。



结束
本文通过展示系统框图,简单地介绍了一下LPC800系列中各个子系列的功能配置情况。随后会有一系列的文章,分别介绍框图中的各个模块,敬请期待。


回复

使用道具 举报

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

本版积分规则

关闭

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

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-4-29 23:15 , Processed in 0.108188 second(s), 20 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表