新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)以太網(wǎng)接口的設(shè)計

嵌入式系統(tǒng)以太網(wǎng)接口的設(shè)計

作者: 時間:2009-03-26 來源:網(wǎng)絡(luò) 收藏

目前,(Ethernet)協(xié)議已經(jīng)非常廣泛地應(yīng)用于各種計算機網(wǎng)絡(luò),如辦公局域網(wǎng)、工業(yè)控制網(wǎng)絡(luò)、因特網(wǎng)等場合,并且還在不斷地發(fā)展?;?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/以太網(wǎng)">的新技術(shù)和聯(lián)網(wǎng)設(shè)備不斷出現(xiàn),已經(jīng)成為事實上最常用的網(wǎng)絡(luò)標(biāo)準(zhǔn)之一。

本文引用地址:http://butianyuan.cn/article/152560.htm

但是,基于以太網(wǎng)的目前并不是很多。其原因除了本身運行速度較慢、資源較少且不足以實現(xiàn)以太網(wǎng)的各種協(xié)議外,更重要是以太網(wǎng)的及協(xié)議相對比較復(fù)雜,使人望而卻步。

本文將介紹以8051系列為例的系統(tǒng)與10Mbps以太網(wǎng)控制器芯片DM9008的電路實現(xiàn)及編程方法。

1 以太網(wǎng)控制器DM9008簡介

DM9008是臺灣DAVICOM公司生產(chǎn)的基于ISA總線的10M超級以太網(wǎng)控制器芯片。它集成了介質(zhì)訪問控制子層(MAC)和物理層的功能,可以方便地基于ISA總線的系統(tǒng),也可以比較簡單地與通用進(jìn)行。

主要特點如下:

?實現(xiàn)IEEE 802.3協(xié)議、10BASE-T、10BASE2和10BASE5的單芯片解決方案;

?集成ISA總線接口、8K×16 SRAM、介質(zhì)訪問控制(MAC)、編解碼器(ENDEC)和10BASE-T收發(fā)器;

?與NOVELL NE2000軟件兼容;

?可選8根中斷申請線;

?自動極性檢測和糾正;

?可選8、16位模式;

?外部可編程EEPROM;

?單5V電源低功耗CMOS;

?100腳PQFP封裝。

由于該芯片功能較強,配置有較多的引腳,但在與一般接口時只需要用到其中的一部分即可完成常用的功能。

2 與8051單片機系統(tǒng)的接口電路

下面介紹國內(nèi)最常用的8051系列單片機與DM9008的接口電路,實現(xiàn)的網(wǎng)絡(luò)接口采用無屏蔽雙絞線(UTP)RJ-45接口。

圖1給出了8051單片機系統(tǒng)與DM9008網(wǎng)絡(luò)控制器的接口電路框圖。8051單片機系統(tǒng)所提供的接口信號線為:P0口的8位數(shù)據(jù)總線D0~D7、5根經(jīng)過鎖存的地址線A0~A4、讀信號線RD、寫信號線WR、經(jīng)過譯碼產(chǎn)生的片選線CS1和經(jīng)過反相后高電平有效地中斷請求線INT。這些信號線分別與DM9008的數(shù)據(jù)線低8位SD0~SD7、地址線低5位SA0~SA4、I/O讀信號線IOR、I/O寫信號線IOW、地址使能線AEN和8根中斷請求線中的一根IRQ12相連。

DM9008的復(fù)位線RST與8051單片機的復(fù)位線同為高電平有效,故在系統(tǒng)上電時同時復(fù)位。時鐘電路只需外接1個20MHz的晶振及2個電容即可。

DM9008有16根數(shù)據(jù)線,與8051單片機接口,只需用到低8位數(shù)據(jù)線,其它高8位數(shù)據(jù)線不用,IO16接高電平或浮空,MD6/SLOT接地。地址線有SA0~SA19共20根,只用到低5位SA0~SA4與單片機相連,SA5~SA7接地、SA8~SA9接高電平,其它高地址位全部接地。這樣對于DM9008內(nèi)部來說,I/O的基地址為300H。另外BALE、SYSCLK接地,SMEMR、MEMW、MEMR浮空。DM9008有8根中斷請求線,可以選1根與8051系統(tǒng)的中斷線相連,其它7根線均浮空,所選線在EEPROM 93C46中指定。

EEPROM 93C46是一個采用4線SPI串行接口的電可擦除存儲器,容量為64×16位(即128個字節(jié)),主要保存DM9008的配置信息,如網(wǎng)絡(luò)硬件地址、I/O基地址、中斷線選擇等配置寄存器內(nèi)容,在DM9008復(fù)位后讀取93C46的內(nèi)容并設(shè)置內(nèi)部配置寄存器的值。如果93C46中內(nèi)容不正確,DM9008就無法正常工作。所以通常先通過編程器把配置數(shù)據(jù)寫入93C46,再把它焊在電路板上。DM9008通過EECS、EEDI、EEDO、EECK與93C46相連。

由于本設(shè)計只使用10BASE-T,即采用無屏蔽雙絞線的RJ45接口,而DM9008已內(nèi)置了10BASE-T的收發(fā)器,故接口部分電路比較簡單,只需要外接1個隔離濾波器LAN7236即可。TPTX+、TPTX-為發(fā)送線,TPRX+、TPRX-為接收線,經(jīng)隔離后的4根線與RJ45接口相連。

對于其它型號的單片機,如16位單片機80C196KC等,其接口電路只需稍作修改即可改為16位數(shù)據(jù)總線方式。

3 軟件設(shè)計

DM9008的編程包括初始化、發(fā)送、接收三部分功能。在接收和發(fā)送數(shù)據(jù)以前要進(jìn)行必需的檢測和初始化。DM9008的初始化主要是設(shè)置所需的寄存器狀態(tài),建立網(wǎng)絡(luò)接口收發(fā)的條件。

網(wǎng)絡(luò)接口通過2個DMA操作來完成數(shù)據(jù)的接收和發(fā)送。本地DMA完成DM9008與其內(nèi)部FIFO隊列之間的數(shù)據(jù)傳送,遠(yuǎn)程DMA完成DM9008與CPU之間的數(shù)據(jù)傳送。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