MSP430技术研讨会问题集录
发布时间:2008-01-01
MSP430基础介绍
Q1. MSP430使用8M的时钟刷新320 * 240的LCD点阵,不能及时刷新,而改用ARM后可以?
A1:以前的MSP430为8MIPS的速度,但是并非MSP430的指令都是一个CYC的,MSP430指令的执行时间依赖于指令形式,寻址方式。对于I/O操作的指令来说,消耗的指令周期为3个CYC,所以相对于I/O操作的效率并没有达到8MIPS。要解决这个问题,可以使用今后已经推出的2XX系列或即将推出的5XX系列,她们的频率最高分别可达到16M和25M。
Q2.MSP430直接操作FLASH,RAM,是否需要累加器作Buff?
A2:不需要,MSP430的寻址采用的Atomic的形式,任何地址的访问都可以做到直接访问,有效地解决了累加器的瓶颈。
Q3. MSP430单片机中乘法器是如何使用的?
A3:MSP430单片机中有很多带有硬件乘法器。如MSP430F149
在汇编中使用硬件乘法器只需要将乘数与被乘数放入相应得寄存器,经过一个CPU时钟后在将结果从寄存器中取出即可。可参考《MSP430X4XX Family User’s Guide》中的第七章。
在C语言中,乘法的运算会由编译器自动的放入乘法器完成,用户不用直接的去操作乘法器。
Q4. FW和FE的特点?
A4:MSP430FW42X是在MSP430F415的基础上集成了一个Scan IF 模块。Scan IF模块通过对LC传感器震荡幅值的检测来确定L所处的位置,经状态处理机和时间处理机得到物体运动的变化。目前被广泛用于Giant magneto-resistive、Hall-effect等领域。
MSP430FE42X是在MSP430F42X的基础上集成了一个电能计量模块(ESP430CE1),利用这个模块,可以自动的算出电能表的常用参数如有功功率,无功功率,相位,频率,电压,电流等。用户只需要直接的去相应得寄存器读取就可以了。目前主要应用于单相电能表领域。
Q5.MSP430中,有些型号的单片机只有一个晶振的输入,是否只能用低频晶振了?
A5:MSP430所有单片机中都有晶振输入口LFXT1。LFXT1即允许接低速晶振(32k),也允许接告诉晶振(450K – 8M (2XX为16M))。这些可以通过软件在DCO寄存器中配置。在只有一个晶振输入允许的情况下,推荐接入低速晶振。然后利用FLL+模块后或由 Timer_A3配合,通过软件实现高速的频率要求。这样在低功耗的LPM3模式下,还能保持一个低速的时钟ACLK处于运行状态。
全新的MSP430F2XX系列
Q1.看门狗在LPM4模式下开启时的复位问题?
A1:MSP430F20xx内部有增强的看门狗电路,它具有时钟保护功能,即当看门狗电路工作时,如果软件将看门狗电路的时钟关闭,那么将会启动看门狗的动作,引起系统的复位。因为在LPM4模式下,所有的时钟将被关闭,那么此时如果看门狗电路已经被开启,那么它将引起系统的复位。
Q2.SD16在转换数据时,实际电路测试时发现在刚启动SD16的转换时数据不准确,要等一段时间数据才能稳定,请问是什么原因?
A2:请首先排除采样时钟的问题,如果采样时钟不稳定,会导致采样的数据不在预期的时间点上产生;如果采样时钟稳定,那么问题可能出现在SD16模块的数字滤波部分,因为数字滤波器需要建立的时间,所以需要增加2到3个采样周期,才可以得到比较准确的采样信号,请参看MSP430xF2xx User's Guide(TI文档号slau144)中12.2.7节Digital Filter中的介绍。
Q3 听说一个10位的ADC可以将它的采样精度提高到12位甚至14位,是怎么做到的?
A3:请参考“采用集成了运算放大器的FG43x构建便携式仪表”议题中的求和+扰动电路,其主要是利用了过采样,通过提高采样的频率来得到较高的采样精度,是牺牲速度来换取精度的一种方法。其原理是利用过采样的方法 (Oversampling),即如果在直流输入信号上叠加一个交流(抖动)信号,并用比该交流信号频率高的多的采样频率进行采样,此时得到的数字输出值将是变化的,用这些采样结果的平均值表示模数转换器的转换结果便能得到比用同样模数转换高得多大的采样分辨率,详细的理论依据可参看有关过采样的理论或者 ΣΔADC的原理。
Q4 为什么WDT+在关闭所有时钟后还能运行?
A4 :在上面已经提到,MSP430F2xx的WDT+模块具有时钟保护的模块,当关闭其时钟后,由于时钟保护模块的作用,将会引起系统的复位,以提醒系统正确的设定WDT模块的时钟,来确保看门狗电路始终保持在正常的工作状态。
Q5.SPI及I2C模块可以到多高的速度?MSP430F2xx的上拉或者下拉电阻是否可以被屏蔽掉?
A5.:在实际应用中,我们采用MSP430F1xx的SPI在8MHz的频率下,可以做到4M的速度,I2C可以做到400k。MSP430F2xx的上拉或者下拉电阻可以被屏蔽掉,当不需要MSP430F2xx的引脚上拉或者下拉电阻的功能,可以设定PxREN寄存器的相应位置为0即可。
Q6.BSL的原理是什么?
A6:请参考TI应用文档slaa096(Application of Bootstrap Loader in MSP430 With Flash Hardware and Software Proposal) & slaa089(Features of the MSP430 Bootstrap Loader)。
BSL(Bootstrap Loader)是用于在MSP430设计开发及系统更新时对FLASH编程。它可以用经UART协议传送的命令来激活,所用的协议时MSP430的具有先导同步字符的标准串行通信协议(SSP)。为了避免BSL代码被错误的写操作覆盖,这些代码保存在专用的BOOT ROM中。对于BSL,任何直接或者间接的读命令都需通过保护口令的验证。
BSL功能提供了在JTAG熔丝烧断的情况下,对系统软件进行更新的方法。
系统监控——透过电视系统的应用
Q1.使用MSP430F1121,如何实现一个1K-100K,占空比为50%的可调整频率输出,调整精度为1K?
A1: 将Timer_A3设置成UP模式,SMCLK = 8M,CCR0设置成PWM输出,输出方式为翻转。
如100K输出,CCR0为8M/100K/2 = 40;1K输出,CCR0 = 8M/1K/2 = 4000;硬件自动输出。
Q2.MSP430的中断优先级是否可以编程?中断可以嵌套吗?嵌套原则是什么?
A2:MSP430的中断向量在0xFFE0-0xFFFF中,共16个字节。优先级是固定的,不可编程的,其优先级的顺序可参考中断向量表。每一个模块都有一个固定的中断向量,整个MSP430系列中,相同模块的中断向量地址都是一样的。
MSP430的中断允许中断嵌套,中断嵌套时只需将GIE置位即可。在中断嵌套时,当前的中断中可以嵌套所有430的中断而不区分中断的高低级别。MSP430的中断优先级只在同时有多个中断请求时才发挥作用。
MSP430用于小信号系统的测量
Q1. 录音回放系统的采样频率是6.5k,那么MSP430FG43x可以录多少时间?
A1:以6.5k的采样频率,每秒采样数据为6.5k个,因为采用MSP430FG43x内部12bitADC,如果不做处理的话,每笔数据占用1Word(12bit),那么每秒数据6.5 * 2 = 13kB.
如果采用MSP430FG437(30kB Flash)可存 32 / 13 = 2.46秒;
采用MSP430FG438(48kB Flash)可存 48 / 13 = 3.69秒;
采用MSP430FG439(60kB Flash)可存 60 / 13 = 4.61秒。
如果取12bit中的8位数据存储,那么每秒数据为 6.5kB,MSP430FG437可存30/6.5 = 4.61秒;MSP430FG438可存48/6.5 = 7.38秒;MSP430FG439可存60/13 = 9.23秒。
如果对采样数据进行压缩处理,存储的时间将得到延长。
Q2. 轨到轨(Rail-to-Rail)输入、输出是什么含义?
A2:轨到轨输入(输出),是一种集成电路制造工艺,很多满幅度输出的运放是采用的这种工艺.轨到轨输入(输出)的意思是说输入(输出)电平可以达到供电电源的高低电平。
Q3. 增益带宽积是什么意思?增益和带宽有什么关系?
A3:增益带宽积(GBW - Gain-Bandwidth Product)是开环电压增益与频率的乘积关系。
IAR开发系统的深入介绍
Q1. MSP430 中PC+1是Word + 1还是Byte + 1?是否能够访问到Byte?是不是8位的架构
A1:MSP430是16位内核的单片机,他的指令是16位的指令而不是8位的指令。在MSP430种PC+1只能是Word + 1。不能访问Byte地址。所以PC里面的值一定是偶数
MSP430在实际应用中的设计概念
Q1. 在SD16同一通道中输入相同的电压值,FM不同,转换结果会有很大的差别。
A1:使用F4270 的EVK板,外部输入电压为可调电阻调整电压降为464.37mV差动输入MSP430F4270 A1+与A1-,测
试结果如下表
采样频率fM Gain OSR REF ADC输出(最小) ADC输出(平均10次) ADC输出(最大)
32K(ACLK) 1 1024 内部1.2 V 25070 25071 25074
125K(SMCLK) 1 1024 内部1.2 V 25070 25071 25074
250K(SMCLK) 1 1024 内部1.2 V 25070 25071 25074
500K(SMCLK) 1 1024 内部1.2 V 25073 25074 25077
1M (SMCLK) 1 1024 内部1.2 V 25118 25120 25124
从测试结果来看,采样频率对ADC转换的输出是有影响的,
1 采样频率fM越高,ADC输出与信号之间的OFFSET越大,但OFFSET是稳定。可以通过校正来改变
2 在满足采样信号固有频率特性的情况下,采样频率fM尽可能的低
3 对同一个信号进行采样,尽可能的保持一个采样频率,这样只有一个OFFSET参数,方便校正
引起这种现象的原因:
Sigma-Delta ADC 使用的SINC3数字滤波器,数字滤波器的增益与采样信号fM的关系是一个开口向上的抛物线的关系。fM越大,增益越小。
Q2. AVCC和DVCC为什么需要分开?
A2:MSP430中的模拟电源与数字电源是独立的。为了防止数字电路对模拟电路的干扰,所以需要将两者的电源分开,但需要注意的是,数字电源和模拟电源的电压最大不能有0.3V的偏差。