以太網(wǎng)通信接口的設(shè)計(jì)與實(shí)現(xiàn)
1 概述
TM1300是Philips公司推出的新一代高性能多媒體數(shù)字信號處理器芯片。基于TM1300的DSP應(yīng)用系統(tǒng)適合于實(shí)時(shí)聲音、圖像處理,可廣泛應(yīng)用于會議電視、可視電話、數(shù)字電視等應(yīng)用場合。它不僅具有強(qiáng)大的處理能力,同時(shí)還具有非常友好的音頻和視頻以及SSI和PCI等I/O接口,因此可以根據(jù)應(yīng)用的需要靈活地構(gòu)造各種視頻通信系統(tǒng)。鑒于目前計(jì)算機(jī)網(wǎng)絡(luò)的普及和網(wǎng)上視頻業(yè)務(wù)的發(fā)展,很有必要為TM1300視頻編碼系統(tǒng)開發(fā)一個(gè)以太網(wǎng)接口以拓寬其應(yīng)用范圍。開發(fā)以太網(wǎng)接口的一種合理思路是利用TM1300集成的PCI接口來驅(qū)動(dòng)專用的以太網(wǎng)接口芯片。由于目前多數(shù)以太網(wǎng)接口芯片(如Real-tek8029,Realtek8139等)都采用PCI接口,因此,可以用PCI總線將數(shù)據(jù)從TM1300傳輸?shù)竭@些專用的以太網(wǎng)接口芯片后,再由它們發(fā)送數(shù)據(jù),而且TM1300可以在嵌入式操作系統(tǒng)pSOS中運(yùn)行,同時(shí)由于系統(tǒng)pSOS帶有TCP/IP協(xié)議棧因此可以方便地完成編碼碼流的TCP/IP封裝。
根據(jù)以上思路筆者在進(jìn)行了前期測試的基礎(chǔ)上進(jìn)行了電路板的設(shè)計(jì)并順利完成了調(diào)試。目前這個(gè)以太網(wǎng)接口已經(jīng)基本開發(fā)成功。本文將對這個(gè)設(shè)計(jì)的技術(shù)要點(diǎn)從硬件和軟件兩個(gè)方面進(jìn)行詳細(xì)介紹。
2 TM1300及PCI總線接口
該系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示。本系統(tǒng)硬件設(shè)計(jì)的重點(diǎn)是PCI總線接口。PCI總線根據(jù)數(shù)據(jù)位的寬度有32位和64位之分,64位的數(shù)據(jù)線與32位是兼容的。PC機(jī)中常見的是32位PCI總線,它的有用引腳總數(shù)是110個(gè),可以分成3組。第一組是基本功能信號線,包括32位共享數(shù)據(jù)地址線AD〔00..31〕、接口控制線、仲裁線、時(shí)鐘線、系統(tǒng)復(fù)位線、中斷線;第二組是附加功能信號線,包括錯(cuò)誤報(bào)告線、cache功能支持線、JTAG邊界掃描線;第三組是電源線,包括設(shè)備耗電量標(biāo)識線、3.3V電源線(12根)、5V電源線(13根)、地線(22根)。
因?yàn)椋遥澹幔欤簦澹耄福埃玻共痪邆洌校茫傻母郊庸δ苄盘柧€所支持的cache功能和JTAG邊界掃描功能,同時(shí)雖然它具有奇偶校驗(yàn)錯(cuò)誤報(bào)告功能引腳,但該腳可以懸空不用。所以,設(shè)計(jì)時(shí)只需考慮第一組功能信號線的連接即可。
PCI接口的設(shè)計(jì)有以下幾個(gè)要點(diǎn):
(1)PCI總線的仲裁
這里先說明兩個(gè)概念。首先,PCI總線是多設(shè)備共享的,由于PC機(jī)里可以有多個(gè)PCI設(shè)備,所以需要使用仲裁器;其次,PCI設(shè)備有主設(shè)備和從設(shè)備之分,主設(shè)備可以發(fā)起PCI數(shù)據(jù)的傳送從設(shè)備只能被動(dòng)地響應(yīng)主設(shè)備的操作以對讀操作和寫操作做出響應(yīng)。PCI的仲裁引腳是REQ和GNT,分別為請求線和授權(quán)線,而且只有PCI主設(shè)備有這兩個(gè)引腳。一般情況下,REQ通常和GNT成對地連到仲裁器,而設(shè)備與設(shè)備的REQ和GNT通常是互不相連的。
PCI總線的仲裁過程是這樣的:PCI主設(shè)備把REQ電平拉低以表示向仲裁器請求占用總線。經(jīng)仲裁獲準(zhǔn)后,仲裁器把這個(gè)設(shè)備的GNT電平拉低以表示請求獲準(zhǔn),此后該設(shè)備便可以使用總線了。當(dāng)它不再使用總線時(shí),應(yīng)使REQ信號變?yōu)楦唠娖舰熤俨闷骶筒辉俳o它分配總線資源。在本系統(tǒng)中,TM1300是PCI主設(shè)備,而Realtek8029是PCI從設(shè)備。由于它們不存在共享總線的問題,所以不需要仲裁器,而只是簡單地把REQ和GNT短接即可,這就相當(dāng)于TM1300自己給自己授權(quán)。
(2)PCI_IDSEL信號線在設(shè)備的PCI配置讀寫中的作用
PCI有一種特殊的讀寫周期,稱為配置讀寫。這是因?yàn)樵谙到y(tǒng)引導(dǎo)時(shí),如果沒有給設(shè)備配置I/O或內(nèi)存地址,軟件就只能通過配置來讀寫訪問設(shè)備。配置讀寫有兩種,分別稱為0型和1型具體采用哪一種取決于總線的硬件連接。配置讀寫操作不經(jīng)過PCI橋時(shí),使用0型,當(dāng)需要經(jīng)過PCI橋時(shí),則要用1型,0型讀寫的地址直接就是總線上的地址,1型讀寫的地址則要經(jīng)過PCI橋的譯碼才能成為最終的總線地址。本設(shè)計(jì)中,TM1300和Realtek8029是用PCI總線直連的,所以使用0型配置讀寫。
評論