日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯網 > 《物聯網技術》雜志
[導讀]摘要:提出了一種基于ADI公司的ADSP-BF533和網絡芯片LAN91C111的網絡音頻監(jiān)控系統的設計與實現方案。介紹了VDK的組成與工作原理、TCP/IP堆棧移植、基于VDK的SOCKET編程、BF533和LAN91C111的電路連接,最后給出了基于VDK的網絡通信程序的實現方法。

引言

近年來,數字音頻監(jiān)控系統在我國發(fā)展迅猛,尤其是在廣播領域,該系統擔當著越來越重要的角色,另外,在保證音頻信息準確度和實時性的條件下,實現音頻數據的網絡傳輸也成為一項十分重要的技術。

本系統以BF533為核心處理芯片,以軟件工具VDSP++的自帶VDK內核為基礎,移植了LWIP作為網絡主要結構,實現了TCP/IP在ADSP-BF533上的移植。同時在VDK的基礎上,通過開發(fā)Socket服務器程序,實現了嵌入式網絡終端與上位機電腦直接的數據傳輸。

1  VDK的組成原理

VDK實際上是一種帶API函數庫的實時操作系統內核.這是一款規(guī)模很小但卻十分健壯的內核,它是VisualDSP產品的一部分,VDK也一樣會隨VisualDSP進行相應的升級或改版。使用VDK從產品維護的角度來看,是十分方便的。使用VDK也不會帶來附加成本。它具有任務調度和任務管理功能,一共可支持32個任務。VDK是整個軟件的基礎,所有其他的程序都運行在該Kernel±0VDK的組成部分主要包括線程、調度、信號、中斷服務程序、設備驅動、API等。

VDK的工作原理是首先引入多任務并且為每個任務都分配自己的堆??臻g,然后由任務調度器來決定哪個任務獲得內核時間。任務調度主要涉及三種方式:

第一是合作調度方式。該方式是最簡單的調度方式,系統中所有線程被賦予相同優(yōu)先級的調度權,系統中線程在運行態(tài)占用處理器資源,在阻塞態(tài)時被排列在等待隊列的最后,也可以自己調用yield函數,以使線程退出運行態(tài)而進入等待隊列。另外,任何系統調用都會引起當前正在運行的線程阻塞。

第二是時間片輪轉調度方式。時間片調度方式給予每一個優(yōu)先權相同的線程固定的執(zhí)行時間間隔。VDK中時間間隔是通過設定tick參數確定的。

第三是搶先式調度方式。如果等待隊列中有比正在運行的線程優(yōu)先級更高的線程,則正在運行的線程阻塞后進入等待隊列,等待隊列中優(yōu)先級最高的線程獲得執(zhí)行權。該方式提供了比其他兩種方式更有效、而且更靈活的調度方式。對嵌入式編程者來講,最熟悉的調度方式就是“時間片輪轉”的方式,在這種方式下,每個應用程序只占用很短的CPU時間,用戶幾乎無法察覺它們在進行輪換。操作系統或VDK會自動地將操作系統的控制權以輪轉調度或時間片的方式在所有線程之間進行傳遞。每個線程所得到的處理器控制時間的長度由程序員定義。該方式的優(yōu)先級可以被靜態(tài)地分配,也可以被動態(tài)地分配。靜態(tài)分配意味著應用程序在創(chuàng)建時就已經被指定好了優(yōu)先級。動態(tài)分配則意味著程序的優(yōu)先級在其運行時仍能被改變,也就是說,在線程實體化或運行時,其優(yōu)先級都能被改變。

2  TCP/IP堆棧移植

