999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式數字音頻解碼系統的設計與實現

2013-12-31 00:00:00陳其松
中國電子商情 2013年22期

引言:研究低成本、高品質的數字音頻解碼系統的設計與實現。解碼系統硬件以S3C2410微處理器、存儲器芯片以及UDA1341TS立體聲音頻解碼芯片為基本框架,實現音頻的采集、存儲和解碼播放。軟件完成操作系統、設備驅動、數字濾波以及解碼程序的移植。本解碼系統具有電路設計簡單,抗干擾性能好,解碼質量好的優點。

憑借體積小、功耗低、集成度高,處理速度快等優點[1],嵌入式系統作為現代計算機技術重要的組成部分已得到廣泛應用。嵌入式數字音頻系統可以實現對音頻信號的采集、存儲、處理、壓縮和解碼播放等功能,已成為當今嵌入式系統應用研究的熱門領域[2]。

本設計以嵌入式系統和數字音頻系統為基礎,研究嵌入式技術在數字音頻系統中的應用。

一、系統體系結構

本系統處理器選用ARM處理器。以市場普及程度高且價格較低的三星S3C2410微處理器和HYUNDAI公司的存儲器芯片以及Philips公司的UDA1341TS立體聲音頻解碼芯片為基本框架,實現音頻的采集、存儲、去噪及解碼播放。

二、硬件結構

本設計以UP-TECH 2410開發板為實驗系統的硬件平臺,該平臺核心資源包含S3C2410微處理器及系統應用開發的大部分設備。

(一)ARM處理器

S3C2410是三星公司推出的一款32位RISC處理器,其內核基于ARM920T,采用0.18微米工藝,其主頻達到203MHZ,帶有MMU功能,同時采用新型總線結構,可以實現MMU、AMBA BUS、Harvard的高速緩沖體系結構,支持Thumb16位的壓縮指令集,能以較小的存儲空間需求,獲得32位的系統性能。

(二)IIS音頻接口

IIS(Inter-IC-Sound)總線是PHILIPS公司提供的串行數字音頻總線接口。S3C2410的IIS接口提供單獨發送/接收數據模式和同時發送接收數據模式,其中的單獨發送/接收模式又分為正常傳輸模式和DMA傳輸模式。

(三)音頻編解碼芯片

PHILIPS公司出品的全雙工低功耗音頻編、解碼專用芯片UDA1341TS作為音頻文件的解碼芯片[4]。芯片采用SSOP28封裝。該芯片集成了ADC、DAC、數字自動增益控制、編碼增益控制,該芯片支持IIS總線格式,數據傳輸字長可為16位,18位,20位。

三、軟件設計

(一)開發環境

ADS是Metrowerks公司于1993年開發的一套應用于嵌入式軟件開發的新一代集成開發環境,是ARM處理器平臺下最主要的開發工具也是目前最成熟的ARM開發工具。

(二)引導程序的移植

引導加載程序是系統加電后運行的第一段軟件代碼,BIOS進行CPU初始化,配置其他硬件并完成硬件檢測和資源分配,接著判斷出事哪一個硬盤包含了操作系統,再把MBR中的Bootloader讀到系統的RAM中,最后將控制權交給操作系統的Bootloader,跳轉到內核的入口地址處運行,隨即啟動操作系統,再由操作系統引導其他應用程序。

(三)系統內核的移植

操作系統移植的主要工作是修改與處理器相關的文件。在S3C2410上的移植UC/OS操作系統時微處理器必須滿足[5]:

(1)開發平臺的C編譯器必須能產生可重入代碼,可重入的代碼指得是一個函數可以被多個任務調用,而不必擔心會使數據破壞;

(2)程序中可以通過OS_ENTER_CRITICAL()或者OS_EXIT_CRITICAL()宏來控制系統關閉或打開中斷;

(3)UC/OS中通過處理器產生定時器的中斷來實現多任務之間的調度,所以處理器必須支持中斷和產生一定的定時中斷的能力,ARM920T處理器可以產生定時器中斷;

(4)寄存器的入棧和出棧是UC/OS操作系統中多任務調度的基礎,UC/OS中進行任務調度時,會把當前任務的CPU寄存器存放到該任務的堆棧中,再從另一個任務堆棧中恢復工作寄存器。

(四)S3C2410平臺的音頻驅動程序

設備驅動程序的主要功能有:⑴對設備進行初始化和釋放;⑵啟動或停止設備的運行;⑶把設備上的數據傳送到內存;⑷把數據從內存傳送到設備;⑸檢測設備狀態,處理設備出現的錯誤。

IIS接口上連接音頻編解碼芯片UDA1341TS的驅動程序包括了對UDA1341TS的L3接口的控制,在linux內核下音頻驅動程序存放在drivers/sound/S3C2410_uda1341.c文件夾下,驅動程序的入口在S3C2410_uda1341.init函數中,驅動程序的開發要根據實際的硬件結構完成接口函數的功能定義。

(五)wav文件的讀取過程分析

首先在ADS環境下建立新工程,初始化IIS包括對IISMOD、IISFCON、IISPSR、IISCON的初始化,再進一步初始化DMA寄存器。

