直播推薦
企業(yè)動態(tài)
- 紛享銷客發(fā)布首個企業(yè)級智能CRM平臺ShareAI
- 揭秘西企業(yè)數(shù)字化+低碳化轉(zhuǎn)型“工具箱”:西門子Xcelerator
- 企業(yè)AI賦能數(shù)智制造,用友U9 cloud世界級云ERP煥新升級
- 《“智“領(lǐng)石化,“質(zhì)“造未來——威圖石化行業(yè)數(shù)智化實踐白皮書》隆重發(fā)布
- 攜手共贏!德國Agfa搭載瑞典IPCO鋼帶,實現(xiàn)印刷設(shè)備振動銳減6倍,提升印刷速度與精度
- 創(chuàng)四方集團(tuán)榮獲“知名商標(biāo)品牌閃亮”證書,助力品牌戰(zhàn)略升級
- 皇冠CAD(CrownCAD)2025 R3版本來了,率先開啟C“Ai”D時代!
- 電費(fèi)砍半!中國制冷展:海爾發(fā)布AI建筑最新成果
推薦展會
基于上述分析,筆者開發(fā)了基于arm和dsp芯片的雙核嵌入式系統(tǒng)。系統(tǒng)充分利用了arm和dsp的各自特點,既可以使用arm和dsp芯片進(jìn)行協(xié)同開發(fā),也可以利用arm或dsp進(jìn)行獨(dú)立開發(fā)。操作系統(tǒng)選用了linux,以利于充分發(fā)揮系統(tǒng)的效能。
1 系統(tǒng)的總體設(shè)計
由于arm芯片的控制性能較強(qiáng),在嵌入式系統(tǒng)中arm主要用于控制和少量的數(shù)據(jù)處理。這樣,一方面要求cpu要低功耗和有足夠的時鐘頻率來運(yùn)行操作系統(tǒng),以滿足便攜式的要求;另一方面也要求其有足夠種類的接口,以利于性能的擴(kuò)展。基于以上考慮,在開發(fā)平臺中選用hy7202作為cpu。
dsp作為數(shù)據(jù)運(yùn)算部分,可以充分發(fā)揮其對數(shù)字信號處理的*優(yōu)勢。ti公司的c54xx系列16位定點dsp以其高性價比普遍應(yīng)用于各類通信、便攜式應(yīng)用當(dāng)中??紤]到對數(shù)字視頻和數(shù)字圖像等大數(shù)據(jù)吞吐量應(yīng)用場合的處理要求,選用ti公司的tms320c5416芯片。其時鐘頻率zui高可達(dá)到206 mhz,系統(tǒng)總體框圖如圖1所示。
圖1系統(tǒng)整體硬件結(jié)構(gòu)框圖
系統(tǒng)軟件平臺結(jié)構(gòu)如圖2所示,軟件平臺分arm部分和dsp部分,以及arm和dsp的接口軟件設(shè)計部分。arm部分以hynix公司patch的arm linux version 2.4.18為操作系統(tǒng),并在此基礎(chǔ)之上移植linux標(biāo)準(zhǔn)庫glibc、libjpg、libpng、imlib、libwww、libflash及漢字庫。圖形界面以microwindows 0.9及其控件庫flnx提供嵌入式圖形界面平臺。系統(tǒng)平臺具有強(qiáng)大的網(wǎng)絡(luò)通信功能,通過平臺webserver、ftp、net、inetd等網(wǎng)絡(luò)工具和應(yīng)用程序能方便地開發(fā)基于internet的網(wǎng)絡(luò)終端、遠(yuǎn)程控制、遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程數(shù)據(jù)處理產(chǎn)品。在應(yīng)用程序?qū)由?,系統(tǒng)平臺集成窗口管理程序,全中文化網(wǎng)絡(luò)瀏覽器(支持html、xml),flash播放器(支持flash4、flash5、flash6),文本編輯器,游戲等用于pda開發(fā),機(jī)頂盒上網(wǎng)解決方案,以及可用于嵌入式數(shù)據(jù)采集、處理的虛擬示波器等。
圖2系統(tǒng)軟件的總體結(jié)構(gòu)
dsp部分通過提供完整的hpi驅(qū)動程序(dsp部分)及通信協(xié)議,通過增加相應(yīng)數(shù)據(jù)處理程控制算法程序,利用hpi并行接口與主機(jī)arm通信進(jìn)行數(shù)據(jù)交換,可用于各種實時處理,控制領(lǐng)域。
此外,dsp和arm可以各自作為獨(dú)立的系統(tǒng)使用,它們均有完整的子系統(tǒng)軟件。子系統(tǒng)之間的核心是dsp器件本身帶有的hpi接口。
2 arm和dsp的通信接口設(shè)計
(1) dsp的hpi口介紹
hpi是tms320c54x等芯片提供的一種并行端口,專門用于dsp和外部主機(jī)并行通信。hpi接口有標(biāo)準(zhǔn)hpi接口和增強(qiáng)型hpi接口。對于c5416和c5420dsp器件,它們的主機(jī)接口為增強(qiáng)型主機(jī)接口。標(biāo)準(zhǔn)hpi接口是一個8位總線接口,通過2個8位字節(jié)組合在一起形成1個16字。增強(qiáng)型hpi接口分8位和16位兩種。8位增強(qiáng)型主機(jī)接口和標(biāo)準(zhǔn)hpi接口操作時序一樣,主要區(qū)別在于標(biāo)準(zhǔn)型只能訪問2 kbram,而增強(qiáng)型可以訪問dsp的整個ram區(qū)。16位增強(qiáng)型hpi接口采用16位總線,只要一個主機(jī)操作就能完成訪問操作。
(2) hpi硬件連線
hms30c7202與tms320c5416接口電路如圖3所示。系統(tǒng)將hpi接口所有控制寄存器、地址寄存器、數(shù)據(jù)寄存器統(tǒng)一編址,映射到hms30c7202物理地址0x0c000000開始的i/o內(nèi)存空間。
圖3dsp和主機(jī)雙向通信
利用地址線ra\[3:0\]產(chǎn)生hpi訪問所需的控制信號。a0與a1決定訪問寄存器類型。a2決定訪問的是*個字節(jié)還是第二個字節(jié):a2=0時,表示寫入的數(shù)據(jù)為*個字節(jié);a2=1時,表示寫入的數(shù)據(jù)為第二個字節(jié)。在hpi-8中所有地址線和控制線是在hds1和hds2的下降沿采樣,而不是由hr/w決定,因此hr/w通過地址線a3表示當(dāng)前操作是讀還是寫,而數(shù)據(jù)鎖存信號由nrcs3和nrw0相與后共同產(chǎn)生。kscan[2]設(shè)置為hms30c7202的porta中斷輸入腳,dsp通過中斷方式與linux底層hpi驅(qū)動程序通信。
3 arm和dsp的通信接口驅(qū)動程序設(shè)計
linux是unix操作系統(tǒng)的一種變種。在linux下編寫驅(qū)動程序的原理和思想*類似于其他的unix系統(tǒng),但它和dos或window環(huán)境下的驅(qū)動程序有很大的區(qū)別。linux驅(qū)動程序可以編譯進(jìn)內(nèi)核,也可以模塊形式動態(tài)地加入和卸載。linux的這種特點可根據(jù)目標(biāo)系統(tǒng)裁減內(nèi)核,更適合于嵌入式系統(tǒng)。
(1) linux驅(qū)動程序基本原理
在linux中所有設(shè)備分為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)設(shè)備三種,所有設(shè)備都看成普通文件,因此可以通過用操縱普通文件相同的系統(tǒng)調(diào)用來打開、關(guān)閉、讀取和寫入設(shè)備。系統(tǒng)中每個設(shè)備都用一種設(shè)備特殊文件來表示。
在linux中,設(shè)備驅(qū)動程序是一組相關(guān)函數(shù)的集合。它包含設(shè)備服務(wù)子程序和中斷處理程序,每個設(shè)備服務(wù)子程序只處理一種設(shè)備或者緊密相關(guān)的設(shè)備。其目的就是從與設(shè)備無關(guān)的軟件中接受抽象的命令并執(zhí)行。當(dāng)執(zhí)行一條請求時,具體操作是根據(jù)控制器驅(qū)動程序提供的接口,并利用中斷機(jī)制去調(diào)用中斷服務(wù)子程序配合設(shè)備來完成這個請求。設(shè)備程序利用結(jié)構(gòu)file_operations與文件系統(tǒng)起來。在linux下驅(qū)動程序裝載如圖4所示。
圖4模塊連接到內(nèi)核示意
(2) hpi驅(qū)動程序
hpi接口可用i/o端口方式,也可以用i/o存取方式。系統(tǒng)平臺采用i/o存取方式,將hpi訪問控制寄存器、數(shù)據(jù)寄存器、地址寄存器,映射到內(nèi)存物理地址為0x0c000000開始的空間,通過訪問存儲器指令對hpi進(jìn)行操作。hpi具體物理地址定義如下:
#definehpi_base0x0c000000//hpi基地址
#define hpd_read_lowhpi_base+0x0012
//讀數(shù)據(jù)寄存器*字節(jié)
#define hpa_write_highhpi_base+0x000c
//寫地址寄存器第二字節(jié)
在linux下,類似windows,程序不能直接訪問物理地址。設(shè)備驅(qū)動程序是內(nèi)核的一部分,它像內(nèi)核中其他代碼一樣運(yùn)行在內(nèi)核模式,驅(qū)動程序如果出錯就會使系統(tǒng)受到嚴(yán)重破壞,因此需要將物理地址映射到內(nèi)核空間。在linux下通過virtul_address=(u32)ioremap(hpi_base,hpi_length)實現(xiàn)。驅(qū)動程序主要結(jié)構(gòu)如下:
struct file_operations hpi_fops={
owner:this_module,
read: hpi_read,
write: hpi_write,
poll : hpi_poll,
open: hpi_open,
release: hpi_release,
};
hpi通信協(xié)議采用幀結(jié)構(gòu),由于增強(qiáng)型hpi接口允許訪問dsp內(nèi)部ram所有空間,系統(tǒng)通信在dsp內(nèi)部分配2 k字(16位)作為幀緩沖區(qū),讀寫各1 k字,協(xié)議采用一位滑動窗口協(xié)議。幀格式如表1所列。
結(jié)語
本文介紹了使用arm和dsp雙cpu構(gòu)成的雙核嵌入式系統(tǒng)的硬件平臺,以及源代碼開放的linux作為嵌入式系統(tǒng)中操作系統(tǒng)的方法,給出了系統(tǒng)設(shè)計的總體框圖,詳細(xì)介紹了arm和dsp通信接口的設(shè)計。這一設(shè)計方法可以適用于大多數(shù)現(xiàn)代嵌入式系統(tǒng)的設(shè)計,有一定的實用價值。
參考文獻(xiàn)
1
2
3 /documents/kdoc
4 michacl k.johnson erik w.troan. linux編程指南. 龍華喬,胡以逕譯. 北京:中國電力出版社,2001
5 徐盛,胡劍凌. 數(shù)字信號處理器開發(fā)實踐. 上海:上海交通大學(xué)出版社,2003
6 胡劍凌,徐盛. 數(shù)字信號處理系統(tǒng)的應(yīng)用和設(shè)計. 上海:上海交通大學(xué)出版社,2003
免責(zé)聲明
- 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://towegas.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(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)利。
2025第十一屆中國國際機(jī)電產(chǎn)品交易會 暨先進(jìn)制造業(yè)博覽會
展會城市:合肥市展會時間:2025-09-20