新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機的TMS320VC5402的HPI通信設(shè)計

基于單片機的TMS320VC5402的HPI通信設(shè)計

作者: 時間:2013-02-07 來源:網(wǎng)絡(luò) 收藏

本文所介紹的是我所正在研制的衛(wèi)星CDMA接收機末端DSP與微機串口通信的接口電路。由于CDMA接收機支持兩個獨立CDMA信道的接收,并將兩路解調(diào)后的數(shù)據(jù)分別經(jīng)串口送至不同的計算機做后續(xù)的處理,故接收機需要帶兩個RS232接口。

微機的異步串口與DSP處理器通信的方法通常有三種,第一種方法是采用異步通信芯片擴展串口,如用TI公司的TL16C550完成數(shù)據(jù)的串/并、并/串變換。由于TL16C550提供了豐富的控制管腳和應(yīng)答信號,對其只需設(shè)置一些寄存器就可進行靈活的控制,故編程比較簡單,但對其數(shù)據(jù)的讀取或?qū)懭雱t需要用到DSP的數(shù)據(jù)總線。第二種方法是將DSP的I/O口XF和,或者將DSP的McBSP口用軟件模擬成異步串口。用這種方法,雖然DSP與微機串口之間無需串/并變換器件,硬件構(gòu)成十分簡單,但DSP的編程比較復(fù)雜,用I/O口線模擬串口需要占用兩個定時器資源,并且只有在DSP操作不繁忙的情況下這種方法才可行。第三種方法是用實現(xiàn)數(shù)據(jù)的串/并、并/串轉(zhuǎn)換。與第一種方法相比較,這種方法增加了對的編程,但可以作為控制器操作DSP的HPI口,對DSP存儲器的數(shù)據(jù)收發(fā)可完全由單片機發(fā)起,DSP幾乎無需作任何操作,也無需用到數(shù)據(jù)總線。在DSP處理過程復(fù)雜、運算量大的情況下,這種方法特別有用。

在本系統(tǒng)中,我們采用的DSP處理器是高性能、低功耗的T,用以實現(xiàn)系統(tǒng)的MAC層控制和數(shù)據(jù)的編、解碼工作,處理器的工作量很大。另外DSP數(shù)據(jù)總線需要與作為基帶處理器的FPGA芯片(APEXEP20K600E)交換數(shù)據(jù),為避免引入額外的控制邏輯實現(xiàn)與數(shù)據(jù)總線復(fù)用,采用單片機控制HPI口的方法實現(xiàn)DSP與雙串口的通信??紤]到FPGA芯片的存在及節(jié)省成本,沒有采用價格貴且需用高級仿真器開發(fā)的雙串口單片機(如DS80C320),而是采用兩片AT89C2051,并借用物理層FPGA的冗余資源作為總線仲裁器來實現(xiàn)同樣的功能。

1T 簡介

  T是TI公司C54x系列定點DSP芯片中的新產(chǎn)品它集中了此系列早期產(chǎn)品的優(yōu)點,并提供了許多新的功能,開發(fā)和使用更加方便。C5402具有靈活的指令系統(tǒng)和操作性能,它可選擇助記符指令或算術(shù)指令作為編程指令,同時支持匯編語言和C語言的單獨或混合編程。C5402采用改進的Harvanl處理結(jié)構(gòu),指令流水線操作。計算和處理速度很高,系統(tǒng)單指令周期可達到10ns。在片內(nèi)提供16k的RAM用作程序和數(shù)據(jù)存儲,其最大可擴展尋址空間為1M字節(jié)。C5402提供的McBSP串口和DAM數(shù)據(jù)傳送方式極大地方便它在通信領(lǐng)域的應(yīng)用和開發(fā)。C5402由于其高性能價格而成為當前語言和靜態(tài)圖象處理和主流產(chǎn)品。

2 TMS320VC5402 HPI口結(jié)構(gòu)

