MSP430技術(shù)研討會(huì)問題集錄
發(fā)布時(shí)間:2008-1-1 11:51
發(fā)布者:
MSP430
MSP430基礎(chǔ)介紹
Q1. MSP430使用8M的時(shí)鐘刷新320 * 240的LCD點(diǎn)陣,不能及時(shí)刷新,而改用ARM后可以?
A1:以前的MSP430為8MIPS的速度,但是并非MSP430的指令都是一個(gè)CYC的,MSP430指令的執(zhí)行時(shí)間依賴于指令形式,尋址方式。對(duì)于I/O操作的指令來說,消耗的指令周期為3個(gè)CYC,所以相對(duì)于I/O操作的效率并沒有達(dá)到8MIPS。要解決這個(gè)問題,可以使用今后已經(jīng)推出的2XX系列或即將推出的5XX系列,她們的頻率最高分別可達(dá)到16M和25M。
Q2.MSP430直接操作FLASH,RAM,是否需要累加器作Buff?
A2:不需要,MSP430的尋址采用的Atomic的形式,任何地址的訪問都可以做到直接訪問,有效地解決了累加器的瓶頸。
Q3. MSP430單片機(jī)中乘法器是如何使用的?
A3:MSP430單片機(jī)中有很多帶有硬件乘法器。如MSP430F149
在匯編中使用硬件乘法器只需要將乘數(shù)與被乘數(shù)放入相應(yīng)得寄存器,經(jīng)過一個(gè)CPU時(shí)鐘后在將結(jié)果從寄存器中取出即可?蓞⒖肌禡SP430X4XX Family User’s Guide》中的第七章。
在C語言中,乘法的運(yùn)算會(huì)由編譯器自動(dòng)的放入乘法器完成,用戶不用直接的去操作乘法器。
Q4. FW和FE的特點(diǎn)?
A4:MSP430FW42X是在MSP430F415的基礎(chǔ)上集成了一個(gè)Scan IF 模塊。Scan IF模塊通過對(duì)LC傳感器震蕩幅值的檢測(cè)來確定L所處的位置,經(jīng)狀態(tài)處理機(jī)和時(shí)間處理機(jī)得到物體運(yùn)動(dòng)的變化。目前被廣泛用于Giant magneto-resistive、Hall-effect等領(lǐng)域。
MSP430FE42X是在MSP430F42X的基礎(chǔ)上集成了一個(gè)電能計(jì)量模塊(ESP430CE1),利用這個(gè)模塊,可以自動(dòng)的算出電能表的常用參數(shù)如有功功率,無功功率,相位,頻率,電壓,電流等。用戶只需要直接的去相應(yīng)得寄存器讀取就可以了。目前主要應(yīng)用于單相電能表領(lǐng)域。
Q5.MSP430中,有些型號(hào)的單片機(jī)只有一個(gè)晶振的輸入,是否只能用低頻晶振了?
A5:MSP430所有單片機(jī)中都有晶振輸入口LFXT1。LFXT1即允許接低速晶振(32k),也允許接告訴晶振(450K – 8M (2XX為16M))。這些可以通過軟件在DCO寄存器中配置。在只有一個(gè)晶振輸入允許的情況下,推薦接入低速晶振。然后利用FLL+模塊后或由 Timer_A3配合,通過軟件實(shí)現(xiàn)高速的頻率要求。這樣在低功耗的LPM3模式下,還能保持一個(gè)低速的時(shí)鐘ACLK處于運(yùn)行狀態(tài)。
全新的MSP430F2XX系列
Q1.看門狗在LPM4模式下開啟時(shí)的復(fù)位問題?
A1:MSP430F20xx內(nèi)部有增強(qiáng)的看門狗電路,它具有時(shí)鐘保護(hù)功能,即當(dāng)看門狗電路工作時(shí),如果軟件將看門狗電路的時(shí)鐘關(guān)閉,那么將會(huì)啟動(dòng)看門狗的動(dòng)作,引起系統(tǒng)的復(fù)位。因?yàn)樵贚PM4模式下,所有的時(shí)鐘將被關(guān)閉,那么此時(shí)如果看門狗電路已經(jīng)被開啟,那么它將引起系統(tǒng)的復(fù)位。
Q2.SD16在轉(zhuǎn)換數(shù)據(jù)時(shí),實(shí)際電路測(cè)試時(shí)發(fā)現(xiàn)在剛啟動(dòng)SD16的轉(zhuǎn)換時(shí)數(shù)據(jù)不準(zhǔn)確,要等一段時(shí)間數(shù)據(jù)才能穩(wěn)定,請(qǐng)問是什么原因?
A2:請(qǐng)首先排除采樣時(shí)鐘的問題,如果采樣時(shí)鐘不穩(wěn)定,會(huì)導(dǎo)致采樣的數(shù)據(jù)不在預(yù)期的時(shí)間點(diǎn)上產(chǎn)生;如果采樣時(shí)鐘穩(wěn)定,那么問題可能出現(xiàn)在SD16模塊的數(shù)字濾波部分,因?yàn)閿?shù)字濾波器需要建立的時(shí)間,所以需要增加2到3個(gè)采樣周期,才可以得到比較準(zhǔn)確的采樣信號(hào),請(qǐng)參看MSP430xF2xx User's Guide(TI文檔號(hào)slau144)中12.2.7節(jié)Digital Filter中的介紹。
Q3 聽說一個(gè)10位的ADC可以將它的采樣精度提高到12位甚至14位,是怎么做到的?
A3:請(qǐng)參考“采用集成了運(yùn)算放大器的FG43x構(gòu)建便攜式儀表”議題中的求和+擾動(dòng)電路,其主要是利用了過采樣,通過提高采樣的頻率來得到較高的采樣精度,是犧牲速度來換取精度的一種方法。其原理是利用過采樣的方法 (Oversampling),即如果在直流輸入信號(hào)上疊加一個(gè)交流(抖動(dòng))信號(hào),并用比該交流信號(hào)頻率高的多的采樣頻率進(jìn)行采樣,此時(shí)得到的數(shù)字輸出值將是變化的,用這些采樣結(jié)果的平均值表示模數(shù)轉(zhuǎn)換器的轉(zhuǎn)換結(jié)果便能得到比用同樣模數(shù)轉(zhuǎn)換高得多大的采樣分辨率,詳細(xì)的理論依據(jù)可參看有關(guān)過采樣的理論或者 ΣΔADC的原理。
Q4 為什么WDT+在關(guān)閉所有時(shí)鐘后還能運(yùn)行?
A4 :在上面已經(jīng)提到,MSP430F2xx的WDT+模塊具有時(shí)鐘保護(hù)的模塊,當(dāng)關(guān)閉其時(shí)鐘后,由于時(shí)鐘保護(hù)模塊的作用,將會(huì)引起系統(tǒng)的復(fù)位,以提醒系統(tǒng)正確的設(shè)定WDT模塊的時(shí)鐘,來確保看門狗電路始終保持在正常的工作狀態(tài)。
Q5.SPI及I2C模塊可以到多高的速度?MSP430F2xx的上拉或者下拉電阻是否可以被屏蔽掉?
A5.:在實(shí)際應(yīng)用中,我們采用MSP430F1xx的SPI在8MHz的頻率下,可以做到4M的速度,I2C可以做到400k。MSP430F2xx的上拉或者下拉電阻可以被屏蔽掉,當(dāng)不需要MSP430F2xx的引腳上拉或者下拉電阻的功能,可以設(shè)定PxREN寄存器的相應(yīng)位置為0即可。
Q6.BSL的原理是什么?
A6:請(qǐng)參考TI應(yīng)用文檔slaa096(Application of Bootstrap Loader in MSP430 With Flash Hardware and Software Proposal) & slaa089(Features of the MSP430 Bootstrap Loader)。
BSL(Bootstrap Loader)是用于在MSP430設(shè)計(jì)開發(fā)及系統(tǒng)更新時(shí)對(duì)FLASH編程。它可以用經(jīng)UART協(xié)議傳送的命令來激活,所用的協(xié)議時(shí)MSP430的具有先導(dǎo)同步字符的標(biāo)準(zhǔn)串行通信協(xié)議(SSP)。為了避免BSL代碼被錯(cuò)誤的寫操作覆蓋,這些代碼保存在專用的BOOT ROM中。對(duì)于BSL,任何直接或者間接的讀命令都需通過保護(hù)口令的驗(yàn)證。
BSL功能提供了在JTAG熔絲燒斷的情況下,對(duì)系統(tǒng)軟件進(jìn)行更新的方法。
系統(tǒng)監(jiān)控——透過電視系統(tǒng)的應(yīng)用
Q1.使用MSP430F1121,如何實(shí)現(xiàn)一個(gè)1K-100K,占空比為50%的可調(diào)整頻率輸出,調(diào)整精度為1K?
A1: 將Timer_A3設(shè)置成UP模式,SMCLK = 8M,CCR0設(shè)置成PWM輸出,輸出方式為翻轉(zhuǎn)。
如100K輸出,CCR0為8M/100K/2 = 40;1K輸出,CCR0 = 8M/1K/2 = 4000;硬件自動(dòng)輸出。
Q2.MSP430的中斷優(yōu)先級(jí)是否可以編程?中斷可以嵌套嗎?嵌套原則是什么?
A2:MSP430的中斷向量在0xFFE0-0xFFFF中,共16個(gè)字節(jié)。優(yōu)先級(jí)是固定的,不可編程的,其優(yōu)先級(jí)的順序可參考中斷向量表。每一個(gè)模塊都有一個(gè)固定的中斷向量,整個(gè)MSP430系列中,相同模塊的中斷向量地址都是一樣的。
MSP430的中斷允許中斷嵌套,中斷嵌套時(shí)只需將GIE置位即可。在中斷嵌套時(shí),當(dāng)前的中斷中可以嵌套所有430的中斷而不區(qū)分中斷的高低級(jí)別。MSP430的中斷優(yōu)先級(jí)只在同時(shí)有多個(gè)中斷請(qǐng)求時(shí)才發(fā)揮作用。
MSP430用于小信號(hào)系統(tǒng)的測(cè)量
Q1. 錄音回放系統(tǒng)的采樣頻率是6.5k,那么MSP430FG43x可以錄多少時(shí)間?
A1:以6.5k的采樣頻率,每秒采樣數(shù)據(jù)為6.5k個(gè),因?yàn)椴捎肕SP430FG43x內(nèi)部12bitADC,如果不做處理的話,每筆數(shù)據(jù)占用1Word(12bit),那么每秒數(shù)據(jù)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位數(shù)據(jù)存儲(chǔ),那么每秒數(shù)據(jù)為 6.5kB,MSP430FG437可存30/6.5 = 4.61秒;MSP430FG438可存48/6.5 = 7.38秒;MSP430FG439可存60/13 = 9.23秒。
如果對(duì)采樣數(shù)據(jù)進(jìn)行壓縮處理,存儲(chǔ)的時(shí)間將得到延長(zhǎng)。
Q2. 軌到軌(Rail-to-Rail)輸入、輸出是什么含義?
A2:軌到軌輸入(輸出),是一種集成電路制造工藝,很多滿幅度輸出的運(yùn)放是采用的這種工藝.軌到軌輸入(輸出)的意思是說輸入(輸出)電平可以達(dá)到供電電源的高低電平。
Q3. 增益帶寬積是什么意思?增益和帶寬有什么關(guān)系?
A3:增益帶寬積(GBW - Gain-Bandwidth Product)是開環(huán)電壓增益與頻率的乘積關(guān)系。
IAR開發(fā)系統(tǒng)的深入介紹
Q1. MSP430 中PC+1是Word + 1還是Byte + 1?是否能夠訪問到Byte?是不是8位的架構(gòu)
A1:MSP430是16位內(nèi)核的單片機(jī),他的指令是16位的指令而不是8位的指令。在MSP430種PC+1只能是Word + 1。不能訪問Byte地址。所以PC里面的值一定是偶數(shù)
MSP430在實(shí)際應(yīng)用中的設(shè)計(jì)概念
Q1. 在SD16同一通道中輸入相同的電壓值,F(xiàn)M不同,轉(zhuǎn)換結(jié)果會(huì)有很大的差別。
A1:使用F4270 的EVK板,外部輸入電壓為可調(diào)電阻調(diào)整電壓降為464.37mV差動(dòng)輸入MSP430F4270 A1+與A1-,測(cè)
試結(jié)果如下表
采樣頻率fM Gain OSR REF ADC輸出(最小) ADC輸出(平均10次) ADC輸出(最大)
32K(ACLK) 1 1024 內(nèi)部1.2 V 25070 25071 25074
125K(SMCLK) 1 1024 內(nèi)部1.2 V 25070 25071 25074
250K(SMCLK) 1 1024 內(nèi)部1.2 V 25070 25071 25074
500K(SMCLK) 1 1024 內(nèi)部1.2 V 25073 25074 25077
1M (SMCLK) 1 1024 內(nèi)部1.2 V 25118 25120 25124
從測(cè)試結(jié)果來看,采樣頻率對(duì)ADC轉(zhuǎn)換的輸出是有影響的,
1 采樣頻率fM越高,ADC輸出與信號(hào)之間的OFFSET越大,但OFFSET是穩(wěn)定?梢酝ㄟ^校正來改變
2 在滿足采樣信號(hào)固有頻率特性的情況下,采樣頻率fM盡可能的低
3 對(duì)同一個(gè)信號(hào)進(jìn)行采樣,盡可能的保持一個(gè)采樣頻率,這樣只有一個(gè)OFFSET參數(shù),方便校正
引起這種現(xiàn)象的原因:
Sigma-Delta ADC 使用的SINC3數(shù)字濾波器,數(shù)字濾波器的增益與采樣信號(hào)fM的關(guān)系是一個(gè)開口向上的拋物線的關(guān)系。fM越大,增益越小。
Q2. AVCC和DVCC為什么需要分開?
A2:MSP430中的模擬電源與數(shù)字電源是獨(dú)立的。為了防止數(shù)字電路對(duì)模擬電路的干擾,所以需要將兩者的電源分開,但需要注意的是,數(shù)字電源和模擬電源的電壓最大不能有0.3V的偏差。
|