日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年08月12日(星期二)

2020年08月12日 | 利用捕獲比較功能實現(xiàn)MSP430與微機串行通信的研究

發(fā)布者:采菊東籬下 來源: elecfans關(guān)鍵字:捕獲比較功能  MSP430  微機  串行通信 手機看文章 掃描二維碼
隨時隨地手機看文章

1 引言: 
MSP430系列單片機是美國TI公司于2000年推出的新一代超的低功耗16位單片機。由于它具有功能完善、超低功耗、開發(fā)簡便、成本低廉等特點,目前已經(jīng)在國內(nèi)得到了廣大工程技術(shù)人員的關(guān)注和應用。工程師們在進行機型選擇時主要考慮該機型的性能和成本,因此在小型儀表以及普通應用中MSP430的11x系列、31x系列、41x系列受到了許多工程師的青睞。這些機型有一個共同的特點就是內(nèi)部沒有硬件UART模塊。這就帶來一個問題,這些單片機怎樣實現(xiàn)串行通信呢?本文就針對這一問題進行研究,分析研究了MSP430中捕獲比較功能的特點,以及利用捕獲比較功能實現(xiàn)串行通信的方法。并以MSP430F413為例介紹了實現(xiàn)它與微機之間進行串行通信的軟件代碼和硬件電路。


1 捕獲比較功能的介紹: 
MSP430系列單片機中都集成了捕獲比較的功能模塊。捕獲比較功能的引入主要是為了提高I/O端口處理事務的能力和速度。捕獲比較并不是非常新的概念,使用過Intel 的16位單片機中如80196MC的讀者就會發(fā)現(xiàn),MSP430中的捕獲比較功能和80196系列單片機中的EPA功能有一些相似之處。以下結(jié)合實現(xiàn)串行通信的需要,簡要介紹有關(guān)捕獲比較的有關(guān)概念。


捕獲比較模塊用于捕獲應用事件的發(fā)生時間,或產(chǎn)生定時間隔。如果相應的中斷允許,那么完成一個時間捕獲或一次定時間隔,捕獲/比較模塊都將產(chǎn)生中斷。每一個捕獲比較模塊都可以對應一組硬件引腳。圖1是捕獲比較模塊的結(jié)構(gòu)框圖。


捕獲功能可以捕捉選定輸入引腳的狀態(tài)的變化,它可以選擇捕捉上升沿、下降沿、前后沿。如果捕捉到了相應的變化,則定時器計數(shù)值將被復制到捕獲比較寄存器CCR中,并會產(chǎn)生相應的中斷。在串行通信中,正是利用捕獲功能的特點來捕捉起始位的信息。 


圖1:捕獲比較模塊結(jié)構(gòu)框圖

比較功能是借助比較器不斷地將CCR中的設定值與定時器中的計數(shù)值相比較,當二者相等時,就產(chǎn)生中斷,并產(chǎn)生設定的輸出。利用比較功能,可以獲得精確的時間間隔,利用該特性可以構(gòu)造一個精確的波特率發(fā)生器,為串行通信提供時間基準。


2 利用捕獲比較實現(xiàn)串行通信的方法 
本節(jié)具體介紹實現(xiàn)異步串行通信時,捕獲和比較功能是如何工作的。


2.1 接收過程 


圖2:在串行通信接收過程中捕獲比較功能時序分析示意圖

在異步串行通信中,每個數(shù)據(jù)幀一般由1位起始位、8位數(shù)據(jù)位、1位奇偶校位、1位停止位組成。圖2所示為一個數(shù)據(jù)幀前3位的時序。在接收這種格式的數(shù)據(jù)幀時,首先要確定起始位,用來進行幀同步。在MSP430中是利用捕獲功能來捕捉起始位的下跳沿(詳見附錄程序代碼)。如圖2,在A點捕獲到起始位,系統(tǒng)將此刻的定時器值(T0)存放入CCR中,并產(chǎn)生中斷。對A點所產(chǎn)生中斷的處理非常重要。在該中斷處理程序中,將捕獲功能轉(zhuǎn)換為比較功能,并將1.5位的時間間隔(T1.5)加到CCR中,即CCR=T0+T1.5。這樣當?shù)竭_1.5位時間間隔時(B點),即定時器的值等于T0+T1.5。將會由此比較功能觸發(fā)一次中斷,這樣就實現(xiàn)了1.5位時間間隔的精確定時。在該中斷處理程序中,可以讀取輸入引腳的狀態(tài),從而接收到Bit1的信息,然后再利用比較功能產(chǎn)生1位時間間隔(T1)的定時。此后,當下一個T1時間到達時,比較功能又會觸發(fā)一次中斷(C點)。在這時的中斷服務程序中可以讀取Bit2的信息。如此重復8次,就可以完成一個字節(jié)數(shù)據(jù)的接收。


