社区导航

 
查看: 270|回复: 3

[原创] 浅析MSP430系列单片机的功能框图

[复制链接]

6789

TA的帖子

4933

TA的资源

博客管理员

Rank: 6Rank: 6

资源大师勋章

发表于 2018-12-6 16:42:55 | 显示全部楼层 |阅读模式
本帖最后由 tiankai001 于 2018-12-6 16:55 编辑



此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处



MSP430系列单片机是一款非常有特色的单片机,正如MSP430单片机的宣传语:超低功耗是MSP430单片机的DNA。所以它在超低功耗方面的应用非常广泛。

对于MSP430系列单片机,它的技术文档也是很有特色的。例如我们选择了一款MSP430F6723单片机,如果想要详细了解它的性能,首先我们要阅读MSP430F6723的数据手册,然后根据这个数据手册中的功能模块,去查阅MSP430x5xxMSP430x6xx系列单片机用户指南中相对应的功能模块。

而对于MSP430单片机的功能框图,则可以看做是这两种手册之间的一个简单有效的联系纽带。针对某一款具体型号的单片机,TI都给出了功能框图,功能框图主要包含了该单片机的外部接口,所有功能模块及其相互联系。
我们以MSP430F672xMSP430F673x系列的功能框图为例来做一个简要分析。下图是MSP430F672xMSP430F673x系列单片机的功能框图。


01.jpg
首先我们来看一个这个框图,整个框图分为方框内和方框外两部分,我们可以看到,方框外的部分主要是各种端口,例如晶振接口,电源接口,I/O端口等。这些是单片机与外围电路直接相连接的部分。而方框内的部分,主要是各种功能模块,这一部分不会与外围电路直接相连。

为了分析方便,我在功能框图中加了很多序号,我们就以这些序号为顺序来一一介绍。


03.jpg


1、晶振接口
我们可以看到,图中直接标了32KHz,什么意思呢?当然是建议我们接一个32.768的晶体了。因为这款单片机内部有DCO(数控振荡器),所以一般情况下,晶振引脚接一个32.768Hz的晶振就足够了。至于单片机运行时的CPU的主频,可以通过DCO来配置,最高可配置为25MHz的主频。而这个32.768KHz的晶体主要作为辅助时钟,用在RTC等対时钟精度要求比较高的场合。

