機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
DSP串行通信
DSP串行通信
 更新時間:2009-6-5 9:14:14  點擊數(shù):2
【字體: 字體顏色
 】 以TI公司TMS320C32為例,探討了如何開發(fā)DSP自動控制裝置通信程序,包括DSP和PC之間的異步串行通信、DSP與模擬接口芯片(AIC)的同步串口通信以及DSP之間的同步串行通信,并列出了相關(guān)部分的程序代碼及硬件連接圖。<!--摘要CH(結(jié)束)←-->
<!--→關(guān)鍵CH(開始)-->    關(guān)鍵詞:同步串行通信,異步串行通信,DSP
<!--關(guān)鍵CH(結(jié)束)←--><!--→摘要EN(開始)-->  


1 引 言
  雖然DSP的發(fā)展有專用化的趨勢,例如德儀(TI)公司的C24X對電機控制的優(yōu)化,C54X對GSM語音編碼的優(yōu)化等,但高主頻和硬件乘法器的優(yōu)勢使得DSP在計算密集的實時控制領(lǐng)域的應(yīng)用也日趨廣泛。TMS320C32是目前應(yīng)用比較廣泛的一款浮點DSP,具有4級指令流水線,其并行指令可以在一個周期內(nèi)完成兩次運算/操作,適用于高精度控制領(lǐng)域。DSP的功能強大,但對于某一控制任務(wù)可能仍然需要多個DSP協(xié)同完成,例如,一個DSP負責(zé)控制、測量和人機接口,另一個DSP專門負責(zé)計算,這樣能夠保證DSP的指令流不被打斷,可以充分發(fā)揮DSP的運算能力。實時控制所需的數(shù)據(jù)量不大,但是對實時性和可靠性要求很高。C32自身帶有一個同步串口,可以以DMA方式與其他 DSP進行高速實時通信,完全可以滿足控制裝置中各DSP之間的數(shù)據(jù)交換的要求。除了DSP間的通信外,C32的同步串口還可與AIC等外圍芯片直接連接,進行功能擴展。
  一般而言,控制裝置應(yīng)該具有與上位機通信的功能以便進行集中監(jiān)控。上位機程序的主要功能是接收控制裝置上傳的狀態(tài)數(shù)據(jù)以及下傳一些控制命令,供值班人員監(jiān)控設(shè)備的運行。作為上位機的PC和控制裝置間的距離一般很短,傳輸?shù)臄?shù)據(jù)量較小,對數(shù)據(jù)傳輸?shù)膶崟r性要求也不高,使用RS232異步串行通信方式可以滿足需要。上位機程序使用VB開發(fā),VB易學(xué)易用,功能強大,非常適合這類應(yīng)用。
2 DSP的同步串行通信
  與常見的異步串行通信不同的是,同步串行通信的發(fā)送端與接收端保持同步,這樣可以獲得較高的數(shù)據(jù)傳輸速度。
2.1 DSP之間的同步串口通信
  在由多個DSP協(xié)作完成控制任務(wù)時,通過同步串口直接連接是DSP之間進行數(shù)據(jù)交換的一種有效方式。這種連接方式無需外圍芯片輔助,而且通信速度非常高。
2.1.1 硬件連接
    硬件連接見圖1。


  DSP采取直接連接,保密性好,連接方便。兩個DSP地位對等,寄存器設(shè)置完全相同。
2.1.2 軟件設(shè)置
  SPORT.word 808040h;串口地址


  DSP初始化時先復(fù)位串口及其定時器,再將FSX/DX/CLKX引腳功能設(shè)為串口發(fā)送,F(xiàn)SR/DR/CLKR引腳功能設(shè)為串口接收,串口定時器周期設(shè)為F/8,通信方式為32位爆發(fā)方式,允許接收中斷。
2.1.3 數(shù)據(jù)發(fā)送

2.1.4 數(shù)據(jù)接收

2.2 DSP和AIC之間的同步串口通信
  TLC320C4X是TI出品的模擬接口芯片,具有D/A、A/D功能,與DSP連接時無需其他芯片支持。
2.2.1 硬件連接
    硬件連接見圖2。

2.2.2 軟件
  DSP與AIC的通信代碼使用與DSP間通信時類似,因此下面僅列出流程圖,見圖3。需要注意的是,每次進入中斷服務(wù)程序都必須先初始化TLC320C4x。


3 DSP的異步串行通信擴展
  如前所述,控制裝置中使用的C32自帶的串口主要用于DSP間的高速同步串行通信,不能用于RS232異步串行通信。為了與上位機通信,可使用16C550在外部擴展的異步串行通道。16C550與8250兼容,但自帶了14 字節(jié)的FIFO,能夠有效減少通信中斷次數(shù),提高通信速度。
3.1 硬件連接
  使用16C550擴展異步串行通信的硬件連接如圖4所示。
3.2 軟件實現(xiàn)
3.2.1 上位機部分的串口初始化
  在VB中使用MsComm控件進行串口通信,一個MsComm控件對應(yīng)一個串口,一般只接收定長數(shù)據(jù)塊。

deBinary
'以二進制形式接收數(shù)據(jù)
MsComm1.RThreshold=40'數(shù)據(jù)塊長40個字節(jié)
MsComm1.PortOpen=True'打開串口
3.2.2 DSP部分的串口初始化
  以下是DSP中對控制異步串口通信的芯片16C550進行初始化:



MsComm1.CommPort=1'選擇COM1作通信口
MsComm1.Settings="9600,e,8,1"'通信波特率9600,偶校驗,8位數(shù)據(jù),1位停止位  MsComm1.InputMode=comInputMo-

  上位機中必須以變量接收上傳的數(shù)據(jù),再將值賦給動態(tài)數(shù)組,以保留方式重定義數(shù)組后,得到的就是字節(jié)數(shù)組形式的數(shù)據(jù)了。
  為了節(jié)省中斷資源,下位機中的數(shù)據(jù)收發(fā)一般采用查詢方式。
4 結(jié)束語
  本文以TMS320C32這種浮點DSP為例,介紹了DSP的同步串行通信和異步串行通信。同步串口適用于DSP間或DSP與高速外設(shè)之間的高速通信,異步串口適用于DSP與上位機之間的低速通信。隨著DSP的推廣應(yīng)用,深入了解DSP的各種通信方式和原理對于開發(fā)DSP控制裝置有著極為重要的現(xiàn)實意義。

<!--→參考文獻CH(開始)-->  參考文獻
1 王念旭等.DSP基礎(chǔ)與應(yīng)用系統(tǒng)設(shè)計.北京:北京航空航天大學(xué)出版社,2001
<!--插入廣告JS代碼-->
  • 上一篇: DSP基本體系結(jié)構(gòu)和特點
  • 下一篇: 基于DSP的USB語音傳輸接口設(shè)計
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1