(1)CPU工作频率可达33MHz,每条指令只需4个时钟周期,运算速度较快。
(2)采用非常灵活的FLASH与SRAM存储器配置,可以对片上FLASH进行分区,根据需要设定程序FLASH与数据SRAM所占的比例。读写次数可达一百万次,数据可保存100年。
(3)片上RAM为1280B,有34个高电流驱动I/O,可以设定外部存储器的存取时间,使用双数据指针提高存取速度,具有完善的节电功能,还有电压监视器、21个中断源、3个16位定时计数器以及内部时间间隔计数器(TIC)。
(4)自带BOOT ROM,可以调试使用或在程序中调用内置固化程序,完成在线调试、数据采集、UART通讯以及读写FALSH等工作,方便了编程以及调试。
(5)片上24位Σ-ΔADC具有一些增强特性:8路输入通道可以任意配置为单端或差分输入;有快速、Sinc2、Sinc3 三种数字滤波,同时有自动数字滤波功能,可以加快A/D转换输出;带PGA偏置DAC,可以不引入额外误差而扩大测量范围;自带一个32位累加器,可以对ADC输出数据作快速平均处理。
(6)自带高精度电压标准,精度为0.2%,漂移为
5ppm/°C,可以节省空间以及器件成本,也可输出该电压标准或外接电压标准。
(7)片上16位PWM,可以作为DAC输出来源。
(8)增强的SPI接口可以使用DMA方式传输数据,在DMA方式下,可以间接寻址RAM,设定多达128B的发送接收FIFO;具有完整的端口驱动以及发送接收中断设定,适合大批量的数据传输,同时占用CPU资源较少。
MSC1210功能较强且易于使用,但因为是新器件,参考资料较少。笔者在使用过程中发现需要注意如下问题:
(1)MSC1210片内FLASH分区只能通过对HCR0以及HCR1这两个硬件配置寄存器事先编程来进行,在程序运行过程中无法设定或更改分区比例。在程序运行中读写FLASH时,要注意读写地址与调试时的地址不同,具体应参考存储器分配表;用户程序无法直接读写FLASH,需要调用BOOT ROM中的读写函数来进行;与AVR等芯片的EEPROM不同,写入FLASH之前必须先进行擦除操作,BOOT ROM中有可调用的块擦除子程序,可以在汇编或C程序中调用。