基于FPGA和LAN91C111的嵌入式以太網(wǎng)接口設(shè)計(jì)
摘要:介紹了SMSC公司生產(chǎn)的嵌入式以太網(wǎng)控制器LAN91C111的主要特點(diǎn)及工作原理,并從系統(tǒng)方案、硬件設(shè)計(jì)、軟件設(shè)計(jì)等方面,詳細(xì)介紹了基于ALTERA公司的NIOS II軟核處理器芯片LAN91C111芯片來實(shí)現(xiàn)以太網(wǎng)互聯(lián)通信的原理和方法。
關(guān)鍵詞:以太網(wǎng);互聯(lián)網(wǎng)通信;LAN91C111;NIOS
0 引言
隨著CPU性能的大幅度提升,嵌入式系統(tǒng)的設(shè)計(jì)已經(jīng)進(jìn)入了更廣泛的領(lǐng)域。隨著FPGA的不斷發(fā)展和規(guī)模的進(jìn)一步強(qiáng)大,SOPC的應(yīng)用也越來越廣泛。由于SOPC的可編程特性很受嵌入式系統(tǒng)開發(fā)人員的青睞,因此,隨著信息產(chǎn)業(yè)和微電子技術(shù)的發(fā)展,可編程嵌入式系統(tǒng)設(shè)計(jì)已經(jīng)成為信息產(chǎn)業(yè)最熱門的技術(shù)之一,FPGA正以各種電子產(chǎn)品的形式進(jìn)入人們?nèi)粘I畹母鱾€(gè)角落。
以太網(wǎng)以其良好的通用性和帶寬性能成為新一代工業(yè)控制網(wǎng)絡(luò)的焦點(diǎn),目前,關(guān)于嵌入式以太網(wǎng)的設(shè)計(jì)方案大部分是基于單片機(jī)的。由于單片機(jī)的速度慢,而FPCA作為一種特殊的嵌入式微處理器系統(tǒng),則具有快速處理數(shù)據(jù)的能力。因此,在嵌入式網(wǎng)絡(luò)設(shè)備中引入FPGA技術(shù),可以使嵌入式以太網(wǎng)的速度更快。為此,本文介紹基于FPGA的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/100Mb嵌入式以太網(wǎng)的接口電路與實(shí)現(xiàn)方法。
1 硬件設(shè)計(jì)
1.1 FPGA的特點(diǎn)
本系統(tǒng)的主控芯片采用ALTERA公司CycloneII系列的EP2C35F484。FPGA內(nèi)部集成有鎖相環(huán),可以把外部時(shí)鐘倍頻,其核心頻率可以到幾百兆,同時(shí)具有豐富的IO資源,可以方便連接外設(shè)。FPGA的并行執(zhí)行程序方式具有處理更復(fù)雜功能的能力,而且內(nèi)部嵌有SOPC和DSP??删幊蘏OPC是一種特殊的嵌入式系統(tǒng),具有靈活的設(shè)計(jì)方式,而且可裁剪、可擴(kuò)充,同時(shí)軟硬件在系統(tǒng)可編程功能。
1.2 嵌入式以太網(wǎng)控制器LAN91C111
以太網(wǎng)控制芯片所選用的SMSC公司LAN91C111芯片是專門用于嵌入式產(chǎn)品的10M/100M第三代快速以太網(wǎng)控制器。該器件具有可編程、CRC校驗(yàn)、同步或異步工作方式,且具有低功耗CMOS設(shè)計(jì)和小尺寸等特點(diǎn),是設(shè)計(jì)嵌入式以太網(wǎng)網(wǎng)絡(luò)接口的良好選擇。LAN91C111的原理框圖如圖1所示。
LAN91C111集成了CSMA/CD(帶碰撞的載波偵聽多路接入)協(xié)議的MAC(媒體層)和PHY(物理層)。其主要特點(diǎn)是支持IEEE802.3/802 U以太網(wǎng)標(biāo)準(zhǔn)、自適應(yīng)10M/100M,全雙工/半雙工收發(fā)方式、有8KB的片上FIFO存儲(chǔ)器、支持8位或16位或32位總線方式、支持先進(jìn)的傳輸隊(duì)列管理、有串行EEPROM選擇性配置口、并支持突發(fā)數(shù)據(jù)傳輸、支持全雙工交換式以太網(wǎng)、增強(qiáng)式能量管理功能和低功耗的CMOS設(shè)計(jì)。
總線接口模塊是由數(shù)據(jù)總線、地址總線、控制總線以8位、16位、或32位形式與外部數(shù)據(jù)進(jìn)行交互。LAN91C111以太網(wǎng)控制器遵循IEEE頒布的802.3以太網(wǎng)傳輸協(xié)議,內(nèi)部集成有8KB的RAM,可通過內(nèi)部的內(nèi)存管理模塊、仲裁模塊和DMA共同管理數(shù)據(jù)包的發(fā)送與接收。其仲裁器監(jiān)視以太網(wǎng)總線的數(shù)據(jù)交流,一旦發(fā)生阻塞。仲裁器一方面通過總線接口單元與外部CPU聯(lián)系;一方面控制內(nèi)存控制單元,實(shí)現(xiàn)總線的數(shù)據(jù)協(xié)調(diào)。LAN91C111內(nèi)部的RAM可以緩存數(shù)據(jù),在全雙工工作模式下,數(shù)據(jù)傳輸速率可達(dá)到10M/100Mbps。所有內(nèi)部寄存器的初始值均放在EEPROM中,自舉時(shí)可完成自動(dòng)初始化。在數(shù)據(jù)傳輸過程中,若以10Mbps速率傳輸,則可采用Manchester編碼,并以兩層曼徹斯特代替三電平,且沒有擾頻器和解擾頻器;若以100Mbps速率傳輸,則先將發(fā)送到RAM中的數(shù)據(jù)包以包號的形式存放在FIFO的發(fā)送隊(duì)列中,然后按照規(guī)則逐個(gè)將數(shù)據(jù)包發(fā)送到PHY模塊進(jìn)行4B-5B編碼,發(fā)送數(shù)據(jù)端可將通過擾頻器整理后的4B-5B數(shù)據(jù)包變換成MLT-3后輸出。而在接收時(shí),則將數(shù)據(jù)包復(fù)制并發(fā)送到解擾頻器進(jìn)行整理,然后再發(fā)送到4B-5B解碼器進(jìn)行解碼。
評論