2.2 發(fā)送過程 
相對于接收過程,發(fā)送過程比較簡單。利用比較功能產(chǎn)生一個間隔為1位時間(T1)的時序,相當于一個波特率發(fā)生器。在每一次比較功能觸發(fā)的中斷服務程序中發(fā)送一位數(shù)據(jù),如此循環(huán)執(zhí)行,這樣就可以完成一個數(shù)據(jù)幀的發(fā)送。異步串行通信的一個數(shù)據(jù)幀往往是10位或11位。對于這點可以利用MSP430是16位機的特點,將數(shù)據(jù)幀的所有位安排在一個待發(fā)送字中,然后移位發(fā)送,而不需要專門編程產(chǎn)生起始位和停止位。(詳見附錄中的程序代碼及說明)


2.3 波特率的確定以及中斷的安排 
從以上的分析可以看出,串行通信的波特率主要是與1位時間間隔T1有關(guān),T1可以通過以下公式確定:

  公式1

其中Tclk是指與該捕獲比較模塊相對應的定時器的基準頻率,如使用ACLK作為時基則Tclk=32768;使用MCLK作為時基則Tclk=1M。式中的Baud就是期待的波特率值。MSP430每個捕獲比較模塊中的捕獲和比較對應同一個中斷地址,因此兩者需要共享一段中斷服務程序。這樣就要求在中斷服務程序中能區(qū)分觸發(fā)中斷的類別。主要是通過CCTL控制寄存器中的CAP位來區(qū)分[3]。另一方面接收和發(fā)送的也都需要在這段服務程序中處理,應該加以區(qū)分。(詳見附錄中的程序代碼及說明)


3 超低功耗串行通信實例

3.1電路結(jié)構(gòu)及其特點 
本文中使用上述的原理和方法,在MSP430F413和MAX3221構(gòu)成的電路中實現(xiàn)了與微機的串行通信,電路原理如圖3。該電路不但完成了串行通信,還進一步實踐了超低功耗的應用原理。MSP430單片機的一大特點就是超低功耗,它有多種功耗狀態(tài)可以編程控制[4]。MAX3221也是具有低功耗特點的接口器件,通過EN、FORCEON、FORCEOFF引腳可以控制驅(qū)動器、接收器的工作狀態(tài),啟動或禁止自動降低功耗功能,從而使其工作在不同的能耗狀態(tài),達到降低功耗的目的[2]??刂萍捌錉顟B(tài)詳見表1



圖3 MSP430F413超低功耗串行通信電路原理圖

3.2超低功耗的解決方案 
選擇了低功耗的器件,還要合理的控制才能達到最低的能耗[1]。對于本應用,MSP430處于從機工作狀態(tài)。針對這種應用以下方案可以有效地降低能耗:初始化程序結(jié)束后,設定MSP430F413工作在功耗模式4等待P1.2引腳的中斷。這時CPU將關(guān)閉,其能耗最低(0.1μA)。另一方面,初始控制MAX3221進入自動調(diào)節(jié)能耗狀態(tài)。如果微機不發(fā)送信號,即Rin輸入無效,驅(qū)動器和接收器都將關(guān)閉,進入很低功耗的待機狀態(tài)(1μA)。

當微機發(fā)送信號時,即Rin輸入有效,接收器會自動打開,并產(chǎn)生有效的INVALID信號。該信號將觸發(fā)P1.2引腳的中斷。在中斷處理程序中將MSP430F413的功耗模式設定為模式3(功耗電流0.7μA),這時利用頻率為32768的ACLK時鐘工作就可以完成低速的串行通信任務。當接收、處理完微機的數(shù)據(jù)后需要將結(jié)果返回給微機。這時可以打開MAX3221的驅(qū)動器,關(guān)閉接收器完成此工作。當發(fā)送完畢后可以將MSP430和MAX3221再設定為準備接收信息的最低功耗狀態(tài)。