讀取wav文件數據的過程是預先打開文件取得文件的結構指針,再判斷文件指針是否為空,如為空,則在液晶屏上提示錯誤,倘若文件指針不為空,則讀取文件信息并顯示。假設Text Filename 為打開的文件名,其可以根據wav文件名隨意設置,在字符串數組中定義為:

char TextFilename[]=\"/sys/ucos/fj/gequ.wav\"。

編寫程序代碼如下:

pfile= fopen(Text Filename,\"r\"); //打開文件

if(pfile==NULL) { //文件打開失敗

LCD_printf(\"\n Can't Open file!\n\");

while(1);

OSTimeDly(1000); }

DataCount=fread((U8*)str,512,(int)(AUDIO_IN_BUFFERSIZE*20/512),pfile);

文件讀取完畢以后,用CloseOSFile 函數關閉文件,釋放文件緩沖區中的內存空間。

(六)數字音頻解碼

數字音頻解碼采用軟硬件結合的方法實現。以MP3文件的解碼為例說明數字音頻解碼的過程。 MP3音頻文件的最小組成單位是幀。每幀又由頭部和幀數據部分組成。幀頭為4個字節,其中幀同步標記為0xFFF,由幀頭、通道信息、增益因子信息等組成。

(七)數字濾波

由于音頻信號中存在噪聲,為消除噪聲的影響,需要對信號進行濾波。本設計采用具有“數學顯微鏡”之稱的小波分析方法對信號去噪。

四、總結

本文完成了基于ARM Linux下的嵌入式音頻系統,對驅動程序的設計及內存管理問題進行了詳細的分析、設計和說明,實現了處理效果良好的音頻解碼器。本設計實現的解碼系統具有價格低,電路設計簡單,抗干擾性能好,解碼質量好,低功耗高性能的優點,開發過程具有較好的實踐推廣意義。

參考文獻

[1]徐英慧,馬忠梅等.ARM9嵌入式系統設計--基于S3C2410與Linux[M].北京:北京航空航天大學出版社,2007.

[2]程呂南,方強.ARM Linux入門與實踐[M].北京:北京航空航天大學出版社,2008.

[3]劉立昶.基于ARM Linux QT 的掌上多媒體系統的設計和實現[J].電子技術,2009(9):39-41.

[4]宋寶華.Linux設備驅動開發詳解[M].北京:人民郵電出版社,2008.

(作者單位:貴州財經大學 現代教育技術中心)

主站蜘蛛池模板: 国产高清无码麻豆精品| 国产成人精品一区二区| 日韩美女福利视频| 看国产一级毛片| 精品一区二区三区水蜜桃| 99久视频| 免费无码网站| 青青草原偷拍视频| 欧美日本在线| 精品人妻一区二区三区蜜桃AⅤ| 九九热精品视频在线| 亚洲国产欧洲精品路线久久| 白浆免费视频国产精品视频| 69精品在线观看| 中文字幕亚洲电影| 一级做a爰片久久免费| 久久这里只有精品23| 午夜免费小视频| 91视频区| 成人午夜福利视频| 亚洲日韩每日更新| 成人福利在线观看| 高清久久精品亚洲日韩Av| 亚洲国产欧美目韩成人综合| 在线精品亚洲国产| 国产一级视频在线观看网站| 国产一在线| 国产精品一区二区国产主播| 亚洲妓女综合网995久久| 亚洲精品自产拍在线观看APP| 亚洲国产日韩在线观看| 最近最新中文字幕免费的一页| 在线观看国产小视频| 国产九九精品视频| 欧洲免费精品视频在线| 中国丰满人妻无码束缚啪啪| 欧美不卡二区| 午夜国产精品视频黄| 97无码免费人妻超级碰碰碰| 69综合网| 欧美一级大片在线观看| 久久精品人人做人人| 99这里只有精品6| 91免费在线看| 欲色天天综合网| 国产成人一区二区| 成人在线欧美| 日本a∨在线观看| 国产永久免费视频m3u8| 国产人成网线在线播放va| 真实国产精品vr专区| 国产成人1024精品| 欧洲亚洲欧美国产日本高清| 一级看片免费视频| 国产精品亚洲五月天高清| 日本不卡免费高清视频| 国产精品v欧美| 毛片在线播放网址| 成人亚洲天堂| 国模粉嫩小泬视频在线观看| 国产9191精品免费观看| 不卡国产视频第一页| 亚洲精品福利视频| 女人18毛片一级毛片在线 | 成人年鲁鲁在线观看视频| 99偷拍视频精品一区二区| 国产在线观看精品| 国产精品一区二区在线播放| 91精品视频在线播放| 全部免费特黄特色大片视频| 国产精品七七在线播放| 色婷婷天天综合在线| 亚洲日本一本dvd高清| 无码免费的亚洲视频| 热99精品视频| 國產尤物AV尤物在線觀看| 成年人福利视频| 免费国产不卡午夜福在线观看| 日韩黄色大片免费看| 91色爱欧美精品www| 99热国产这里只有精品9九| 国产精品无码久久久久久|