音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

利用單片機解決雙異步串口與DSP處理器HPI口通信的問題

出處:電子技術(shù)應(yīng)用 發(fā)布于:2011-09-04 08:05:15

  摘要:文中提出了兩個微機串口與DSP處理器(TMS320VC5402)HPI(Host Port Interface,主機接口構(gòu)成)口通信問題的解決方案,該方案采用了單片機(AT89C2051)實現(xiàn)數(shù)據(jù)的串/并、并/串轉(zhuǎn)換,并控制DSP的HPI實現(xiàn)共享總線。給出了硬件連接電路和用FPGA(即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物)作為總線仲裁器的設(shè)計思路,介紹了HPI口的操作過程,單片機與微機串口之間通信的硬件設(shè)計方法。

  DSP,數(shù)字信號處理(Digital Signal Processing)是一門設(shè)計許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計算機和信息技術(shù)的飛速發(fā)展,數(shù)字信號處理技術(shù)應(yīng)運而生并得到迅速的發(fā)展。數(shù)字信號處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實信號的方法,這些信號由數(shù)字序列表示。在過去的二十多年時間里,數(shù)字信號處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。

  本文所介紹的是我所正在研制的衛(wèi)星CDMA接收機未端DSP與微機串口通信的接口電路。由于CDMA接收機支持兩個獨立CDMA信道的接收,并將兩路解調(diào)后的數(shù)據(jù)分別經(jīng)串口送至不同的計算機做后續(xù)的處理,所以接收機需要帶兩個RS232接口。RS232接口是1970年由美國電子工業(yè)協(xié)會(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計算機終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。 該標(biāo)準(zhǔn)規(guī)定采用一個25個腳的DB25連接器,對連接器的每個引腳的信號內(nèi)容加以規(guī)定,還對各種信號的電平加以規(guī)定。

  微機的異步串口與DSP處理器通信的方法通常有三種,種方法是采用異步通信芯片擴展串口,如用TI公司的TL16C550完成數(shù)據(jù)的串/并、并/串變換。由地TL16C550提供了豐富的控制管腳和應(yīng)答信號,對其只需設(shè)置一些寄存器就可以進行靈活的控制,因此編程比較簡單,但是對其數(shù)據(jù)的讀取或者寫入則需要用到DSP的數(shù)據(jù)總線。第二種方法是將DSP的I/O口XF和BIO,或者將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處理器是高性能、低功耗的TMS320VC5402,用以實現(xiàn)系統(tǒng)的MAC層控制和數(shù)據(jù)的編碼、解碼工作,因此處理器的工作量非常大。另外DSP數(shù)據(jù)總線需要與作為基帶處理器的FPGA芯片(APEGEP20K600E)交換數(shù)據(jù),為了避免引入額外的控制邏輯實現(xiàn)與數(shù)據(jù)總線重復(fù)使用,采有單片機控制HPI口的方法去實現(xiàn)DSP與雙串口的通信??紤]到FPGA芯片的存在以及節(jié)省成本,系統(tǒng)并沒有采用價格昂貴且需用仿真器開發(fā)的雙串口單片機(如DS80C320),而是采用兩片AT89C2051,并借用物理層FPGA的冗長資源作為總線仲裁器來實現(xiàn)同樣的功能。

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

  TMS320VC5402上的HPI口是增強型的8bit主機接口(Enhanced 8 bit host port interface),專門用于與主機進行通信,通過它主機可以訪問TMS320VC5402片仙16K的RAM空間。這一接口由一個8bit的雙向數(shù)據(jù)總線和不同的控制管腳組成,能夠支持按高、低字節(jié)傳送16bit數(shù)據(jù)。TMS320VC5402提供三個跟HPI操作相關(guān)的寄存器--地址寄存器HPIA、數(shù)據(jù)寄存器HPID和控制寄存器HPIC。TMS320VC5402只能訪問控制寄存器,而主機則對這三個寄存器都可以訪問。主機欲隨機訪問TMS320VC5402的片內(nèi)RAM,需要先發(fā)送一個16bit地址到HPI地址寄存器(HPIA),然后通過數(shù)據(jù)寄存器(HPID)訪問該地址所指向的存儲單元。主機欲連續(xù)訪問一段RAM空間,則要先送該段的自地址到HPIA,然后以地址自動加一的方式訪問,即主機每訪問一個存儲單元后HPIA自動指向下一個單元。

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

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

  HD0~HD7是8位雙向數(shù)據(jù)線,與單片機P1口相連,用于交換數(shù)據(jù),雙向并行三態(tài)數(shù)據(jù)總線。當(dāng)不傳送數(shù)據(jù)(HDSx或HCS=1)或EMU1/OFF=0時,HD0~HD7均處于高阻態(tài)。

  HCNTL1/0的組合用于選擇主機所訪問的HPI寄存器。主機控制信號,用來選擇主機所要尋址的寄存器。當(dāng)HCNTL1/HENTL0為00時,表明主機訪問HPIC;當(dāng)為01時,表明主機訪問用HPIA指向的HPID,每讀,HPIA事后增加1,每寫,HPIA事先增加1;當(dāng)為10時,表明主機訪問HPIA;當(dāng)為11時,表明主機訪問HPID,而HPIA不受影響。

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

  HR/W指明當(dāng)前對HPI的操作是讀還是寫。高電平表示主機要讀HPI,低電平表示寫HPI。

  HAS、HDS1/2、HCS用于鎖存上述控制信號。HPI提供兩種鎖存方式,一種是由HAS(主機地址鎖存信號)的下降沿鎖存各控制信號;另一種是由后三者共同完成,HCS為HPI的選通信號,接低電平,HDSI和HDS2中的任何一個的下降沿鎖存各控制信號。我們采用第二種方式,即HAS不使用,始終接高,HCS和HDS2接低,控制信號的鎖存由HDS1的低跳變來完成。該鎖存信號還指示了HPI口操作過程的開始。

  HRDY為HPI準(zhǔn)備好指示,高電平表示HPI已準(zhǔn)備好執(zhí)行數(shù)據(jù)傳送;低電平表示HPI正忙于完成當(dāng)前事務(wù),用于連續(xù)高速主機。

  HINT為DSP向主機發(fā)出中斷的引腳,HPI中斷輸出信號,受HPIC中的HINT位控制。

  HPIENA為HPI使能控制信號,若系統(tǒng)選中HPI則將它連到高電平,否則懸空或接低電平。

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

  2.1 單片機I/O口分配

  單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。

  在本系統(tǒng)中,由于考慮到板子的面積問題,因而選擇了體積小的AT89C2051單片機,并省去了P0和P2口,增加了一個精密的模擬比較器,P1.0和P1.1除了作為I/O口(需外部電阻上拉)外,還同時作為比較器的正負(fù)極輸入,而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口當(dāng)作控制/數(shù)據(jù)復(fù)用口。具體的I/O口信號分配如下:

  P1.0~P1.7接HPI口的數(shù)據(jù)線HD0~HD7。當(dāng)作控制信號復(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鎖存,控制HR/W;

  P3.2接HPI的HINT;

  P3.3接HPI的XF;

  P3.4接HPI的HRDY;

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

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

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

  2.2 單片機程序設(shè)計要點

  單片機是靠程序運行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板。但是如果要是用美國70年代成功投放市場的系列單片機,結(jié)果就會有天壤之別。只因為單片機的通過你編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性。

  上面講到,P3.5作為單片機的發(fā)送請求信號,當(dāng)天數(shù)據(jù)發(fā)送時為高電平,當(dāng)為低電平時則表示單片機想要發(fā)送數(shù)據(jù),向總線仲裁器申請使用總線,總線仲裁器判斷當(dāng)前誰可以使用總線,然后通過外中斷0中斷DSP處理器,同時通過BIO口告知DSP當(dāng)前可以使用總線的單片機,終由DSP通過XF管腳集中控制單片機的總線使用權(quán)。單片機在獲取總線使用權(quán)并送完數(shù)據(jù)后,向HPI的控制寄存器的DSPINT位寫1,用中斷通知DSP。在單片機需接收數(shù)據(jù)時,DSP首先設(shè)置XF腳,選擇由哪個單片機接收,然后設(shè)置HINT腳為低,通過中斷告知單片機進行接收。單片機從HPI口接收時也應(yīng)置P3.5為低,以便保持總線仲裁器的單片機選擇信號BIO與XF腳一致。

  在對單片機編程時需要注意以下幾點:(1)由于兩個單片機共享總線,為保證相互之間不會干擾,沒有使用總線的單片機P1口必須處于高阻態(tài)。根據(jù)P1口的內(nèi)部結(jié)構(gòu),單片機不使用總線時,往P1口的內(nèi)部結(jié)構(gòu),單片機不使用總線時,往P1口寫入0xFF即可達到這一目的。(2)由于P1口作為控制/數(shù)據(jù)信號復(fù)用口,故編程時,對每次HPI口操作,先在P1口送出控制信號,接著設(shè)置P1.0產(chǎn)生低→高的跳變,把控制HPI口的P1.1~P1.4信號鎖存到FPGA內(nèi)部的鎖存器,這時P1口才能作為數(shù)據(jù)端口,在P3.7產(chǎn)生一低跳變后,發(fā)起數(shù)據(jù)傳遞。(3)編程時,應(yīng)防止單片機被同時要求對HPI口進行收、發(fā)操作。這可以依據(jù)實際情況,靈活地進行處理,考慮篇幅的關(guān)系,這里將不再敘述。

  3 總線仲裁器的設(shè)計

  總線仲裁器的功能主要是根據(jù)單片機P3.5的總線請求信號,選擇當(dāng)前可以使用總線的單牒同,仲裁器的設(shè)計需做到單片機能夠公平競爭總線使用權(quán)。在兩個單片機競爭總線的情況下,用一個簡單的狀態(tài)機即可達到目的。狀態(tài)機state僅有兩個狀態(tài)S0和S1,P3.5為高電平時,不申請總線,狀態(tài)機保持原來的狀態(tài);P3.5為低電平時,則根據(jù)當(dāng)前請求總線的單片機,狀態(tài)機轉(zhuǎn)換相應(yīng)的狀態(tài)。如單片機同時申請使用總線,則保持當(dāng)前的狀態(tài)不變。下面給出狀態(tài)轉(zhuǎn)換表(S0表示選擇單片機1,S1表示選擇單片機2):

  state, MCU1_P3.5, MCU2_P3.5 =>state;

  S0, 0, x =>S0;

  S0, 1, 0 => S1;

  S0, 1, 1 => S0;

  S1, x, 0 => S1;

  S1, 0, 1 => S0;

  S1, 1, 1 => S1;

  當(dāng)狀態(tài)機有狀態(tài)變換時,用FPGA產(chǎn)生一個脈寬約為1μs的低電平脈沖。這一信號接DSP外中斷INT0腳,用于中斷DSP,并且將狀態(tài)機的當(dāng)前狀態(tài)通過BIO腳告知DSP,指明正在請求使用總線的單片機。

  除此之外,如前面所述,F(xiàn)PGA內(nèi)部還設(shè)置一鎖存器,由P1.0的高跳變將P1口送出的HPI口控制信號鎖存。至于控制HDS1的兩個P3.7信號,在FPGA內(nèi)部只需將兩信號相與即可。

  4 單片機與微機串口的硬件連線

  在IBM PC/XT微機系統(tǒng)中,其串口符合RS-232C接口標(biāo)準(zhǔn)。為提高抗干擾能力,RS-232C標(biāo)準(zhǔn)采用負(fù)邏輯,低電平在-5V~-15V之間(通常用-12V表示)為邏輯"1",高電平在+5V~+15V之間(通常用+12V表示)為邏輯"0"。上述電平稱為EIA電平,它與TTL電平和CMOS電平不同。為了使AT89C2051能與微機進行串行通信,可以利用MAX232完成RS-232C電平與TTL電平的相互轉(zhuǎn)換。硬件連線圖在上圖2中已給出。

  單片機程序在完成對串口的工作模式和波特率設(shè)置等初始化過程后,即可開始與串口通信。通信方式有查詢方式和中斷方式兩種。由于查詢方式需CPU不斷查詢標(biāo)志位,程序效率低,故在單片機操作比較繁忙的時候通常采用中斷方式,具體的編程應(yīng)用這里將不再介紹。

  單片機在通電復(fù)位后8051內(nèi)的程序計數(shù)器(PC)中的值為‘0000’,所以程序總是從‘0000’單元開始執(zhí)行,也就是說:在系統(tǒng)的ROM中一定要存在‘0000’這個單元,并且在‘0000’單元中存放的一定是一條指令。單片機是器件級計算機系統(tǒng),它可以嵌入到任何對象體系中去,實現(xiàn)智能化控制。

  FPGA是現(xiàn)場編程門陣列器件。它和DSP集成在一塊芯片上,可實現(xiàn)寬帶信號處理,大大提高信號處理速度。據(jù)報道,Xilinx 公司的Virtex-II FPGA對快速傅立葉變換(FFT)的處理可提高30倍以上。它的芯片中有自由的FPGA可供編程。Xilinx公司開發(fā)出一種稱作Turbo卷積編譯碼器的高性能內(nèi)核。設(shè)計者可以在FPGA中集成一個或多個Turbo內(nèi)核,它支持多路大數(shù)據(jù)流,以滿足第三代(3G)WCDMA無線基站和手機的需要,同時大大節(jié)省開發(fā)時間,使功能的增加或性能的改善非常容易。

  在本文中介紹了通過FPGA芯片作為總線仲裁器,實現(xiàn)微機雙串口各自通過AT89C2051與DSP HPI口通信的設(shè)計方案。該電路與采用專用芯片的電路相比,顯得并不復(fù)雜,并且比較實用。由于與DSP存儲器之間的數(shù)據(jù)交換完全是由單片機發(fā)起的,因此DSP就可以從數(shù)據(jù)的傳送中解脫出來,去完成更復(fù)雜的控制和運算。實際應(yīng)用證明,這一電路能夠很好地達到我們的設(shè)計要求,在異步數(shù)據(jù)傳輸速率為9600bps情況下,可以可靠地實現(xiàn)微機雙串口與DSP之間的通信。


  

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!