關于TCP/IP堆棧移植,ADI提供有快速解決方案,即一個輕便型堆棧Lwip。Lwip(Light-weightInternetProtocol)是瑞士計算機科學院(SwedishInstituteofComputerScience)的AdamDunkels等人開發(fā)出來的一套用于嵌入式系統的開放源代碼TCP/IP協議棧。Lwip的主要優(yōu)點是可在保持TCP/IP協議主要功能的基礎上,減少其對RAM的占用。一般情況下,它只要幾十KB的RAM和40KB左右的ROM就可以運行,這使得Lwip協議非常適合在嵌入式系中使用。

Lwip堆棧的調用基于ADI的驅動模型以及SystemServicesLibraries(即系統服務函數庫)。Lwip堆棧支持IP、ARP、ICMP、TCP、UDP等基本協議,同時支持一套標準的BSDSocket接口函數。

3  基于VDK的SOCKET編程

應用層通過傳輸層進行數據通信時,TCP和UDP會遇到同時為多個應用程序進程提供并發(fā)服務的問題。多個TCP連接或多個應用程序進程可能需要通過同一個TCP協議端口傳輸數據。為了區(qū)別不同的應用程序進程和連接,許多計算機操作系統為應用程序與TCP/IP協議交互提供了稱為套接字(Socket)的接口,以區(qū)分不同應用程序進程間的網絡通信和連接。生成套接字主要有3個參數:通信的目的IP地址、使用的傳輸層協議(TCP或UDP)和使用的端口號。Socket的原意是“插座”。通過將這3個參數結合起來,與一個“插座"Socket的綁定,應用層就可以和傳輸層通過套接字進行接口,以區(qū)分來自不同應用程序進程或網絡連接的通信,實現數據傳輸的并發(fā)服務。

要通過互聯網進行通信,至少需要一對套接字,一個運行于客戶機端,稱之為ClientSocket;另—運行于服務器端,稱之為ServerSocket。根據連接啟動的方式以及本地套接字要連接的目標,套接字之間的連接過程可以分為三個步驟,即服務器監(jiān)聽、客戶端請求和連接確認。

4  硬件電路設計

4.1  ADSP-BF533簡介

ADSP-BF533處理器是Blackfin系列產品中的一員。其最大工作頻率可達600MHzoBlackfin處理器內核包含有2個16位乘法器、2個40位累加器、2個40位ALU、4個視頻ALU和1個40位移位器,可處理來自寄存器組的8位、16位或32位數據。

4.2  LAN91C111簡介

ADSP-BF533通過以太網接口可將DSP采集的數據信息傳送到遠程服務器。LAN91C111是SMSC公司生產的專門用于嵌入式產品的10/100M快速以太網控制器,該器件具有可編程、CRC校驗、同步或異步工作方式,并具有低功耗CMOS設計和小尺寸等特點。

4.3  ADSP-BF533與LAN91C111的硬件連接

ADSP-BF533與LAN91C111之間的信號傳輸連接圖如圖1所示。

基于VDK的網絡音頻監(jiān)控系統的設計與實現

圖1  信號傳輸連接圖

該硬件系統由四大部分組成:其中主控芯片選用ADSP-BF533,以太網控制芯片選用LAN91C111,網絡隔離芯片選用TG110-E050N5,而網口存儲器則選用AT93C46。

由于LAN91C111是專為嵌入式系統設計的,因此其外圍電路相對比較簡單。只要將地址總線A1-A15與系統對應相連即可。其A0沒有被LAN91C1U使用而懸空;數據總線D0-D15用于16位數據傳輸。LAN91C111端的D16-D32懸空;LAN91C111的片選信號AEN由DSP提供。字節(jié)選擇引腳BE0和BE1分別接DSP的ABEO和ABE1,而BE2和BE3直接接高3.3V電壓,即選定的是16位操作模式。AEN作為片選信號,接DSP的AMS3引腳。DSP芯片利用I/O引腳和中斷引腳可實現對以太網控制器LAN91C111芯片的控制和數據傳輸。以太網控制器LAN91C1U芯片通過網絡隔離芯片TG11O-E050N5并經RJ45與外面的上位機相連接,以實現數據傳輸。TG11O-EO5ON5是雙絞線驅動/接收器,內部有2個耦合變壓器可用來傳輸信號,同時抑制來自介質的共模噪聲/干擾。AT93C46是一片串行數據存儲器,該芯片不論寫入或讀取數據,皆釆用串行傳輸的模式動作,串行方式雖然沒有并行傳輸來得快速,但是其傳遞遠距離的數據,卻可以大量減少使用傳輸線的需求,也縮小了系統整體的占有面積。因此,非常適合用于微控制器或是微處理器。