2、统一时钟系统(UCS
这是MSP430系列单片机的一大特色,它用内部集成的时钟系统取代了早期的系统时钟。(注意哦,时钟系统和系统时钟虽然只是两个词语的前后顺序颠倒了一下,但是区别可就大了去了,具体有什么区别,我们放在以后单独说,今天就不详细说了)。我们可以看到,时钟系统能够输出三种时钟:MCLKACLKSMCLK。关于这三种时钟,其用途各有不同,我们注意看图中的MCLK,它是直接用箭头指向CPU模块的,也就是说,在这个单片机中MCLK只给CPU模块提供时钟,而不对其它功能模块提供。所以其它功能模块的时钟只能由ACLK或者SMCLK提供了。

   3CPU及其工作寄存器
    从图中可以看出,所有功能模块最后都通过两根长长的箭头线连接到CPU模块(这两根箭头线就是我们常说的数据总线、地址总线),这个跟我们常说的CPU是单片机的真正核心是完全一致的。也就是说,所有的功能,都要在CPU的协调控制下才能实现。

    4、嵌入式仿真模块
    MSP430单片机都嵌入有仿真模块,这使得所有的MSP430单片机都可以实现在线仿真。



回复

使用道具 举报

6789

TA的帖子

4933

TA的资源

博客管理员

Rank: 6Rank: 6

资源大师勋章

 楼主| 发表于 2018-12-6 16:46:05 | 显示全部楼层
02.jpg
  5、JTAG接口
     JTAG接口也就是仿真接口,JTAG是一种标准的仿真接口和协议,MSP430单片机遵循了这个标准。另外很多MSP430单片机也支持SBW仿真。(关于JTAG和SBW)。还有一点,JTAG里面有PJ口,这个口也是可以当做I/O端口使用的,不过有时候有一些使用限制。例如PJ1.1,它还可以作为注释中MCLK的输出端,用以给外部电路提供一个MCLK时钟。
      6、数字电源、地接口
     用以给MSP430单片机提供工作电压,这里有一点需要说明,MSP430单片机的工作电压一般是1.8~3.3V,同时还有一个内核电压Vcore,这个内核电压只是单片机内部使用,不与外界发生任何联系,它的连接一般建议连一个电容到地。

      7、模拟电源、地
      这个用于给模拟部分供电,如果不用的话,直接连到VCC,GND即可。

      8、辅助电源系统
      辅助电源系统一般用于主电源失效时,提供单片机能够继续工作的电源,一般这个功能不常用,不用的时候,可以接到VCC和GND。

     9、程序存储器FLASH
      这个主要是指程序存储空间,不同的单片机,其程序存储空间有所差别。另外这个空间里还包含一个信息存储空间,一般分为A、B、C、D四段,每段占用几十个到数百个字节,这部分主要用于保存掉电以后不丢失的数据。

      10、数据存储器RAM
      这里面存储单片机运行时的各种过程数据,掉电后不保存,上电后数据随机。

      11、系统控制模块SYS、看门狗、端口映射模块
      SYS负责整个系统各个模块之间的交互。
看门狗的功能大家都知道,不必多说。
端口映射控制器允许灵活的映射数字功能端口引脚。

      12、CRC16模块
      CRC16模块可以自动将输入的数据生成CRC16校验码,这对于程序设计中需要生成CRC16校验的人员来说,是一个福音,不用编写复杂的CRC校验码生成程序了。

      13、32位乘法器MPY32模块
      我们知道,单片机最擅长的是位运算,移位运算对于单片机来说最节省运行时间,而对于乘法、除法,是要耗费单片机的很长时间的,所以这个单片机内嵌了一个32位乘法器模块,我们只要把需要进行乘法运算的数据放入到相应寄存器中,这个乘法器模块就会自动帮助我们计算出结果,我们只要去相应的寄存器中取数据就可以了。

      14、P1,P2端口(PA端口)
      为什么既叫做P1,P2端口,又叫做PA端口呢?从图中就可以看出,P1,P2端口分别是两个8位的端口,而PA端口是一个16位的端口,所以,P1,P2端口整合在一起就成了PA端口。所以我们在编程的时候,如果想要控制P1.0端口,既可以用P1.0,也可以用PA.0来编程控制。
      另外这个单片机里面,P1和P2端口都具有端口中断功能。



回复

使用道具 举报

6789

TA的帖子

4933

TA的资源

博客管理员

Rank: 6Rank: 6

资源大师勋章

 楼主| 发表于 2018-12-6 16:49:40 | 显示全部楼层
      15P3P4端口(PB端口)
      P3P4端口分别是两个8位的端口,整合在一起就构成了PB端口。

16P5P6端口(PC端口)
      P5P6端口分别是两个8位的端口,整合在一起就构成了PC端口。

17P7P8端口(PD端口)
      P7P8端口分别是两个8位的端口,整合在一起就构成了PD端口。

     18P9端口(PE端口)
      P9端口是一个只有4位的端口,也就是说PE端口只有4位。

      19、直接内存访问模块DMA
      直接内存访问(DMA)控制器模块将数据从一个地址传输到另一个地址,而无需CPU干预。从而大大加快了数据传送速度。

      20、增强型通用串口模块eUSCI_B0
      通用串口模块简写是USCI,而这个eUSCI多了一个字母e,这个字母e是enhanced,也就是说这个串口模块比普通串口模块更强大,不过这个eUSCI_B0模块只能用于SPI或者I2C,不能用作串口通信。
      这就给我们看《MSP430x5xxMSP430x6xx系列单片机用户指南》时提了一个醒,如下图所示,我们要看增强型串口模块的指南的SPI和I2C部分,不能看通用串口模块指南。
04.jpg
      21、增强型通用串口模块eUSCI_A0\A1\A2
      同样也是增强型的,只不过这个模块允许UART\irDA\SPI,不能用作I2C
      同样的,我们看《MSP430x5xxMSP430x6xx系列单片机用户指南》时要看增强型串口模块的指南的UART、irDA和SPI部分,不能看通用串口模块指南。

     22、定时器Timer_ATA1TA2TA3模块
定时器Timer_A一共有TA0TA1TA2TA34个模块,但是TA1TA2TA3的功能是一样的,而TA0的功能有所不同,TA1TA2TA3都有2路捕捉/比较寄存器。
     我们看《MSP430x5xxMSP430x6xx系列单片机用户指南》时要注意,MSP430不同的单片机的定时器是不一样的,有的是Timer_A,有的是Timer_B,有的是Timer_D,所以我们在查找本单片机的定时器功能说明时,要找Timer_A。
如下图所示。
05.jpg
23、定时器Timer_ATA0模块
定时器Timer_A一共有TA0TA1TA2TA34个模块,上面已经介绍了TA1TA2TA3,而TA03路捕捉/比较寄存器。
     同样的,我们看《MSP430x5xxMSP430x6xx系列单片机用户指南》时要注意,要找Timer_A定时器的说明。

      24、实时时钟RTC_C模块
      单片机内有了实时时钟,只要确保单片机工作稳定,就可以随时给我们提供当前年、月、日、时、分、秒的数据。
      我们看《MSP430x5xxMSP430x6xx系列单片机用户指南》时要注意,MSP430不同的实时时钟模块,有的是RTC_C,有的是RTC_A,有的是RTC_B,所以我们在查找本单片机的实时时钟功能说明时,要找RTC_C。
如下图所示。
06.jpg



回复

使用道具 举报

6789

TA的帖子

4933

TA的资源

博客管理员

Rank: 6Rank: 6

资源大师勋章

 楼主| 发表于 2018-12-6 16:53:05 | 显示全部楼层
      25、参考电压模块
      这一模块的主要功能是为模数转换提供内部参考电压,可提供1.5V2.0V
2.5V的参考电压。
      26、液晶驱动模块LCD_C
     MSP430单片机的又一大特色就是有些单片机内部集成了LCD驱动模块,可以驱动段式液晶。本单片机就可以驱动多达320段液晶(8 MUX模式下),我们可以算一下,驱动一个数字需要8段液晶,那么320段液晶就是40个数字了,所以可以显示比较多的数字。(另外可以把一些固定的形状、汉字做成液晶段,这样也可以显示一些特定信息)
      我们看《MSP430x5xxMSP430x6xx系列单片机用户指南》时要注意,MSP430不同的液晶驱动模块,有的是LCD_C,有的是LCD_B,所以我们在查找本单片机的液晶驱动功能说明时,要找LCD_C。
如下图所示。
08.jpg
      27、模数转换模块ADC_10
      现在很多单片机内部都集成有模数转换模块ADCMSP430单片机当然也不例外。
      不过不同的MSP430单片机内部集成的ADC模块也有不同,有的是12位的ADC,有的是10ADC
      查阅《MSP430x5xxMSP430x6xx系列单片机用户指南》时要注意,如下图所示。
07.jpg
    28、模数转换模块SD24_B
     这是一个高精度的模数转换模块,一般不会使用。我也没用过,就不多说了,

    29、电源管理及电压监控模块
     电源管理、辅助电源管理,电压检测,低压差稳压器、电源监控等功能都在这一部分。
     30、内部总线
     数据总线、地址总线,由于MSP430单片机不支持存储空间扩展,所以数据总线和地址总线只在单片机内部运行。
最后来一个《MSP430F672xMSP430F673x系列的功能框图》的总体说明图。
02.jpg



回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2018-12-19 13:33 , Processed in 0.143333 second(s), 17 queries , Gzip On, MemCache On.

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