www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀]通過分析網(wǎng)卡基本通信過程控制和數(shù)字信號處理器(DSP)對網(wǎng)卡直接編程方法,成功設計基于DSP的網(wǎng)絡通信程序,從而最終實現(xiàn)DSP系統(tǒng)數(shù)字化和網(wǎng)絡化的融合。

摘要:通過分析網(wǎng)卡基本通信過程控制和數(shù)字信號處理器(DSP)對網(wǎng)卡直接編程方法,成功設計基于DSP的網(wǎng)絡通信程序,從而最終實現(xiàn)DSP系統(tǒng)數(shù)字化和網(wǎng)絡化的融合。

    關鍵詞:DSP 網(wǎng)絡通信程序 通信協(xié)議 網(wǎng)卡

DSP芯片是專門為實現(xiàn)各種數(shù)字信號處理算法而設計的、具有特殊結構的微處理器,其卓越的性能、不斷上升的性價比、日漸完善的開發(fā)方式使它的應用越來越廣泛。將計算機網(wǎng)絡技術引入以DSP為核心的嵌入式系統(tǒng),使其成為數(shù)字化、網(wǎng)絡化相結合,集通信、計算機和視聽功能于一體的電子產(chǎn)品,必須大大提升DSP系統(tǒng)的應用價值和市場前景。將DSP技術與網(wǎng)絡技術相結合,必須解決兩個關鍵問題:一是實現(xiàn)DSP與網(wǎng)卡的硬件接口技術,二是基于DSP的網(wǎng)絡通信程序設計。DSP與網(wǎng)卡的硬件接口技術參考文獻[1]有比較詳盡的論述,以下主要討論基于DSP的網(wǎng)絡通信程序設計。

1 通信協(xié)議的制定

協(xié)議是用來管理通信的法規(guī),是網(wǎng)絡系統(tǒng)功能實現(xiàn)的基礎。由于DSP可以實現(xiàn)對網(wǎng)卡的直接操作,對應于OSI網(wǎng)絡模型,網(wǎng)卡包含了物理層和數(shù)據(jù)鏈路層的全部內(nèi)容,因此,規(guī)定了數(shù)據(jù)鏈路層上數(shù)據(jù)幀封裝格式,就可以為基于DSP的局域網(wǎng)絡中任意站點之間的通信提供具體規(guī)范。因為以太網(wǎng)是當今最受歡迎的局域網(wǎng)之一,在以太網(wǎng)中,網(wǎng)卡用于實現(xiàn)802.3規(guī)程,其典型代表是Novell公司的NE2000和3COM公司的3C503等網(wǎng)卡,所以研究工作中的具體試驗平臺是以DSP為核心構成的以太局域網(wǎng),主要用于語音的實時通信,所使用的網(wǎng)卡為Novell公司的NE2000網(wǎng)卡。NE2000網(wǎng)卡的基本組成請見參考文獻[2],其核心器件是網(wǎng)絡接口控制器(NIC)DP8390。該器件有三部分功能:第一是IEEE802.3MAC(媒體訪問控制)子層協(xié)議邏輯,實現(xiàn)數(shù)據(jù)幀的封裝和解封,CSMA/CA(帶碰撞檢測功能的載波偵聽多址接入)協(xié)議以及CRC校驗等功能;第二是寄存器堆,用戶對NE2000網(wǎng)卡通信過程的控制主要通過對這些寄存器堆中各種命令寄存器編程實現(xiàn);第三是對網(wǎng)卡上緩沖RAM的讀寫控制邏輯。DP8390發(fā)送和接收采用標準的IEEE802.3幀格式。IEEE802.3參考了以太網(wǎng)的協(xié)議和技術規(guī)范,但對數(shù)據(jù)包的基本結構進行了修改,主要是類型字段變成了長度字段。所以,以DSP為核心的局域網(wǎng)內(nèi)通信數(shù)據(jù)包基本格式如圖1所示。

DSP讀出數(shù)據(jù)包和打包從目的地址開始。目的地址用來指明一個數(shù)據(jù)幀在網(wǎng)絡中被傳送的目的節(jié)點地址。NE2000支持3種目的地址:單地址、組地址及廣播地址。單地址表示只有1個節(jié)點可以接收該幀信息;組地址表示最多可以有64個字節(jié)接收同一幀信息;而廣播地址則表示它可以被同一網(wǎng)絡中的所有節(jié)接收。源地址是發(fā)送幀節(jié)點的物理地址,它只能是單地址。目的地址和源地址指網(wǎng)卡的硬件地址,又稱物理地址。

