<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種基于DSP和MCU的雙CPU數據處理系統設計

一種基于DSP和MCU的雙CPU數據處理系統設計

作者: 時(shí)間:2009-08-10 來(lái)源:網(wǎng)絡(luò ) 收藏

  在嵌入式控制系統中經(jīng)常需要對現場(chǎng)物理量進(jìn)行數據采集與實(shí)時(shí)處理,且要求系統具有良好的人機交互功能,這時(shí)僅采用處理器往往不能滿(mǎn)足要求。本文選擇以單片機為主處理單元(主要完成各種控制和接口功能)、芯片為從處理單元(主要完成數據運算和處理)的系統結構方案,該系統可獨立使用,也可與上位PC機進(jìn)行通信。

1 數據處理系統硬件總體設計方案

  該數據處理系統是為一種信號檢測設備設計[1-2]的,能快速采集兩路傳感器的信號并進(jìn)行實(shí)時(shí)處理。系統由處理器、處理器、8位高速A/D轉換器以及存儲器等部分組成,傳感器的信號送入高速A/D轉換器進(jìn)行模數轉換,結果送入DSP中。這里DSP芯片采用了TI公司具有高速數據運算和處理能力的TMS320VC5402,運算結果通過(guò)HPI傳送到單片機,利用單片機方便的接口電路和控制功能,輸出并顯示結果或送入PC機做進(jìn)一步處理。圖1為該系統的結構框圖,其中用于存放自舉引導程序。

2 數據處理系統硬件接口設計

2.1 A/D接口電路設計

  該數據處理系統首要的任務(wù)是將傳感器的信號經(jīng)過(guò)調理后進(jìn)行A/D轉換。為了實(shí)現高速、實(shí)時(shí)的數據采集轉換和處理,系統中A/D轉換模塊采用了TI公司的8位并行A/D器件TLC5510A[3-4],最高頻率可達20MHz,能實(shí)現實(shí)時(shí)的數據采集。該模塊采用單一+4V電源供電,正常工作時(shí)的最大功耗為150mW,適合便攜式儀器儀表使用。傳感器的信號通過(guò)TLC5510A的模擬量輸入引腳送入,利用DSP內部定時(shí)器來(lái)控制A/D采樣率,在每次產(chǎn)生定時(shí)器中斷時(shí)對數據進(jìn)行讀取,這樣可通過(guò)設置定時(shí)器的初始值來(lái)改變采樣率。圖2為A/D轉換接口電路圖,其中為片選端,低電平有效,時(shí)鐘由DSP內部時(shí)鐘提供,送入A/D芯片的CLK引腳。轉換后的8位數字量經(jīng)電平轉換(A/D轉換器和DSP工作電壓不同)后直接送入DSP中,結合相關(guān)算法進(jìn)行數據處理。

2.2 數據處理系統引導加載[5]

  由于系統用于便攜式儀器中,加電后要有獨立運行的能力,而所使用的DSP芯片內無(wú)永久性存儲器,所以系統運行時(shí)需進(jìn)行自舉引導。DSP為脫機運行提供了五種引導模式,分別是:主機端口(HPI)引導模式;串行EEPROM引導模式;并行引導模式;標準串行口引導模式;I/O引導模式。其中并行引導方式在這里被認為是最佳的,因為HPI端口引導方式、串口引導方式、I/O引導方式只適用于由其他處理器為DSP TMS320VC5402提供運行代碼的多處理器系統中,SPI串行EEPROM引導方式和并行引導方式雖然都適用于以TMS320VC5402為核心的獨立系統,但是SPI EEPROM引導方式價(jià)格偏高,而并行引導方式則可以采用FLASH,因為FLASH種類(lèi)很多且價(jià)格較低,可以充分體現系統的性?xún)r(jià)比優(yōu)勢,故該系統中采用并行引導方式實(shí)現程序的自舉引導加載。

2.2.1 自舉引導過(guò)程

  TMS320VC5402 DSP的引導加載選擇過(guò)程如圖3所示。系統上電或硬件復位后,首先判斷芯片的引腳。如果該引腳為高電平,則選擇微處理器模式,片內ROM從程序空間移去,DSP執行FF80H處的跳轉命令,跳轉到F800H處的引導程序段并實(shí)現代碼移植功能,最后再次跳轉到加載的用戶(hù)程序起始地址并執行應用程序;如果引腳為低電平,則選擇微計算機模式,片內ROM被映射到程序存儲器空間,DSP執行FF80H處的跳轉命令,自動(dòng)跳轉到內部引導程序入口地址F800H,啟動(dòng)內部引導程序,選擇引導模式。本系統的引腳置低。

  圖3為DSP自舉加載的流程,上電判斷為0后,依次檢測INT2、INT3,當滿(mǎn)足要求且并口有效時(shí),即開(kāi)始執行并行引導程序。否則,按引導流程依次判斷,直到滿(mǎn)足條件為止。

2.2.2 實(shí)現自舉硬件接口電路的設計

  根據設計的需要,FLASH采用TI公司的SST39VF040A。圖4為T(mén)MS320VC5402和FLASH的硬件接口電路[5]。由于TMS320VC5402和FLASH都是3.3V供電,接口中TMS320VC5402的D0~D7直接與FLASH的D0~D7相連,二者的地址信號線(xiàn)A0~A17也相連,TMS320VC5402的DS接FLASH片選端CE,TMS320VC5402的經(jīng)邏輯組合后接FLASH的。由于FLASH是512K×8bit的芯片,地址線(xiàn)為18位,超過(guò)了Bootloader所能訪(fǎng)問(wèn)的16位地址空間,而FLASH在被訪(fǎng)問(wèn)時(shí),高位的地址線(xiàn)必須是確定態(tài)(高或低),所以在訪(fǎng)問(wèn)FLASH之前必須先對擴展頁(yè)寄存器XPC進(jìn)行初始化,以使超出16位的地址線(xiàn)也具有確定的狀態(tài),通過(guò)設計邏輯電路滿(mǎn)足讀寫(xiě)時(shí)序要求。

