<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è) > 嵌入式系統 > 設計應用 > 雙端口RAM在A(yíng)RM 與DSP通信系統中的應用

雙端口RAM在A(yíng)RM 與DSP通信系統中的應用

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

  3 數據通信的軟件實(shí)現

  本系統采用中斷控制方式來(lái)實(shí)現對的讀寫(xiě)操作。 主要負責圖像數據壓縮工作,壓縮后的數據傳送給.傳送數據時(shí), 向信令字單元3FFF 寫(xiě)入'55H',在 方產(chǎn)生中斷后, 讀信令字單元3FFF,如果是'55H',說(shuō)明數據正在傳輸,讀完數據后,向信令字單元3FFE 寫(xiě)入'AAH',代表讀完數據。 接收到中斷后,讀信令字單元3FFEH,如果為'AAH',表示傳輸數據成功。

  完成整個(gè)系統的實(shí)時(shí)控制,對的圖像數據進(jìn)行讀取然后經(jīng)過(guò)網(wǎng)絡(luò )傳遞給PC 機,因此需要驅動(dòng)程序來(lái)實(shí)現雙端口RAM與ARM之間的數據通信。驅動(dòng)程序是應用程序與硬件之間的接口,用戶(hù)可以通過(guò)驅動(dòng)程序來(lái)間接的實(shí)現對硬件的讀寫(xiě)控制操作。雙端口RAM 的驅動(dòng)程序主要任務(wù)是讀雙端口RAM 數據到用戶(hù)空間、把用戶(hù)空間命令寫(xiě)入雙端口RAM 相應地址以及相應雙端口RAM 產(chǎn)生的中斷。在驅動(dòng)程序中,最主要的結構便是file_operation,在里面包含了對文件的打開(kāi)、關(guān)閉、讀寫(xiě)和其他控制函數,file_operation 結構如下:

  在使用設備之前需要對設備進(jìn)行初始化,包括配置ARM 接口寄存器、注冊設備、申請中斷和分配虛擬地址空間等。配置寄存器和注冊申請工作在加載模塊時(shí)實(shí)現,分配資源工作在dualram_open 函數內實(shí)現。

  配置接口寄存器,AT91RM9200 具有一個(gè)EBI 接口,可以方便的連接各種存儲設備,可以使用EBI 接口中的SMC 來(lái)控制讀寫(xiě),由CS4 接口來(lái)控制雙端口RAM 的使能信號,通過(guò)向相應寄存器內寫(xiě)入控制字來(lái)實(shí)現ARM 對雙端口RAM 的端口初始化工作。

  在初始化函數init_dualram 中,用register_chrdev將雙端口RAM 注冊為一個(gè)字符型設備,用request_irq為設備申請相應的中斷資源,函數如下:

  myirq=request_irq(AT91RM_IRQ1,dualport_inter,SA_INTERRUPT,"dualram",NULL)

  在裝載驅動(dòng)時(shí)進(jìn)行注冊和申請,在卸載模塊時(shí)必須進(jìn)行注銷(xiāo),即在dualram_exit 內執行unregister_chrdev 和free_irq 來(lái)釋放資源。

  Linux 無(wú)法直接訪(fǎng)問(wèn)某一物理地址空間,必須通過(guò)虛擬地址空間的映射機制來(lái)完成訪(fǎng)問(wèn)。映射工作在dualram_open 函數內完成,因此每次打開(kāi)設備都會(huì )完成此工作。所要用到的地址資源和數據結構定義如下:

  #define dualram_base_addr 0x60000000

  #define dualram_size ox3fff

  u16 *remaddr

  通過(guò)使用函數remaddr = ioremap (dualram_base_addr ,dualram_size);進(jìn)行虛擬地址映射,此后就可以使用remaddr 來(lái)完成對實(shí)際雙端口RAM 空間的訪(fǎng)問(wèn)了。

  為了有效的提高數據傳輸效率,驅動(dòng)程序與應用程序之間采用異步通知的機制,這樣上層應用程序便可以知道RAM 中的數據量是否達到閾值,而不用采用輪詢(xún)的方式,占用處理器資源。異步通知機制分三步完成,首先需要讓內核知道驅動(dòng)程序與哪個(gè)進(jìn)程通信,當進(jìn)程使用系統函數fcntl 執行F_SETOWN 命令時(shí),設備文件擁有者(owner)的ID 號會(huì )被記錄在flip->f_owner 中,此時(shí)內核知道了與驅動(dòng)進(jìn)行通信的進(jìn)程,然后應用程序調用fcntl 的F_SETFL 命令來(lái)激活異步通知機制,這樣新數據到達時(shí)輸入文件便可發(fā)送一個(gè)SIGIO 信號到flip->f_owner 中指定的進(jìn)程。

  圖像數據到達后,Linux 內的應用程序完成對數據的讀寫(xiě)操作,寫(xiě)操作函數為:dualram_write,就是利用copy_from_user 把用戶(hù)空間的數據寫(xiě)入到雙端口RAM中,讀操作函數:dualram_read,就是利用copy_to_user把雙端口RAM 中的數據讀入到用戶(hù)空間中[5,7].

  4 測試結果

  視頻監控系統的測試環(huán)境是ARM 920T 與TMS320C6211 通過(guò)網(wǎng)絡(luò )與PC 互連構成一個(gè)簡(jiǎn)單的局域網(wǎng)。通過(guò)網(wǎng)絡(luò )抓包軟件可以統計網(wǎng)絡(luò )的數據流量,通過(guò)CCS 分析工具分析系統的實(shí)時(shí)性。系統的量化階距越高,圖像的壓縮比率越大,所獲得的圖像質(zhì)量越差,本系統設置的量化階距設置為75.經(jīng)測試本系統的主要參數如下:圖像的壓縮格式為JPEG,分辨率為BMP(240×160),最大編碼速度為15 幀/秒,數據流量為50-200kbps,網(wǎng)絡(luò )采用UDP/IP 協(xié)議,網(wǎng)絡(luò )接口為RJ-45 100Mbps.

  5 結語(yǔ)

  本文結合了嵌入式圖像數據采集系統的設計,介紹了通過(guò)雙端口RAM 實(shí)現ARM920T 與 TMS320C6211 DSP 之間的通信。利用雙端口RAM 的強大功能可以實(shí)現各種形式的處理器之間的高速數據通信。在信號處理領(lǐng)域和高速數據采集中,利用雙端口RAM的幾種不同仲裁機制,可以完成不同的數據傳送要求。

  用它構成的接口電路具有傳送速率高、實(shí)時(shí)性好、可靠性高、電路簡(jiǎn)單等優(yōu)點(diǎn)。

通信相關(guān)文章:通信原理



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

關(guān)鍵詞: 雙端口RAM ARM DSP 通信系統

評論


相關(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>