




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
精品文檔-下載后可編輯雙端口RAM在ARM與DSP通信系統(tǒng)中的應(yīng)用-設(shè)計應(yīng)用摘要:通過使用IDT70261雙端口RAM實(shí)現(xiàn)了ARM與TMS320C6211DSP之間的高速實(shí)時數(shù)據(jù)通信,給出了雙端口RAM與TMS320C6211和ARM的硬件連接圖和ARM驅(qū)動編寫細(xì)節(jié)。
后PC時代,由于網(wǎng)絡(luò)技術(shù)和集成電路技術(shù)的迅速發(fā)展,利用嵌入式系統(tǒng)進(jìn)行數(shù)字信號處理與傳輸成為可能。在ARM和DSP構(gòu)成的雙處理器系統(tǒng)中,嵌入式作為主設(shè)備,主要完成數(shù)據(jù)處理、存儲與網(wǎng)絡(luò)傳輸工作,而DSP作為從設(shè)備需要負(fù)責(zé)復(fù)雜的算法實(shí)現(xiàn)。
在此高速數(shù)據(jù)采集和處理系統(tǒng)中,隨著采樣數(shù)據(jù)量的增大和處理任務(wù)的增加,對數(shù)據(jù)的傳送要求越來越高,如果在兩個系統(tǒng)端口之間沒有能夠高速傳送數(shù)據(jù)的接口,將會造成數(shù)據(jù)傳送的阻塞,嚴(yán)重影響系統(tǒng)的實(shí)時性與處理數(shù)據(jù)的能力,因此此系統(tǒng)設(shè)計的重點(diǎn)之一是主從設(shè)備之間的數(shù)據(jù)通信。本文介紹用雙端口RAMIDT70261完成TMS320C6211DSP與嵌入式ARM920T之間的數(shù)據(jù)通信。
1IDT70261雙端口RAM功能簡介
IDT70261是美國IDT公司生產(chǎn)的高速16K×16的雙端口SRAM,其典型功耗為750mW,它具有兩個等級的存取時間:商業(yè)級有15/20/25/35/55ns(max),工業(yè)級有20/25/35/55ns(max)。雙端口RAM有兩個完全獨(dú)立的端口,它們各自有一套相應(yīng)的數(shù)據(jù)總線、地址總線和控制總線,允許兩個控制器單獨(dú)或異步的讀寫其中任意一個存儲單元。兩個端口具有同樣的對雙端口RAM的讀寫操作能力,但是當(dāng)兩個端口同時對同一地址進(jìn)行讀寫操作時,會因?yàn)閿?shù)據(jù)的沖突而造成存儲或讀取的錯誤。對同一存儲單元的操作存在以下四種情況:
(1)兩個端口不同時對同一地址單元進(jìn)行讀寫數(shù)據(jù)。
(2)兩個端口同時對同一地址單元進(jìn)行讀出數(shù)據(jù)。
(3)兩個端口同時對同一地址單元進(jìn)行寫入數(shù)據(jù)。
(4)兩個端口同時對一個地址單元,一個寫入數(shù)據(jù),另一個讀出數(shù)據(jù)。
前兩種情況不會造成對雙端口RAM的讀寫錯誤,第三種情況會造成寫入數(shù)據(jù)的錯誤,第四種情況會造成讀出錯誤。為了避免對雙端口RAM造成讀寫錯誤,IDT70261有以下幾種仲裁控制方法。
1.1遇忙邏輯控制
當(dāng)雙端口同時對同一地址單元進(jìn)行控制時,IDT70261提供一種/BUSY控制機(jī)制。雙端口不對同一地址單元進(jìn)行控制時,兩個端口的/BUSY引腳都為高,左右兩個端口均可正常訪問存儲空間。當(dāng)兩個端口對同一地址單元進(jìn)行存取時,一個端口的/BUSY引腳為高(允許對存儲空間的讀寫操作),另一個端口的引腳為低(禁止對存儲空間的讀寫操作),哪一個請求信號在前,其端口引腳為高,另一個為低。兩個端口請求讀寫的時間差為5ns,當(dāng)時間小于5ns時,系統(tǒng)會自動允許一個引腳讀寫,屏蔽另外一個引腳,防止出現(xiàn)對同一地址單元的讀寫錯誤。
1.2中斷控制機(jī)制
IDT70261具有中斷輸出功能,中斷工作時,雙端口RAM的兩個地址單元3FFE、3FFF作為"郵箱"來傳遞相應(yīng)的命令。當(dāng)中斷功能不使用時,3FFE、3FFF兩個單元作為正常的存儲單元使用。下面介紹中斷工作原理。
左端口寫地址單元3FFF,/INTR變?yōu)橛行Вǖ碗娖剑蛴叶丝诎l(fā)送中斷請求,右端口響應(yīng)中斷請求后,可向3FFF地址單元執(zhí)行讀操作,清除中斷標(biāo)志(/INTR變?yōu)楦唠娖剑M恚叶丝趯懙刂穯卧?FFE,/INTL變?yōu)橛行Вǖ碗娖剑蜃蠖丝诎l(fā)送中斷請求,左端口響應(yīng)中斷請求后,可向3FFE地址單元執(zhí)行讀操作,清除中斷標(biāo)志(/INTL變?yōu)楦唠娖剑?/p>
1.3令牌傳遞原理
IDT70261內(nèi)部有8個獨(dú)立于雙端口RAM的邏輯鎖存單元,用來標(biāo)明共享的雙端口RAM是否正在使用。在此工作模式下,/SEM用作鎖存器的"片選"信號,地址線A2~A0用來尋址8個標(biāo)志鎖存器,數(shù)據(jù)線D0用來標(biāo)志鎖存器的狀態(tài)。
端口向鎖存器寫入0表示申請控制權(quán),寫入1表示放棄使用權(quán)。當(dāng)左端口要使用雙端口RAM時,先寫入0到標(biāo)志鎖存器,然后讀出標(biāo)志鎖存器的狀態(tài),若讀出的值為0,則左端口獲得該存儲單元的使用權(quán);若讀出的值為1,表明右端口正在使用該存儲單元。
此時,左端口要么循環(huán)檢測鎖存器狀態(tài),直到右端口使用結(jié)束,要么向鎖存器寫入1,撤銷請求。同理,若右端口使用雙端口RAM時,仍按照上述步驟進(jìn)行操作[1,2].
2基于IDT70261的接口電路
本系統(tǒng)為視頻數(shù)據(jù)采集處理系統(tǒng),當(dāng)攝像頭采集后的數(shù)據(jù)經(jīng)DSP壓縮編碼后輸入到雙端口RAM芯片中,ARM處理器接收到數(shù)據(jù)請求后,接收圖像數(shù)據(jù),對數(shù)據(jù)進(jìn)行存儲和傳輸工作,終將圖像經(jīng)過解碼顯示在終端PC機(jī)上。
基于IDT70261的接口電路圖如圖1所示,此系統(tǒng)采用中斷控制機(jī)制,雙端口RAM的一些功能引腳并不需要全部使用。雙端口RAM的左端是ARM920T芯片,右端是TMS320C6211DSP芯片。雙端口RAM兩個獨(dú)立的數(shù)據(jù)線D0L-D15L和D0R-D15R分別與ARM920芯片和DSP芯片連接,地址線A0L-A13L和A0R-A13R也分別與上述兩芯片連接。/CE為芯片使能引腳,R/W為讀寫控制引腳,/OE為輸出使能引腳,/INT為中斷標(biāo)志引腳,/BUSY為遇忙控制引腳,其連接電路如圖1所示。
圖1接口電路
3數(shù)據(jù)通信的軟件實(shí)現(xiàn)
本系統(tǒng)采用中斷控制方式來實(shí)現(xiàn)對雙端口RAM的讀寫操作。DSP主要負(fù)責(zé)圖像數(shù)據(jù)壓縮工作,壓縮后的數(shù)據(jù)傳送給雙端口RAM.傳送數(shù)據(jù)時,DSP向信令字單元3FFF寫入'55H',在ARM方產(chǎn)生中斷后,ARM讀信令字單元3FFF,如果是'55H',說明數(shù)據(jù)正在傳輸,讀完數(shù)據(jù)后,向信令字單元3FFE寫入'AAH',代表讀完數(shù)據(jù)。DSP接收到中斷后,讀信令字單元3FFEH,如果為'AAH',表示傳輸數(shù)據(jù)成功。
ARM完成整個系統(tǒng)的實(shí)時控制,對雙端口RAM的圖像數(shù)據(jù)進(jìn)行讀取然后經(jīng)過網(wǎng)絡(luò)傳遞給PC機(jī),因此需要驅(qū)動程序來實(shí)現(xiàn)雙端口RAM與ARM之間的數(shù)據(jù)通信。驅(qū)動程序是應(yīng)用程序與硬件之間的接口,用戶可以通過驅(qū)動程序來間接的實(shí)現(xiàn)對硬件的讀寫控制操作。雙端口RAM的驅(qū)動程序主要任務(wù)是讀雙端口RAM數(shù)據(jù)到用戶空間、把用戶空間命令寫入雙端口RAM相應(yīng)地址以及相應(yīng)雙端口RAM產(chǎn)生的中斷。在驅(qū)動程序中,主要的結(jié)構(gòu)便是file_operation,在里面包含了對文件的打開、關(guān)閉、讀寫和其他控制函數(shù),file_operation結(jié)構(gòu)如下:
在使用設(shè)備之前需要對設(shè)備進(jìn)行初始化,包括配置ARM接口寄存器、注冊設(shè)備、申請中斷和分配虛擬地址空間等。配置寄存器和注冊申請工作在加載模塊時實(shí)現(xiàn),分配資源工作在dualram_open函數(shù)內(nèi)實(shí)現(xiàn)。
配置接口寄存器,AT91RM9200具有一個EBI接口,可以方便的連接各種存儲設(shè)備,可以使用EBI接口中的SMC來控制讀寫,由CS4接口來控制雙端口RAM的使能信號,通過向相應(yīng)寄存器內(nèi)寫入控制字來實(shí)現(xiàn)ARM對雙端口RAM的端口初始化工作。
在初始化函數(shù)init_dualram中,用register_chrdev將雙端口RAM注冊為一個字符型設(shè)備,用request_irq為設(shè)備申請相應(yīng)的中斷資源,函數(shù)如下:
myirq=request_irq(AT91RM_IRQ1,dualport_inter,SA_INTERRUPT,"dualram",NULL)
在裝載驅(qū)動時進(jìn)行注冊和申請,在卸載模塊時必須進(jìn)行注銷,即在dualram_exit內(nèi)執(zhí)行unregister_chrdev和free_irq來釋放資源。
Linux無法直接訪問某一物理地址空間,必須通過虛擬地址空間的映射機(jī)制來完成訪問。映射工作在dualram_open函數(shù)內(nèi)完成,因此每次打開設(shè)備都會完成此工作。所要用到的地址資源和數(shù)據(jù)結(jié)構(gòu)定義如下:
#definedualram_base_addr0x60000000
#definedualram_sizeox3fff
u16*remaddr
通過使用函數(shù)remaddr=ioremap(dualram_base_addr,dualram_size);進(jìn)行虛擬地址映射,此后就可以使用remaddr來完成對實(shí)際雙端口RAM空間的訪問了。
為了有效的提高數(shù)據(jù)傳輸效率,驅(qū)動程序與應(yīng)用程序之間采用異步通知的機(jī)制,這樣上層應(yīng)用程序便可以知道RAM中的數(shù)據(jù)量是否達(dá)到閾值,而不用采用輪詢的方式,占用處理器資源。異步通知機(jī)制分三步完成,首先需要讓內(nèi)核知道驅(qū)動程序與哪個進(jìn)程通信,當(dāng)進(jìn)程使用系統(tǒng)函數(shù)fcntl執(zhí)行F_SETOWN命令時,設(shè)備文件擁有者(owner)的ID號會被記錄在flip-f_owner中,此時內(nèi)核知道了與驅(qū)動進(jìn)行通信的進(jìn)程,然后應(yīng)用程序調(diào)用fcntl的F_SETFL命令來激活異步通知機(jī)制,這樣新數(shù)據(jù)到達(dá)時輸入文件便可發(fā)送一個SIGIO信號到flip-f_owner中指定的進(jìn)程。
圖像數(shù)據(jù)到達(dá)后,Linux內(nèi)的應(yīng)用程序完成對數(shù)據(jù)的讀寫操作,寫操作函數(shù)為:dualram_write,就是利用copy_from_user把用戶空間的數(shù)據(jù)寫入到雙端口RAM中,讀操作函數(shù):dualram_read,就是利用copy_to_user把雙端口RAM中的數(shù)據(jù)讀入到用戶空間中[5,7].
4測試結(jié)果
視頻監(jiān)控系統(tǒng)的測試環(huán)境是ARM920T與TMS320C6211通過網(wǎng)絡(luò)與PC互連構(gòu)成一個簡單的局域網(wǎng)。通過網(wǎng)絡(luò)抓包軟件可以統(tǒng)計網(wǎng)絡(luò)的數(shù)據(jù)流量,通過CCS分析工具分析系統(tǒng)的實(shí)時性。系統(tǒng)的量化階距越高,圖像的壓縮比率越大,所獲得的圖像質(zhì)量越差,本系統(tǒng)設(shè)置的量化階距設(shè)置為75.經(jīng)測試本系統(tǒng)的主要參數(shù)如下:圖像的壓縮格式為JPEG,分辨率為BMP(240×160),編碼速度為15幀/秒,數(shù)據(jù)流量為50-200kbps,網(wǎng)絡(luò)采用UDP/IP協(xié)議,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新時代醫(yī)院電子病歷系統(tǒng)優(yōu)化與數(shù)據(jù)安全防護(hù)研究報告
- 爆破公司安全試題及答案
- 安全作業(yè)試題知識及答案
- 從能源到環(huán)保2025年可燃冰開采技術(shù)預(yù)研全視角報告001
- 安全生法試題及答案
- 安全生產(chǎn)責(zé)任制試題及答案
- 安全教培訓(xùn)試題及答案
- 中國廚藝學(xué)校教案課件
- 中國功夫教學(xué)大全課件
- 原發(fā)性高血壓的健康教學(xué)
- 社會體育指導(dǎo)與管理專業(yè)大學(xué)生職業(yè)生涯發(fā)展
- 反恐驗(yàn)廠管理手冊程序文件制度文件表單一整套
- 燒傷傷員入院處置技術(shù)
- 老舊小區(qū)改造、提升項目部與小區(qū)居民、單位協(xié)調(diào)方案
- 云南省玉溪市(2024年-2025年小學(xué)五年級語文)人教版期末考試(下學(xué)期)試卷及答案
- 反詐宣講培訓(xùn)課件
- 上海市幼兒園幼小銜接活動指導(dǎo)意見(修訂稿)
- 培訓(xùn)學(xué)校收費(fèi)和退費(fèi)管理制度
- Welcome Unit 開學(xué)第一課(課件)高中英語人教版必修第一冊
- 護(hù)理安全意識
- 鋼筋內(nèi)部比對作業(yè)指導(dǎo)書
評論
0/150
提交評論