5  基于VDK的應用程序設計

本系統中的網絡通信模塊主要完成的任務是網絡芯片初始化及接收應急信號,接收上位機指令幀并對其進行解析,同時將選擇板卡返回指令幀發(fā)送給上位機。

分析上述任務,可將應用程序分為三個線程:其中一個BootThread:lwip_sysboot_threadtype的作用是上電后對系統進行初始化并創(chuàng)建各個線程,然后激活Echo_Server_Threadlype線程,完成與上位機的客戶端建立Socket連接;其次,初始化線程級別最高;連接成功后,由Echo_Server_Threadlype線程激活Echo_Worker_ThreadType線程,Echo_Worker_ThreadType線程的任務為通過recv()函數接收上位機指令幀并對其進行功能解析,然后根據幀功能碼判斷應該發(fā)送給上位機的幀,準備好上傳數據,再通過send。函數將上報幀上傳給上位機并顯示最終處理結果。

圖2所示是基于VDK的系統線程軟件工作流程。系統上電或復位后,DSP自啟動后,VDK啟動線程lwip_sysboot_threadtype開始運行。在線程lwip_sys-boot_threadtype中進行板級初始化和Lwip協議棧和網口初始化,接下來再創(chuàng)建所需要線程。圖3所示是VDK線程的通信工作流程圖。

基于VDK的網絡音頻監(jiān)控系統的設計與實現

圖2  VDK線程啟動流程

芯片初始化模塊主要完成以下幾項工作:

系統時鐘速率配置:包括初始化PLL,由PLL_LOCKCNT設置穩(wěn)定時間,PLL_CTL控制寄存器設置VCO與CLKIN之間的倍數14,通過設置PLL_DIV決定SCLK及CCLK的時鐘,使能PLL中斷;

同步串口(SPI)配置:如果SPI是作為主啟用,SPI使用SPI標志寄存器(SPI_FLG)使多達7個通用可編程標志引腳用作從選擇端。并設置為0X02,SPISELl使能。FIO_DIR中設置PF10為輸入,其余均為輸出;

CS8420初始化:即初始化CS8420,則SPI_CTL設置字長為16位,當發(fā)送數據寫入發(fā)送數據緩沖器時,SPI使能。設置為主模式。SPI_BAUD為0x18,波特率大概為512b/s;

激活EchoServerThreadType線程;

由線程銷毀模塊完成對初始化線程的銷毀。

基于VDK的網絡音頻監(jiān)控系統的設計與實現

圖3  VDK線程通信工作流程圖

連接成功后,再由Echo_Server_ThreadType線程激活EchoWorkerThreadType線程。Echo_Worker_ThreadType線程的任務是通過recvO函數接收上位機指令幀并對其進行功能解析,根據幀功能碼判斷應該發(fā)送給上位機的幀,準備好上傳數據,再通過send()函數將上報幀上傳給上位機并顯示最終處理結果。

圖4所示是系統控制板卡與上位機之間的通信結果。

基于VDK的網絡音頻監(jiān)控系統的設計與實現

圖4  控制板卡與上位機的網絡通信界面

6  結語

本文以BF533為核心處理器,提出了一種基于VDK的網絡音頻通信系統的設計方案,同時通過實際項目的操作對該方案的可行性進行了驗證。經過測試證明,該系統可以提高傳輸效率,而且實時性好,性能穩(wěn)定。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統,而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