在源地址之后的2個字節(jié)表示該幀的數(shù)據(jù)長度,只表示數(shù)據(jù)部分的長度,由用戶自己填入。數(shù)據(jù)字段由46~1500字節(jié)組成。大于1500字節(jié)的數(shù)據(jù)應分為多個幀來發(fā)送;小于46字節(jié)時,必須填充至46字節(jié)。原因有兩個:一是保證從目的地址字段到幀校驗字段長度為64字節(jié)的最短幀長,以便區(qū)分信道中的有效幀和無用信息;二是為了防止一個站發(fā)送短幀時,在第一個比特尚未到達總線的最遠端時就完成幀發(fā)送,因而在可能發(fā)生碰撞時檢測不到?jīng)_突信號。NE2000對接收到的從目的地址字段后小于64字節(jié)的幀均認為是“碎片”,并予以刪除。在數(shù)據(jù)字段,根據(jù)系統(tǒng)的具體功能要求,用戶可以預留出若干個字節(jié)以規(guī)定相應的協(xié)議,以便通信雙方依據(jù)這些字節(jié)中包含的信息實現(xiàn)不同的功能。

2 基于DSP的網(wǎng)絡通信程序設計

如果基于網(wǎng)絡操作系統(tǒng),用戶可以利用一些軟件對網(wǎng)絡操作系統(tǒng)的支持,很容易地編寫出優(yōu)秀的網(wǎng)絡通信程序,但這些程序必須依附于網(wǎng)絡操作系統(tǒng)。而在DSP環(huán)境下,必須深入了解網(wǎng)絡接口控制器(NIC)的工作原理[2],通過對網(wǎng)絡直接編程,實現(xiàn)局域網(wǎng)內(nèi)任意站點之間的通信而完全拋開網(wǎng)絡操作系統(tǒng)。

DSP對網(wǎng)卡的通信過程控制就是DSP對DP8390中各種寄存器進行編程控制,完成數(shù)據(jù)分組的正確發(fā)送和接收。DP8390的所有內(nèi)部寄存器都是8位,映像到4個頁面。每個頁面有16個可供讀寫的寄存器地址(RA=00H~0fH)。頁面的選擇由命令寄存器CA控制。第0頁寄存器用于收發(fā)過程,第1頁寄存器主要用于DP8390的初始化,第2頁寄存器則用于環(huán)路診斷。DSP對寄存器的操作是將寄存器作為DSP的端口設備,其實際物理端口地址(PPA)為網(wǎng)卡基本I/O端口地址(BIOA)與寄存器地址(RA)之和(即PPA=BIOA+RA)。應注意的是,PPA與寄存器間并不存在一一對應關系,對PPA的讀操作與寫操作并不一定是對同一寄存器進行的,這種情況在第0頁尤其明顯。用戶數(shù)據(jù)分組在DSP和網(wǎng)卡交互是通過網(wǎng)卡的數(shù)據(jù)端口實現(xiàn)的,既可以用DMA方式也可以用PIO方式讀入數(shù)據(jù)分組或將數(shù)據(jù)分組送至網(wǎng)卡RAM緩沖區(qū)。在本系統(tǒng)中,DSP采用DMA方式對網(wǎng)卡進行數(shù)據(jù)讀寫。網(wǎng)卡的數(shù)據(jù)端口地址(NDPA)為網(wǎng)卡基本I/O地址(BIOA)加偏移地址10H(即NDPA=BIOA+10H)。

網(wǎng)卡通信過程控制可分為網(wǎng)卡初始化、接收控制和發(fā)送控制。下面分別予以討論。

2.1 網(wǎng)卡初始化

