機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
DSP串行通信
DSP串行通信
 更新時(shí)間:2009-6-5 9:14:14  點(diǎn)擊數(shù):2
【字體: 字體顏色
 】 以TI公司TMS320C32為例,探討了如何開發(fā)DSP自動(dòng)控制裝置通信程序,包括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對電機(jī)控制的優(yōu)化,C54X對GSM語音編碼的優(yōu)化等,但高主頻和硬件乘法器的優(yōu)勢使得DSP在計(jì)算密集的實(shí)時(shí)控制領(lǐng)域的應(yīng)用也日趨廣泛。TMS320C32是目前應(yīng)用比較廣泛的一款浮點(diǎn)DSP,具有4級指令流水線,其并行指令可以在一個(gè)周期內(nèi)完成兩次運(yùn)算/操作,適用于高精度控制領(lǐng)域。DSP的功能強(qiáng)大,但對于某一控制任務(wù)可能仍然需要多個(gè)DSP協(xié)同完成,例如,一個(gè)DSP負(fù)責(zé)控制、測量和人機(jī)接口,另一個(gè)DSP專門負(fù)責(zé)計(jì)算,這樣能夠保證DSP的指令流不被打斷,可以充分發(fā)揮DSP的運(yùn)算能力。實(shí)時(shí)控制所需的數(shù)據(jù)量不大,但是對實(shí)時(shí)性和可靠性要求很高。C32自身帶有一個(gè)同步串口,可以以DMA方式與其他 DSP進(jìn)行高速實(shí)時(shí)通信,完全可以滿足控制裝置中各DSP之間的數(shù)據(jù)交換的要求。除了DSP間的通信外,C32的同步串口還可與AIC等外圍芯片直接連接,進(jìn)行功能擴(kuò)展。
  一般而言,控制裝置應(yīng)該具有與上位機(jī)通信的功能以便進(jìn)行集中監(jiān)控。上位機(jī)程序的主要功能是接收控制裝置上傳的狀態(tài)數(shù)據(jù)以及下傳一些控制命令,供值班人員監(jiān)控設(shè)備的運(yùn)行。作為上位機(jī)的PC和控制裝置間的距離一般很短,傳輸?shù)臄?shù)據(jù)量較小,對數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求也不高,使用RS232異步串行通信方式可以滿足需要。上位機(jī)程序使用VB開發(fā),VB易學(xué)易用,功能強(qiáng)大,非常適合這類應(yīng)用。
2 DSP的同步串行通信
  與常見的異步串行通信不同的是,同步串行通信的發(fā)送端與接收端保持同步,這樣可以獲得較高的數(shù)據(jù)傳輸速度。
2.1 DSP之間的同步串口通信
  在由多個(gè)DSP協(xié)作完成控制任務(wù)時(shí),通過同步串口直接連接是DSP之間進(jìn)行數(shù)據(jù)交換的一種有效方式。這種連接方式無需外圍芯片輔助,而且通信速度非常高。
2.1.1 硬件連接
    硬件連接見圖1。


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


  DSP初始化時(shí)先復(fù)位串口及其定時(shí)器,再將FSX/DX/CLKX引腳功能設(shè)為串口發(fā)送,F(xiàn)SR/DR/CLKR引腳功能設(shè)為串口接收,串口定時(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連接時(shí)無需其他芯片支持。
2.2.1 硬件連接
    硬件連接見圖2。

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


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

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



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

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

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

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

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

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