版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于VDK的網絡音頻監(jiān)控系統(tǒng)的設計與實現(xiàn)基于VDK的網絡音頻監(jiān)控系統(tǒng)的設計與實現(xiàn)摘要:提出了一種基于ADI公司的ADSP-BF533和網絡芯片LAN91111的網絡音頻監(jiān)控系統(tǒng)的設計與實現(xiàn)方案。介紹了VDK的組成與工作原理、TP/IP堆棧移植、基于VDK的SKET編程、BF533和LAN91111的電路連接,最后給出了基于VDK的網絡通信程序的實現(xiàn)方法。關鍵詞:數(shù)字音頻;VDK;BF533;LAN91111;SKET;網絡通信論文聯(lián)盟.Ll.0引言近年來,數(shù)字音頻監(jiān)控系統(tǒng)在我國開展迅猛,尤其是在播送領域,該系統(tǒng)擔當著越來越重要的角色,另外,在保證音頻信息準確度和實時性的條件下,實現(xiàn)音頻數(shù)據的網
2、絡傳輸也成為一項非常重要的技術。本系統(tǒng)以BF533為核心處理芯片,以軟件工具VDSP+的自帶VDK內核為根底,移植了LIP作為網絡主要構造,實現(xiàn)了TP/IP在ADSP-BF533上的移植。同時在VDK的根底上,通過開發(fā)Sket效勞器程序,實現(xiàn)了嵌入式網絡終端與上位機電腦直接的數(shù)據傳輸。1VDK的組成原理VDK實際上是一種帶API函數(shù)庫的實時操作系統(tǒng)內核.這是一款規(guī)模很小但卻非常強健的內核,它是VisualDSP產品的一局部,VDK也一樣會隨VisualDSP進展相應的晉級或改版。使用VDK從產品維護的角度來看,是非常方便的。使用VDK也不會帶來附加本錢。它具有任務調度和任務管理功能,一共可支持
3、32個任務。VDK是整個軟件的根底,所有其他的程序都運行在該Kernel上。VDK的組成局部主要包括線程、調度、信號、中斷效勞程序、設備驅動、API等。VDK的工作原理是首先引入多任務并且為每個任務都分配自己的堆??臻g,然后由任務調度器來決定哪個任務獲得內核時間。任務調度主要涉及三種方式:第一是合作調度方式。該方式是最簡單的調度方式,系統(tǒng)中所有線程被賦予一樣優(yōu)先級的調度權,系統(tǒng)中線程在運行態(tài)占用途理器資源,在阻塞態(tài)時被排列在等待隊列的最后,也可以自己調用yield函數(shù),以使線程退出運行態(tài)而進入等待隊列。另外,任何系統(tǒng)調用都會引起當前正在運行的線程阻塞。第二是時間片輪轉調度方式。時間片調度方式給
4、予每一個優(yōu)先權一樣的線程固定的執(zhí)行時間間隔。VDK中時間間隔是通過設定tik參數(shù)確定的。第三是搶先式調度方式。假如等待隊列中有比正在運行的線程優(yōu)先級更高的線程,那么正在運行的線程阻塞后進入等待隊列,等待隊列中優(yōu)先級最高的線程獲得執(zhí)行權。該方式提供了比其他兩種方式更有效、而且更靈敏的調度方式。對嵌入式編程者來講,最熟悉的調度方式就是時間片輪轉的方式,在這種方式下,每個應用程序只占用很短的PU時間,用戶幾乎無法發(fā)覺它們在進展輪換。操作系統(tǒng)或VDK會自動地將操作系統(tǒng)的控制權以輪轉調度或時間片的方式在所有線程之間進展傳遞。每個線程所得到的處理器控制時間的長度由程序員定義。該方式的優(yōu)先級可以被靜態(tài)地分配
5、,也可以被動態(tài)地分配。靜態(tài)分配意味著應用程序在創(chuàng)立時就已經被指定好了優(yōu)先級。動態(tài)分配那么意味著程序的優(yōu)先級在其運行時仍能被改變,也就是說,在線程實體化或運行時,其優(yōu)先級都能被改變。2TP/IP堆棧移植關于TP/IP堆棧移植,ADI提供有快速解決方案,即一個輕便型堆棧Lip。Lip(Light-EightInternetPrtl)是瑞士計算機科學院(SedishInstitutefputerSiene)的AdaDunkels等人開發(fā)出來的一套用于嵌入式系統(tǒng)的開放源代碼TP/IP協(xié)議棧。Lip的主要優(yōu)點是可在保持TP/IP協(xié)議主要功能的根底上,減少其對RA的占用。一般情況下,它只要幾十KB的RA和
6、40KB左右的R就可以運行,這使得Lip協(xié)議非常合適在嵌入式系中使用。Lip堆棧的調用基于ADI的驅動模型以及SysteServiesLibraries(即系統(tǒng)效勞函數(shù)庫)。Lip堆棧支持IP、ARP、IP、TP、UDP等根本協(xié)議,同時支持一套標準的BSDSket接口函數(shù)。3基于VDK的SKET編程應用層通過傳輸層進展數(shù)據通信時,TP和UDP會遇到同時為多個應用程序進程提供并發(fā)效勞的問題。多個TP連接或多個應用程序進程可能需要通過同一個TP協(xié)議端口傳輸數(shù)據。為了區(qū)別不同的應用程序進程和連接,許多計算機操作系統(tǒng)為應用程序與TP/IP協(xié)議交互提供了稱為套接字(Sket)的接口,以區(qū)分不同應用程序進
7、程間的網絡通信和連接。生成套接字主要有3個參數(shù):通信的目的IP地址、使用的傳輸層協(xié)議(TP或UDP)和使用的端口號。Sket的原意是插座。通過將這3個參數(shù)結合起來,與一個插座Sket的綁定,應用層就可以和傳輸層通過套接字進展接口,以區(qū)分來自不同應用程序進程或網絡連接的通信,實現(xiàn)數(shù)據傳輸?shù)牟l(fā)效勞。要通過互聯(lián)網進展通信,至少需要一對套接字,一個運行于客戶機端,稱之為lientSket;另一個運行于效勞器端,稱之為ServerSket。根據連接啟動的方式以及本地套接字要連接的目的,套接字之間的連接過程可以分為三個步驟,即效勞器監(jiān)聽、客戶端懇求和連接確認。4硬件電路設計4.1ADSP-BF533簡介
8、ADSP-BF533處理器是Blakfin系列產品中的一員。其最大工作頻率可達600Hz。Blakfin處理器內核包含有2個16位乘法器、2個40位累加器、2個40位ALU、4個視頻ALU和1個40位移位器,可處理來自存放器組的8位、16位或32位數(shù)據。4.2LAN91111簡介ADSP-BF533通過以太網接口可將DSP采集的數(shù)據信息傳送到遠程效勞器。LAN9l111是SS公司消費的專門用于嵌入式產品的10/100快速以太網控制器,該器件具有可編程、R校驗、同步或異步工作方式,并具有低功耗S設計和小尺寸等特點。4.3ADSP-BF533與LAN91111的硬件連接ADSP-BF533與LAN
9、9111l之間的論文聯(lián)盟.Ll.信號傳輸連接圖如圖1所示。該硬件系統(tǒng)由四大局部組成:其中主控芯片選用ADSP-BF533,以太網控制芯片選用LAN91111,網絡隔離芯片選用TG110-E050N5,而網口存儲器那么選用AT9346。由于LAN91111是專為嵌入式系統(tǒng)設計的,因此其外圍電路相比照擬簡單。只要將地址總線A1-A15與系統(tǒng)對應相連即可。其A0沒有被LAN91111使用而懸空;數(shù)據總線D0-D15用于16位數(shù)據傳輸。LAN91111端的D16-D32懸空;LAN91111的片選信號AEN由DSP提供。字節(jié)選擇引腳BE0和BE1分別接DSP的ABE0和ABE1,而BE2和BE3直接接
10、高3.3V電壓,即選定的是16位操作形式。AEN作為片選信號,接DSP的AS3引腳。DSP芯片利用I/引腳和中斷引腳可實現(xiàn)對以太網控制器LAN9l111芯片的控制和數(shù)據傳輸。以太網控制器LAN9l111芯片通過網絡隔離芯片TG11-E050N5并經RJ45與外面的上位機相連接,以實現(xiàn)數(shù)據傳輸。TG110-E050N5是雙絞線驅動/接收器,內部有2個耦合變壓器可用來傳輸信號,同時抑制來自介質的共模噪聲/干擾。AT9346是一片串行數(shù)據存儲器,該芯片不管寫入或讀取數(shù)據,皆采用串行傳輸?shù)男问絼幼?,串行方式雖然沒有并行傳輸來得快速,但是其傳遞遠間隔 的數(shù)據,卻可以大量減少使用傳輸線的需求,也縮小了系統(tǒng)
11、整體的占有面積。因此,非常合適用于微控制器或是微處理器。5基于VDK的應用程序設計本系統(tǒng)中的網絡通信模塊主要完成的任務是網絡芯片初始化及接收應急信號,接收上位機指令幀并對其進展解析,同時將選擇板卡返回指令幀發(fā)送給上位機。分析上述任務,可將應用程序分為三個線程:其中一個BtThread:lip_sysbt_threadtype的作用是上電后對系統(tǒng)進展初始化并創(chuàng)立各個線程,然后激活Eh_Server_ThreadType線程,完成與上位機的客戶端建立Sket連接;其次,初始化線程級別最高;連接成功后,由Eh_Server_ThreadType線程激活Eh_rker_ThreadType線程,Eh_
12、rker_ThreadType線程的任務為通過rev()函數(shù)接收上位機指令幀并對其進展功能解析,然后根據幀功能碼判斷應該發(fā)送給上位機的幀,準備好上傳數(shù)據,再通過send()函數(shù)將上報幀上傳給上位機并顯示最終處理結果。圖2所示是基于VDK的系統(tǒng)線程軟件工作流程。系統(tǒng)上電或復位后,DSP自啟動后,VDK啟動線程lip_sysbt_threadtype開場運行。在線程lip_sysbt_threadtype中進展板級初始化和Lip協(xié)議棧和網口初始化,接下來再創(chuàng)立所需要線程。圖3所示是VDK線程的通信工作流程圖。芯片初始化模塊主要完成以下幾項工作:(1)系統(tǒng)時鐘速率配置:包括初始化PLL,由PLL_L
13、KNT設置穩(wěn)定時間,PLL_TL控制存放器設置V與LKIN之間的倍數(shù)14,通過設置PLL_DIV決定SLK及LK的時鐘,使能PLL中斷;(2)同步串口(SPI)配置:假如SPI是作為主啟用,SPI使用SPI標志存放器(SPI_FLG)使多達7個通用可編程標志引腳用作從選擇端。并設置為0X02,SPISEL1使能。FI_DIR中設置PF10為輸入,其余均為輸出;(3)S8420初始化:即初始化S8420,那么SPI_TL設置字長為16位,當發(fā)送數(shù)據寫入發(fā)送數(shù)據緩沖器時,SPI使能。設置為主形式。SPI_BAUD為0 x18,波特率大概為512b/s;(4)激活Eh_Server_ThreadTy
14、pe線程;(5)由線程銷毀模塊完成對初始化線程的銷毀。連接成功后,再由Eh_Server_ThreadType線程激活Eh_rker_ThreadType線程。Eh_rker_ThreadType線程的任務是通過rev()函數(shù)接收上位機指令幀并對其進展功能解析,根據幀功能碼判斷應該發(fā)送給上位機的幀,準備好上傳數(shù)據,再通過send()函數(shù)將上報幀上傳給上位機并顯示最終處理結果。圖4所示是系統(tǒng)控制板卡與上位機之間的通信結果。6結語本文以BF533為核心處理器,提出了一種基于VDK的網絡音頻通信系統(tǒng)的設計方案,同時通過實際工程的操作對該方案的可行性進展了驗證。經過測試證明,該系統(tǒng)可以進步傳輸效率,而且實時性好,性能穩(wěn)定。參考文獻1陳峰.Blakfin系列DSP原理與系統(tǒng)設計.北京:電子工業(yè)出版社,2022.2韓憲柱.數(shù)字音頻技術與應
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年醫(yī)療智慧養(yǎng)老平臺合同
- 2026年大型公共建筑承包合同
- 2025年中國科學院深??茖W與工程研究所招聘備考題庫(十三)帶答案詳解
- 2025年鯉城區(qū)東門實驗小學頂崗合同教師招聘備考題庫及1套參考答案詳解
- 什邡市人力資源和社會保障局什邡市民政局關于2025年面向全市公開選調工作人員的備考題庫及一套參考答案詳解
- 2025年中國人民銀行清算總中心直屬企業(yè)銀清企業(yè)服務(北京)有限公司公開招聘備考題庫附答案詳解
- 2025年興業(yè)銀行廣州分行社會招聘備考題庫及一套完整答案詳解
- 2026年項目合作合同
- 2025年中國水利水電科學研究院水力學所科研助理招聘備考題庫及參考答案詳解一套
- 2025年興業(yè)銀行廣州分行社會招聘備考題庫及1套完整答案詳解
- 三方協(xié)議模板合同
- 2026年元旦校長寄語:向光而行馬到新程
- 鋼結構報廢回收合同2025年版本
- 2025西部機場集團航空物流有限公司招聘筆試考試參考題庫及答案解析
- 2025年紀檢部個人工作總結(2篇)
- 2025年消防設施操作員中級理論考試1000題(附答案)
- 雨課堂學堂云在線《過程控制系統(tǒng)(山大 )》單元測試考核答案
- 年產3000噸藍莓山楂復合果汁飲料的工廠設計
- 脊柱手術術后神經監(jiān)測標準化流程
- 2025年重慶人文考試題庫及答案
- 2025年上海市辦公室租賃合同示范文本
評論
0/150
提交評論