網(wǎng)卡初始化的主要任務是設置所需的寄存器狀態(tài),確定發(fā)送和接收條件,并對網(wǎng)卡緩沖區(qū)RAM進行劃分,建立接收和發(fā)送緩沖環(huán)。具體過程請參閱參考文獻[2]。需要說明的是,每一塊網(wǎng)卡被賦予一個物理地址,以便通信站點的標識。這個物理地址存在網(wǎng)卡的PROM(存儲地址為0000~0005H)六個單元中,在網(wǎng)卡初始化時,通過遠程DMA讀入DSP內(nèi)存中,并送入網(wǎng)卡物理地址寄存器。在一步的意義在于:一方面,如果能正確讀出網(wǎng)卡的物理地址,則說明網(wǎng)卡硬件基本沒有問題,網(wǎng)卡的上電復位和DSP對網(wǎng)卡的初始化順利通過;另一方面,這個物理地址可以用于DSP網(wǎng)絡系統(tǒng)中的點名、包的過濾丟棄等服務,也就是說,在鏈路層根據(jù)數(shù)據(jù)幀攜帶的源地址和目的地址確定數(shù)據(jù)報從哪里來,是否接收或丟棄。網(wǎng)卡初始化時另一個重要的工作就是接收緩沖環(huán)的設置,為了有效利用緩沖區(qū),NIC將接收緩沖區(qū)RAM構成環(huán)形緩沖結構,如圖2所示。

    接收緩沖區(qū)RAM分成多個256字節(jié)的緩沖區(qū),N個(N最大為256)這樣的緩沖區(qū)通過指針控制鏈接成一條邏輯上的緩沖環(huán)。緩沖環(huán)的開始頁面地址存入PSTART寄存器,環(huán)頁面結束地址存入PSTOP寄存器。PSTART和PSTOP確定了接收緩沖環(huán)的大小和邊界。為便于緩沖環(huán)讀寫操作,還需要2個指針:當前頁面指針CURR和邊界指針BNRY。CURR確定下一包放在何處,起著緩沖環(huán)寫頁面指針作用;BNRY指向未經(jīng)DSP取走處理最早到達的數(shù)據(jù)包起始頁面,新接收的數(shù)據(jù)包不可將其覆蓋,起著緩沖環(huán)讀頁面指針的作用。也就是說,CURR可以告訴用戶網(wǎng)卡接收的數(shù)據(jù)分組當前放到了什么位置,而BNRY則用于確定DSP讀緩沖環(huán)到了什么地方。由于接收緩沖區(qū)為環(huán)形結構,BNRY和CURR相等時,環(huán)緩沖區(qū)可能滿也可能空。為了使NIC能辨別這兩種狀態(tài),規(guī)定當BNRY等于CURR時,才認為環(huán)緩沖區(qū)滿;當緩沖區(qū)空時,CURR比BNRY指針值大1。因此,初始化時設置:BNRY=PSTART,CURR=PSTART+1。這時讀寫指針不一致,為了保證正確的讀寫操作,引入一軟件指針NEXTPK指示下一包起始頁面。顯然,初始化時NEXTPK=CURR。這時,緩沖環(huán)的讀指針對NEXTPK,而BNRY只是存儲分組緩沖區(qū)的起始頁面邊界指示,其值為NEXTPK-1。

2.2 接收控制過程

DSP完成對DP8390的初始化后,網(wǎng)卡就處于接收狀態(tài),一旦收到分組,就自動執(zhí)行本地DMA,將NIC中FIFO數(shù)據(jù)送入接收緩沖環(huán),然后向主機申請“數(shù)據(jù)分組接收到”中斷請求。DSP如果響應中斷,則啟動網(wǎng)卡遠程DMA讀,將網(wǎng)卡緩沖區(qū)中的數(shù)據(jù)分組讀入學生機存儲區(qū),然后對接收緩沖環(huán)CURR、NEXTPK、BNRY指針內(nèi)容進行修改,以便網(wǎng)卡能從網(wǎng)上正確接收后續(xù)分組。DSP響應網(wǎng)卡接收中斷后,接收控制過程如下:

①設置遠程DMA的起始地址;RSAR0=00H,RSAR1=Nextpk。

②設置遠程DMA操作的字節(jié)數(shù),這個長度在46~1500字節(jié)范圍內(nèi)根據(jù)具體要求自己確定。

③0AH送命令寄存器CR,啟動遠程DMA讀。

④從網(wǎng)卡數(shù)據(jù)端口依序讀入數(shù)據(jù)分組,注意,最先讀入的4字節(jié)非數(shù)據(jù)分組內(nèi)容,第1字節(jié)為接收狀態(tài),第2字節(jié)為下一包頁地址指針,3與4字節(jié)為接收字節(jié)數(shù)。第2字節(jié)內(nèi)容應該送入Nextpk,其它字節(jié)根據(jù)用戶要求處理。

