当前位置:首页 > 单片机 > 单片机
[导读]主要介绍内核兼容8051的MSC1210单片机结构特点,其高性能ADC、片内存储器以及Flash编程应用等功能。

摘要:主要介绍内核兼容8051的MSC1210单片机结构特点,其高性能ADC、片内存储器以及Flash编程应用等功能。

    关键词:MSC1210 ADC PGA Flash

    实际应用系统往往需要进行高精度的测量,同时还必须进行实时快速控制,提高其开发效率。为此人们常采用高精度A/D芯片加带ISP开发功能的单片机系统来实现。德州仪器(TI)的MSC1210单片机解决了上述问题。它集成了一个增强型8051内核、高达33 MHz的时钟周期、8路24位高精度∑-△A/D转换器、Flash存储器等,其系统功能和结构框图如图1所示。

  MSC1210具有以下主要特性:

  ◇ 3个16位的定时器,16位PWM波输出;

  ◇ 多达21个中断源;

  ◇ 32个数字输入/输出端口,带有看门狗;

  ◇ 8路ADC提供24位分辨率可编程的无丢失码解决方案;

  ◇ 可编程增益放大(PGA)在1~128之间可调,极大提高了ADC精度;

  ◇ 供电电源2.7~5.25 V,在3 V时功耗低于4 mW,停止方式电流小于1μA;

  ◇ 内核兼容8051,指令与8051完全兼容,可以使用原有8051开发系统;

  ◇ 时钟频率可达33 MHz,单周期指令执行速度达8 MIPS,执行速度比标准8051快3倍;

  ◇ 高达32 KB的Flash存储器,SRAM达1.2 KB,外部可扩展至64 KB存储器;

  ◇ Flash在电压低达2.7 V时仍可串行或并行编程,可10万次擦除/写操作;

  ◇ 具有32位累加器;

  ◇ 有电源管理功能,能够进行低电压检测,在片上电复位;

  ◇ 带FIFO的SPI端口,双UART;

  ◇ 64TQFP封装,MSC1210系列的硬件和引脚完全兼容,必要时可以互换。

图1 系统结构和功能框图

1 内核兼容8051但速度更快功能更强

  MSC1210系列的所有指令功能与标准8051相同,对位、标志和寄存器的影响相同,但时序不同。MSC120单片机使用精简的8051内核,在同样的外部时钟作用下,其执行速度比标准8051快1.5~3倍(每条指令有4个时钟周期与12个时钟周期的区别)。在同样的指令和时钟下,速度提高到2.5倍以上。因此,一个时钟为33 MHz的MSC1210执行速度与一个时钟为82.5 MHz的标准8051相同,其区别可以从图2看出;而且MSC1210的定时器和计数器可以选择每12个或4个时钟周期计数一次。

  MSC1210提供了双数据指针(DPTR)加速数据块的移动速度,它能根据外部存储器的速度调节读写速度,在2~9个指令周期之间变化;它还提供给外部存储器16位地址总线(P0和P2)。低位地址通过P0口复用得到,硬件可以控制P0和P2口是作为地址线还是作为通用的I/O。

  为了更好地提高效率,外围设备也在8051基础上作了改进。如SPI端口就增加了FIFO,使得传输数据有了缓冲区间。32位累加器的使用在处理ADC采样或其它数据源来的多字节数据时将大大减轻CPU的负担,使得24位加法和移位可以在几个指令周期内完成,而无需通过软件用数百个指令周期来完成。

  MSC1210系列的硬件和引脚完全兼容,对用户而言,唯一的区别在于内存配置不同。MSC1210Y2上编写的程序代码可以直接在MSC1210Y3、MSC1210Y4、MSC1210Y5上执行。用户可以在软件功能上增减并配以不同的CPU型号,MSC1210已成为一个拥有几个不同应用平台的标准设备。

MSC1210的开发工具与8051的开发系统完全兼容,用户可以使用原有的8051开发系统,也可以使用DEMO板带的开发系统或者第三方支持者提供的开发工具。

2 24位高分辨率ADC通道

  (1)ADC的输入多路复用器及输入缓冲

    输入多路复用器允许不同输入信号通过选择输入通道进行组合,如AIN0被选为ADC输入正端,其它任何通道可以选为ADC输入负端。用这种方式可以组成8个完整的ADC输入通道,也可以在差分输入通道间切换极性。片上的二极管可以提供温度测量,当输入多路复用器的寄存器置为全“1”时,二极管被接入ADC通道的输入端开始测量温度。

  MSC1210在没有缓冲区时输入电阻为5M/PGA,缓冲区由ADC控制寄存器中的BUF位控制。当没有选择输入缓冲区时,模拟输入阻抗与时钟频率(ACLK)和增益(PGA)有关,其关系式为

   其模拟输入通道的等效结构如图3所示。

  (2)可编程增益放大器PGA

  ① PGA:可编程增益放大PGA可以设为1、2、4、8、16、32、64、128,使用PGA确实能提高ADC的分辨率。当PGA=1,量程范围为5 V时,ADC能分辨到1μV;当PGA=128,量程范围为40 mV时,ADC能分辨到75 nV;而在PGA=1时,在5 V量程范围内需要一个26位的ADC才能分辨到76 nV。

  ② PGA偏移DAC:ODAC寄存器是8位,它能将输入到PGA的模拟信号偏移PGA满量程的一半,其最高位为符号位,低7位提供偏移量。由于ODAC给PGA引入的是模拟量而不是数字量偏移,所以并不影响测量结果的精度。

  (3)电压参考基准

