基于Mega64單片機的以太網(wǎng)接口設計
0 引 言
隨著互聯(lián)網(wǎng)的迅速發(fā)展,各種家電設備、儀器儀表也在逐步走向網(wǎng)絡化,以便共享網(wǎng)絡信息資源、遠程監(jiān)控等,這也是嵌入式系統(tǒng)發(fā)展的趨勢。而以太網(wǎng)作為目前應用最為廣泛的局域網(wǎng),在工業(yè)自動化和過程控制領(lǐng)域得到了越來越多的應用,因此,對于大量存在的8位微控制器而言,實現(xiàn)以太網(wǎng)通信具有重要的實際意義。現(xiàn)在應用較多的是基于51內(nèi)核單片機的上網(wǎng)方案,由于處理能力的限制,要實現(xiàn)較復雜的網(wǎng)絡傳輸和控制有點困難。本系統(tǒng)采用ATMEL公司的高性能單片機Mega64和10 Mb/s以太網(wǎng)控制芯片RTL8019AS實現(xiàn)了以太網(wǎng)接口,詳細介紹了硬件電路的連接以及嵌入 式TCP/IP的實現(xiàn),使單片機具有了互聯(lián)網(wǎng)絡的接入功能。
1 硬件電路設計
1.1 主要器件選擇
微控制器選用高性能的AVR單片機Mega64,AVR是ATMEL公司結(jié)合了成熟的51系列和PIC系列單片機的優(yōu)點而推出的高性能8位單片機,具有性價比高、資源豐富、速度快、功耗低、開發(fā)方便等特點。Mega64采用RISC結(jié)構(gòu),工作頻率可達16 MHz,完全滿足運行多種網(wǎng)絡協(xié)議的要求,片內(nèi)具有4 KB的SRAM,64 KB的FLASH,以太網(wǎng)最大數(shù)據(jù)包為1 514 B,4 KB的RAM足夠以太網(wǎng)幀的存儲,64 KB的FLASH對于適當?shù)某绦蛞约昂唵蔚腤eb Page來說也是可以的,所以無需再外擴資源,大大簡化了外圍電路,提高了可靠性。
以太網(wǎng)控制芯片選用的是臺灣REALTEK公司生產(chǎn)的RTL8019AS,該芯片集成了介質(zhì)訪問控制子層(MAC)和物理層的性能,可以方便地設計基于ISA總線的系統(tǒng)。另外,它還具有與NE2000兼容、軟件移植性好、與單片機接口簡單、價格低貨源好等優(yōu)點,其主要
功能特性如下:
(1)符合EthernetⅡ與IEEE802.3(10Base5,10Base2,10BaseT)標準。
(2)軟件和8位及16位插槽的NE2000兼容。
(3)全雙工,收發(fā)可同時達到10 Mb/s的速率。
(4)內(nèi)置16 KB的SRAM,用于收發(fā)緩存,降低對主處理器的速度要求。
(5)支持8/16位數(shù)據(jù)總線,8條中斷申請線以及16個I/0基地址選擇。
(6)支持UTP,AUI,BNC自動檢測以及對10BaseT拓撲結(jié)構(gòu)的自動極性修正。
(7)允許4個診斷LED引腳可編程輸出。
1.2 RTL8019AS與單片機的連接
RTL8019AS支持三種工作方式:第一種為跳線方式,網(wǎng)絡控制器的I/O地址和中斷都由跳線決定;第二種為免跳線方式,I/O地址和中斷由外接的E2PROM 93C46里的內(nèi)容所決定;第三種為即插即用方式(PNP),I/O地址和中斷都由軟件或操作系統(tǒng)自動進行管理和配置,用戶不必過多干預,當然這種方式要耗費系統(tǒng)資源。網(wǎng)絡控制器采用哪種方式由RTL8019AS的65腳(JP)決定,本系統(tǒng)采用第一種即跳線方式,這時JP要接高電平;第三種方式一般用于PC機中,對于8位單片機來說無法實現(xiàn),未用第二種方式又可以省掉一片93C46芯片,不但簡化了硬件電路設計,而且降低了成本。
RTL8019AS有兩種復位方式:冷復位和熱復位。給8019的復位引腳施加一個1μs以上的高電平就可以實現(xiàn)冷復位;先讀再寫8019的任意一個復位端口都可以實現(xiàn)熱復位,這在PC機中用的較多。可以將8019的復位引腳和單片機的復位引腳相連,單片機復位的時候8019也復位,這種情況可以減少單片機的一個引腳的使用,但為了保證能夠完全復位,可以在程序中進行熱復位。然而Mega64為低電平復位,而8019為高電平復位,如果這樣連接的話還需要加一個非門進行反相,鑒于Mega64的引腳較多,所以將8019的復位引腳連接到Mega64的一個I/O口上,由該引腳對8019進行冷復位。
圖1所示為RTL8019AS的部分電路圖,其工作時鐘為20 MHz。RTL8019AS的引腳懸空時,輸入狀態(tài)為低電平,因為芯片引腳內(nèi)部已經(jīng)接了一個100 kΩ的下拉電阻。AEN引腳為I/O端口操作允許使能腳,接地使地址一直處于有效;IOCSl6B引腳用一個27 kΩ的電阻下拉到地,復位時刻為低電平,選擇8位總線模式;讀寫引腳IORB、IOWB分別與單片機的RD,WR引腳相連;8位數(shù)據(jù)總線SD0~sD7接到單片機的PA口;IOSO~IOS3為I/O基地址選擇引腳,懸空設置為300H,所以SA5~SA7,SAl0~SAl9接地,SA8和SA9接高電平,真正用到的地址線只有SA0~SA4,接到單片機的地址線上;IRQS0~IRQS2為中斷選擇引腳,懸空選擇中斷INT0,實際上并沒有使用中斷,而是使用了查詢方式;AUI引腳用于AUI接口外部MAU檢測,決定使用AUI還是BNC接口,BNC接口方式支持8線雙絞或同軸電纜,所以將該引腳懸空選擇使用RJ45接口;SMEMRB和SMEMWB為存儲器讀寫引腳,由于我們使用的是I/O模式讀寫網(wǎng)絡芯片,所以將它們接高電平;TPIN和TPOUT為差分輸入輸出引腳,分別用來接收來自雙絞線和向雙絞線發(fā)送10 Mb/s的差分曼徹斯特編碼信號,RTL8019AS需要經(jīng)過隔離處理才能和RJ45接口相連,然后接入以太網(wǎng),隔離低通濾波器選用的是20F001N,內(nèi)部有兩個傳輸變壓器,用來傳輸信號以及抑制噪聲干擾。
評論