⑤修改邊界指針BNRY=Nextpk-1。

⑥清除遠程DMA字節(jié)數(shù)寄存器RBCR0和RBCR1。

2.3 發(fā)送控制過程

DSP先執(zhí)行遠程DMA寫操作,將內(nèi)存中的數(shù)據(jù)分組傳至網(wǎng)卡發(fā)送緩沖區(qū),然后啟動發(fā)送命令進行數(shù)據(jù)分組發(fā)送。發(fā)送控制過程如下:

①設置遠程DMA的起始地址為網(wǎng)卡發(fā)送緩沖區(qū)起始地址;

②設置遠程DMA操作的字節(jié)數(shù);

③12H送命令寄存器CR,啟動遠程DMA寫;

④依序送出數(shù)據(jù)分組至網(wǎng)卡發(fā)送緩沖區(qū);

⑤清除遠程DMA字節(jié)數(shù)寄存器;

⑥設置發(fā)送字節(jié)數(shù)寄存器TBCR0和TBCR1;

⑦12H送命令寄存器CR,啟動數(shù)據(jù)分組發(fā)送。

3 發(fā)送方發(fā)送頻率的控制

發(fā)送方發(fā)送頻率的正確控制主要保護兩點:一是有一個最小發(fā)送時間間隔,否則會因為接收方不能及時接收而導致系統(tǒng)癱瘓;二是發(fā)送頻率能夠足具體的功能實現(xiàn)要求。譬如在語音的實時通信中,發(fā)送頻率就取決于聲卡的采樣頻率。在8kHz采樣頻率時,聲卡每秒鐘采樣8000字節(jié),采用1024字節(jié)需用時128ms,如果通信協(xié)議規(guī)定發(fā)送1次傳送1024字節(jié)有效數(shù)據(jù),則必須每128ms發(fā)送一次才能保證緩沖區(qū)有新數(shù)據(jù)待發(fā)送,也才能保證接收方有新數(shù)據(jù)播放。128ms是一個理論計算數(shù)值,在實際的操作中采樣速度和發(fā)送頻率之間總是不能完全匹配,而存放數(shù)據(jù)的緩沖區(qū)大小是有限的,如果沒有良好的控制技巧來實現(xiàn)正確發(fā)送,就會造成聲音抖動和延時。解決的辦法是雙緩沖技術和雙指針控制,并且根據(jù)采樣速度和發(fā)送頻率之間的匹配情況送入不同的發(fā)送通信進行處理后發(fā)送。正確發(fā)送的含義有兩方面,一是每次發(fā)送的都是新數(shù)據(jù),二是能滿足接收方總在播放新數(shù)據(jù)的需求。

4 接收方防止數(shù)據(jù)包的丟失

由于DSP通過中斷請求判斷是否有數(shù)據(jù)分組到來,如果中斷繁忙而兩個數(shù)據(jù)包到來時間相差非常短,DSP有可能只響應一次中斷,從而導致丟包的發(fā)生。分析網(wǎng)卡接收數(shù)據(jù)過程,當網(wǎng)卡收到數(shù)據(jù)分組時,首先執(zhí)行本地DMA,將NIC中FIFO數(shù)據(jù)送入接收緩沖環(huán),并將本地DMA操作的起始地址存放在當前頁寄存器(CURR)和當前本地DMA寄存器(CLDA0、CLDA1)中,DSP從網(wǎng)卡接收緩沖環(huán)讀出數(shù)據(jù)到存儲器則稱遠程DMA操作,用軟件指針Nextpk來指示遠程DMA的起始頁面。因此通過比較網(wǎng)卡本地DMA和遠程DMA的當前地址,即在中斷服務子程序中比較CURR和Nextpk指針,或比較CLDA0、CLDA1和Nextpk指針,就可以保證當前數(shù)據(jù)分組放到了哪里就讀出到哪里,從而防止丟包的發(fā)生。

5 結論

DSP對網(wǎng)卡通信過程控制的實現(xiàn)解決了DSP網(wǎng)絡中任意站點之間,DSP網(wǎng)絡與PC機之間準確、高速的實時通信問題,是將網(wǎng)絡技術應用到DSP數(shù)字化系統(tǒng)中的關鍵,從而最終實現(xiàn)了以DSP為核心的處理系統(tǒng)數(shù)字化和網(wǎng)絡化的融合。

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

