摘要:本文通過一個(gè)開發(fā)實(shí)例詳細(xì)說明如何通過DSP的HPI接口與運(yùn)行Linux操作系統(tǒng)的ARM架構(gòu)處理器進(jìn)行數(shù)據(jù)通信。給出接口部分的實(shí)際電路和ARM-Linux下驅(qū)動(dòng)程序的開發(fā)過程。 關(guān)鍵詞:設(shè)備驅(qū)動(dòng)程序 嵌入式Linux HPI ARM DSP 1 引言 基于ARM核心處理器的嵌入式系統(tǒng)以其自身資源豐富、功耗低、價(jià)格低廉、支持廠商眾多的緣故,越來越多地應(yīng)用在各種需要復(fù)雜控制和通信功能的嵌入式系統(tǒng)中。 內(nèi)核源碼開放的Linux與ARM體系處理器相結(jié)合,可以發(fā)揮Linux系統(tǒng)支持各種協(xié)議及存在多進(jìn)程調(diào)度機(jī)制的優(yōu)點(diǎn),從而使開發(fā)周期縮短,擴(kuò)展性增強(qiáng)。作為數(shù)字處理專用電路,DSP的數(shù)字信號(hào)處理能力十分強(qiáng)大,但對(duì)諸如任務(wù)管理、通信、人機(jī)交互等功能的實(shí)現(xiàn)較為困難。
如果將這三者結(jié)合起來,即由DSP結(jié)合采樣電路采集并處理信號(hào),由ARM處理器作為平臺(tái),運(yùn)行Linux操作系統(tǒng),將經(jīng)過DSP運(yùn)算的結(jié)果發(fā)送給用戶程序進(jìn)行進(jìn)一步處理,然后提供給圖形化友好的人機(jī)交互環(huán)境完成數(shù)據(jù)分析和網(wǎng)絡(luò)傳輸?shù)裙δ埽蜁?huì)最大限度的發(fā)揮三者所長(zhǎng)。 2 系統(tǒng)結(jié)構(gòu) 該系統(tǒng)硬件由二部分組成,其中一部分為若干塊DSP板,各自獨(dú)立承接數(shù)據(jù)采集和信號(hào)處理。另一部分為以ARM為核心處理器的CPU板。系統(tǒng)硬件框圖如圖1 所示(僅接口部分)。 3 接口硬件部分設(shè)計(jì) 3.1 HPI接口簡(jiǎn)介 HPI接口是TI公司新一代、高性能DSP上用以完成與主機(jī)或其他DSP之間數(shù)據(jù)交換的接口,這里主要介紹實(shí)際電路中使用的控制引腳和時(shí)序。 HCNTL0和HCNTL1為訪問控制選擇。用來確定主機(jī)(ARM)究竟對(duì)TMS320C6711中的哪一個(gè)HPI寄存器進(jìn)行處理。具體功能如表1所列。 表1 HCNTL0和HCNTL1的功能 HCNTL0 HCNTL1 功 能 0 0 主機(jī)對(duì)HPI控制寄存器(HPIC)進(jìn)行讀寫 0 1 主機(jī)對(duì)HPI地址寄存器(HPIA)進(jìn)行讀寫 1 0 主機(jī)對(duì)HPI數(shù)據(jù)寄存器(HPID)地址自動(dòng)增加模式(Auto increment mode)進(jìn)行讀寫,對(duì)HPID讀寫后,地址寄存器(HPIA)自動(dòng)增加一個(gè)字地址(4字節(jié)地址) 1 1 主機(jī)對(duì)HPI數(shù)據(jù)寄存器(HPID)地址固定模式(Fixed mode)進(jìn)行讀寫。對(duì)HPID讀寫后,地址寄存器(HPIA)保持不變 HR/W:讀寫選擇控制。為“1”表示是從DSP中讀,反之則為寫。 HHWIL:半字節(jié)定義選擇,與HPIC寄存器中的HWOB位進(jìn)行配合可以選擇當(dāng)前傳輸?shù)氖歉甙胱诌€是低半字。低電平是第一個(gè)半字,高電平是第二個(gè)半字。 HCS:選通脈沖(Strobe),與HDS1、HDS2相互配合完成內(nèi)部信號(hào)HSTROBE的生成。邏輯關(guān)系如圖2所示。 將HDS1、HDS2分別固定為高電平和低電平,這樣HCS就和HSTROBE完全一致。 HSTROBE讀時(shí)序如圖3所示。 3.2 接口電路 ARM處理器通過DSP的HPI接口與DSP進(jìn)行連接的硬件原理如圖4所示(以單板DSP為例)。其中SN74LVTH16245為16位(二個(gè)8位)雙向三態(tài)總線收發(fā)器,主要起總線驅(qū)動(dòng)和方向控制的作用同時(shí)也保證在不對(duì)HPI口進(jìn)行操作時(shí)數(shù)據(jù)總線鎖閉。AT91RM9200為Atmel公司生產(chǎn)的 ARM9為核心的處理器,其中引腳D0-D15為數(shù)據(jù)總線,A2-A8為地址總線的一部分,CS3為片選信號(hào)線,當(dāng)ARM對(duì)總線地址范圍為0x40000 0000~0x4FFF FFFF的外部設(shè)備進(jìn)行操作時(shí),會(huì)在該引腳產(chǎn)生一個(gè)片選信號(hào)。同時(shí)該信號(hào)控制SN74LVTH16245的使能端,避免在讀寫其他地址時(shí)對(duì)HPI端口造成影響。TMS320C6711D是TI公司生產(chǎn)的DSP,每秒可以完成15億次浮點(diǎn)運(yùn)算,數(shù)據(jù)處理功能十分強(qiáng)大。引腳D0-D15為數(shù)據(jù)總線。其余端口是 HPI接口的控制引腳。 大功率電感廠家 |大電流電感工廠