技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網 > 技術頻道 > 技術百科 > TM1300 DSP系統(tǒng)的以太網通信接口的設計與實現(xiàn)

TM1300 DSP系統(tǒng)的以太網通信接口的設計與實現(xiàn)

時間:2008-05-08 14:44:00來源:ronggang

導語:?介紹了TM1300 DSP 的特點,給出了通過TM1300的PCI接口驅動以太網芯片來實現(xiàn)以太網通信接口的設計方法,詳細介紹了該方案的軟件和硬件的設計要點,最后給出了對模擬數據和實際視頻壓縮碼流的傳送實驗結果
摘 要:介紹了TM1300 DSP 的特點,給出了通過TM1300的PCI接口驅動以太網芯片來實現(xiàn)以太網通信接口的設計方法。該設計將TM1300和以太網結合起來,因而可以方便地實現(xiàn)視頻通信,文章詳細介紹了該方案的軟件和硬件的設計要點,最后給出了對模擬數據和實際視頻壓縮碼流的傳送實驗結果。 關鍵詞:PCI總線 TM1300 以太網通信接口 pSOS+內核 pNA+ 1 概述   TM1300是Philips公司推出的新一代高性能多媒體數字信號處理器芯片。基于TM1300的DSP應用系統(tǒng)適合于實時聲音、圖像處理,可廣泛應用于會議電視、可視電話、數字電視等應用場合。它不僅具有強大的處理能力,同時還具有非常友好的音頻和視頻以及SSI和PCI等I/O接口,因此可以根據應用的需要靈活地構造各種視頻通信系統(tǒng)。鑒于目前計算機網絡的普及和網上視頻業(yè)務的發(fā)展,很有必要為TM1300視頻編碼系統(tǒng)開發(fā)一個以太網接口以拓寬其應用范圍。開發(fā)以太網接口的一種合理思路是利用TM1300集成的PCI接口來驅動專用的以太網接口芯片。由于目前多數以太網接口芯片(如Real-tek8029,Realtek8139等)都采用PCI接口,因此,可以用PCI總線將數據從TM1300傳輸到這些專用的以太網接口芯片后,再由它們發(fā)送數據,而且TM1300可以在嵌入式操作系統(tǒng)pSOS中運行,同時由于系統(tǒng)pSOS帶有TCP/IP協(xié)議棧因此可以方便地完成編碼碼流的TCP/IP封裝。   根據以上思路筆者在進行了前期測試的基礎上進行了電路板的設計并順利完成了調試。目前這個以太網接口已經基本開發(fā)成功。本文將對這個設計的技術要點從硬件和軟件兩個方面進行詳細介紹。
2 TM1300及PCI總線接口   該系統(tǒng)的硬件結構框圖如圖1所示。本系統(tǒng)硬件設計的重點是PCI總線接口。PCI總線根據數據位的寬度有32位和64位之分,64位的數據線與32位是兼容的。PC機中常見的是32位PCI總線,它的有用引腳總數是110個,可以分成3組。第一組是基本功能信號線,包括32位共享數據地址線AD〔00..31〕、接口控制線、仲裁線、時鐘線、系統(tǒng)復位線、中斷線;第二組是附加功能信號線,包括錯誤報告線、cache功能支持線、JTAG邊界掃描線;第三組是電源線,包括設備耗電量標識線、3.3V電源線(12根)、5V電源線(13根)、地線(22根)。   因為Realtek8029不具備PCI的附加功能信號線所支持的cache功能和JTAG邊界掃描功能,同時雖然它具有奇偶校驗錯誤報告功能引腳,但該腳可以懸空不用。所以,設計時只需考慮第一組功能信號線的連接即可。   PCI接口的設計有以下幾個要點:   (1)PCI總線的仲裁   這里先說明兩個概念。首先,PCI總線是多設備共享的,由于PC機里可以有多個PCI設備,所以需要使用仲裁器;其次,PCI設備有主設備和從設備之分,主設備可以發(fā)起PCI數據的傳送從設備只能被動地響應主設備的操作以對讀操作和寫操作做出響應。PCI的仲裁引腳是REQ和GNT,分別為請求線和授權線,而且只有PCI主設備有這兩個引腳。一般情況下,REQ通常和GNT成對地連到仲裁器,而設備與設備的REQ和GNT通常是互不相連的。   PCI總線的仲裁過程是這樣的:PCI主設備把REQ電平拉低以表示向仲裁器請求占用總線。經仲裁獲準后,仲裁器把這個設備的GNT電平拉低以表示請求獲準,此后該設備便可以使用總線了。當它不再使用總線時,應使REQ信號變?yōu)楦唠娖舰熤俨闷骶筒辉俳o它分配總線資源。在本系統(tǒng)中,TM1300是PCI主設備,而Realtek8029是PCI從設備。由于它們不存在共享總線的問題,所以不需要仲裁器,而只是簡單地把REQ和GNT短接即可,這就相當于TM1300自己給自己授權。   
  (2)PCI_IDSEL信號線在設備的PCI配置讀寫中的作用   PCI有一種特殊的讀寫周期,稱為配置讀寫。這是因為在系統(tǒng)引導時,如果沒有給設備配置I/O或內存地址,軟件就只能通過配置來讀寫訪問設備。配置讀寫有兩種,分別稱為0型和1型具體采用哪一種取決于總線的硬件連接。配置讀寫操作不經過PCI橋時,使用0型,當需要經過PCI橋時,則要用1型,0型讀寫的地址直接就是總線上的地址,1型讀寫的地址則要經過PCI橋的譯碼才能成為最終的總線地址。本設計中,TM1300和Realtek8029是用PCI總線直連的,所以使用0型配置讀寫。   AD〔00..31〕是PCI總線的共享地址和數據線,每一次PCI傳送都分為地址周期和數據周期。在地址周期,采用0型讀寫時,AD〔00..31〕的內容如下,AD〔00〕和AD〔01〕總為“00”,因為配置讀寫是以雙字為單位的,AD〔02〕~AD〔07〕是要讀寫的PCI配置空間的寄存器號AD〔08〕~AD〔10〕是設備的功能號在一塊PCI卡上有多個功能設備時,為了進一步區(qū)分不同的設備就要用到這幾位,由于Realtek8029是單功能設備,故這幾位全為0,AD〔11〕~AD〔31〕是設備選擇位,其中必須有且僅有一位為“1”,如圖2所示,這在物理上表現(xiàn)為總線的AD〔11〕~AD〔31〕中有一根為高電平如果輸出高電平的這根線與某塊PCI卡的PCI IDSEL引腳相連,這塊卡就會被激活,這樣,在緊接著的數據周期中,它就會將其PCI配置空間相應寄存器中的內容放到總線上以供讀取。  ?。?) PCI_FRAME、PCI_DEVSEL、PCI_IRDY、PCI_TRDY引腳的處理   上述四個引腳均是低電平有效,因此需要接上拉電阻,以保證在設備未驅動該引腳時處于穩(wěn)定的無效狀態(tài),上拉電阻的阻值在1kΩ~10kΩ范圍內,阻值越小,則將該信號驅動為有效的時間越短,但太小又會導致電流過大,所以,要權衡考慮,本設計選用4.7kΩ。   上述三點對脫機情況下PCI設備的互連具有較普遍的參考意義,除此之外,本設計還有以下比較特殊的幾點:   ●應將TM1300的PCI,INTA引腳配置為輸入,以便接收Realtek8029的中斷;   ●PCI時鐘由TM1300提供;   ●Realtek8029的復位信號也就是TM1300的復位信號,該信號由外部電路提供;   ●TM1300的PCI STOP、 PCI SERR引腳懸空,表示Realtek8029不具備相應的附加功能。另外,TM1300的PCI INTB、PCI INTC、PCI INTD引腳可以用作用戶中斷。 3 軟件設計
  該接口設計的軟件結構框圖如圖3所示。其中TM1300運行于pSOS,它是一個簡單的實時多任務嵌入式操作系統(tǒng),帶有pNA+網絡組件,其pNA+相當于TCP/IP協(xié)議棧的擴展,它向上可提供應用程序編程的socket接口,向下可定義一個與網絡接口層交互的接口,其中包括8個函數,分別是:ni_init(接口芯片初始化)、ni_broad-cast(發(fā)送廣播分組)、ni_send(發(fā)送普通分組)、ni_getpkb(申請發(fā)送緩沖區(qū))、ni_retpkb(歸還接收緩沖區(qū))、ni_ioctl(I/O控制操作)、ni_pool(統(tǒng)計量查詢)、Announce(網絡接口驅動調用它把接收到的數據包提交給pSOS)。其中網絡接口層在本應用中就是Realtek8029的驅動程序,它通過硬件抽象層來驅動Realtek8029(硬件抽象層是PCI總線的配置讀寫和I/O讀寫指令集的總稱)。   軟件執(zhí)行的流程大致是:系統(tǒng)首先啟動pSOS,并由它加載網絡接口驅動程序,然后調用驅動程序的ni_init函數,同時初始化Realtek8029的PCI配置空間并設置Realtek8029的工作參數,之后啟動用戶任務。在這里,用戶任務為H.263編碼進程。它對VI口讀入的源圖像進行壓縮編碼后,將調用socket的接口函數sendto(sendto是UDP套接口專用的發(fā)送函數),然后把碼流發(fā)送給pSOS由pSOS根據UDP協(xié)議進行封裝后,再調用ni_send函數,并由ni_send完成數據包從系統(tǒng)主內存到Realtek8029片上RAM的拷貝,然后啟動Realtek8029發(fā)送數據。在接收情況下,Realtek8029收到一個完整的數據包后會用中斷通知CPU,然后由CPU執(zhí)行中斷服務程序。當中斷服務程序將數據包從Realtek8029片上RAM中拷貝到系統(tǒng)的主內存后,系統(tǒng)將調用Announce函數并把數據塊的指針、數據長度和其它信息提交pSOS,最后由pSOS將數據包沿協(xié)議棧一層層上傳并作出相應的處理。   軟件的設計和pSOS操作系統(tǒng)的關系比較密切,限于篇幅,本文不對pSOS作詳細介紹,。本文接下來重點介紹PCI配置空間的配置過程,這部分對于類似的設計有較普遍的參考意義。PCI配置空間有64個字節(jié),PCI片內的這些寄存器存儲了該芯片的廠商號、設備號、設備類型等重要代碼,還包括命令寄存器、基地址寄存器等控制其總線行為的寄存器,它們必須在設備初始化時正確配置,否則設備不能工作。   對Realtek8029 PCI空間的配置需要三個步驟:   首先是掃描總線,這一步的目的是找到Real-tek8029的配置地址,直觀地講,就是找到它的PCI_IDSEL引腳和哪根AD線相連,因為后續(xù)的配置寫要根據這個地址來尋址。掃描總線時,要對AD〔11〕到AD〔31〕每根線進行一次掃描,如果哪根AD線連接了一個PCI設備的PCI IDSEL引腳,那么用配置讀函數讀取PCI配置空間的0號寄存器時,應該返回該設備的設備和廠商代碼,如果這根線實際未連接設備,則返回值是0。已知Realtek8029的設備和廠商代碼是“0x802910ec”,如果返回值與之相同,說明找到了Realtek8029,這時要記下這根AD線的序號。例如,在硬件上把Realtek8029的PCI IDSEL和AD〔20〕相連,則掃描到的序號就應該是“20”。   其次,用配置寫函數配置I/O讀寫使能,即在command寄存器中寫入“0x1”。   最后,用配置寫函數配置I/O地址,也就是在I/OBaseAdddress寄存器寫入分配給該設備的I/O地址(例如“0xe400”)。具體程序流程圖如圖4所示。 4 調試結果
  根據以上設計,筆者在原TM1300視頻編碼硬件系統(tǒng)的基礎上加入了PCI接口,并編寫了pSOS下Realtek8029的驅動程序。然后,在這個硬件平臺上對Realtek8029的驅動部分進行了數據傳送測試。   筆者首先用一個單獨的UDP發(fā)送任務進行發(fā)送速率測試。這個任務主要是高速地向網絡上的一臺PC發(fā)送數據包,數據包的大小是變長的。PC接收并對丟包數進行統(tǒng)計的結果如表1所列。實驗表明,在用網線直連的各種測試速率情況下都沒有出錯,而當接入局域網后,在發(fā)送速率為4.5Mbps時有突發(fā)的少量錯誤。由于UDP是不可靠的傳輸方式,所以這種錯誤是正常的。測試中,UDP發(fā)送的最高速率可以達到5Mbps左右,它與硬件的最高速率(10Mbps)相比還有一定差距,主要原因是數據從系統(tǒng)主內存到Realtek8029片上RAM的拷貝過程目前尚未采用DMA方式,這是需要改進的地方。   表1 丟包數統(tǒng)計表(單位:丟包個數/分鐘)
  接下來筆者進行了編碼和傳送的聯(lián)合測試。編碼任務執(zhí)行H.263數據壓縮后,把碼流從以太網接口發(fā)出,然后在網絡上的另一臺PC上接收這個碼流,并進行解碼播放。通過調整編碼器的量化步長可以控制編碼的輸出碼率。在實驗環(huán)境下發(fā)現(xiàn)在量化步長大于等于5、碼率在700kbps以下時,基本沒有丟包現(xiàn)象,解碼得到的圖像比較穩(wěn)定,而當量化步長進一步減小,碼率接近1Mbps時,就會出現(xiàn)丟包現(xiàn)象,解碼的圖像會出現(xiàn)彩色方塊。出現(xiàn)這種現(xiàn)象是因為H.263編碼器對CPU資源的消耗很大,而且數據在主內存和Realtek8029片上RAM之間的復制采用I/O讀寫方式也需要一定的CPU資源。這樣,當量化步長小于5時,處理的復雜度超過了CPU的能力從而產生了一定的誤碼。解決的途徑一方面是改進數據的傳送方式(采用DMA),另一方面是需要對編碼任務進行優(yōu)化。 5 小結   本文介紹了PCI總線接口的設計以及PCI空間初始化的步驟,同時對測試結果進行了較詳細的分析,提出了以后改進的方向。

標簽:

點贊

分享到:

上一篇:寬帶RF-IF采樣下變頻器采樣頻...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.wangxinlc.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業(yè)自動化與智能制造的全媒體“互聯(lián)網+”創(chuàng)新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號