<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yī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)

          作者: 時(shí)間:2012-03-02 來源:網(wǎng)絡(luò) 收藏

          摘要:提出了一種ADI公司的ADSP-BF533和芯片LAN91C111的方案。介紹了的組成與工作原理、TCP/IP堆棧移植、的SOCKET編程、BF533和LAN91C111的電路連接,最后給出了通信程序的方法。
          關(guān)鍵詞:數(shù)字;VDK;BF533;LAN91C111;SOCKET;網(wǎng)絡(luò)通信

          0 引言
          近年來,數(shù)字在我國發(fā)展迅猛,尤其是在廣播領(lǐng)域,該系統(tǒng)擔(dān)當(dāng)著越來越重要的角色,另外,在保證音頻信息準(zhǔn)確度和實(shí)時(shí)性的條件下,音頻數(shù)據(jù)的網(wǎng)絡(luò)傳輸也成為一項(xiàng)十分重要的技術(shù)。
          本系統(tǒng)以BF533為核心處理芯片,以軟件工具VDSP++的自帶VDK內(nèi)核為基礎(chǔ),移植了LWIP作為網(wǎng)絡(luò)主要結(jié)構(gòu),實(shí)現(xiàn)了TCP/IP在ADSP-BF533
          上的移植。同時(shí)在VDK的基礎(chǔ)上,通過開發(fā)Socket服務(wù)器程序,實(shí)現(xiàn)了嵌入式網(wǎng)絡(luò)終端與上位機(jī)電腦直接的數(shù)據(jù)傳輸。

          1 VDK的組成原理
          VDK實(shí)際上是一種帶API函數(shù)庫的實(shí)時(shí)操作系統(tǒng)內(nèi)核,這是一款規(guī)模很小但卻十分健壯的內(nèi)核,它是Visual DSP產(chǎn)品的一部分,VDK也一樣會(huì)隨Visual DSP進(jìn)行相應(yīng)的升級(jí)或改版。使用VDK從產(chǎn)品維護(hù)的角度來看,是十分方便的。使用VDK也小會(huì)帶來附加成本。它具有任務(wù)調(diào)度和任務(wù)管理功能,一共可支持32個(gè)任務(wù)。VDK是整個(gè)軟件的基礎(chǔ),所有其他的程序都運(yùn)行在該Kernel上。VDK的組成部分主要包括線程、調(diào)度、信號(hào)、中斷眼務(wù)程序設(shè)備驅(qū)動(dòng)、API等。
          VDK的工作原理是首先引入多任務(wù)并且為每個(gè)任務(wù)都分配自己的堆??臻g,然后由任務(wù)淵度器來決定哪個(gè)任務(wù)獲得內(nèi)核時(shí)間。任務(wù)調(diào)度主要涉及三種方式:
          第一是合作調(diào)度廳式。該方式是最簡單的調(diào)度方式,系統(tǒng)中所有線程被賦予相同優(yōu)先級(jí)的調(diào)度權(quán),系統(tǒng)中線程在運(yùn)行態(tài)占用處理器資源,在阻塞態(tài)時(shí)被排列在等待隊(duì)列的最后,也可以自己調(diào)用yield函數(shù),以使線程退出運(yùn)行態(tài)而進(jìn)入等待隊(duì)列。另外,任何系統(tǒng)調(diào)用都會(huì)引起當(dāng)前正在運(yùn)行的線程阻塞。
          第二是時(shí)間片輪轉(zhuǎn)調(diào)度方式。時(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)。該方式提供了比其他兩種方式更有效、而且更靈活的淵度方式。對(duì)嵌入式編程者來講,最熟悉的調(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í)仍能被改變,也就是說,在線程實(shí)體化或運(yùn)行時(shí),其優(yōu)先級(jí)都能被改變。

          2 TCP/IP堆棧移植
          關(guān)于TCP/IP堆棧移植,ADI提供有快速解決方案,即一個(gè)輕便型堆棧Lwip。Lwip(Light-weight Internet Protocl)是瑞士計(jì)算機(jī)科學(xué)院(Swedish Institute of Computer Science)的Adam Dunkels等人開發(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)模型以及System Services Libraries(即系統(tǒng)服務(wù)函數(shù)庫)。Lwip堆棧支持IP、ARP、ICMP、TCP、UDP等基本協(xié)議,同時(shí)支持一套標(biāo)準(zhǔn)的BSD Socket接口函數(shù)。

          3 基于VDK的SOCKET編程
          應(yīng)用層通過傳輸層進(jìn)行數(shù)據(jù)通信時(shí),TCP和UDP會(huì)遇到同時(shí)為多個(gè)應(yīng)用程序進(jìn)程提供并發(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é)議交互提供了稱為套接字(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ù)器端,稱之為erver So cket。根據(jù)連接啟動(dòng)的方式以及本地套接字要連接的目標(biāo),套接字之間的連接過程可以分為三個(gè)步驟,即服務(wù)器監(jiān)聽、客戶端請(qǐng)求和連接確認(rèn)。

          4 硬件電路
          4.1 ADSP-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.2 LAN91C111簡介
          ADSP-BF533通過以太網(wǎng)接口可將DSP采集的數(shù)據(jù)信息傳送到遠(yuǎn)程服務(wù)器。LAN91C111是SMSC公司生產(chǎn)的專門用于嵌入式產(chǎn)品的10/100M快速以太網(wǎng)控制器,該器件具有可編程、CRC校驗(yàn)、同步或異步工作方式,并具有低功耗CMOS和小尺寸等特點(diǎn)。
          4.3 ADSP-BF533與LAN91C111的硬件連接
          ADSP-BF533與LAN91C111之間的信號(hào)傳輸連接圖如圖1所示。

          本文引用地址:http://www.ex-cimer.com/article/161034.htm

          e.JPG


          該硬件系統(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沒有被LAN 91C111使用而懸空;數(shù)據(jù)總線D0-D15用于16位數(shù)據(jù)傳輸。LAN91C111端的D16-D32懸空;LAN91C111的片選信號(hào)AEN由DSP提供。字節(jié)選擇引腳BE0和BE1分別接DSP的ABE0和ABE1,而BE2和BE3直接接高3.3 V電壓,即選定的是16位操作模式。AEN作為片選信號(hào),接DSP的AMS3引腳。DSP芯片利用I/O引腳和中斷引腳可實(shí)現(xiàn)對(duì)以太網(wǎng)控制器LAN91C111芯片的控制和數(shù)據(jù)傳輸。以太網(wǎng)控制器LAN91C111芯片通過網(wǎng)絡(luò)隔離芯片TG110 -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)整體的占有面積。因此,非常適合用于微控制器或是微處理器。

          tcp/ip相關(guān)文章:tcp/ip是什么



          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();