一种新型单片机MSC1210及其应用
摘要:主要介绍内核兼容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板带的开发系统或者第三方支持者提供的开发工具。
javascript:window.open(this.src);" style="cursor:pointer;"/>
2 24位高分辨率ADC通道
(1)ADC的输入多路复用器及输入缓冲
输入多路复用器允许不同输入信号通过选择输入通道进行组合,如AIN0被选为ADC输入正端,其它任何通道可以选为ADC输入负端。用这种方式可以组成8个完整的ADC输入通道,也可以在差分输入通道间切换极性。片上的二极管可以提供温度测量,当输入多路复用器的寄存器置为全“1”时,二极管被接入ADC通道的输入端开始测量温度。
MSC1210在没有缓冲区时输入电阻为5M/PGA,缓冲区由ADC控制寄存器中的BUF位控制。当没有选择输入缓冲区时,模拟输入阻抗与时钟频率(ACLK)和增益(PGA)有关,其关系式为
javascript:window.open(this.src);" style="cursor:pointer;"/>
其模拟输入通道的等效结构如图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去耦电容。外部参考电压为