在工業(yè)自動化、汽車電子及物聯(lián)網(wǎng)領域,CANBUS總線因其高可靠性和實時性被廣泛應用。然而,復雜電磁環(huán)境、機械振動及配置不當?shù)纫蛩爻е峦ㄐ女惓?。本文基于實際工程案例,從硬件、協(xié)議、軟件及環(huán)境四大維度,系統(tǒng)梳理CANBUS...

關鍵字: CANBUS 網(wǎng)絡通信 CANBUS總線

隨著在線會議、直播和游戲語音交流的普及,高質(zhì)量的音頻輸入設備變得越來越重要。為此,邊緣AI和智能音頻專家XMOS攜手其全球首家增值分銷商飛騰云科技,利用其集邊緣AI、DSP、MCU和靈活I/O于一顆芯片的xcore處理器...

關鍵字: AI DSP MCU

多DSP集群的實時信號處理系統(tǒng),通信拓撲的優(yōu)化直接決定任務調(diào)度效率與系統(tǒng)吞吐量。RapidIO與SRIO作為嵌入式領域的主流互連協(xié)議,其帶寬利用率差異與QoS配置策略對集群性能的影響尤為顯著。以無線基站、雷達陣列等典型應...

關鍵字: DSP 通信拓撲優(yōu)化

隨著5G網(wǎng)絡普及與物聯(lián)網(wǎng)設備爆發(fā)式增長,邊緣計算正從概念驗證走向規(guī)?;渴?。據(jù)IDC預測,2025年全球邊緣數(shù)據(jù)量將占總體數(shù)據(jù)量的50%,這對邊緣節(jié)點的實時處理能力提出嚴苛要求。在此背景下,AI加速器的DSP化趨勢與可重...

關鍵字: AI加速器 DSP

在工業(yè)控制領域,數(shù)字信號處理器(DSP)的性能直接決定了系統(tǒng)的實時控制能力和可靠性。德州儀器(TI)的C2000系列芯片憑借其卓越的采樣、控制和功率管理能力,長期以來在全球工業(yè)控制市場占據(jù)絕對領導地位,廣泛應用于能源、電...

關鍵字: TI C2000 DSP 格見半導體 芯來 RISC-V 工控

2025年7月16日 – 專注于引入新品的全球電子元器件和工業(yè)自動化產(chǎn)品授權代理商貿(mào)澤電子 (Mouser Electronics) 持續(xù)供貨Texas Instruments (TI) 的新產(chǎn)品和解決方案。作為一家授權...

關鍵字: 線性穩(wěn)壓器 柵極驅動器 DSP

控制寄存器(Control Register)是中央處理器(CPU)中用于管理系統(tǒng)級操作的特殊寄存器,它為操作系統(tǒng)和硬件提供對處理器行為的精細控制。本文從計算機體系結構角度系統(tǒng)闡述控制寄存器的設計原理、功能分類、操作機制...

關鍵字: 寄存器 處理器

在當今數(shù)字化浪潮的推動下,數(shù)據(jù)流量呈爆炸式增長,數(shù)據(jù)中心、5G通信網(wǎng)絡以及云計算等領域對高速光通信的需求愈發(fā)迫切。800G光模塊作為高速光通信的關鍵組件,其性能直接影響著整個通信系統(tǒng)的傳輸效率和可靠性。數(shù)字信號處理(DS...

關鍵字: 800G DSP PAM4均衡算法

以氫燃料電池空壓機為研究對象 ,開發(fā)超高速永磁同步電機控制器 ,采用傳統(tǒng)的IGBT主功率器件 ,且為兩電平主回 路結構形式 ,通過改進的V/F控制算法 ,完成了控制器的設計。搭建了試驗平臺進行測試 ,結果表明 ,控制器能...

關鍵字: 超高速永磁同步電機 V/F控制 DSP

醫(yī)療設備智能化進程,數(shù)字信號處理器(DSP)作為核心計算單元,承擔著實時處理生物電信號、醫(yī)學影像等敏感數(shù)據(jù)的重任。然而,隨著醫(yī)療設備與網(wǎng)絡互聯(lián)的深化,數(shù)據(jù)泄露風險顯著增加。美國《健康保險流通與責任法案》(HIPAA)明確...

關鍵字: 醫(yī)療設備 DSP
關閉