摘要:在含有人機界面的數字化電源系統(tǒng)中,為更好地發(fā)揮DSP的強大運算功能,可采用DSP+51單片機的雙CPU結構,因而二者之間的可靠通信至關重要。在此介紹了TMS320F2812型DSP和MCS51系列單片機的一種通信方案的設計與實現,給出對應的程序,并描述在此通信基礎上實現的液晶顯示電路和結構。該系統(tǒng)具有硬件電路簡單、通信可靠、程序編寫簡單、界面友好等優(yōu)點。實驗證明系統(tǒng)能完整可靠地實現了人機界面功能,具有較高的實用價值。
關鍵詞:串行通信;DSP;數字化電源系統(tǒng);液晶
0 引言
隨著計算機和信息技術的飛速發(fā)展,數字信號處理技術得到了迅速的發(fā)展。數字控制使得電力電子變換控制更為靈活,在CPU計算速度允許的情況下,可實現模擬控制難以做到的復雜控制算法,設計者可以根據自己的系統(tǒng)需求,方便地更改控制器參數,即便是在控制對象改變的情況下,也無需對控制器硬件做修改,只要改變某些軟件參數即可,從而大大增強了系統(tǒng)的兼容性。隨著DSP的應用逐漸普及,用DSP取代模擬電路中的專用PWM集成電路,已廣泛應用于UPS和逆變器控制中。
作為智能化設備,液晶屏和鍵盤等人機交互裝置是數字化電源系統(tǒng)所必不可少的。而DSP的工作頻率較高,讀寫周期很短,主要用于處理實時性要求苛刻、算法復雜的關鍵性任務,例如對功率開關管的控制,數據采集、分析、處理等,而液晶顯示和鍵盤掃描的任務可由普通的51系列單片機來完成,而DSP和51單片機間的數據交流可采用異步通信方式,即系統(tǒng)采用雙CPU結構。
1 系統(tǒng)的結構原理
本文中所采用的DSP和單片機型號分別是TI公司的TMS320F2812和MCS51系列。在系統(tǒng)中,DSP實現與單片機的串口異步通信,單片機將用戶的原始設置數據傳輸到DSP,而DSP將采集到的實時數據信息返回給單片機,單片機不斷刷新液晶的顯示。系統(tǒng)的基本結構如圖1所示。
1.1 串口介紹
本文中DSP是基于串行通信接口模塊SCI實現通信的。SCI支持CPU與其他使用標準格式的異步外設之間的數據通信。SCI僅需要2根數據線進行數據傳輸,雖然傳輸速度不快,但已經能滿足一般的通信要求,而且外圍接口電路非常簡單。傳輸的數據長度在一定范圍內也是可變的。
MCS51系列單片機內部具有一個全雙工串行口,該串行口有4種工作方式,可以通過軟件進行設置,由片內定時/計數器產生波特率。串行口的接收和發(fā)送數據均可以觸發(fā)中斷,并含有接收、發(fā)送緩沖器SBUF,二者共用一個地址。
1.2 單片機與DSP的通信接口電路
SCI接口分為RXD和TXD兩個管腳,傳統(tǒng)的2個設備異步通信采用RS 232或RS 485的形式,須另配置對應的RS 232和RS 485驅動芯片。而本文所提及的采用雙CPU結構的數字化電源設備,DSP和51單片機位于同一設備內,距離較短,可省去RS 232和RS 485驅動芯片,采用2個CPU的RXD和TXD直接交叉連接即可。但需注意的是,由于DSP的工作電壓為3.3 V,而MCS51單片機的工作電壓為5 V,因此二者之間的通信電路需要進行電平轉換,如圖2所示。
在該電路中,單片機的TXD端電壓高于DSP的RXD端,故僅需要使用分壓電路,計算出合適的阻值即可滿足要求,而從DSP向單片機傳送數據時,需要提升電平,因而采用了光耦電路,將電平提升到單片機的工作電平。這樣就能以簡單的電路實現電平的轉換。需要注意的是,所采用的光耦速率要高于數據傳輸速率,這樣才能保證數據準確高效的傳輸,以免出現數據丟失。[!--empirenews.page--]
1.3 單片機與DSP通信的軟件實現
在異步通信中必須先規(guī)定3件事:一是字符格式,即傳輸的每一幀數據的格式;二是通信雙方要設置為相同的波特率,且該波特率能適應雙方的時鐘頻率;三是通信雙方要有約定的通信協議,也就是雙方要互相確認后才能傳輸數據。
在本設計中,DSP和單片機采用的數據幀格式是1位起始位,8位數據位和1位停止位。由于數據包采用校驗和的方式進行校驗,因而在數據幀格式中沒有設置奇偶校驗位。因而MCS51單片機應設置工作在串口方式1狀態(tài)下,此時串行口為8位異步通信接口。為了保證數據傳輸具有較高的速率,同時又有比較低的傳輸誤碼率,因而選擇波特率為9 600 b/s。通過相應的波特率設置計算公式計算出DSP和單片機的初始化時寄存器的初值,即可完成設置。這樣就保證了通信雙方幀格式的統(tǒng)一和波特率的統(tǒng)一,從而使數據通信正確、可靠。
DSP的串口初始化設置程序如下:
在本設計中,采用自己規(guī)定的通信協議,首先DSP發(fā)送出握手信號,C51收到握手信號后,進入中斷子程序,判斷握手信號是否正確,若正確才握手成功,開始接收數據包,接收完成后對數據進行和校驗,正確后刷新液晶的顯示數據存儲區(qū);若錯誤則放棄本次數據,并將接收數據存儲區(qū)清零,等待下一次通信。其程序流程圖如圖3所示。
[!--empirenews.page--]
DSP向單片機的定時發(fā)送程序如下:
51單片機串口中斷服務程序如下:
1. 4 單片機與液晶和鍵盤的接口
系統(tǒng)采用的是D6128×4圖形點陣液晶顯示器,它主要由行驅動器/列驅動器及128×64全點陣液晶顯示器組成,既可以完成圖形顯示,也可以顯示8×4個(16×16點陣)漢字。單片機與液晶模塊和鍵盤的接口電路如圖4所示。
單片機與液晶之間通過8位數據線進行并口通信,將DSP傳來的實時數據傳輸到液晶顯示器進行實時顯示。對液晶驅動器的控制具體是通過各個內部寄存器和標志位的操作實現的,單片機寫入不同的控制字就能讓液晶執(zhí)行各種不同的功能。DG12864是點陣型液晶,它主要通過對點陣中各點的亮滅來顯示不同的內容,通過取模軟件可以方便地獲得漢字和英文符號等的字模,將程序中所要用到的字模存儲在特定的文件中,在程序中根據所要顯示的內容調用相應的字模,最終通過并口傳輸到液晶驅動器的顯示RAM區(qū)中實現顯示。圖5展示了系統(tǒng)實際運行時的界面。
2 結語
本文設計了TMS320F2812和MCS51單片機的串行異步通信接口,并通過單片機實現驅動液晶的實時顯示和鍵盤設置功能。經過實驗,證明這種設計能夠高效準確地實現了上述功能,而且其硬件簡單、操作方便。目前這種方案已經可靠地應用于智能充電器的人機界面模塊中。