摘 要: 本文介紹了TMS320VC5402DSP的多通道緩沖串行口McBSP的特點,針對用戶經(jīng)常面臨的DSP系統(tǒng)與PC機實時交換數(shù)據(jù)時通信接口標(biāo)準(zhǔn)不兼容的問題,提出了一種新的串行通信設(shè)計方案,實現(xiàn)了DSP同步串口McBSP與PC機異步串口RS-232的全雙工通信。
關(guān)鍵詞: DSP;McBSP;RS-232
通用數(shù)字信號處理器(DSP)以其強大的數(shù)據(jù)處理能力在高速數(shù)字信號處理方面得到廣泛的應(yīng)用,但是它在通信接口方面的控制能力比較弱。如美國TI公司生產(chǎn)的TMS320C54x系列DSP芯片只有同步串口,通常只能用于與具有同步通信接口的外設(shè)進行通信。當(dāng)其構(gòu)成一個獨立的處理單元時,往往需要與一些如PC機這類具有異步通信接口的外設(shè)交換數(shù)據(jù),通信能力弱而影響了DSP的應(yīng)用。
當(dāng)前常用的TMS320C54x系列DSP與PC機通信的方式有兩種:一種是利用DSP的通用I/O口線XF和BIO構(gòu)成串口,由軟件來設(shè)定通信波特率和握手方式。這種方式編程復(fù)雜,并且存在大量占用CPU時間和通信速率慢的缺點。另一種方式是通過專用的異步通信芯片來實現(xiàn),它雖然能實現(xiàn)DSP與PC機的高速數(shù)據(jù)通信,但是增加了硬件電路的復(fù)雜性。
在研制某信號采集系統(tǒng)時,筆者以TMS320C54x系列的TMS320VC5402(以下簡稱C5402)作為信號處理單元進行實時處理,直接通過多通道緩沖串行口McBSP與PC機的異步串口RS-232進行通信。實驗結(jié)果表明,這種方法在不過多占用CPU時間和不增加硬件設(shè)計復(fù)雜性的情況下,實現(xiàn)了DSP與PC機的高速數(shù)據(jù)傳輸。
圖1 C5402 McBSP的信號格式
PC機串口與C5402串口的特點
PC機異步串口RS-232通信規(guī)定了字符數(shù)據(jù)的傳輸格式,即每個數(shù)據(jù)以相同的幀格式傳送。每一幀信息由起始位、數(shù)據(jù)位、奇偶校驗位和停止位組成,其中起始位和停止位作為異步通信的同步信號,分別指示傳送數(shù)據(jù)的開始和結(jié)束。在發(fā)送間隙,通信線路總是處于邏輯“1”狀態(tài)(高電平 ),每個字符數(shù)據(jù)的傳送均以邏輯“0”(低電平)開始。在字符數(shù)據(jù)傳送過程中,數(shù)據(jù)位從最低位開始傳送。
C5402 提供兩個高速、全雙工、多通道緩沖串行口。它依靠三個信號實現(xiàn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù):數(shù)據(jù)線D(R/X)、幀同步線FS(R/X)和移位時鐘線CLK(R/X)。McBSP通過6個引腳(DX、DR、CLKX、CLKR、FSX和FSR)與外設(shè)接口。DX和DR引腳完成與外部設(shè)備進行通信時數(shù)據(jù)的發(fā)送和接收,由CLKX、CLKR、FSX、FSR實現(xiàn)時鐘和幀同步的控制。發(fā)送數(shù)據(jù)時,CPU和DMA控制器將要發(fā)送的數(shù)據(jù)寫到發(fā)送數(shù)據(jù)寄存器DXR,在FSX和CLKX作用下,由DX引腳輸出。接收數(shù)據(jù)時,來自DR引腳的數(shù)據(jù),在FSR和CLKR作用下,從數(shù)據(jù)寄存器DRR中讀出數(shù)據(jù)。CLKX、CLKR、FSX、FSR既可以由內(nèi)部采樣率發(fā)生器產(chǎn)生,也可以由外部設(shè)備驅(qū)動。McBSP分別在相應(yīng)時鐘的上升沿和下降沿進行數(shù)據(jù)檢測。每個McBSP最多可支持128通道的發(fā)送和接收,串行字長可選,包括8、12、16、20、24和32位,還支持μ率和A率數(shù)據(jù)壓縮擴展。
圖2 系統(tǒng)硬件連線圖