2.2.3 FLASH讀寫(xiě)操作

2.2.3.1 FLASH的讀操作

  FLASH的讀操作基本上與普通的存儲器讀操作一致,具體的讀周期時(shí)序如圖5(a)所示。當CE與OE為低電平時(shí),DSP就可以讀取FLASH中的數據。要注意的是,信號是由DSP產(chǎn)生的,在讀取一個(gè)數據后,DSP必須在引腳給出一個(gè)上升沿標志,通知FLASH已經(jīng)將數據讀取,之后FLASH會(huì )自動(dòng)將下一個(gè)存儲單元的數據送到數據線(xiàn)上,重復以上過(guò)程,DSP可以將需要的數據依次讀出。

2.2.3.2 FLASH的寫(xiě)操作

  FLASH的寫(xiě)操作相對復雜一些,它需要一串命令序列,通過(guò)對FLASH的命令寄存器寫(xiě)入相應的命令字來(lái)完成寫(xiě)入和擦除。對應的寫(xiě)操作時(shí)序圖如圖5(b)所示。

3 (HPI)通信設計

  [6-7](HPI,Host Port Interface)是TMS320C54x系列定點(diǎn)芯片內部具有的一種接口部件,主要用于DSP與其他總線(xiàn)或CPU進(jìn)行通信。HPI接口通過(guò)HPI控制寄存器(HPIC)、地址寄存器(HPIA)、數據鎖存器(HPID)和HPI內存實(shí)現與主機通信。其主要特點(diǎn)有:接口所需外圍硬件很少;HPI單元允許芯片直接利用一個(gè)或兩個(gè)數據選通信號、一個(gè)獨立或復用的地址總線(xiàn)以及一個(gè)獨立或復用的數據總線(xiàn)接到微控制單元上;主機和DSP可獨立地對HPI接口進(jìn)行操作;主機和DSP握手可通過(guò)中斷方式來(lái)完成。

  由于本數據處理系統采用雙CPU(DSP+),經(jīng)A/D轉換后的信號先保存在DSP的存儲器中,DSP和MCU之間需進(jìn)行數據通信,同時(shí)HPI方式還能讓單片機共享DSP內部的雙口RAM,彌補單片機內部RAM不足等缺陷。在硬件設計時(shí),要注意單片機89C51是+5V供電,DSP是+3.3V供電,需進(jìn)行電平轉換。

  圖6為89C51與DSP HPI通信硬件接口圖。其中89C51的端口P0.1~P0.7與HPI的8位數據線(xiàn)(HD0~HD7)相連作為數據傳輸通道,P2.0~P2.4設置為輸出來(lái)控制HPI接口的操作。其中P2.0為讀寫(xiě)控制選通信號連接P2.1連接字節識別信號HBIL,控制讀寫(xiě)數據是屬于16位字的第一字節還是第二字節;P2.2和P2.3分別連接HCNTL0和HCNTL1以實(shí)現對HPIC、HPIA和HPID寄存器的訪(fǎng)問(wèn);P2.4連接作為數據選通信號來(lái)鎖存有效的HCNTL0/1、HBIL和信號;P2.5與相連作為片選信號;INT0作為輸入與HPI的主機中斷信號一直接高電平。在數據交換過(guò)程中,89C51向HPI發(fā)送數據時(shí)通過(guò)置TMS320VC5402的HPI控制寄存器HPIC中的DSPINT位為1來(lái)中斷TMS320VC5402;89C51接收來(lái)自HPI的數據時(shí)通過(guò)查詢(xún)方式,當TMS320VC5402 DSP準備發(fā)送數據時(shí)置為低,89C51查詢(xún)到INT0為低時(shí)調用接收數據子程序來(lái)實(shí)現數據的接收。

4 系統調試及結果

  為了調試該系統,可以在A(yíng)/D轉換器輸入端輸入一個(gè)確定信號,觀(guān)察其采集和輸出的情況。為此設計了A/D轉換和數據處理程序。將信號發(fā)生器DG2000的輸出轉換后存入DSP數據存儲器的連續單元中,設計了簡(jiǎn)單明晰的頻率計算程序,通過(guò)零點(diǎn)檢測計算出信號的頻率,最終結果經(jīng)HPI傳送給單片機并顯示出來(lái)。

  測試中所用儀器為:RIGOL系列信號發(fā)生器DG2000。

  將信號發(fā)生器DG2000的輸出經(jīng)一個(gè)保護電阻接到A/D輸入端。波形輸入和LED顯示界面如圖7所示。

  通過(guò)對不同信號和不同算法程序運行的實(shí)踐,LED的輸出顯示均與輸入量相符合,證明系統工作穩定。由于本采集系統具有高速轉換器和DSP硬件基礎,只需根據采集信號種類(lèi)的不同及輸出要求的不同設計相關(guān)的算法軟件,對所獲得信號進(jìn)行處理即可??梢栽诟鞣N工業(yè)生產(chǎn)過(guò)程和儀器儀表中應用該系統,還可利用RS232串口實(shí)現與上位PC機之間的通信,對數據做進(jìn)一步的處理。



關(guān)鍵詞: DSP MCU 主機接口 FLASH

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>