新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 以太網(wǎng)通信接口的設(shè)計(jì)與實(shí)現(xiàn)

以太網(wǎng)通信接口的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-05-05 來源:網(wǎng)絡(luò) 收藏

AD〔00..31〕是PCI總線的共享地址和數(shù)據(jù)線,每一次PCI傳送都分為地址周期和數(shù)據(jù)周期。在地址周期,采用0型讀寫時(shí),AD〔00..31〕的內(nèi)容如下,AD〔00〕和AD〔01〕總為“00”,因?yàn)榕渲米x寫是以雙字為單位的,AD〔02〕~AD〔07〕是要讀寫的PCI配置空間的寄存器號(hào)AD〔08〕~AD〔10〕是設(shè)備的功能號(hào)在一塊PCI卡上有多個(gè)功能設(shè)備時(shí),為了進(jìn)一步區(qū)分不同的設(shè)備就要用到這幾位,由于Realtek8029是單功能設(shè)備,故這幾位全為0,AD〔11〕~AD〔31〕是設(shè)備選擇位,其中必須有且僅有一位為“1”,如圖2所示,這在物理上表現(xiàn)為總線的AD〔11〕~AD〔31〕中有一根為高電平如果輸出高電平的這根線與某塊PCI卡的PCI IDSEL引腳相連,這塊卡就會(huì)被激活,這樣,在緊接著的數(shù)據(jù)周期中,它就會(huì)將其PCI配置空間相應(yīng)寄存器中的內(nèi)容放到總線上以供讀取。

(3) PCI_FRAME、PCI_DEVSEL、PCI_IRDY、PCI_TRDY引腳的處理

上述四個(gè)引腳均是低電平有效,因此需要接上拉電阻,以保證在設(shè)備未驅(qū)動(dòng)該引腳時(shí)處于穩(wěn)定的無效狀態(tài),上拉電阻的阻值在1kΩ~10kΩ范圍內(nèi),阻值越小,則將該信號(hào)驅(qū)動(dòng)為有效的時(shí)間越短,但太小又會(huì)導(dǎo)致電流過大,所以,要權(quán)衡考慮,本設(shè)計(jì)選用4.7kΩ。

上述三點(diǎn)對(duì)脫機(jī)情況下PCI設(shè)備的互連具有較普遍的參考意義,除此之外,本設(shè)計(jì)還有以下比較特殊的幾點(diǎn):

●應(yīng)將TM1300的PCI,INTA引腳配置為輸入,以便接收Realtek8029的中斷;

●PCI時(shí)鐘由TM1300提供;

●Realtek8029的復(fù)位信號(hào)也就是TM1300的復(fù)位信號(hào),該信號(hào)由外部電路提供;

●TM1300的PCI STOP、 PCI SERR引腳懸空,表示Realtek8029不具備相應(yīng)的附加功能。另外,TM1300的PCI INTB、PCI INTC、PCI INTD引腳可以用作用戶中斷。

3 軟件設(shè)計(jì)

該接口設(shè)計(jì)的軟件結(jié)構(gòu)框圖如圖3所示。其中TM1300運(yùn)行于pSOS,它是一個(gè)簡(jiǎn)單的實(shí)時(shí)多任務(wù)嵌入式操作系統(tǒng),帶有pNA+網(wǎng)絡(luò)組件,其pNA+相當(dāng)于TCP/IP協(xié)議棧的擴(kuò)展,它向上可提供應(yīng)用程序編程的socket接口,向下可定義一個(gè)與網(wǎng)絡(luò)接口層交互的接口,其中包括8?jìng)€(gè)函數(shù),分別是:ni_init(接口芯片初始化)、ni_broad-cast(發(fā)送廣播分組)、ni_send(發(fā)送普通分組)、ni_getpkb(申請(qǐng)發(fā)送緩沖區(qū))、ni_retpkb(歸還接收緩沖區(qū))、ni_ioctl(I/O控制操作)、ni_pool(統(tǒng)計(jì)量查詢)、Announce(網(wǎng)絡(luò)接口驅(qū)動(dòng)調(diào)用它把接收到的數(shù)據(jù)包提交給pSOS)。其中網(wǎng)絡(luò)接口層在本應(yīng)用中就是Realtek8029的驅(qū)動(dòng)程序,它通過硬件抽象層來驅(qū)動(dòng)Realtek8029(硬件抽象層是PCI總線的配置讀寫和I/O讀寫指令集的總稱)。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