430系列單片機(jī)是美國(guó)德州儀器(TI)1996年開(kāi)始推向市場(chǎng)的一種16位超低功耗、具有精簡(jiǎn)指令集(RISC)的混合信號(hào)處理器(Mixed Signal Processor)。430單片機(jī)稱之為混合信號(hào)處理器,是由于其針對(duì)實(shí)際應(yīng)用需求,將多個(gè)不同功能的模擬電路、數(shù)字電路模塊和微處理器集成在一個(gè)芯片上,以提供“單片機(jī)”解決方案。該系列單片機(jī)多應(yīng)用于需要電池供電的便攜式儀器儀表中。
430單片機(jī)特點(diǎn)
處理能力強(qiáng)
430系列單片機(jī)是一個(gè)16位的單片機(jī),采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu),具有豐富的尋址方式(7 種源操作數(shù)尋址、4 種目的操作數(shù)尋址)、簡(jiǎn)潔的 27 條內(nèi)核指令以及大量的模擬指令;大量的寄存器以及片內(nèi)數(shù)據(jù)存儲(chǔ)器都可參加多種運(yùn)算;還有高效的查表處理指令。這些特點(diǎn)保證了可編制出高效率的源程序。
運(yùn)算速度快
430 系列單片機(jī)能在25MHz晶體的驅(qū)動(dòng)下,實(shí)現(xiàn)40ns的指令周期。16位的數(shù)據(jù)寬度、40ns的指令周期以及多功能的硬件乘法器(能實(shí)現(xiàn)乘加運(yùn)算)相配合,能實(shí)現(xiàn)數(shù)字信號(hào)處理的某些算法(如FFT等)。
超低功耗
430 單片機(jī)之所以有超低的功耗,是因?yàn)槠湓诮档托酒?a target="_blank">電源電壓和靈活而可控的運(yùn)行時(shí)鐘方面都有其獨(dú)到之處。
首先,430 系列單片機(jī)的電源電壓采用的是1.8-3.6V 電壓。因而可使其在1MHz 的時(shí)鐘條件下運(yùn)行時(shí),芯片的電流最低會(huì)在165μA左右,RAM保持模式下的最低功耗只有0.1μA。
其次,獨(dú)特的時(shí)鐘系統(tǒng)設(shè)計(jì)。在 MSP430 系列中有兩個(gè)不同的時(shí)鐘系統(tǒng):基本時(shí)鐘系統(tǒng)、鎖頻環(huán)(FLL 和FLL+)時(shí)鐘系統(tǒng)和DCO數(shù)字振蕩器時(shí)鐘系統(tǒng)??梢灾皇褂靡粋€(gè)晶體振蕩器(32.768kHz)DT-26 OR DT-38,也可以使用兩個(gè)晶體振蕩器。由系統(tǒng)時(shí)鐘系統(tǒng)產(chǎn)生 CPU 和各功能所需的時(shí)鐘。并且這些時(shí)鐘可以在指令的控制下,打開(kāi)和關(guān)閉,從而實(shí)現(xiàn)對(duì)總體功耗的控制。
由于系統(tǒng)運(yùn)行時(shí)開(kāi)啟的功能模塊不同,即采用不同的工作模式,芯片的功耗有著顯著的不同。在系統(tǒng)中共有一種活動(dòng)模式(AM)和五種低功耗模式(LPM0~LPM4)。在實(shí)時(shí)時(shí)鐘模式下,可達(dá)2.5μA ,在RAM 保持模式下,最低可達(dá)0.1μA 。
片內(nèi)資源豐富
MSP430 系列單片機(jī)的各系列都集成了較豐富的片內(nèi)外設(shè)。它們分別是看門狗(WDT)、模擬比較器A、定時(shí)器A0(Timer_A0)、定時(shí)器A1(Timer_A1)、定時(shí)器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驅(qū)動(dòng)器、10位/12位ADC、16位Σ-Δ ADC、DMA、I/O端口、基本定時(shí)器(Basic Timer)、實(shí)時(shí)時(shí)鐘(RTC)和USB控制器等若干外圍模塊的不同組合。
其中,看門狗可以使程序失控時(shí)迅速?gòu)?fù)位;模擬比較器進(jìn)行模擬電壓的比較,配合定時(shí)器,可設(shè)計(jì)出A/D 轉(zhuǎn)換器;16 位定時(shí)器(Timer_A 和 Timer_B)具有捕獲/比較功能,大量的捕獲/比較寄存器,可用于事件計(jì)數(shù)、時(shí)序發(fā)生、PWM等;有的器件更具有可實(shí)現(xiàn)異步、同步及多址訪問(wèn)串行通信接口可方便的實(shí)現(xiàn)多機(jī)通信等應(yīng)用;具有較多的 I/O 端口,P0、P1、P2 端口能夠接收外部上升沿或下降沿的中斷輸入;10/12位硬件 A/D 轉(zhuǎn)換器有較高的轉(zhuǎn)換速率,最高可達(dá)200kbps ,能夠滿足大多數(shù)數(shù)據(jù)采集應(yīng)用;能直接驅(qū)動(dòng)液晶多達(dá) 160 段;實(shí)現(xiàn)兩路的 12 位D/A轉(zhuǎn)換;硬件I2C串行總線接口實(shí)現(xiàn)存儲(chǔ)器串行擴(kuò)展;以及為了增加數(shù)據(jù)傳輸速度,而采用的DMA模塊。MSP430 系列單片機(jī)的這些片內(nèi)外設(shè)為系統(tǒng)的單片解決方案提供了極大的方便。
另外,430 系列單片機(jī)的中斷源較多,并且可以任意嵌套,使用時(shí)靈活方便。當(dāng)系統(tǒng)處于省電的低功耗狀態(tài)時(shí),中斷喚醒只需5μs。
方便高效的開(kāi)發(fā)環(huán)境
430 系列有 OTP 型、 FLASH 型和 ROM 型三種類型的器件,這些器件的開(kāi)發(fā)手段不同。對(duì)于 OTP 型和 ROM 型的器件是使用仿真器開(kāi)發(fā)成功之后燒寫或掩膜芯片;對(duì)于 FLASH 型則有十分方便的開(kāi)發(fā)調(diào)試環(huán)境,因?yàn)槠骷瑑?nèi)有 JTAG 調(diào)試接口,還有可電擦寫的 FLASH 存儲(chǔ)器,因此采用先下載程序到 FLASH 內(nèi),再在器件內(nèi)通過(guò)軟件控制程序的運(yùn)行,由 JTAG 接口讀取片內(nèi)信息供設(shè)計(jì)者調(diào)試使用的方法進(jìn)行開(kāi)發(fā)。這種方式只需要一臺(tái) PC 機(jī)和一個(gè) JTAG 調(diào)試器,而不需要仿真器和編程器。開(kāi)發(fā)語(yǔ)言有匯編語(yǔ)言和C 語(yǔ)言。
430單片機(jī)之定時(shí)器A功能的大致介紹
總的來(lái)說(shuō),430單片機(jī)一共有三個(gè)定時(shí)器,定時(shí)器A,定時(shí)器B,還有就是看門狗定時(shí)器,這里我們主要是討論430單片機(jī)的定時(shí)器A的功能,定時(shí)器A的功能是我目前見(jiàn)過(guò)最厲害的定時(shí)器,視頻上說(shuō)用好定時(shí)器A的話,對(duì)于今后真正的掌握430具有很重要的意義
同樣是先介紹一下定時(shí)器A的特點(diǎn):(英語(yǔ)六級(jí)科學(xué)類文章的常用寫法,總分總)
1:可作為異步的16位定時(shí)器,16位的計(jì)數(shù)器,其中計(jì)數(shù)器有四種工作方式
2:可以調(diào)節(jié)的外部時(shí)鐘源
3:3個(gè)捕獲比較源
4:擁有可以輸出PWM功能
5:異步的輸入與輸出鎖存
6:擁有多個(gè)中斷源
其實(shí),看datasheet現(xiàn)在真的掌握方法了,看完簡(jiǎn)介關(guān)鍵就是看懂下面這張圖,在編程的時(shí)候熟悉相關(guān)寄存器的操作就可以了
并且看圖也還有個(gè)先后的順序,因?yàn)闄C(jī)器是死的,運(yùn)作起來(lái)是要靠晶振的振動(dòng),所以看圖的時(shí)候,可以依據(jù)時(shí)鐘源這條主線來(lái)看
首先,目光聚集在標(biāo)號(hào)1,特點(diǎn)2講了,可以調(diào)節(jié)的外部時(shí)鐘源,有4種可以用的時(shí)鐘源,
之后標(biāo)號(hào)2是一個(gè)分頻器,可以進(jìn)行三種分頻,
在接下來(lái)標(biāo)號(hào)3是一個(gè)16位的工作區(qū),就是一個(gè)加一計(jì)數(shù)器吧,
在接下來(lái)標(biāo)號(hào)4就是一個(gè)計(jì)數(shù)器,計(jì)數(shù)器的話,有4種計(jì)數(shù)模式;
這里還是需要注意畫藍(lán)色的控制位,TACLR這個(gè)控制位是計(jì)數(shù)器還有定時(shí)器的復(fù)位控制位,如果這一位置位,則時(shí)鐘源,分頻比,還有計(jì)數(shù)器的方向都需要重新設(shè)定
Set TAIFG這個(gè)是計(jì)數(shù)器的中斷標(biāo)志位
接下來(lái)下面這一部分才是重頭戲,捕獲比較,標(biāo)號(hào)5是捕獲模式的比較來(lái)源,有四種捕獲模式選擇
標(biāo)號(hào)6是一個(gè)捕獲時(shí)鐘源的同步選擇,一般選擇的是與內(nèi)部時(shí)鐘先一致,以避免內(nèi)部資源的沖突
標(biāo)號(hào)7是一個(gè)捕獲寄存器,用來(lái)存放不同的時(shí)間戳,進(jìn)而計(jì)算出脈寬的長(zhǎng)度
標(biāo)號(hào)8是一個(gè)鎖存位
標(biāo)號(hào)9是用來(lái)選擇捕獲模式還是比較模式
標(biāo)號(hào)10是用來(lái)輸出各種控制波形,比如PWM波形等等
接下來(lái)按照英語(yǔ)六級(jí)科學(xué)類閱讀常用的方法,到了分的結(jié)構(gòu),430的定時(shí)器模式的介紹,其實(shí)定時(shí)器沒(méi)什么可說(shuō)的,無(wú)非就是具有時(shí)鐘時(shí)鐘源,分頻比可以設(shè)置,以得到用戶需要的計(jì)時(shí)效果,需要注意的是,當(dāng)TACLR置位的時(shí)候,外部時(shí)鐘源,分頻比都會(huì)清除掉,再次使用的時(shí)候,用戶需要重新設(shè)置,所以這一位的操作需要謹(jǐn)慎
在接下來(lái)便是計(jì)數(shù)器模式的介紹,430提供三種計(jì)數(shù)模式,增計(jì)數(shù)模式,連續(xù)計(jì)數(shù)模式,增減計(jì)數(shù)模式
增計(jì)數(shù)模式的話,這里需要注意的是增計(jì)數(shù)模式與連續(xù)計(jì)數(shù)模式差不多,都是輸出鋸齒波形,但是他們的峰值是不同的,因?yàn)樵鲇?jì)數(shù)模式的話的峰值是用戶自己設(shè)置的,設(shè)置的值存放在TACCR0的寄存器上,但是連續(xù)計(jì)數(shù)模式的峰值是固定的,是一直計(jì)數(shù)知道16位全部溢出,所以峰值是0xffff
圖中所示,1表示增計(jì)數(shù)模式的話,2表示連續(xù)計(jì)數(shù)模式
值得注意的,值增計(jì)數(shù)模式的話的時(shí)候,如果突然間TACCR0上的值被改變,表示峰值被改變,假設(shè)由原來(lái)的峰值A(chǔ)變成峰值B
如果峰值B小于峰值A(chǔ),則計(jì)數(shù)器馬上變?yōu)?,重新開(kāi)始技術(shù)
如果峰值B大于峰值A(chǔ),則計(jì)數(shù)器會(huì)超過(guò)A,一直加大B,在變?yōu)?,之后輸出峰值位B的鋸齒波
接下來(lái)便是增減計(jì)數(shù)模式,這個(gè)比較有意思,他可以得到一個(gè)三角波,見(jiàn)圖:
注意的是,該三角波的峰值也是可以調(diào)節(jié)的,還有三角波的技術(shù)具有記憶性,所以使用時(shí)需要注意,所謂的記憶性,就是在A出來(lái)一個(gè)暫停,他會(huì)暫停,并且恢復(fù)之后,計(jì)數(shù)的方向都不會(huì)改變
接下來(lái)就是選擇捕獲模式或者是比較模式,有CAP控制位來(lái)選擇
當(dāng)工作在捕獲模式下的時(shí)候,單片機(jī)會(huì)捕獲預(yù)先設(shè)定的脈沖,記錄脈沖出現(xiàn)的時(shí)間戳,之后兩個(gè)時(shí)間戳進(jìn)行相減,得到的便是脈沖的寬度,但是當(dāng)時(shí)間戳用戶沒(méi)有及時(shí)的取走的話,就會(huì)發(fā)生重復(fù)捕獲,這是上一次出現(xiàn)的時(shí)間戳就會(huì)被覆蓋
比較模式通常是CAP = 0,定時(shí)器工作在比較模式的情況下的時(shí)候,通常是用來(lái)輸出PWM波形
到這里,定時(shí)器A的大部分功能都弄明白了,但是還有最重要的一個(gè)模塊,那就是脈沖的輸出模塊,定時(shí)器A可以輸出大量可以供用戶選擇的波形,這個(gè)功能真的是超級(jí)無(wú)敵的強(qiáng)大,這個(gè)輸出模塊需要很具體的工程實(shí)踐能力,還需要很深的理論功底但需要的時(shí)候,但需要輸出的波形的時(shí)候,可以優(yōu)先考慮MSP430
評(píng)論
查看更多