<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è) > 嵌入式系統 > 設計應用 > 基于DSP/ARM的網(wǎng)絡(luò )硬盤(pán)錄像機的設計方案

基于DSP/ARM的網(wǎng)絡(luò )硬盤(pán)錄像機的設計方案

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

本文引用地址:http://dyxdggzs.com/article/148247.htm

  在本中,硬盤(pán)控制器芯片使用Silicon Image公司的SiI3512雙口SATA 控制器來(lái)實(shí)現SATA 功能。

  SiI3512 直接掛載在S3C2510 的PCI 總線(xiàn)上為系統提供SATA 接口。連接方式如圖2 所示:

圖2 SiI3512 與S3C2510 的連接方式

圖2 SiI3512 與S3C2510 的連接方式。

  2.4 電源模塊

  2.4.1 供電電路

  整個(gè)電路板采用+5 V 電壓供電,可以從外部引入,也可以從擴展的PCI 接口引入。DM642 芯片需要2 個(gè)獨立的電壓,CPU 內核電壓GVDD(+1.4 V)和外圍I/O 電壓DVDD(+3.3 V)。這兩個(gè)電壓在供電時(shí)需要嚴格按照順序進(jìn)行,即GVDD 要比DVDD 上電早,至少不能晚于DVDD.中采用2 片TI 公司專(zhuān)為高性能DSP、FPGA、ASIC 和微處理器的應用而的電源芯片TPS54310,分別給DM642 提供CVDD 和DVDD 電壓。在電路連接上將TPS54310(1)的PWRGD引腳和TPS54310(2)的SS/EN引腳相連。

  當(1)的輸出電壓高于1.2 V 時(shí),芯片(2)開(kāi)始工作;當這個(gè)值達到穩定的+1.4 V 后,PWRGD 引腳輸出高電平送到芯片(2)的SS/EN 引腳。這就保證了CPU 內核的上電時(shí)間早于I/O 的上電時(shí)間,如圖3 所示:

圖3 電源電路。