利用上述方法可以在滿足串行通信的同時達到非常低的功耗。

表1:MAX3221收發(fā)器工作控制及其工作狀態(tài)對照表 

工作及能耗狀態(tài)FORCEONFORCEOFFEN接收器輸入信號Rin驅(qū)動器狀態(tài)接收器狀態(tài)
完全待機狀態(tài)最低功耗X00X關(guān)閉激活
X01X關(guān)閉關(guān)閉
正常工作狀態(tài)人工調(diào)節(jié)能耗110X激活激活
111X激活關(guān)閉
器件自理狀態(tài)自動調(diào)節(jié)能耗010有效自動激活激活
011有效自動激活關(guān)閉
010無效關(guān)閉激活
011無效關(guān)閉關(guān)閉


注:驅(qū)動器將MOS電平轉(zhuǎn)換為RS232電平,接收器將RS232電平轉(zhuǎn)換為MOS電平


4 結(jié)束語 
應用上述的設計方法和電路,很好地實現(xiàn)了MSP430與微機之間的串行通信,并且達到了非常理想的功耗水平。實踐證明該方法對于沒有硬件UART的MSP430系列單片機進行串行通信非常有效,并給需要擴展串口的其他類型MSP430單片機提供了一種可行的方案。此外,文中的超低功耗電路設計方法對于功耗敏感的應用是一種很好的解決方案。


參考文獻: 
[1] Brian Merritt. Ultralow Power Thermostat ([R]). Texas, U.S.A. : Texas Instruments Incorporated, 2001. 
[2] MAX3221 3-V TO 5.5-V single-channel RS-232 line driver/receiver (Manual). Texas, U.S.A. : Texas Instruments Incorporated, 2001. 
[3] 胡大可. MSP430系列超低功耗16位單片機原理與應用,北京航空航天出版社,2001。 
[4] 胡大可. MSP430系列FLASH型超低功耗16位單片機,北京航空航天出版社,2001。

附錄:利用捕獲比較實現(xiàn)異步串行通信的程序代碼: 
;------------------------------------------------------------------------------

說明: 
硬件連接如圖3,P1.0作為發(fā)送引腳,P1.1作為接收引腳,二者共用捕獲比較模塊0 
Tbit1 是1位時間間隔數(shù)據(jù)(T1),Tbit_5是半位時間間隔數(shù)據(jù)。(由公式1得出) 
RTbuff 是接收發(fā)送緩沖字單元,存放接收和發(fā)送的數(shù)據(jù) 
Counter 是收發(fā)過程中使用的計數(shù)器 
;------------------------------------------------------------------------------

發(fā)送子程序 

MOV&TAR,&CCR0; 將當前定時器值存入CCR中(T0)
ADD#Tbit1,&CCR0; 將1位時間間隔加入CCR中(T0+T1)
RLARTbuff; 將帶發(fā)送的字節(jié)數(shù)據(jù)左移一位,構(gòu)造最低位為起始位
BIS#0200h, RTbuff; 將停止位數(shù)據(jù)放入待發(fā)送字的第10位
MOV#10,Counter; 初始化數(shù)據(jù)幀計數(shù)器為10
MOV#OUTMOD0+CCIE,&CCTL0; 標記發(fā)送狀態(tài),打開捕獲比較中斷,啟動發(fā)送
RET
; 返回


;------------------------------------------------------------------------------ 
接收準備子程序 

MOV#08,Counter; 初始化接收數(shù)據(jù)計數(shù)器為8(接收一個字節(jié)數(shù)據(jù))
MOV#SCS+CCIS0+OUTMOD0+CM1+CAP+CCIE,&CCTL0;初始化捕獲比較控制字,


; 設定為下降沿捕獲模式,標記接收狀態(tài),打開中斷,啟動接收
RET
; 返回


;------------------------------------------------------------------------------


捕獲比較模塊0的中斷服務程序 
;------------------------------------------------------------------------------ 


