51系列單片機是當前使用最為廣泛的8位單片機系列,其豐富的開發(fā)資源和較低的開發(fā)成本,使51系列單片機現(xiàn)在以至將來都仍會有強大的生命力。在網(wǎng)絡技術飛速發(fā)展的今天,實際工作中有將51系列單片機系統(tǒng)接入網(wǎng)絡的需求。由于5 1系列單片機沒有集成以太網(wǎng)接口,因此,如何將51系列單片機系統(tǒng)接入網(wǎng)路是一個值得探討的課題,其關鍵就是在硬件上如何實現(xiàn)單片機與以太網(wǎng)控制器的接口。本文將討論這一課題。
1 以太網(wǎng)控制器
臺灣Realtek公司的以太網(wǎng)控制器是一種符合IEEE802.3以太網(wǎng)標準的控制器,有RTL8019、RTL8029和RTL8139等系列。其中RTL8019是ISA總線的,較易與8位MCU實現(xiàn)接口。RTL8029和RTL8139是PCI總線的,不能直接與8位的MCU接口,需要一個PCI接口進行轉(zhuǎn)接??紤]到目前RTL8029在市場上較容易購買,故采用RTL8029以太網(wǎng)控制器作為網(wǎng)絡接口。
RTL8029內(nèi)部已經(jīng)包含有整個網(wǎng)絡接口層的協(xié)議 (PHY層和MAC層協(xié)議),因此應用起來較簡單。用戶不必考慮鏈路控制問題,而只需考慮單片機如何從RTL8029中去讀TCP/IP協(xié)議的數(shù)據(jù)即可。
PCI總線信號有3.3V標準和5V標準,信號線眾多,但是并不是所有的PCI設備都使用全部的PCI接口信號,實際上只使用它們需要的即可。RTL8029AS以太網(wǎng)控制器遵循5V標準,并且只使用了PCI總線信號中的以下部分:
AD[31:0]——數(shù)據(jù)信號復用總線。
FRAME——幀周期信號,由當前主設備驅(qū)動,表示一次訪問的開始和持續(xù)時間。
IRDY——主設備準備好信號。
TRDY——從設備準備好信號。
C/BE——總線命令和字節(jié)使能復用信號。地址期是總線命令,數(shù)據(jù)期是字節(jié)使能。
IDSEL——初始化設備選擇信號。在參數(shù)配置讀寫傳輸期間,用作片選。對于只有一個PCI設備的情況,它可以總接高電平。
RST——復位信號。
CLK——系統(tǒng)時鐘信號,頻率范圍DC~33MHz。以上信號都在CLK的上升沿有效。
INTA——中斷請求信號,RTL8029數(shù)據(jù)準備好后可以用來向主控制器發(fā)出中斷。
DEVSEL——設備選擇信號,表明驅(qū)動它的設備已成當前訪問的設備,由于在單片機系統(tǒng)中,RTL8029是單一的PCI設備,因此該信號可以不用。
2 PCI接口設計
在以太網(wǎng)控制器的接口信號中,除地址數(shù)據(jù)總線是雙向的外,TRDY信號由以太網(wǎng)控制器產(chǎn)生,方向為從以太網(wǎng)控制器至PCI接口;其余信號都由接口部分產(chǎn)生,方向是從PCI接口至以太網(wǎng)控制器。
接口設計的思路是:可將PCI接口當作單片機的外部存儲器看待,單片機以讀寫外部存儲器的時序?qū)CI接口進行讀寫,再由PCI接口將這種讀寫操作時序轉(zhuǎn)換成PCI時序?qū)σ蕴W(wǎng)控制器進行操作。