《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 基于TM1300 DSP系統的以太網通信接口的設計與實現

基于TM1300 DSP系統的以太網通信接口的設計與實現

2009-08-10
作者:梅啟斌

  摘? 要: TM1300 DSP的特點,詳細介紹了通過TM1300的PCI接口驅動以太網芯片實現以太網通信接口的軟件和硬件設計要點,給出了模擬數據和實際視頻壓縮碼流的傳送實驗結果。

??? 關鍵詞: PCI總線? TM1300? 以太網通信接口? pSOS內核

?

  TM1300是Philips公司推出的新一代高性能多媒體數字信號處理器芯片。基于TM1300的DSP應用系統適合于實時的聲音、圖像處理,可廣泛應用于會議電視、可視電話、數字電視等,具有廣闊的應用前景。TM1300具有強大的處理能力和非常友好的音頻和視頻以及SSI、PCI等I/O接口,可以根據需要靈活地構造各種視頻通信系統。鑒于目前計算機網絡的普及和網上視頻業務的發展,很有必要為TM1300視頻編碼系統開發一個以太網接口。開發以太網接口可以利用TM1300集成的PCI接口驅動專用的以太網接口芯片。目前多數以太網接口芯片(如Realtek8029、Realtek8139等)都是PCI接口的,可以用PCI總線將數據從TM1300傳輸到這些專用的以太網接口芯片,然后由接口芯片發送數據。由于TM1300可以運行嵌入式操作系統pSOS,且pSOS帶有TCP/IP協議棧,因此可以方便地完成編碼碼流的TCP/IP封裝。

  下面將從硬件和軟件二方面對設計要點進行詳細介紹。

1 TM1300及PCI總線接口

  基于TM1300 DSP系統的以太網通信接口的硬件系統結構如圖1所示。

?

  在該系統中硬件設計的重點是PCI總線接口。PCI總線的數據位寬度有32位和64位二種,64位的數據線對32位是兼容的。PC中常見的是32位PCI總線,它的有用引腳總數是110個,可以分成3組。第1組是基本功能信號線,包括32位共享數據地址線AD[00..31]、接口控制線、仲裁線、時鐘線、系統復位線、中斷線;第2組是附加功能信號線,包括錯誤報告線、Cache功能支持線、JTAG邊界掃描線;第3組是電源線,包括設備耗電量標示線、3.3V電源線(12根)、5V電源線(13根)和地線(22根)。

  由于8029不具備PCI附加功能信號線支持的Cache功能和JTAG邊界掃描功能,且Realtek8029的奇偶校驗錯誤報告功能引腳可以懸空不用,因此只需要考慮第1組功能信號線的連接。

  PCI接口的設計要點如下。

  (1)PCI總線仲裁

  PCI總線是多設備共享的,由于PC中有多個PCI設備,所以需要使用仲裁器。PCI設備有主設備和從設備之分,主設備可以發起PCI數據的傳送,從設備只能被動地響應主設備發出的讀操作和寫操作命令。PCI的仲裁引腳是請求線REQ#和授權線GNT#,只有PCI主設備有這2個引腳。REQ#和GNT#成對地連到仲裁器。各設備之間的REQ#和GNT#互不相連。

  PCI總線的仲裁過程:PCI主設備把REQ#電平拉低,表示向仲裁器請求占用總線。經仲裁獲準后,仲裁器把該設備的GNT#電平拉低,表示請求獲準,該設備就可以使用總線了。當它不再使用總線時,使REQ#信號變為高電平,仲裁器就不再給它分配總線資源。在本系統中,TM1300是PCI主設備,Realtek8029是從設備,不存在共享總線的問題,所以不需要仲裁器,可以簡單地把REQ#和GNT#短接,相當于TM1300自己給自己授權。

  (2)PCI_IDSEL信號線

  PCI有一種特殊的讀寫周期,稱為配置讀寫,它是指在系統引導時,還沒有給設備配置I/O或內存地址,軟件只能通過配置讀寫訪問設備。配置讀寫有2種:0型和1型,采用哪一種取決于總線的硬件連接。當配置讀寫操作不經過PCI橋時,使用0型;當要經過PCI橋時使用1型。0型直接讀寫總線上的地址,而1型讀寫的地址則要經過PCI橋的譯碼才能成為總線地址。本設計中,TM1300和Realtek8029是用PCI總線直連的,所以使用了0型配置讀寫。

  AD[00..31]是PCI總線的共享地址和數據線。PCI的每次傳送都分為地址周期和數據周期。在地址周期,0型讀寫的內容如下:AD[00]和AD[01]總為“00”,因為配置讀寫是以雙字為單位的;AD[02]~AD[07]是要讀寫的PCI配置空間的寄存器號;AD[08]~AD[10]是設備的功能號,用于區分1塊PCI卡上的多個功能設備,當Realtek8029是單功能設備時,這幾位全為0;AD[11]~AD[31]是設備選擇位,其中必須有且僅有一位為“1”,物理上表現為總線的某一根為高電平。如果輸出高電平的這根線與某塊PCI卡的PCI_IDSEL引腳相連,則該卡會被激活,在隨后的數據周期,它就會將其PCI配置空間相應寄存器的內容放到總線上供讀取。

  (3)PCI的引腳處理

  PCI_FRAME#、PCI_DEVSEL#、PCI_IRDY#、PCI_TRDY#這4個引腳均是低電平有效,需要接上拉電阻,保證在設備未驅動該引腳時處于穩定的無效狀態。上拉電阻的阻值為1kΩ~10kΩ,阻值越小則芯片將該信號驅動為有效的時間越短。但是阻值太小會導致電流過大,因此需要權衡考慮。本設計選用4.7kΩ。

  上述3點對脫機情況下PCI設備的互連具有較普遍的參考意義。此外,本系統的設計還有以下特點:

??? ①TM1300的PCI_INTA#引腳配置為輸入,以接收Realtek8029的中斷。

??? ②PCI時鐘由TM1300提供。

??? ③Realtek8029的復位信號也就是TM1300的復位信號,由外部電路提供。

??? ④TM1300的PCI_STOP#、PCI_SERR#引腳懸空,因為Realtek8029不具備相應的附加功能。

  ⑤TM1300的PCI_INTB#、PCI_INTC#、PCI_INTD#引腳可以用作用戶中斷。

2?軟件設計

  軟件的結構框圖如圖2所示。其中,TM1300運行pSOS。pSOS是一個簡單的實時多任務嵌入式操作系統,帶有pNA網絡組件。pNA相當于TCP/IP協議棧的擴展,向上為應用程序提供Socket接口,向下定義了與網絡接口層交互的接口,包括8個函數,分別是:ni_init(接口芯片初始化)、ni_broad-cast(發送廣播分組)、ni_send(發送普通分組)、ni_getpkb(申請發送緩沖區)、ni_retpkb(歸還接收緩沖區)、ni_ioctl(I/O控制操作)、ni_pool(統計量查詢)、Announce(網絡接口驅動調用它,把接收到的數據包提交給pSOS)。網絡接口層在本應用中就是Realtek8029的驅動程序,它通過硬件抽象層來驅動Realtek8029。硬件抽象層是PCI總線的配置讀寫和I/O讀寫指令集的總稱。

?

  軟件執行的流程是:系統首先啟動pSOS,由pSOS加載網絡接口驅動程序,然后調用驅動程序的ni_init函數,初始化Realtek8029的PCI配置空間并設置其工作參數,啟動用戶任務。在這里,用戶任務是H.263編碼進程。它對Vi口讀入的源圖像進行壓縮編碼后,調用Socket的接口函數sendto(UDP套接口專用的發送函數)把碼流發送給pSOS。pSOS根據UDP協議進行封裝后,調用函數ni_send。ni_send完成數據包從系統主內存到Realtek8029片上RAM的拷貝,并啟動8029發送數據。在接收情況下,8029收到完整的數據包后,用中斷通知CPU。CPU則執行中斷服務程序,將數據包從8029片上RAM中拷貝到系統的主內存,然后調用函數Announce,把數據塊的指針、數據長度和其他信息提交給pSOS。pSOS將數據包沿協議棧一層層上傳,作出相應處理。

  PCI配置空間有64B,其片內都集成了寄存器,用于存儲該芯片的廠商號、設備號、設備類型等重要代碼。此外,還包括控制其總線行為的命令寄存器、基地址寄存器等。

  對8029PCI空間的配置需要3個步驟:

  (1)掃描總線,以找到8029的配置地址,即PCI_IDSEL引腳和哪根AD線相連。掃描總線時,要對AD[11]~AD[31]每根線進行掃描。如果這根AD線連接了1個PCI設備的PCI_IDSEL引腳,則用配置讀函數讀取PCI配置空間的0號寄存器時,將返回該設備的設備號和廠商代碼。如果這根線實際未連接設備,則返回值是0。

  (2)用配置寫函數使能I/O讀寫,即在Command寄存器寫入“0x1”。

  (3)用配置寫函數配置I/O地址,即在I/OBaseAdddress寄存器寫入分配給該設備的I/O地址,例如“0xe400”。

