新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM和DSP的嵌入式智能儀器系統(tǒng)設(shè)計(jì)

基于ARM和DSP的嵌入式智能儀器系統(tǒng)設(shè)計(jì)

作者:孟菊 王金海 趙雷新 張麗麗 時(shí)間:2008-06-02 來源:微計(jì)算機(jī)信息 收藏

  1 引言

本文引用地址:http://butianyuan.cn/article/83483.htm

  隨著及控制系統(tǒng)對(duì)實(shí)時(shí)性信號(hào)處理的要求不斷提高和大規(guī)模集成電路技術(shù)的迅速發(fā)展。越來越迫切的要求有一種高性能的設(shè)計(jì)方案與之相適應(yīng),將技術(shù)和技術(shù)結(jié)合起來應(yīng)用于系統(tǒng)中,將會(huì)充分發(fā)揮兩者優(yōu)勢(shì)以達(dá)到智能控制系統(tǒng)中對(duì)數(shù)據(jù)的實(shí)時(shí)性、高效性的通信要求。該系統(tǒng)要求實(shí)時(shí)響應(yīng),具有嚴(yán)格的時(shí)序性。其工作環(huán)境可能非常惡劣,如高溫、低溫、潮濕等,所以系統(tǒng)還要求非常高的穩(wěn)定性。

  2 系統(tǒng)的總體設(shè)計(jì)

  2.1 核心器件的主要功能

  分別選用Cirrus Logic公司的EP7312、TI公司的TMS320VC5402。充分利用豐富的片上資源和強(qiáng)大的信號(hào)處理功能,實(shí)現(xiàn)高效性、實(shí)時(shí)性的信號(hào)處理及網(wǎng)絡(luò)通信功能。

  EP7312是專為高性能、超低功耗產(chǎn)品而設(shè)計(jì)的微處理器,采用ARM7TDMI處理器內(nèi)核,具有8kB高速緩沖存儲(chǔ)器,支持存儲(chǔ)器管理單元,片內(nèi)集成了液晶顯示器控制器,鍵盤掃描器,數(shù)字音頻接口,完全的JTAG等功能,廣泛地應(yīng)用于嵌入式領(lǐng)域。TMS320C54xDSP提供了McBSPs(多通道緩沖串口);6通道的DMA控制器;可以與外部處理器直接通信的8位增強(qiáng)HPI(主機(jī)接口)。選擇這樣的SOC(片上系統(tǒng))作為該系統(tǒng)的核心器件,使得其穩(wěn)定可靠并具有廣泛的擴(kuò)展功能。

  2.2 系統(tǒng)總體設(shè)計(jì)及工作原理

  系統(tǒng)總體設(shè)計(jì)框圖如圖1所示。本系統(tǒng)主要是實(shí)現(xiàn)信號(hào)的實(shí)時(shí)性處理及傳輸,滿足工業(yè)現(xiàn)場(chǎng)及各種測(cè)量?jī)x器的高可靠性要求。ARM有豐富的片上資源,適合嵌入式系統(tǒng)的開發(fā),在該嵌入式系統(tǒng)中,ARM主要負(fù)責(zé)操作系統(tǒng)的運(yùn)行、任務(wù)管理和協(xié)調(diào)以及DSP的控制任務(wù),完成數(shù)據(jù)的遠(yuǎn)程通信。擴(kuò)展了外部擴(kuò)展了多種外設(shè),如通用串口、LCD顯示屏,以太網(wǎng)接口。通過連接以太網(wǎng)控制器實(shí)現(xiàn)網(wǎng)絡(luò)化功能。在ARM中移植了Linux操作系統(tǒng)和實(shí)現(xiàn)了系統(tǒng)外部硬件接口的驅(qū)動(dòng)程序。由DSP執(zhí)行計(jì)算密集型操作,實(shí)現(xiàn)多種信號(hào)處理算法,然后將處理后的數(shù)字信號(hào)通過主機(jī)口接口(HPI)與ARM通信。再由ARM通過以太網(wǎng)控制器將數(shù)據(jù)傳輸?shù)骄W(wǎng)絡(luò),實(shí)現(xiàn)了遠(yuǎn)程控制與監(jiān)測(cè)。

圖1 系統(tǒng)總體硬件框圖

  3 系統(tǒng)硬件具體設(shè)計(jì)方案

  3.1 ARM與DSP的接口設(shè)計(jì)

  EP7312和TMS320VC5402連接的接口電路如圖2所示。VC5402通過HPI與ARM進(jìn)行連接。ARM先向DSP寫入控制字,設(shè)置工作模式,然后將訪問地址寫入地址寄存器(HPIA),再對(duì)數(shù)據(jù)鎖存器(HPID)進(jìn)行讀寫,即可讀出和寫入指定的存儲(chǔ)單元。主機(jī)由兩根地址線A2、A1可以尋址到HPI接口的所有控制寄存器、地址寄存器和數(shù)據(jù)寄存器;由HBIL、HCNTL1、HCNTL0區(qū)分16位數(shù)據(jù)的高、低字節(jié)。當(dāng)向HBIL=0的地址寫入數(shù)據(jù)時(shí),表示是第一個(gè)字節(jié),向HBIL=1的地址寫入數(shù)據(jù)表示第二個(gè)字節(jié)。尋址過程中HCS要為低電平。

圖2 EP7312與TMS320VC5402的連接

  DSP的HPI接口片選信號(hào)使用EP7312擴(kuò)展片選信號(hào)nCS4,HPI各個(gè)特殊功能寄存器的映射地址如下:

  #define HPIC0 *(volatile unsigned char*)0x40000000

  #define HPIC1 *(volatile unsigned char*)0x40000001

  #define HPIA0 *(volatile unsigned char*)0x40000004

  #define HPIA1 *(volatile unsigned char*)0x40000005

  #define HPID0 *(volatile unsigned char*)0x40000006

  #define HPID1 *(volatile unsigned char*)0x40000007

  設(shè)置好DSP的狀態(tài)后,DSP向ARM發(fā)送中斷,通知ARM已將數(shù)據(jù)準(zhǔn)備好,等待ARM發(fā)中斷,DSP在中斷中對(duì)接收的數(shù)據(jù)進(jìn)行處理。ARM在初始化后,等待DSP發(fā)送中斷通知ARM數(shù)據(jù)已經(jīng)準(zhǔn)備好。ARM在檢測(cè)到中斷后,先判斷中斷是否有效,再?gòu)腍PI口讀寫數(shù)據(jù),在完成向HPI口發(fā)送數(shù)據(jù)后,向DSP發(fā)送中斷通知DSP接收數(shù)據(jù)。ARM通過控制端口信號(hào)模擬接口時(shí)序,來完成對(duì)HPI口寄存器的訪問。由于DSP在BOOT過程中向ARM發(fā)送了中斷,所以ARM在初始化時(shí)要清除這個(gè)中斷,并且在數(shù)據(jù)交互之前要設(shè)置控制寄存器中的BOB位,指示高地址在前還是低地址在前。這一步在程序初始化時(shí)由ARM來完成。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 嵌入式 智能儀器 DSP ARM

評(píng)論


相關(guān)推薦

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

關(guān)閉