<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 電源:大功率UPS中DSP與單片機的串行通訊設計

          電源:大功率UPS中DSP與單片機的串行通訊設計

          作者: 時間:2012-08-07 來源:網(wǎng)絡 收藏

          標簽:不間斷 通信

          本文引用地址:http://www.ex-cimer.com/article/176522.htm

          1 引 言

          隨著計算機系統(tǒng)、設備的迅猛發(fā)展,不間斷(uninterruptible power supply)的應用范圍越來越廣。銀行、證券、通信基站等等對于的需求量也是與日俱增。本文主要介紹200KVAUPS中的[1]與的兩種方式,實驗證明:兩種方式均可以使順利通訊,并且使得算法控制和監(jiān)控順利實現(xiàn),均是行之有效的的通訊方式。

          目前,高速數(shù)字信號處理器(DSP,digital signal processor)

          已經(jīng)廣泛應用于工業(yè)控制,電機控制,航天宇航控制等諸多復雜控制系統(tǒng)中。在電力電子領域,由于各種開關功率器件開關頻率越來越高,開關損耗越來越小,所以普通的8位單片機并不能滿足要求,TI公司的TMS320F240系列單片機因其具有快速的處理能力在開關管控制方面已經(jīng)得到實踐認可,并在諸多復雜控制檢測系統(tǒng)中起到核心作用[4]。由于本系統(tǒng)中PFC整流電路以及逆變電路算法復雜,加之比較繁瑣的邏輯順序,所以分別需要一塊DSP對其進行控制。如果將監(jiān)控程序加入DSP中,鍵盤顯示以及數(shù)據(jù)存儲速度勢必要加入等待周期,同時會影響CPU的處理速度。所以,現(xiàn)大都采用另加一塊單片機對其進行監(jiān)控、鍵盤顯示、以及一些重要數(shù)據(jù)的備份。因此,在數(shù)字化UPS中通訊也顯得猶為重要。

          2 MCS51單片機和TMS320F240的串行通訊

          MCS51系列單片機內(nèi)部具有一個全雙工串行口,該串行口有四種工作方式,可以利用軟件進行設置,由片內(nèi)定時/計數(shù)器產(chǎn)生。串行口的接收發(fā)送數(shù)據(jù)均可以觸發(fā)中斷,并含有接收、發(fā)送緩沖器SBUF,兩個緩沖器共用一個字節(jié)地址。串行口是可編程的接口,對它的初始化只用兩個控制字分別寫入特殊功能寄存器SCON和控制寄存器PCON中即可。

          TMS320F240中的串行外設接口(SPI)模塊,是一個高速、同步串行I/O口,它允許長度可編程的串行位流(1~8)位以可編程的位傳輸速度移入或移出器件。數(shù)據(jù)的傳輸需要三條線,即時鐘、發(fā)送和接收。串行通訊接口(SCI)模塊支持CPU和使用NRZ(Nonreturn-to-zero)的異步通訊設備之間的通訊,跟SPI不同的是SCI僅僅需要兩個I/O口進行數(shù)據(jù)傳輸,即發(fā)送端和接收端,所以在外圍硬件電路方面更容易實現(xiàn)。雖然外圍電路簡單可行,但是SCI數(shù)據(jù)傳輸?shù)乃俣容^SPI要差很多,因為SPI具有的時鐘線可以使得兩塊芯片達到真正意義上的同步,而通過SCI連接的兩塊芯片各自有自己的時鐘,這就使得傳輸速度受到影響(最高可達64kb/s),有些應用場所在傳輸距離很短(15m以內(nèi))的情況下通常使用較為容易實現(xiàn)的SCI異步串行通訊。但對傳輸速率要求較高,或傳輸距離要求較長的情況下通常使用SPI(1.2km,10Mb/s) 同步串行通訊。故雖本系統(tǒng)才用SCI進行通訊,同時給出SPI方法,通過對照比較達到靈活運用DSP串行通訊接口的效果。

          3 SCI接口實現(xiàn)DSP與單片機的串行通訊

          在利用SCI連接外圍芯片的時候通常需要外加接口芯片,常用的有MAXIUM公司的MAX232A和MAX485[3]等等。本文給出SCI經(jīng)由MAX232A與單片機相連的,如圖1所示:

          圖1 利用SCI實現(xiàn)的單片機與DSP通訊原理圖

          MAX232A由監(jiān)控板上的普通+5V電壓供電,內(nèi)部有一個電子槳電壓變換器,可以把輸入的+5V電源電壓變換成RS232C通訊的 10V電壓。這種芯片內(nèi)部含有兩個發(fā)送器和兩個接收器,能夠滿足雙工發(fā)送器/接收器的電氣規(guī)范。并且此芯片可以完成RS232C電平到TTL/CMOS電平的轉換。

          3.1 初始化設置

          在異步通訊中必須先規(guī)定兩件事:一是字符格式,即規(guī)定每一陣數(shù)據(jù)的格式,二是采用波特率及時鐘頻率和波特率的關系。這些規(guī)定是通過初始化設置與串行通訊有關的寄存器來實現(xiàn)的。在TMS320F240中本系統(tǒng)中SYSCLK=24MHz,現(xiàn)選擇波特率為9600bps進行RS-232通信,確定波特率選擇寄存器的值BRR方法如下:

          當BRR=1到65535時的串行通信接口異步波特率為:SCI異步波特率=SYSCLK/[(BRR+1) 8]其中BRR=SYSCLK/(SCI異步波特率 8)-1

          當 BRR=0時的串行通信接口異步波特率為:SCI異步波特率=SYSCLK/16這里的BRR等于波特率選擇寄存器的16位值

          根據(jù)上面公式計算得BRR=24 10 /(9600 8)-1=311.5 138H所以波特率選擇寄存器設置為SCIHBAUD=01H,SCILBAUD=38H

          TMS320F240初始化程序如下:

          LDP #00E0H 頁地址指針設置

          SPLK #0017H,SCICCR;設定通訊格式每幀10數(shù)據(jù)

          SPLK #0013H,SCICTL1;使能TX,RX

          SPLK #0000H,SCICTL2;禁止RXINT,TXINT中斷

          SPLK #0001H,SCIHBAUD;波特率設定為9600bit/s

          SPLK #0038H,SCILBAUD;

          SPLK #0033H,SCICTL1;使能SCI

          MCS51單片機的特殊功能寄存器SCON定義了串行通信的方式選擇、接收和發(fā)送控制以及串行口的狀態(tài)標志等。初始化中將其設置成串口方式1,接收允許狀態(tài)。串口方式1收發(fā)的數(shù)據(jù)格式為1位起始位,8位數(shù)據(jù)位,1位停止位。SCON中的TI,RI位在初始化中置0,在發(fā)送、接收完一幀數(shù)據(jù),硬件自動將其置1,中斷被響應后,TI、Ri不會自動清0,必須由軟件清0。其串行通信波特率由定時器T1溢出率獲得,

          波特率的計算公式為:

          上式中N是初值,SMOD是PCON中的位,

          是時鐘頻率,則初始值

          本系統(tǒng)中設定SMOD=1,

          波特率為9600bit/s則計算

          設定初始值為:(TH1)=(TL1)=0FCH。則MCS51單片機初始化程序如下:

          MOV TMOD,#20H;T1工作于模式2

          MOV TH1,#FCH;

          MOV TL1,#FCH;賦計數(shù)初值,波特率為9600bit/s

          MOV SCON,#50H;置串口方式1,每幀10數(shù)據(jù),允許接收

          MOV PCON,#80H;設SMOD=1

          SETB TR1啟動定時器

          3.2 TMS320F240利用SCI與MCS51單片機通信的軟件流程圖

          電源:大功率UPS中DSP與單片機的串行通訊設計

          圖2 TMS320F240利用SCI與MCS51單片機通信的軟件流程圖


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();