3?調試結果

  在TM1300視頻編碼硬件系統上加入PCI接口后對pSOS下8029的驅動程序進行數據傳送測試。為進行發送速率測試,先向網絡上的1臺PC發送UDP數據包(數據包是變長的)。該PC接收并對丟包數進行統計。實驗表明,在用網線直連的各種測試速率情況下都沒有出錯,當接入局域網后在發送速率為4.5Mbps時有突發的少量錯誤。由于UDP是不可靠的傳輸方式,因此這種錯誤是正常的。測試中UDP發送的最高速率可達5Mbps,這與硬件的最高速率(10Mbps)相比還有一定差距,主要原因是數據從系統主內存到8029片上RAM的拷貝過程未采用DMA方式,這是需要改進的地方。

  在進行了發送速率測試后,可以進行編碼和傳送的聯合測試。編碼任務執行H.263數據壓縮,把碼流從以太網接口發出。網絡上的另一臺PC接收該碼流并進行解碼播放。通過調整編碼器的量化步長可以控制編碼的輸出碼率。在實驗環境下發現,在量化步長≥5、碼率在700Kbps以下時,基本不會丟包,解碼得到的圖像比較穩定;當量化步長進一步減小、碼率接近1Mbps時,出現丟包現象,解碼的圖像出現彩色方塊。出現這種現象是因為H.263編碼器對CPU資源的消耗很大,而且數據在主內存和8029片上RAM之間的復制采用的是I/O讀寫方式,也需要一定的CPU資源。當量化步長<5時,處理復雜度超過了CPU的能力,從而產生了一定的誤碼。解決問題的途徑一方面是改進數據的傳送方式(采用DMA),另一方面需要對編碼任務進行優化。

?

參考文獻

1? Philips Semiconductors Inc.TM1300 Preliminary Data Book,1999

2? Integrated Systems Inc pSOSystem Programmer′s?Reference,1997