圖3 電源電路。

  2.4.2 電源監測電路

  為了保證DM642 芯片在電源未達到要求的電平時(shí),不會(huì )產(chǎn)生不受控制的狀態(tài),而且允許系統中的各個(gè)芯片在任意時(shí)刻可以通過(guò)復位來(lái)調整工作狀態(tài),這就需要在系統中加入一個(gè)電源監測電路,.該電路能確保在系統的加電過(guò)程中,CVDD 和DVDD 達到要求的電平之前,DSP 始終處于復位狀態(tài)。選用了TI 公司生產(chǎn)的TPS3823-33 芯片,其固定復位信號時(shí)間長(cháng)達200 ms,能滿(mǎn)足系統中所有芯片的復位需求。芯片帶有一個(gè)看門(mén)狗電路,通過(guò)WDI 引腳接收來(lái)自CPU 的定時(shí)信號,避免發(fā)生系統程序跑飛的情況。

  3 系統的軟件設計

  3.1 系統的軟件設計

  該系統的軟件主要包括三個(gè)部分:?jiǎn)?dòng)程序,內核與根文件系統,專(zhuān)業(yè)芯片驅動(dòng)及應用。為了開(kāi)發(fā)和升級的方便,我們將根文件系統作成RAMDISK 的格式。據此我們將FlashROM 分為3 個(gè)區:1 Cramfs,2 Boot-Loader,3 Kernel+RAMDISK.本系統的啟動(dòng)程序用的是DENX 的U-boot-1.1.0.它的主要工作是初始化硬件,為加載操作系統準備必要的環(huán)境及其參數,同時(shí)可以與開(kāi)發(fā)主機通訊,下載程序到SDRAM 和Flash.通過(guò)修改它的一些配置文件,可以完成對目標系統Memory Controller,memory map以及I/O,PCI,Flash,Ethernet controller,Serial等硬件設施的初始化。

  對于芯片驅動(dòng)程序的編寫(xiě),一些通用設備驅動(dòng),如以太網(wǎng)卡驅動(dòng)已經(jīng)在內核中,對于系統的一些專(zhuān)業(yè)芯片的驅動(dòng)由于其特殊性,將其和應用做成Cramfs文件系統格式,在目標板的的操作系統啟動(dòng)時(shí)以module 的形式進(jìn)行加載,方便修改和升級。編寫(xiě)驅動(dòng)程序可以按照Linux 下編寫(xiě)驅動(dòng)程序的規則來(lái)編寫(xiě)。編寫(xiě)的驅動(dòng)程序應該具有以下功能:a)對設備的初始化和釋放:b)數據從內核傳到硬件和從硬件讀取數據:c)讀取應用程序傳遞給設備文件的數據和回應應用程序請求的數據:d)檢測和處理設備出現的錯誤。

  設備驅動(dòng)程序的實(shí)質(zhì)就是中斷處理。Linux 中斷處理程序分為上半部和下半部。上半部即一般的中斷服務(wù)程序, 由硬件中斷觸發(fā),一般運行在關(guān)中斷的方式下,應當盡可能的短小,處理盡可能的快:下半部運行在開(kāi)中斷和任務(wù)串行化的環(huán)境下,處理需要較長(cháng)時(shí)間的任務(wù)。驅動(dòng)程序上半部在處理完實(shí)時(shí)性很強的任務(wù)后,用Queue-task 函數將下半部處理函數掛入立即隊列,用mark-bh 函數來(lái)激活立即隊列,下半部就可以最優(yōu)先的被執行。

  3.2 應用程序的設計

  應用程序的設計可以采用多線(xiàn)程或者多進(jìn)程的方式。多線(xiàn)程的優(yōu)點(diǎn)在于線(xiàn)程比進(jìn)程要小,可以使應用更輕量,線(xiàn)程間通訊方便,缺點(diǎn)就在于由于線(xiàn)程使用同一個(gè)地址空間,如果一個(gè)線(xiàn)程出了問(wèn)題,將可能影響到整個(gè)系統;多進(jìn)程各自占有一份內存空間,因此可以增強系統的健壯性,但是多進(jìn)程增加了系統的開(kāi)銷(xiāo),同時(shí)進(jìn)程間通訊較復雜。結合我們系統的實(shí)際,考慮到各個(gè)線(xiàn)程通訊的重要性,我們采取多進(jìn)程多線(xiàn)程的方式,在軟件上增加一個(gè)與主進(jìn)程并行的守護進(jìn)程,在硬件上設置看門(mén)狗,以增強系統的健壯性。

  4 遠程控制與通信鏈路的建立

  本設計采用PPP 串行通信接口協(xié)議方式。PPP(PointtoPointProtocal,點(diǎn)對點(diǎn)協(xié)議)協(xié)議中包含3 個(gè)部分:

  在串行鏈路上封裝IP 數據報的方法;建立、配置及測試數據鏈路的鏈路控制協(xié)議(LCP);不同層協(xié)議的控制協(xié)議(NCP)。PPP 具有很多優(yōu)勢;支持循環(huán)冗余檢測、支持通信雙方進(jìn)行IP 地址動(dòng)態(tài)協(xié)商、對TCP 和IP 報文進(jìn)行壓縮、認證協(xié)議支持(CHAP 和PAP)等。

  PPP 的實(shí)現可以通過(guò)2 個(gè)后臺任務(wù)來(lái)完成,協(xié)議控制任務(wù)和寫(xiě)任務(wù)。協(xié)議控制任務(wù)控制各種PPP的控制協(xié)議,包括LCP、NCP、CHAP 和PAP.它用來(lái)處理連接的建立、連接方式的協(xié)商、連接用戶(hù)的認證以及連接中止。寫(xiě)任務(wù)用來(lái)控制PPP 設備的數據發(fā)送。數據報的發(fā)送過(guò)程,就是通過(guò)寫(xiě)任務(wù)往串行接口設備寫(xiě)數據的過(guò)程,當有數據報準備就緒,PPP 驅動(dòng)通過(guò)信號燈激活寫(xiě)任務(wù),使之完成對串行接口設備的數據發(fā)送過(guò)程。PPP 接收端程序通過(guò)在串行通信設備驅動(dòng)中加入hook程序來(lái)實(shí)現。在串行通信設備接收到1 個(gè)數據之后,串行設備的中斷服務(wù)程序(ISR)調用PPP 的ISR.當1 個(gè)正確的PPP數據幀接收之后,PPP 的ISR 通過(guò)調度程序調用PPP輸入程序,然后PPP 輸入程序從串行設備的數據緩存中將整個(gè)PPP 數據幀讀出,根據PPP 的數據幀規則進(jìn)行處理,也就是分別放入IP 輸入隊列或者協(xié)議控制任務(wù)的輸入隊列。

  5 總結

  我們采用ARM 和DSP 芯片的雙核結構組建了一種視頻服務(wù)器。以DM642 和S3C2510 分別作為視頻板和主機板的核心芯片,H.264 作為視頻壓縮,操作系統選用了uclinux.本系統充分利用了ARM 和DSP 的各自特點(diǎn),充分發(fā)揮ARM 的事件處理控制能力和DSP 對數字視頻大吞吐量要求,同時(shí)通過(guò)優(yōu)選主要芯片,努力提高整機性?xún)r(jià)比。本系統可同時(shí)輸入16 路視頻信號,在保障視頻質(zhì)量的前提下,適于當前不同帶寬的網(wǎng)絡(luò )要求。


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

評論


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