ADD#Tbit1,&CCR0; 將1位時間間隔加入CCR0中

BIT#CCIS0,&CCTL0; 判斷接收、發(fā)送狀態(tài)

JNZUART_RX; 是接收狀態(tài),轉(zhuǎn)接收處理
UART_TXCMP#00h,Counter; 是發(fā)送狀態(tài),判斷幀發(fā)送是否結(jié)束
JNETX_Next; 沒有結(jié)束,轉(zhuǎn)入發(fā)送
BIC#CCIE,&CCTL0; 幀發(fā)送結(jié)束,關(guān)閉中斷
RETI
; 中斷返回
TX_NextRRARTbuff; 待發(fā)送位移入進位位C
JCTX_One; 該位為1?跳轉(zhuǎn)
BIS#OUTMOD2,&CCTL0; 該位為0,發(fā)送0
JMPTX_nxt2; 跳轉(zhuǎn)繼續(xù)處理
TX_OneBIC#OUTMOD2,&CCTL0; 該位為1,發(fā)送1
TX_nxt2DECCounter; 發(fā)送幀計數(shù)器減1
RETI
; 中斷返回
;
UART_RXBIT#CAP,&CCTL0; 判斷是否是捕獲到起始位
JZRX_Bit; 接收的不是起始位,轉(zhuǎn)入處理
RX_StartBIC#CAP,&CCTL0; 捕獲到起始位,將狀態(tài)轉(zhuǎn)為比較模式
ADD#Tbit_5,&CCR0; 再增加半位時間間隔(T0+T1.5),以實現(xiàn)1.5 時間間隔
RETI
; 中斷返回
RX_BitBIT#SCCI,&CCTL0; 將接收到的位存入進位位C
RRCRTbuff; 將接收到位,移入收發(fā)緩沖字
RX_TestDECCounter; 接收數(shù)據(jù)計數(shù)器減1
JNZRX_Next; 判斷是否接收了所有數(shù)據(jù)位,沒有跳轉(zhuǎn)到后續(xù)處理
BIC#CCIE,&CCTL0; 接收到所有數(shù)據(jù)位,關(guān)閉捕獲比較中斷
RX_NextRETI
; 中斷返回


關(guān)鍵字:捕獲比較功能  MSP430  微機  串行通信 引用地址:利用捕獲比較功能實現(xiàn)MSP430與微機串行通信的研究

上一篇:MSP430單片機的加密熔斷器設計
下一篇:一種基于MSP430單片機的時鐘系統(tǒng)設計與實現(xiàn)

推薦閱讀

臨近九月Photokina展開幕,這個七月底八月初涌現(xiàn)了一批又一批的影像廠商諜報,而其中之一,就是國內(nèi)著名無人機大廠(應該可以說成全球了)最新一代的MAVIC 2的最新情報。之前的諸多猜測都基本得到證實,最令人興奮的就是MAVIC 2將會采用1英寸大底傳感器。?傳言大疆MAVIC 2將會有兩個版本,一個是PRO版本,一個是ZOOM版本,也就是上圖顯示的兩款。PRO版...
毫米波(Millimeter Wave)指的是工作頻率在30~100GHz,波長在1~10mm之間的電磁波。因為毫米波的波長介于微波和厘米波之間,所以毫米波雷達兼具微波雷達和光電雷達的部分優(yōu)點。當前,在車載ADAS系統(tǒng)中的毫米波雷達主要為24GHz和77GHz兩類。近期,國際電子商情針對24GHz和77GHz的性能,并梳理了國產(chǎn)毫米波雷達的產(chǎn)業(yè)鏈。 24GHz和77GHz毫米波雷達性能對比 ...
近年來,手機屏占比的發(fā)展到達了瓶頸。無論硬件再怎么進步,依舊無法滿足用戶對于手機的極致追求。設計師們總是想盡法子追尋突破,設計了曲面屏、劉海屏、挖孔屏、水滴屏,但依舊沒有改變手機已有的現(xiàn)狀,隨后,有一種能夠突破前置格局,靠攏100%全面屏的方案被設計出來,那就是升降式攝像頭。叱咤風云的升降攝像頭 為何火了一年就銷聲匿跡像OPPO Find ...
IRQ中斷和快速中斷FIQ區(qū)別ARM920T內(nèi)核有兩個中斷:IRQ中斷和快速中斷FIQFIQ和IRQ是兩種不同類型的中斷,ARM為了支持這兩種不同的中斷,提供了對應的叫做FIQ和IRQ處理器模式(ARM有7種處理模式)。一般的中斷控制器里我們可以配置與控制器相連的某個中斷輸入是FIQ還是IRQ,所以一個中斷是可以指定為FIQ或者IRQ的,為了合理,要求系統(tǒng)更快響應,自身處理所耗...