3? 李鵬.計算機通信技術及其程序設計.西安:西安電子科技大學出版社,1998

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲一区二区精品在线观看| 久久久久久久精| 午夜国产欧美理论在线播放| 亚洲精品在线免费| 亚洲高清视频一区二区| 国产婷婷色一区二区三区四区| 国产精品卡一卡二卡三| 欧美日韩一区二区三| 欧美国产日产韩国视频| 免费成人毛片| 欧美~级网站不卡| 老司机67194精品线观看| 久久久久久一区二区三区| 欧美在线播放| 欧美一级大片在线免费观看| 亚洲欧美日韩国产| 亚洲欧美日韩国产| 欧美一级免费视频| 欧美亚洲免费高清在线观看| 西西裸体人体做爰大胆久久久| 亚洲一二三区视频在线观看| 亚洲午夜视频在线| 亚洲摸下面视频| 午夜在线视频观看日韩17c| 午夜欧美理论片| 羞羞答答国产精品www一本 | 欧美本精品男人aⅴ天堂| 欧美sm重口味系列视频在线观看| 欧美va亚洲va国产综合| 欧美精品一区二区三区视频| 欧美日韩精品福利| 欧美午夜不卡影院在线观看完整版免费 | 亚洲新中文字幕| 午夜精品成人在线视频| 久久国产欧美精品| 亚洲激情第一区| 夜夜嗨av一区二区三区免费区| 一区二区久久久久久| 亚洲欧美网站| 久久久亚洲成人| 欧美成年人在线观看| 欧美日韩在线播放一区| 国产精品美女黄网| 国产欧美精品日韩区二区麻豆天美| 国产揄拍国内精品对白| 亚洲欧洲在线看| 一区二区三区你懂的| 亚洲欧美制服另类日韩| 亚洲激情av在线| 亚洲深夜激情| 久久久久.com| 欧美日韩免费观看一区二区三区 | 亚洲综合色丁香婷婷六月图片| 久久成人免费| 欧美成人高清| 国产精品久久激情| 精品不卡在线| 亚洲午夜久久久| 亚洲高清精品中出| 亚洲一本视频| 老**午夜毛片一区二区三区| 欧美日韩综合在线免费观看| 国产一区二区电影在线观看| 亚洲欧洲一区二区三区| 亚洲欧美区自拍先锋| 亚洲黄色免费| 欧美一区亚洲二区| 欧美久久电影| 国产在线精品成人一区二区三区| 日韩视频在线播放| 亚洲第一页中文字幕| 亚洲欧美国产毛片在线| 欧美电影在线免费观看网站| 国产精品一二| 亚洲美女av黄| 亚洲第一色中文字幕| 香蕉成人伊视频在线观看| 欧美成人乱码一区二区三区| 国产精品你懂的| 亚洲另类春色国产| 久久精品国内一区二区三区| 亚洲一品av免费观看| 欧美69视频| 国产午夜精品理论片a级探花 | 亚洲综合色激情五月| 欧美成人自拍| 国产一区二区三区久久久| 夜夜精品视频| 日韩网站在线观看| 久久久另类综合| 欧美视频免费在线观看| 亚洲第一主播视频| 欧美伊人精品成人久久综合97| 在线综合视频| 欧美黄免费看| 影音先锋另类| 久久成人久久爱| 欧美一区二区在线| 国产精品久久久久久av福利软件| 亚洲黄色在线视频| 亚洲国产欧美另类丝袜| 久久精品视频在线播放| 国产精品第十页| 99re6热只有精品免费观看 | 1024国产精品| 欧美一区二区三区啪啪| 亚洲欧美日本精品| 欧美日韩在线一二三| 亚洲黄色一区| 亚洲精品资源| 欧美精品成人| 亚洲激情网站| 亚洲精品一区二区三区樱花| 免费在线一区二区| 在线日韩中文字幕| 亚洲国产日韩综合一区| 久久综合九色综合欧美狠狠| 国产在线欧美| 久久国产主播| 久久综合五月| 在线日韩欧美视频| 亚洲精品国精品久久99热一| 欧美福利视频网站| 亚洲第一中文字幕| 亚洲精品在线观| 欧美精品亚洲| 亚洲久久一区| 亚洲免费一在线| 国产噜噜噜噜噜久久久久久久久| 午夜亚洲激情| 久久精品在线播放| 韩国av一区| 亚洲国产欧美一区二区三区久久| 免费观看成人www动漫视频| 亚洲电影在线免费观看| 亚洲人成网站在线播| 欧美高清在线一区二区| 91久久久亚洲精品| 一区二区三区欧美激情| 欧美色图一区二区三区| 亚洲天堂网在线观看| 欧美亚洲色图校园春色| 国产亚洲精品久久久久动| 亚洲东热激情| 欧美理论在线| 亚洲一级影院| 欧美在线视屏| 亚洲电影免费观看高清| 日韩一级大片在线| 国产精品成人一区| 午夜亚洲视频| 欧美成人日本| av72成人在线| 久久爱www.| 亚洲国产美女精品久久久久∴| 亚洲深夜激情| 国产一区二区欧美日韩| 亚洲娇小video精品| 欧美日韩另类丝袜其他| 亚洲综合国产| 久久综合五月| 一区二区三区蜜桃网| 欧美一区二区三区在线观看视频| 国模一区二区三区| 日韩天堂在线观看| 国产精品一区久久久| 亚洲国产美女| 国产精品久久久久久久午夜| 久久精品国产精品| 欧美精品色网| 亚洲欧美一区二区在线观看| 美女主播精品视频一二三四| 国产精品99久久久久久www| 久久精品国产综合精品| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧美一区二区三区在线| 国内精品视频在线播放| 一本色道88久久加勒比精品| 国产麻豆精品theporn| 日韩视频一区二区在线观看| 国产精品系列在线播放| 亚洲精品久久久久久久久| 国产精品一卡二卡| 亚洲免费观看高清完整版在线观看熊| 国产精品久久久久久模特| 亚洲激情综合| 国产欧美一区二区三区沐欲 | 欧美精品久久久久久久久老牛影院| 亚洲自拍高清| 欧美精品久久久久久久久久| 欧美一级专区| 国产精品av免费在线观看| 亚洲激情成人| 国产美女精品一区二区三区| 日韩亚洲视频| 伊人春色精品| 久久精品国产亚洲aⅴ| 一区二区三区国产精品| 免费观看一级特黄欧美大片| 亚洲欧美国产一区二区三区|