freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

碩士畢業(yè)論文智能樓宇中基于ip網(wǎng)絡(luò)的音頻廣播系統(tǒng)數(shù)字化終端的研究(存儲(chǔ)版)

  

【正文】 硬件及操作系統(tǒng)的移植 嵌入式系統(tǒng)已經(jīng)廣泛的應(yīng)用于科技領(lǐng)域和日常生活的每個(gè)角落,而ARM就是應(yīng)用最廣泛的嵌入式處理器之一。為了降低整個(gè)系統(tǒng)的成本, S3C2410提供了以下豐富的內(nèi)部設(shè)備: ? , , I/O供電; 6 ? 具備 16KB的 ICache和 16KB的 DCache/MMU; ? 外部存儲(chǔ)控制器( SDRAM控制和片選邏輯); ? LCD控制器(最大支持 4K色 STN和 256K色 TFT)提供 1通道 LCD專用DMA; ? 4通道 DMA并有外部請(qǐng)求引腳; ? 3通道 UART/2通道 SPI; ? IIS總線接口; ? SD卡接口和 MMC卡接口; ? 2個(gè) USB主機(jī)接口, 1個(gè) USB設(shè)備接口; ? 4通道 PWM定時(shí)器和 1通道內(nèi)部定時(shí)器; ? 16位看門狗定時(shí)器; ? 117個(gè)通用 I/O口和 24通道外部中斷源; ? 8通道 10位 ADC和觸摸屏接口; ? 具有日歷功能的 RTC; ? 具有 PLL片上時(shí)鐘發(fā)生器; SDRAM主要是用來(lái)存放執(zhí)行代碼和變量,是系統(tǒng)啟動(dòng)后主要進(jìn)行存取操作的存儲(chǔ)器,由于 SDRAM需要定時(shí)刷新以保持存儲(chǔ)的數(shù)據(jù),因而要求為處 理器具有刷新控制邏輯。僅需 即可完成系統(tǒng)的編成與擦除操作。 具有正常傳輸、DMA、傳輸 /接收三種工作模式 [5]。在宿主機(jī)上對(duì)即將運(yùn)行在目標(biāo)機(jī)上的應(yīng)用程序進(jìn)行編譯,生成可在目標(biāo)機(jī)上運(yùn)行的代碼格式。接下來(lái)就可以進(jìn)行 TFTP服務(wù) 和 NFS服務(wù)的配置。使用下面命 令啟動(dòng)或重啟 NFS服務(wù): /etc/ Uboot 的移植 BootLoader是在操作系統(tǒng)內(nèi)核運(yùn)行之前的一段程序,通過(guò)這段小程序,可以初始化硬件設(shè)備,建立內(nèi)存空間的映射表,從而建立適當(dāng)?shù)南到y(tǒng)軟硬件環(huán)境,為最終調(diào)用操作系統(tǒng)內(nèi)核做好準(zhǔn)備。 ( 5)跳轉(zhuǎn)到階段 2的 C程序入口點(diǎn)。此 版本已經(jīng)支持S3C2410。內(nèi)核的編譯是根據(jù) makefile文件的指示進(jìn)行的, makefile文件來(lái)組織內(nèi)核的各模塊之間的關(guān)系。打開(kāi)終端窗口,切換到 Linux : make menuconfig進(jìn)行內(nèi)核配置。這種壓縮方式編譯出來(lái)的內(nèi)核 鏡像 文件小,非常適合嵌入式系統(tǒng)使用 [10]。 umount /mnt/initrd gizp – best c 到此一個(gè)壓縮的 RAMdisk鏡像 。 Linux操作系統(tǒng)將所有的設(shè)備全部看成文件,并通過(guò)文件的操作界面進(jìn)行操作。 由于 Linux 中將設(shè)備當(dāng)做文件處理,所以對(duì)設(shè)備進(jìn)行 操作的調(diào)用格式與對(duì)文件的操作類似,主要包括 open()、 read()、 write()、 ioctl()、close()等。字符型設(shè)備驅(qū)動(dòng)程序提供如下幾個(gè)入口點(diǎn): ? open入口點(diǎn)。獨(dú)占設(shè)備必須標(biāo)記設(shè)備方可再次使用。對(duì)字符設(shè)備文件進(jìn)行寫操作將調(diào)用write子程序。在UDA1341驅(qū)動(dòng)程序中 , 主要用到數(shù)字音頻設(shè)備( audio)和混頻器( mixer),它們對(duì)應(yīng)的設(shè)備 文件 分別是 /dev/dsp和 /dev/mixer。 參數(shù) pathname是將要被打開(kāi)的設(shè)備文件的名稱,對(duì)于聲卡來(lái) 講一般是 /dev/dsp。 系統(tǒng)調(diào)用 write和系統(tǒng)調(diào)用 read在很 相 似的 。一旦應(yīng)用程序調(diào)用了 close系統(tǒng)調(diào) 用, Linux內(nèi)核就會(huì)釋放與之相關(guān)的各種資源,因此建議在不需要的時(shí)候盡量及時(shí)關(guān)閉已經(jīng)打開(kāi)的設(shè)備。需要處理大量音頻數(shù)據(jù)的音頻設(shè)備驅(qū)動(dòng)程序,可以使用雙緩沖。在 CPU負(fù)載較大的情況下,將可能出現(xiàn)數(shù)據(jù)丟失的問(wèn)題。這個(gè)接口可以在 ioctl中實(shí)現(xiàn)。 open例程需要完成下面的任務(wù) :通過(guò)程序控制音頻設(shè)備 ,并且為設(shè)備準(zhǔn)備好工作參數(shù) (包括速度 、 聲道 、采樣寬度 )。 相關(guān)技術(shù)的支撐 由于音頻 壓縮被視為主要的開(kāi)放技術(shù),有許多其它的相關(guān)技術(shù)為 MP3的發(fā)展做出了貢獻(xiàn)。每個(gè)后繼的層次都有更高的壓縮比,但需要更復(fù)雜的編碼解碼器。 層 3使用 26 比較好的臨界頻帶濾波器,把聲音頻帶分成非等帶寬的子帶,心理聲學(xué)模型除了使用頻域掩蔽特性和時(shí)間掩蔽特性之外,還考慮了立體聲數(shù)據(jù)的冗余 ,并且使用了霍夫曼 (Huffman)編碼器。比例因子的作用是充分利用量化器的量化范圍,通過(guò)比特分配和比例因子相配合,可以表示動(dòng)態(tài)范圍超過(guò) 120dB的樣本。 MP3 編解碼的基本原理 MPEG聲音壓縮定義了 3個(gè)分明的層次,它們的基本模型是相同的。任何人都可以獲得該標(biāo)準(zhǔn)的規(guī)范。 由于錄音和放音兩個(gè)程序的實(shí)現(xiàn)比較相近, 且本論文主要使用放音部分的程序,故 下面 只給出放音部分的流程圖 。不同的音頻應(yīng)用,精度不一樣,需要的緩存大小也不一樣。如果是兩個(gè) 4K字節(jié)的緩存,那么應(yīng)用程序就只有 緩存中的數(shù)據(jù)并把它存到 Flash芯片中 (或者傳輸?shù)狡渌O(shè)備中 )。 這樣就能通過(guò) DMA直接將需要回放或是錄制的聲音數(shù)據(jù)存放在內(nèi)核的 DMA緩存區(qū)中。 close 系統(tǒng)調(diào)用 當(dāng)應(yīng)用程序使用完聲卡之后,需要用 close系統(tǒng)調(diào)用將其關(guān)閉,以便及時(shí)釋放占用的硬件資源,其函數(shù)原型如下所示: int close(int fd)。 如果 read系統(tǒng)調(diào)用成功完成,它將返回從聲卡實(shí)際讀取的字節(jié)數(shù),通常情況會(huì)比 count的值小一些;如果 read系統(tǒng)調(diào)用失敗,它將返回 ?1,同時(shí)還會(huì)設(shè)置全局變量 error,來(lái)指明是什么原因?qū)е铝隋e(cuò)誤的發(fā)生。 聲卡驅(qū)動(dòng)程序提供 的 /dev/mixer是用來(lái)控制各種輸入輸出的音量大小的。 在 Linux系統(tǒng),設(shè)備驅(qū)動(dòng)程序所提供的這組入口點(diǎn)由一個(gè)文件操作結(jié)構(gòu)向系統(tǒng)進(jìn)行說(shuō)明。往設(shè)備上寫數(shù)據(jù)。關(guān)閉一個(gè)設(shè)備。 3.中斷服務(wù)程序,又稱為驅(qū)動(dòng)程序的下半部,由 Linux系統(tǒng)來(lái)接收硬件中斷,再由系統(tǒng)調(diào)用中斷服務(wù)子程序 [ 12]。 設(shè)備文件的屬性由三部分信息組成:第一部分是文件的類型,第二部分是一個(gè)主設(shè)備號(hào),第三部分是一個(gè)次設(shè)備號(hào)。 驅(qū)動(dòng)程序基礎(chǔ) 設(shè)備驅(qū)動(dòng)程序?qū)嶋H是處理和操作硬件控制器的軟件,從本質(zhì)上講,是內(nèi)核中具有最高特權(quán)級(jí)的、駐留內(nèi)存的、可共享的底層硬件處理例程。 (3)創(chuàng)建目錄并安裝文件: cd /mnt/initrd mkdir bin dev ete lib mnt proc sbin sys usr (4)創(chuàng)建設(shè)備節(jié)點(diǎn),添加相應(yīng)的程序。 輸入 make命令進(jìn)行內(nèi)核編譯,編譯完成后,會(huì)生成鏡像文件 zImage。系統(tǒng)分區(qū)后, Linux的啟動(dòng)的時(shí)候就十分方便,當(dāng) BootLoader程序想要裝載 Linux內(nèi)核時(shí),不需要特別的操作,只需要從 Flash上偏移量為 1M的地方裝載 Linux內(nèi)核到內(nèi)存中,然后跳轉(zhuǎn)到內(nèi)核中裝載 Linux內(nèi)核的起始地址,移交控制權(quán)給內(nèi)核。 ,在性能,可量測(cè)性支持和可用性方面有較大的提 高。 ( 5)調(diào)用內(nèi)核。 ( 3)拷貝 BootLoader階段 2的代碼到 RAM空間中。 在 /etc/exports中添加一行 ,目的是添加共享目錄 : /opt/target/rootfs *(rw, norootsquash, noallsquash) 串口通信很適合作為控制臺(tái),Linux系統(tǒng)已經(jīng)有現(xiàn)成的控制臺(tái)操作程序 mini提供使用。必要時(shí)還要對(duì)源碼進(jìn)行一定的修改,并將其移植到目標(biāo)平臺(tái)上; (4)制作 RAMdisk來(lái)掛接 Linux的根文件系統(tǒng),并在 RAMdisk添加自己的應(yīng)用程序; 下面就是從這四個(gè)方面詳細(xì)地分析和說(shuō)明嵌入式 Linux系統(tǒng)在S3C2410上的移植過(guò)程。 UDA1341是 Philips公司推出的 一款經(jīng)濟(jì)型 音頻芯片 ,用于實(shí)現(xiàn)模擬音頻信號(hào)的采集和數(shù)字音頻信號(hào)的模擬輸出,并通過(guò) IIS數(shù)字音頻接口,實(shí)現(xiàn)音頻信號(hào)的數(shù)字化處理。本系統(tǒng)采用的 K9F1208UDMYCB0為 Nand Flash存儲(chǔ)器。 系統(tǒng) 硬件概述 如圖 21所示是 S3C2410的系統(tǒng)框圖 。 音頻解碼軟件的實(shí)現(xiàn)。同時(shí)還可以完善智能樓宇的遠(yuǎn)程數(shù)字音視頻監(jiān)控系統(tǒng),并在該系統(tǒng)的基礎(chǔ)上進(jìn)行改造與擴(kuò)展,可以應(yīng)用到遠(yuǎn)程教學(xué)、遠(yuǎn)程醫(yī)療等多種多媒體通 4 信 。對(duì)于重復(fù)信息、文本信息、郵件信息的處理則可通過(guò)計(jì)算機(jī)直接播發(fā)而不需要人工干預(yù)??蓪ぶ肪幋a控制器,可接收主控計(jì)算機(jī)通訊,通過(guò)主控計(jì)算機(jī)的操作,實(shí)現(xiàn)自動(dòng)或手動(dòng)尋址編碼控制。因此,開(kāi)發(fā)基于 IP網(wǎng)絡(luò) 傳輸 的 數(shù)字化廣播系統(tǒng)有其重要的意義。 目前 的 智能建筑中,數(shù)據(jù)和語(yǔ)音信息交換系統(tǒng) 已經(jīng) 應(yīng)用了較為成熟的綜合布線技術(shù),采用了 ANSI/TIA/EIA568國(guó)際標(biāo)準(zhǔn),有較強(qiáng)的通用性和可管理性。之后對(duì)網(wǎng)絡(luò)廣播進(jìn)行了 一系列的測(cè)試,來(lái)驗(yàn)證系統(tǒng)能否可靠的運(yùn)行。 全文共分五章。在音頻處理領(lǐng)域,數(shù)字音頻技術(shù)逐漸取代了傳統(tǒng)的模擬音頻 處理方式。從 uboot,內(nèi)核的編譯和配置,文件系統(tǒng)等幾個(gè)方面詳細(xì)的介紹了移植的方法和內(nèi)容。 Embedded Processor ARM。 廣播的信息難以實(shí)現(xiàn)動(dòng)態(tài)分組廣播或單點(diǎn)廣播,許多管理須人工介入,智能程度差。 目前國(guó)內(nèi)對(duì)“ 智能建筑中基于 IP 網(wǎng)絡(luò)的數(shù)字廣播系統(tǒng)” 的立項(xiàng)或研究尚未見(jiàn)報(bào)道,相關(guān)的領(lǐng)域如多媒體 網(wǎng)絡(luò) 技術(shù) 、VOIP、 VOD、 數(shù)字視頻監(jiān)視系統(tǒng) 、 IPTV 等均是當(dāng)前的研究熱點(diǎn)。 國(guó)外的基于 IP 網(wǎng)絡(luò)的數(shù)字音頻廣播系統(tǒng)也處于熱門研究階段,也出第一章 緒論 3 現(xiàn)了不少成功的產(chǎn)品,例如日本的 TOA 公司生產(chǎn)的 AM 系列,美國(guó)的 CDKPA(希迪可) 公司 生產(chǎn)的 CDK6000 數(shù)字廣播系統(tǒng) 等 [3]。 (3) 以太網(wǎng)系統(tǒng)的綜合布線技術(shù)、傳輸模式和傳輸協(xié)議均有可遵循的國(guó)際標(biāo)準(zhǔn),從而保證了系統(tǒng)的可靠性、靈活性、兼容性和可擴(kuò)展性。主要包括以下三個(gè)方面的內(nèi)容: 硬件平臺(tái)的建立以及操作系統(tǒng)的移植。目前最流行的當(dāng)屬 ARM7和 ARM9兩個(gè)系列。 S3C2410在片內(nèi)具有獨(dú)立的 SDRAM刷新控制邏輯,可以方便的與 SDRAM接口。 CS8900A是用于嵌入式設(shè)備的低成本以太網(wǎng)控制器。 下圖 22為硬件實(shí)物圖。交叉編譯環(huán)境是一個(gè)由編譯器、連接器和 解釋器組成的綜合開(kāi)發(fā)環(huán)境。 (1) TFTP是目標(biāo)板下載 鏡像 所需要的網(wǎng)絡(luò)服務(wù)。對(duì)于嵌入式系統(tǒng),BootLoader是基于特定硬件平臺(tái)來(lái)實(shí)現(xiàn)的, ARM處理器芯片商很多,每種芯片的開(kāi)發(fā)板都有自己的 BootLoader. Uboot是遵循 GPL條款的開(kāi)放源碼項(xiàng)目,并且已經(jīng)成為 ARM 平臺(tái)事實(shí)上的標(biāo)準(zhǔn) BootLoader。 10 BootLoader的階段 2通常用 C語(yǔ)言來(lái)實(shí)現(xiàn),這樣可以實(shí)現(xiàn)更復(fù)雜的功能,而 且代碼會(huì)具有更好的可讀性和可移植性。 (2) 解壓后配置編譯 Uboot: tar jxvf (3)在 Makefile中修改交 叉編譯工具鏈前綴 CROSS_COMPILE: CROSS_COMPILE==arm— linux一 (4) 配置編譯 smdk2410板: make smdk2410config; make (5) 移植 修改 Makefile:在頂層 Makefile文件添加如下兩行: S3C241Oconfig: unconfig /mkconfig $ (: _config=) arm arm920t s3c2410 其中 ARM 是 CPU 的種類, arm920t是 ARM CPU對(duì)應(yīng)的代 碼目錄,在board目標(biāo)下添加板子專用目錄, s3c2410是自己主板對(duì)應(yīng)的目錄。我們首先修改 Linux makefile文件,我們需修改的內(nèi)容是目標(biāo)代碼的類型和為編譯內(nèi)核指定一個(gè)編譯器。 在配置時(shí),大部分選項(xiàng)可以使用其缺 省值,只有小部分需要根據(jù)用戶不同需要選擇。 制作 RAMdisk RAMdisk就是把指定的內(nèi)存區(qū)域模擬成磁盤設(shè)備,它屬于塊設(shè)備驅(qū)動(dòng)程序,基于 RAMdisk的塊設(shè)備,可以建立 EXT2格式的磁盤文件系統(tǒng)。 最后通過(guò) Uboot將內(nèi)核鏡像和 RAMdisk鏡像寫到 Flash中。對(duì)用戶程序而言,設(shè)備驅(qū)動(dòng)程序隱藏了設(shè)備的具體細(xì)節(jié),對(duì)各種不同設(shè)備提供了一致的接口,一般來(lái)說(shuō),是把設(shè)備映射為一個(gè)特殊的設(shè)備文件,用戶程序可以像對(duì)其他文件一樣對(duì)此設(shè)備文件進(jìn)行操作。應(yīng)用程序發(fā)出系統(tǒng)調(diào)用命令后,會(huì)從用戶態(tài)轉(zhuǎn)到核心態(tài),通過(guò)內(nèi)核將 open()這樣的系統(tǒng)調(diào)用轉(zhuǎn)換成對(duì)物理設(shè)備的操作。打開(kāi)設(shè)備準(zhǔn)備 I/O操作。 ? read入口點(diǎn)。 ? ioctl入口點(diǎn)。 故有兩個(gè)file_operations數(shù)據(jù)結(jié)構(gòu) :s3c2410_audio_fops和s3c2410_mixer_fops。參數(shù) flags用來(lái)指明應(yīng)該以什么方式打開(kāi)設(shè)備文件,它可以是 O_RDONLY、 O_WRONLY或者 O_RDWR,分別表示以只讀、只寫或者讀寫的方式打開(kāi)設(shè)備文件;參數(shù) mode通常是可選的,它只有在指定的設(shè)備文件不存在時(shí)才會(huì)用到,指明新創(chuàng)建的文件應(yīng)該具有怎樣的權(quán)限。 參數(shù) fd同樣是設(shè)備文件的標(biāo)志符,它也是通過(guò)之前的 open系統(tǒng)調(diào)用獲得的;參數(shù) buf是指向緩沖區(qū)的字符指針,它保存著即將向聲卡寫入的數(shù)據(jù);參數(shù) count則用來(lái)限定向聲卡寫入的最大字節(jié)數(shù)。 UDA1341 驅(qū)動(dòng)程序分析 UDA1341 的初始化 該模塊由 s3c2410_uda1341_init(void)函數(shù)實(shí)現(xiàn) ,完成 DMA通道的分
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1