MSC1210的电压参考可以是内部的也可是外部的,上电复位以后的电压参考是内部的2.5 V,参考电压的选择通过ADCON0控制。片上内部参考电压有1.25 V和2.5 V两种可选,其精度可达0.2 %,温漂仅为5×10-6/℃,可大大提高测量精度。如果没有用到内部参考电压,就应该将其关掉以减少噪声和功耗。VREFOUT引脚处应该放一个0.1μF去耦电容。外部参考电压为REF IN+与REF IN-之间的差值,引脚上的绝对电压在AGND与AVDD之间,但其差分电平不能超过2.6 V。

3 片内存储器

  MSC1210包括片上1.2 KB SRAM ,256字节DARAM,2KB启动ROM,32 KB Flash存储器。

  MSC1210用内存寻址表来区分程序存储空间和数据存储空间。程序空间由单片机自动读取,通过指令MOVC来读程序空间;数据空间通过指令MOVX来读写。当片上存储使能时,在片内范围内的读写将在片内存储器上进行,片外存储器通过P0和P2寻址来实现。HCR1寄存器的第0位和第1位设为0就可以访问外部存储器,此时可以通过P0和P2口访问所有片内和片外存储空间。为了安全起见,在访问片内存储器期间,P0口全部置位为0。

  MSC1210包含1.2 KB片上SRAM。SRAM起始地址位“0”,通过MOVX指令读写。SRAM也可以从8400H开始,既可作程序空间又可作数据空间。

  MSC1210有256字节DARAM,地址为0000H~00FFH,其中128字节为128个SFR,地址为0080H~00FFH。SFR寄存器用做控制和状态,标准的8051功能和MSC1210的附加功能是通过SFR实现的。从没有定义的SFR寄存器将得到“0”,写入没有定义过的SFR得到的结果无法确定。DARAM的另一个用途,是通过SFR的堆栈指针作为堆栈使用。

  在串行或并行编程时,有2KB启动ROM控制运行。在用户模式下,BOOT ROM位于F800H~FFFFH;在编程模式下,BOOT ROM位于程序空间的起始2K。

  Flash存储器既可用做程序存储空间又可用做数据存储空间,用户可以灵活配置程序和数据存储空间的大小。分区大小通过硬件配置位来确定,可以通过串行或并行的方式来编程确定。在用户应用模式下,程序和数据Flash存储空间都可读可写。

4 Flash编程应用

  可编程的Flash存储器分为4个部分:128字节的配置部分、复位向量、程序存储空间、数据存储空间。

  Flash编程模式有串行和并行两种模式,通过上电复位过程当中的ALE和信号状态确定。当ALE=1,=0时,选择串行编程模式;当ALE=0,=1时,选择并行编程模式。当ALE和都为高电平时,MSC1210运行在用户模式下;当ALE和都为低电平时,MSC1210没有定义。

  MSC1210的Flash存储器初始值全部为“1”,并行编程模式包括一个专用的编程器,串行编程方式通常为在线编程,用户应用模式允许对Flash程序和数据存储器编程。对Flash编程的实际代码不能从Flash执行,而必须从BOOT ROM或RAM处开始执行。

  MSC1210有两个硬件配置存储器(HCR0、HCR1),在Flash编程模式下可编程。用户通过对这两个存储器编程可以在程序存储空间(PM)和数据存储空间(DM)之间定义分区,如表1所列。

表1 MSC1210的Flash分区

HCR0 MSC1210Y2 MSC1210Y3 MSC1210Y4 MSC1210Y5
DFSEL PM/KB DM/KB PM/KB DM/KB PM/KB DM/KB PM/KB DM/KB
000 0 4 0 8 - - - -
001 0 4 0 8 - - 0 32
010 0 4 0 8 0 16 16 16
011 0 4 0 8 8 8 24 8
100 0 4 4 4 12 4 28 4
101 2 2 6 2 14 2 30 2
110 3 1 7 1 15 1 31 1
111(缺省) 4 0 8 0 16 0 32 0

    注:当程序空间选择0KB时,程序在片外执行;"一"表示保留。

  用户可以通过MOVX指令来读写Flash存储器,而不论Flash存储器是被定义为程序存储器还是数据存储器。这意味着用户可以将全部空间分为程序存储空间,并将程序空间当数据存储空间用。当PC指针指向的程序空间实际上存放的是数据时,将会导致不可预知的后果。因此,当要用Flash存储数据时,一定要求使用Flash分区,Flash分区禁止在数据存储空间执行程序。同样,也禁止程序空间的擦写而允许在数据存储空间读写。

5 结 论

  MSC1210作为一款高性能的内核兼容8051的单片机,其开发的方便、灵活和高精度ADC的使用满足了使用者的要求,其指令执行速度更是实时系统所渴求的,可广泛用于工业过程控制、医疗仪器、智能传感器等各个领域。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU
关闭
关闭