資料介紹
1 引 言
隨著計算機系統、通訊設備的迅猛發展,不間斷電源UPS(uninterruptible power supply)的應用范圍越來越廣。銀行、證券、通信基站等等對于UPS的需求量也是與日俱增。本文主要介紹200KVAUPS中的DSP[1]與單片機的兩種串行通訊方式,實驗證明:兩種通訊方式均可以使DSP和單片機順利通訊,并且使得算法控制和監控順利實現,均是行之有效的DSP與單片機的通訊方式。
目前,高速數字信號處理器(DSP,digital signal processor)已經廣泛應用于工業控制,電機控制,航天宇航控制等諸多復雜控制系統中。在電力電子領域,由于各種開關功率器件開關頻率越來越高,開關損耗越來越小,所以普通的8位單片機并不能滿足要求,TI公司的TMS320F240系列單片機因其具有快速的處理能力在大功率開關管控制方面已經得到實踐認可,并在諸多復雜控制檢測系統中起到核心作用[4]。由于本系統中PFC整流電路以及逆變電路算法復雜,加之比較繁瑣的邏輯順序,所以分別需要一塊DSP對其進行控制。如果將監控程序加入DSP中,鍵盤顯示以及數據存儲速度勢必要加入等待周期,同時會影響CPU的處理速度。所以,現大都采用另加一塊單片機對其進行監控、鍵盤顯示、以及一些重要數據的備份。因此,在數字化UPS中串行通訊也顯得猶為重要。
2 MCS51單片機和TMS320F240的串行通訊
MCS51系列單片機內部具有一個全雙工串行口,該串行口有四種工作方式,可以利用軟件進行設置,由片內定時/計數器產生。串行口的接收發送數據均可以觸發中斷,并含有接收、發送緩沖器SBUF,兩個緩沖器共用一個字節地址。串行口是可編程的接口,對它的初始化只用兩個控制字分別寫入特殊功能寄存器SCON和電源控制寄存器PCON中即可。
TMS320F240中的串行外設接口(SPI)模塊,是一個高速、同步串行I/O口,它允許長度可編程的串行位流(1~8)位以可編程的位傳輸速度移入或移出器件。數據的傳輸需要三條線,即時鐘、發送和接收。串行通訊接口(SCI)模塊支持CPU和使用NRZ(Nonreturn-to-zero)的異步通訊設備之間的通訊,跟SPI不同的是SCI僅僅需要兩個I/O口進行數據傳輸,即發送端和接收端,所以在外圍硬件電路設計方面更容易實現。雖然外圍電路設計簡單可行,但是SCI數據傳輸的速度較SPI要差很多,因為SPI具有的時鐘線可以使得兩塊芯片達到真正意義上的同步,而通過SCI連接的兩塊芯片各自有自己的時鐘,這就使得傳輸速度受到影響(最高可達64kb/s),有些應用場所在傳輸距離很短(15m以內)的情況下通常使用較為容易實現的SCI異步串行通訊。但對傳輸速率要求較高,或傳輸距離要求較長的情況下通常使用SPI(1.2km,10Mb/s) 同步串行通訊。故雖本系統才用SCI進行通訊,同時給出SPI設計方法,通過對照比較達到靈活運用DSP串行通訊接口的效果。
3 SCI接口實現DSP與單片機的串行通訊
在利用SCI連接外圍芯片的時候通常需要外加接口芯片,常用的有MAXIUM公司的MAX232A和MAX485[3]等等。本文給出SCI經由MAX232A與單片機相連的,如圖1所示:
圖1 利用SCI實現的單片機與DSP通訊原理圖
MAX232A由監控板上的普通+5V電壓供電,內部有一個電子槳電壓變換器,可以把輸入的+5V電源電壓變換成RS232C通訊的 10V電壓。這種芯片內部含有兩個發送器和兩個接收器,能夠滿足雙工發送器/接收器的電氣規范。并且此芯片可以完成RS232C電平到TTL/CMOS電平的轉換。
3.1 初始化設置
在異步通訊中必須先規定兩件事:一是字符格式,即規定每一陣數據的格式,二是采用波特率及時鐘頻率和波特率的關系。這些規定是通過初始化設置與串行通訊有關的寄存器來實現的。在TMS320F240中本系統中SYSCLK=24MHz,現選擇波特率為9600bps進行RS-232通信,確定波特率選擇寄存器的值BRR方法如下:
當BRR=1到65535時的串行通信接口異步波特率為:SCI異步波特率=SYSCLK/[(BRR+1) 8]其中BRR=SYSCLK/(SCI異步波特率 8)-1
當 BRR=0時的串行通信接口異步波特率為:SCI異步波特率=SYSCLK/16這里的BRR等于波特率選擇寄存器的16位值
根據上面公式計算得BRR=24 10 /(9600 8)-1=311.5 138H所以波特率選擇寄存器設置為SCIHBAUD=01H,SCILBAUD=38H
TMS320F240初始化程序如下:
LDP #00E0H 頁地址指針設置
SPLK #0017H,SCICCR;設定通訊格式每幀10數據
SPLK #0013H,SCICTL1;使能TX,RX
SPLK #0000H,SCICTL2;禁止RXINT,TXINT中斷
SPLK #0001H,SCIHBAUD;波特率設定為9600bit/s
SPLK #0038H,SCILBAUD;
SPLK #0033H,SCICTL1;使能SCI
MCS51單片機的特殊功能寄存器SCON定義了串行通信的方式選擇、接收和發送控制以及串行口的狀態標志等。初始化中將其設置成串口方式1,接收允許狀態。串口方式1收發的數據格式為1位起始位,8位數據位,1位停止位。SCON中的TI,RI位在初始化中置0,在發送、接收完一幀數據,硬件自動將其置1,中斷被響應后,TI、Ri不會自動清0,必須由軟件清0。其串行通信波特率由定時器T1溢出率獲得
隨著計算機系統、通訊設備的迅猛發展,不間斷電源UPS(uninterruptible power supply)的應用范圍越來越廣。銀行、證券、通信基站等等對于UPS的需求量也是與日俱增。本文主要介紹200KVAUPS中的DSP[1]與單片機的兩種串行通訊方式,實驗證明:兩種通訊方式均可以使DSP和單片機順利通訊,并且使得算法控制和監控順利實現,均是行之有效的DSP與單片機的通訊方式。
目前,高速數字信號處理器(DSP,digital signal processor)已經廣泛應用于工業控制,電機控制,航天宇航控制等諸多復雜控制系統中。在電力電子領域,由于各種開關功率器件開關頻率越來越高,開關損耗越來越小,所以普通的8位單片機并不能滿足要求,TI公司的TMS320F240系列單片機因其具有快速的處理能力在大功率開關管控制方面已經得到實踐認可,并在諸多復雜控制檢測系統中起到核心作用[4]。由于本系統中PFC整流電路以及逆變電路算法復雜,加之比較繁瑣的邏輯順序,所以分別需要一塊DSP對其進行控制。如果將監控程序加入DSP中,鍵盤顯示以及數據存儲速度勢必要加入等待周期,同時會影響CPU的處理速度。所以,現大都采用另加一塊單片機對其進行監控、鍵盤顯示、以及一些重要數據的備份。因此,在數字化UPS中串行通訊也顯得猶為重要。
2 MCS51單片機和TMS320F240的串行通訊
MCS51系列單片機內部具有一個全雙工串行口,該串行口有四種工作方式,可以利用軟件進行設置,由片內定時/計數器產生。串行口的接收發送數據均可以觸發中斷,并含有接收、發送緩沖器SBUF,兩個緩沖器共用一個字節地址。串行口是可編程的接口,對它的初始化只用兩個控制字分別寫入特殊功能寄存器SCON和電源控制寄存器PCON中即可。
TMS320F240中的串行外設接口(SPI)模塊,是一個高速、同步串行I/O口,它允許長度可編程的串行位流(1~8)位以可編程的位傳輸速度移入或移出器件。數據的傳輸需要三條線,即時鐘、發送和接收。串行通訊接口(SCI)模塊支持CPU和使用NRZ(Nonreturn-to-zero)的異步通訊設備之間的通訊,跟SPI不同的是SCI僅僅需要兩個I/O口進行數據傳輸,即發送端和接收端,所以在外圍硬件電路設計方面更容易實現。雖然外圍電路設計簡單可行,但是SCI數據傳輸的速度較SPI要差很多,因為SPI具有的時鐘線可以使得兩塊芯片達到真正意義上的同步,而通過SCI連接的兩塊芯片各自有自己的時鐘,這就使得傳輸速度受到影響(最高可達64kb/s),有些應用場所在傳輸距離很短(15m以內)的情況下通常使用較為容易實現的SCI異步串行通訊。但對傳輸速率要求較高,或傳輸距離要求較長的情況下通常使用SPI(1.2km,10Mb/s) 同步串行通訊。故雖本系統才用SCI進行通訊,同時給出SPI設計方法,通過對照比較達到靈活運用DSP串行通訊接口的效果。
3 SCI接口實現DSP與單片機的串行通訊
在利用SCI連接外圍芯片的時候通常需要外加接口芯片,常用的有MAXIUM公司的MAX232A和MAX485[3]等等。本文給出SCI經由MAX232A與單片機相連的,如圖1所示:
圖1 利用SCI實現的單片機與DSP通訊原理圖
MAX232A由監控板上的普通+5V電壓供電,內部有一個電子槳電壓變換器,可以把輸入的+5V電源電壓變換成RS232C通訊的 10V電壓。這種芯片內部含有兩個發送器和兩個接收器,能夠滿足雙工發送器/接收器的電氣規范。并且此芯片可以完成RS232C電平到TTL/CMOS電平的轉換。
3.1 初始化設置
在異步通訊中必須先規定兩件事:一是字符格式,即規定每一陣數據的格式,二是采用波特率及時鐘頻率和波特率的關系。這些規定是通過初始化設置與串行通訊有關的寄存器來實現的。在TMS320F240中本系統中SYSCLK=24MHz,現選擇波特率為9600bps進行RS-232通信,確定波特率選擇寄存器的值BRR方法如下:
當BRR=1到65535時的串行通信接口異步波特率為:SCI異步波特率=SYSCLK/[(BRR+1) 8]其中BRR=SYSCLK/(SCI異步波特率 8)-1
當 BRR=0時的串行通信接口異步波特率為:SCI異步波特率=SYSCLK/16這里的BRR等于波特率選擇寄存器的16位值
根據上面公式計算得BRR=24 10 /(9600 8)-1=311.5 138H所以波特率選擇寄存器設置為SCIHBAUD=01H,SCILBAUD=38H
TMS320F240初始化程序如下:
LDP #00E0H 頁地址指針設置
SPLK #0017H,SCICCR;設定通訊格式每幀10數據
SPLK #0013H,SCICTL1;使能TX,RX
SPLK #0000H,SCICTL2;禁止RXINT,TXINT中斷
SPLK #0001H,SCIHBAUD;波特率設定為9600bit/s
SPLK #0038H,SCILBAUD;
SPLK #0033H,SCICTL1;使能SCI
MCS51單片機的特殊功能寄存器SCON定義了串行通信的方式選擇、接收和發送控制以及串行口的狀態標志等。初始化中將其設置成串口方式1,接收允許狀態。串口方式1收發的數據格式為1位起始位,8位數據位,1位停止位。SCON中的TI,RI位在初始化中置0,在發送、接收完一幀數據,硬件自動將其置1,中斷被響應后,TI、Ri不會自動清0,必須由軟件清0。其串行通信波特率由定時器T1溢出率獲得
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 基于STM32單片機和MCP2515的CAN通訊 83次下載
- 基于DSP的多聯空調內外機通訊設計與實現 32次下載
- DSP與單片機到底有什么區別
- 使用單片機實現Modbus通訊協議的實例程序和講解分析
- 51單片機串口通訊需要注意的寄存器及51單片機使用PRINTF的示例程序
- DSP與單片機的那些區別
- 如何使用HC-05藍牙模塊進行單片機通訊
- 如何使用51單片機進行串口通訊的實現
- 單片機和串口設備通訊設計時需要注意那幾個問題
- DSP與單片機串口通信的設計與實現 5次下載
- 基于DSP與單片機的LCD顯示控制系統設計 7次下載
- 單片機串口通訊程序 36次下載
- 基于XC166單片機的DSP優化方法
- TMS320F240 DSP與C51單片機串行通訊的實現
- 單片機與DSP結合的dsPIC芯片
- dsp怎么調音質最好 dsp芯片和單片機的區別 1352次閱讀
- 基于TMS320VC5402和單片機實現主從雙CPU處理器平臺的設計 3422次閱讀
- 單片機使用多種通信方式的原因分析 3338次閱讀
- 單片機解密原理_單片機解密方法 1.1w次閱讀
- 支持RS485接口的PLC與單片機的通訊 7793次閱讀
- 常用單片機通信方式綜述 5031次閱讀
- 8051單片機數據傳送的方式有哪些 2973次閱讀
- STM8S單片機通過藍牙與智能手機實現串口通訊的設計 5573次閱讀
- 51單片機控制繼電器的方式及原理 3.3w次閱讀
- 51單片機的復位方式及原理 5.5w次閱讀
- FPGA和單片機、DSP的差異 7964次閱讀
- 單片機的通信性能分析與評價方法 2102次閱讀
- 晶振對于單片機的影響分析 1.2w次閱讀
- 單片機有什么特點_為什么要學習單片機? 1w次閱讀
- 教你了解DSP與單片機的區別 1.7w次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 651單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 751單片機大棚環境控制器仿真程序
- 1.10 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多