史海拾趣

問答坊 | AI 解惑

現(xiàn)急需紅外線發(fā)射接收感應開關(guān)

紅外線發(fā)射接收感應開關(guān) 要求: 1、 模組由發(fā)射管和接收管組成,狀態(tài)轉(zhuǎn)換時(模組對人體感應到和感應不到兩種狀態(tài))由一紅色LED閃爍一下來指示,模組前面加一個紅外線濾光片(可由一具有紅外線濾光片作用的塑料外殼替代),不受其他家電紅外線遙控 ...…

查看全部問答∨

混合信號FPGA促進臨床醫(yī)療應用發(fā)展

  由于醫(yī)療服務成本的不斷攀升、慢性病的流行、人口的老齡化,以及中國、印度和巴西等大規(guī)模新興市場的崛起,對價格低廉又穩(wěn)健可靠的醫(yī)療設備的需求非常龐大,以期改善全球數(shù)百萬病患的治療和護理條件,并擴大疾病治療范圍。另一方面,醫(yī)療設備設 ...…

查看全部問答∨

wince 5.0 + 2440 ,無法同時支持三種USB 設備同時工作??

有沒有人測試過,2440+wince5.0 的usb host 同時只能接兩種設備,當?shù)谌N設備插上的時候,就會提示需要安裝驅(qū)動。 例如:我現(xiàn)在設備上插上 usb 鼠標 + csr 的藍牙適配器,都工作正常,但是,這個時候,我再把U 盤插上,就會跳出一個要我指定驅(qū)動 ...…

查看全部問答∨

.net 在wince智能設備開發(fā)中, 如何在datagrid中加一列checkbox

.net 在wince智能設備開發(fā)中     如何在datagrid中加一列checkbox…

查看全部問答∨

【 信號處理】級聯(lián)信號處理器的FPGA實現(xiàn)

級聯(lián)信號處理器的FPGA實現(xiàn) 需要的下過去看看 摘要:現(xiàn)代通信系統(tǒng)中,數(shù)字化已成為發(fā)展的必然趨勢,數(shù)字信號處理則是數(shù)字系統(tǒng)中的重要環(huán)節(jié)。在數(shù)字信號處理方面提出一種級聯(lián)信號處理器的FPGA實現(xiàn)方案,用以取代昂貴的專用數(shù)字處理芯片。首先對級聯(lián) ...…

查看全部問答∨

【QT基礎】windows下圖標制作

  QT是跨平臺的程序設計庫,在windows下的程序往往想要有一個好看的圖標,方法如下:     1、有無圖標的區(qū)別:     2、首先要準備好.ico圖標 下面這個是可以轉(zhuǎn)換的網(wǎng)站:http://www.ico.la/old.html 可以格式 ...…

查看全部問答∨

幾個功能函數(shù)的調(diào)用(包括adc,uart,timer)

#include \"msp430g2553.h\" #include \"UART.h\" void main(void) {           WDTCTL = WDTPW + WDTHOLD;                   // Stop watchdo ...…

查看全部問答∨

關(guān)于MSP430F5529視頻觀看

怎么這個視頻看著看著就要什么機構(gòu)域名登陸了呢?沒得就登不進去,這可怎么辦呢?…

查看全部問答∨

IC封裝中BSC的意思?

IC封裝小知識: 經(jīng)常看到IC封裝中使用BSC,那么BSC到底是什么意思呢? BSC的全稱是Basic Spacing between Centers(中心基本距離),一般用在說明IC兩引腳中心的基本間距。這是一個無誤差的,理論的真實位置尺寸。 …

查看全部問答∨
小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved