下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:提出了一種基于ADI公司的ADSP-BF533和網(wǎng)絡(luò)芯片LAN91C111的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案。介紹了VDK的組成與工作原理、TCP/IP堆棧移植、基于VDK的SOCKET編程、BF533和LAN91C111的電路連接,最終給出了基于VDK的網(wǎng)絡(luò)通信程序的實(shí)現(xiàn)方法。
基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
時(shí)間片調(diào)度方式賜予每一個(gè)優(yōu)先權(quán)相同的線程固定的執(zhí)行時(shí)間間隔。VDK中時(shí)間間隔是通過設(shè)定tick參數(shù)確定的。
第三是搶先式調(diào)度方式。假如等待隊(duì)列中有比正在運(yùn)行的線程優(yōu)先級(jí)更高的線程,則正在運(yùn)行的線程堵塞后進(jìn)入等待隊(duì)列,等待隊(duì)列中優(yōu)先級(jí)最高的線程獲得執(zhí)行權(quán)。該方式供應(yīng)了比其他兩種方式更有效、而且更敏捷的調(diào)度方式。對(duì)嵌入式編程者來講,最熟識(shí)的調(diào)度方式就是"時(shí)間片輪轉(zhuǎn)'的方式,在這種方式下,每個(gè)應(yīng)用程序只占用很短的CPU時(shí)間,用戶幾乎無法察覺它們?cè)谶M(jìn)行輪換。操作系統(tǒng)或VDK會(huì)自動(dòng)地將操作系統(tǒng)的掌握權(quán)以輪轉(zhuǎn)調(diào)度或時(shí)間片的方式在全部線程之間進(jìn)行傳遞。每個(gè)線程所得到的處理器掌握時(shí)間的長度由程序員定義。該方式的優(yōu)先級(jí)可以被靜態(tài)地安排,也可以被動(dòng)態(tài)地安排。靜態(tài)安排意味著應(yīng)用程序在創(chuàng)建時(shí)就已經(jīng)被指定好了優(yōu)先級(jí)。動(dòng)態(tài)安排則意味著程序的優(yōu)先級(jí)在其運(yùn)行時(shí)仍能被轉(zhuǎn)變,也就是說,在線程實(shí)體化或運(yùn)行時(shí),其優(yōu)先級(jí)都能被轉(zhuǎn)變。
2TCP/IP堆棧移植
關(guān)于TCP/IP堆棧移植,ADI供應(yīng)有快速解決方案,即一個(gè)輕巧型堆棧Lwip。Lwip(Light-wEightInternetProtocol)是瑞士計(jì)算機(jī)科學(xué)院(SwedishInstituteofComputerScience)的AdamDunkels等人開發(fā)出來的一套用于嵌入式系統(tǒng)的開放源代碼TCP/IP協(xié)議棧。Lwip的主要優(yōu)點(diǎn)是可在保持TCP/IP協(xié)議主要功能的基礎(chǔ)上,削減其對(duì)RAM的占用。一般狀況下,它只要幾十KB的RAM和40KB左右的ROM就可以運(yùn)行,這使得Lwip協(xié)議特別適合在嵌入式系中使用。
Lwip堆棧的調(diào)用基于ADI的驅(qū)動(dòng)模型以及SystemServicesLibraries(即系統(tǒng)服務(wù)函數(shù)庫)。Lwip堆棧支持IP、ARP、ICMP、TCP、UDP等基本協(xié)議,同時(shí)支持一套標(biāo)準(zhǔn)的BSDSocket接口函數(shù)。
3基于VDK的SOCKET編程
應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時(shí),TCP和UDP會(huì)遇到同時(shí)為多個(gè)應(yīng)用程序進(jìn)程供應(yīng)并發(fā)服務(wù)的問題。多個(gè)TCP連接或多個(gè)應(yīng)用程序進(jìn)程可能需要通過同一個(gè)TCP協(xié)議端口傳輸數(shù)據(jù)。為了區(qū)分不同的應(yīng)用程序進(jìn)程和連接,很多計(jì)算機(jī)操作系統(tǒng)為應(yīng)用程序與TCP/IP協(xié)議交互供應(yīng)了稱為套
基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
接字(Socket)的接口,以區(qū)分不同應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接。生成套接字主要有3個(gè)參數(shù):通信的目的IP地址、使用的傳輸層協(xié)議(TCP或UDP)和使用的端口號(hào)。Socket的原意是"插座'。通過將這3個(gè)參數(shù)結(jié)合起來,與一個(gè)"插座'Socket的綁定,應(yīng)用層就可以和傳輸層通過套接字進(jìn)行接口,以區(qū)分來自不同應(yīng)用程序進(jìn)程或網(wǎng)絡(luò)連接的通信,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)牟l(fā)服務(wù)。
要通過互聯(lián)網(wǎng)進(jìn)行通信,至少需要一對(duì)套接字,一個(gè)運(yùn)行于客戶機(jī)端,稱之為ClientSocket;另一個(gè)運(yùn)行于服務(wù)器端,稱之為ServerSocket。依據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過程可以分為三個(gè)步驟,即服務(wù)器監(jiān)聽、客戶端懇求和連接確認(rèn)。
4硬件電路設(shè)計(jì)
4.1ADSP-BF533簡介
ADSP-BF533處理器是Blackfin系列產(chǎn)品中的一員。其最大工作頻率可達(dá)600MHz。Blackfin處理器內(nèi)核包含有2個(gè)16位乘法器、2個(gè)40位累加器、2個(gè)40位ALU、4個(gè)視頻ALU和1個(gè)40位移位器,可處理來自寄存器組的8位、16位或32位數(shù)據(jù)。
4.2LAN91C111簡介
ADSP-BF533通過以太網(wǎng)接口可將DSP采集的數(shù)據(jù)信息傳送到遠(yuǎn)程服務(wù)器。LAN9lC111是SMSC公司生產(chǎn)的特地用于嵌入式產(chǎn)品的10/100M快速以太網(wǎng)掌握器,該器件具有可編程、CRC校驗(yàn)、同步或異步工作方式,并具有低功耗CMOS設(shè)計(jì)和小尺寸等特點(diǎn)。
4.3ADSP-BF533與LAN91C111的硬件連接
ADSP-BF533與LAN91C11l之間的論文聯(lián)盟.LWlm.信號(hào)傳輸連接圖如圖1所示。
該硬件系統(tǒng)由四大部分組成:其中主控芯片選用ADSP-BF533,以太網(wǎng)掌握芯片選用LAN91C111,網(wǎng)絡(luò)隔離芯片選用TG110-E050N5,而網(wǎng)口存儲(chǔ)器則選用AT93C46。
由于LAN91C111是專為嵌入式系統(tǒng)設(shè)計(jì)的,因此其外圍電路相對(duì)比較簡潔。只要將地址總線A1-A15與系統(tǒng)對(duì)應(yīng)相連即可。其A0沒有被LAN91C111使用而懸空;數(shù)據(jù)總線D0
基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
-D15用于16位數(shù)據(jù)傳輸。LAN91C111端的D16-D32懸空;LAN91C111的片選信號(hào)AEN由DSP供應(yīng)。字節(jié)選擇引腳BE0和BE1分別接DSP的ABE0和ABE1,而BE2和BE3直接接高3.3V電壓,即選定的是16位操作模式。AEN作為片選信號(hào),接DSP的AMS3引腳。DSP芯片利用I/O引腳和中斷引腳可實(shí)現(xiàn)對(duì)以太網(wǎng)掌握器LAN9lC111芯片的掌握和數(shù)據(jù)傳輸。以太網(wǎng)掌握器LAN9lC111芯片通過網(wǎng)絡(luò)隔離芯片TG11O-E050N5并經(jīng)RJ45與外面的上位機(jī)相連接,以實(shí)現(xiàn)數(shù)據(jù)傳輸。TG110-E050N5是雙絞線驅(qū)動(dòng)/接收器,內(nèi)部有2個(gè)耦合變壓器可用來傳輸信號(hào),同時(shí)抑制來自介質(zhì)的共模噪聲/干擾。AT93C46是一片串行數(shù)據(jù)存儲(chǔ)器,該芯片不論寫入或讀取數(shù)據(jù),皆采納串行傳輸?shù)哪J絼?dòng)作,串行方式雖然沒有并行傳輸來得快速,但是其傳遞遠(yuǎn)距離的數(shù)據(jù),卻可以大量削減使用傳輸線的需求,也縮小了系統(tǒng)整體的占有面積。因此,特別適合用于微掌握器或是微處理器。
5基于VDK的應(yīng)用程序設(shè)計(jì)
本系統(tǒng)中的網(wǎng)絡(luò)通信模塊主要完成的任務(wù)是網(wǎng)絡(luò)芯片初始化及接收應(yīng)急信號(hào),接收上位機(jī)指令幀并對(duì)其進(jìn)行解析,同時(shí)將選擇板卡返回指令幀發(fā)送給上位機(jī)。
分析上述任務(wù),可將應(yīng)用程序分為三個(gè)線程:其中一個(gè)BootThread:lwip_sysboot_threadtype的作用是上電后對(duì)系統(tǒng)進(jìn)行初始化并創(chuàng)建各個(gè)線程,然后激活Echo_Server_ThreadType線程,完成與上位機(jī)的客戶端建立Socket連接;其次,初始化線程級(jí)別最高;連接勝利后,由Echo_Server_ThreadType線程激活Echo_Worker_ThreadType線程,Echo_Worker_ThreadType線程的任務(wù)為通過recv()函數(shù)接收上位機(jī)指令幀并對(duì)其進(jìn)行功能解析,然后依據(jù)幀功能碼推斷應(yīng)當(dāng)發(fā)送給上位機(jī)的幀,預(yù)備好上傳數(shù)據(jù),再通過send()函數(shù)將上報(bào)幀上傳給上位機(jī)并顯示最終處理結(jié)果。
圖2所示是基于VDK的系統(tǒng)線程軟件工作流程。系統(tǒng)上電或復(fù)位后,DSP自啟動(dòng)后,VDK啟動(dòng)線程lwip_sysboot_threadtype開頭運(yùn)行。在線程lwip_sysboot_threadtype中進(jìn)行板級(jí)初始化和Lwip協(xié)議棧和網(wǎng)口初始化,接下來再創(chuàng)建所需要
基于VDK的網(wǎng)絡(luò)音頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
線程。圖3所示是VDK線程的通信工作流程圖。
芯片初始化模塊主要完成以下幾項(xiàng)工作:
(1)系統(tǒng)時(shí)鐘速率配置:包括初始化PLL,由PLL_LOCKCNT設(shè)置穩(wěn)定時(shí)間,PLL_CTL掌握寄存器設(shè)置VCO與CLKIN之間的倍數(shù)14,通過設(shè)置PLL_DIV打算SCLK及CCLK的時(shí)鐘,使能PLL中斷;
(2)同步串口(SPI)配置:假如SPI是作為主啟用,SPI使用SPI標(biāo)志寄存器(SPI_FLG)使多達(dá)7個(gè)通用可編程標(biāo)志引腳用作從選擇端。并設(shè)置為0X02,SPISEL1使能。FIO_DIR中設(shè)置PF10為輸入,其余均為輸出;
(3)CS8420初始化:即初始化CS8420,則SPI_CTL設(shè)置字長為16位,當(dāng)發(fā)送數(shù)據(jù)寫入發(fā)送數(shù)據(jù)緩沖器時(shí),SPI使能。設(shè)置為主模式。SPI_BAUD為0x18,波特率也許為512b/s;
(4)激活Echo_Server_ThreadType線程;
(5)由線程銷毀模塊完成對(duì)初始化線程的銷毀。
連接勝利后,再由Echo_Server_ThreadType線程激活Echo_Worker_ThreadType線程。Echo_Worker_ThreadType線程的任務(wù)是通過recv()函數(shù)接收上位機(jī)指令幀并對(duì)其進(jìn)行功能解析,依據(jù)幀功能碼推斷應(yīng)當(dāng)發(fā)送給上位機(jī)的幀,預(yù)備好上傳數(shù)據(jù),再通過send()函數(shù)將上報(bào)幀上傳給上位機(jī)并顯示最終處理結(jié)果。
圖4所示是系統(tǒng)掌握板卡與上位機(jī)之間的通信結(jié)果。
6結(jié)語
本文以BF533為核心處理器,提出了一種基于VDK的網(wǎng)絡(luò)音頻通信系統(tǒng)的設(shè)計(jì)方案,同時(shí)通過實(shí)際項(xiàng)目的操作對(duì)該方案的可行性進(jìn)行了驗(yàn)證。經(jīng)過測(cè)試證明,該系統(tǒng)可以提高傳輸效率,而且實(shí)時(shí)性好,性能穩(wěn)定。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年帶家私家電房產(chǎn)買賣合同(三篇)
- 2024年大學(xué)學(xué)習(xí)部工作計(jì)劃樣本(三篇)
- 2024年小學(xué)教師個(gè)人總結(jié)樣本(二篇)
- 2024年各種公共場(chǎng)所的衛(wèi)生管理制度樣本(二篇)
- 2024年工廠質(zhì)檢員崗位職責(zé)說明范本(二篇)
- 2024年半年工作總結(jié)(四篇)
- 2024年員工入股協(xié)議范本(二篇)
- 2024年學(xué)校美術(shù)教學(xué)工作計(jì)劃模版(四篇)
- 2024年衛(wèi)生管理制度制度(四篇)
- 【《房建工程施工管理中精細(xì)化管理運(yùn)用探析》3200字】
- 大學(xué)生安全教育(在校篇)學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- 如何“泡”開詩歌公開課一等獎(jiǎng)市賽課獲獎(jiǎng)?wù)n件
- RTL8365MB-CG-DataSheet-1.2英文完整版本
- 《岳陽樓記》《蝜蝂傳》2014年黑龍江大慶中考文言文閱讀真題(含答案與翻譯)
- 中班科學(xué)《森林運(yùn)動(dòng)會(huì)》 課件
- 中南空管局2023屆高校畢業(yè)生春季招考聘用筆試參考題庫含答案解析
- 幼兒園每月食品安全調(diào)度會(huì)議紀(jì)要模板5
- 升降機(jī)安全管理培訓(xùn)
- 血管瘤及脈管畸形
- DB42-T 1965-2023 公開版地圖地理信息審查工作規(guī)程
- 門衛(wèi)保安反恐演練方案
評(píng)論
0/150
提交評(píng)論