HPI(主機接口)是主機與TMS320VC5402進行數(shù)據(jù)交換的8 bit并行數(shù)據(jù)口。該接口在TMS320VC5402芯片上,內(nèi)部有數(shù)據(jù)寄存器(HPID),控制寄存器(HPIC)及地址寄存器(HPIA)。HPI口可用8 bit數(shù)據(jù)線傳輸16 bit的數(shù)據(jù),并可通過設(shè)置控制寄存器的相關(guān)位來控制高8位和低8位傳輸。HPI有兩種工作方式:一種是主機獨占模式 (HOM); 另一種是主機和TMS320VC5402共享模式(SAM)。其中SAM是通用方式,二者都可尋址HPI存儲器(DARAM)。當二者產(chǎn)生沖突時,主機具有較高的優(yōu)先權(quán),而在TMS320VC5402插人一個等周期。通過HPI傳輸?shù)臄?shù)據(jù)率是每5個CLKOUT時鐘周期傳輸1字節(jié)。

  主要是通過對HPIA、HPIC和HPID3個寄存器賦值來實現(xiàn)的。簡單地說,HOST通過外部引腳HCNTL0和HCNTLl選中不同的寄存器后,就將當前8位數(shù)據(jù)發(fā)送到該寄存器中了。由于HPIC是16位寄存器,而HPI口總是傳送8位數(shù)據(jù)寬度,所以用HOST向HPIC寫數(shù)據(jù)時,需要發(fā)送兩個一樣的8位數(shù)據(jù)。對TMS320VC5402來說,僅低8位有意義。當?shù)刂芳拇嫫鱄PIA選擇后,直接向它寫數(shù)據(jù)就可以了,但是要注意MSB和LSB的順序。另外,HPIA具有自動增長的特性,即在每寫入一個數(shù)據(jù)前和每讀一個數(shù)據(jù)后HPIA都會自動加1。這樣,如果使用了該功能,只需設(shè)定一次HPIA即可實現(xiàn)連續(xù)數(shù)據(jù)塊的寫入和讀出,只是在實現(xiàn)時,數(shù)據(jù)應(yīng)首先從主機發(fā)到HPID中,然后再根據(jù)HPIA指定的地址把HPID中的數(shù)據(jù)再寫到片內(nèi)RAM的地址中。

HPI接口還提供了中斷邏輯同主機進行軟件握手。主機可通過對控制寄存器HPIC的第二位(DSPINT)置1中斷DSP芯片;DSP芯片可通過對HPIC的第三位(HINT)置1中斷主機,此時HPI的引腳被置為低電平,從而向主機發(fā)出中斷請求;主機還可設(shè)置HPIC的位HINT為1使腳回到高電平,從而清除中斷信號。

下面給出HPI口相關(guān)管腳說明:

HD0~HD7是8位雙向數(shù)據(jù)線,與單片機P1口相連,用于交換數(shù)據(jù)。

HCNTL1/0的組合用于選擇主機所訪問的HPI寄存器,00表明主機訪問HPIC;10表明訪問HPIA;01和11均表明訪問HPID,但01還表明同時啟用HPIA自動增長的功能。

16bit數(shù)據(jù)傳送時,HBIL為0表示傳送的是第一字節(jié),為1表明傳送的是第二字節(jié),其中高8位在第幾個字節(jié)由HPIC中的BOB位決定。

HPI提供兩種鎖存方式,一種是由(主機地址鎖存信號)的下降沿鎖存各控制信號;另一種是由后三者共同完成,任何一個的下降沿鎖存各控制信號。我們采用第二種方式,控制信號的鎖存由的低跳變來完成。該鎖存信號還指示了一次HPI口操作過程的開始。

HRDY為HPI準備好指示。

為DSP向主機發(fā)出中斷的引腳。

HPIENA為HPI使能控制信號,高電平使能HPI操作。

3單片機的I/O口分配、連線和程序設(shè)計

3.1 單片機I/O口分配

在本系統(tǒng)中,考慮到板子的面積,選擇了體積小的AT89C2051單片機,并省去了P0和P2口,增加了一個精密的模擬比較器,P1.0和P1.1除了作為I/O口(需外部電阻上拉)外,還同時作為比較器的正負極輸入,而P3.6則專門用作比較器輸出。因此AT89C2051提供了15根雙向I/O口線,除去P3.0和P3.1用作異步串口和P1.0~P1.7用作與HPI口數(shù)據(jù)總線通信外,還有5根I/O口線可用。由于還需要控制HPI口的各控制信號和與DSP的握手信號,剩下的5根I/O口線顯然不夠,所以還在FPGA里設(shè)計一鎖存器,把P1口用作控制/數(shù)據(jù)復(fù)用口。具體的I/O口信號分配如下:

P1.0~P1.7接HPI口的數(shù)據(jù)線HD0~HD7。當作控制信號復(fù)用時,

P1.0接FPGA內(nèi)鎖存器的鎖存信號;

P1.1經(jīng)FPGA鎖存,控制HCNTL0;

P1.2經(jīng)FPGA鎖存,控制HCNTL1;

P1.3經(jīng)FPGA鎖存,控制HBIL;

P1.4經(jīng)FPGA鎖存,控制

P3.2接HPI的;

P3.3接HPI的XF;

P3.4接HPI的HRDY;

P3.5為單片機請求發(fā)送信號,接FPGA的P3.5;

P3.7經(jīng)FPGA控制鎖存HPI的各控制信號

圖1給出了HPI接口與兩片AT89C2051之間的連接圖。


上一頁 1 2 下一頁

關(guān)鍵詞: 單片機 MS320VC5402 HPI通信

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