基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計_第1頁
基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計_第2頁
基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計_第3頁
基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計_第4頁
基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計隨著CPU性能的大幅度提升,嵌入式系統(tǒng)的設(shè)計已經(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īng)成為信息產(chǎn)業(yè)最熱門的技術(shù)之一,F(xiàn)PGA正以各種電子產(chǎn)品的形式進(jìn)入人們?nèi)粘I畹母鱾€角落。以太網(wǎng)以其良好的通用性和帶寬性能成為新一代工業(yè)控制網(wǎng)絡(luò)的焦點,目前,關(guān)于嵌入式以太網(wǎng)的設(shè)計方案大部分是基于單片機(jī)的。由于單片機(jī)的速度慢,而FPGA乍為一種特殊的嵌入式微處理器系統(tǒng),則具有快速處理數(shù)據(jù)的能力。因此,在

2、嵌入式網(wǎng)絡(luò)設(shè)備中引入FPG岷術(shù),可以使嵌入式以太網(wǎng)的速度更快。為此,本文介紹基于FPGA的嵌入式系統(tǒng)與LAN91C111型自適應(yīng)10Mb/100Mb嵌入式以太網(wǎng)的接口電路與實現(xiàn)方法。1硬件設(shè)計1.1 FPGA的特點本系統(tǒng)的主控芯片采用ALTERAM司Cyclonell系歹U的EP2c35F484FPG幽部集成有鎖相環(huán),可以把外部時鐘倍頻,其核心頻率可以到幾百兆,同時具有豐富的IO資源,可以方便連接外設(shè)。FPGA勺并行執(zhí)行程序方式具有處理更復(fù)雜功能的能力,而且內(nèi)部嵌有SOPCF口DSP可編程SOPCt一種特殊的嵌入式系統(tǒng),具有靈活的設(shè)計方式,而且可裁剪、可擴(kuò)充,同時軟硬件在系統(tǒng)可編程功能。1.2

3、 嵌入式以太網(wǎng)控制器LAN91C111以太網(wǎng)控制芯片所選用的SMSC公司LAN91C111芯片是專門用于嵌入式產(chǎn)品的10M/100M第三代快速以太網(wǎng)控制器。該器件具有可編程、CRO驗、同步或異步工作方式,且LAN91C111的原理框圖如圖1所示具有低功耗CMO轂計和小尺寸等特點,是設(shè)計嵌入式以太網(wǎng)網(wǎng)絡(luò)接口的良好選擇。EEPROM接口Mil技據(jù)總線地址總線控制總線控制信號控制信號S-32位總線接口模呆控制信號1*4仲裁模塊J產(chǎn)制信室內(nèi)存管理模塊發(fā)送,接收FIFO指針BKBRAM發(fā)送數(shù)圖1LAN91C111的原理框圖以太網(wǎng)協(xié)議管理器LAN91C111集成了CSMA/CD借碰撞的載波偵聽多路接入)協(xié)

4、議的MAC(媒體層)和PHY(物理層)。其主要特點是支持IEEE802.3/802U以太網(wǎng)標(biāo)準(zhǔn)、自適應(yīng)10M/100M,全雙工/半雙工收發(fā)方式、有8KB的片上FIFO存儲器、支持8位或16位或32位總線方式、支持先進(jìn)的傳輸隊列管理、有串行EEPRO睡擇性配置口、并支持突發(fā)數(shù)據(jù)傳輸、支持全雙工交換式以太網(wǎng)、增強(qiáng)式能量管理功能和低功耗的CMO轂計??偩€接口模塊是由數(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)存管理模塊、仲裁模塊和DM烘同管理數(shù)據(jù)包的發(fā)送與接

5、收。其仲裁器監(jiān)視以太網(wǎng)總線的數(shù)據(jù)交流,一旦發(fā)生阻塞,仲裁器一方面通過總線接口單元與外部CPU聯(lián)系;一方面控制內(nèi)存控制單元,實現(xiàn)總線的數(shù)據(jù)協(xié)調(diào)。LAN91C111內(nèi)部的RA則以緩存數(shù)據(jù),在全雙工工作模式下,數(shù)據(jù)傳輸速率可達(dá)到10M/100Mbps所有內(nèi)部寄存器的初始值均放在EEPROIM5,自舉時可完成自動初始化。在數(shù)據(jù)傳輸過程中,若以10Mbps速率傳輸,則可采用Manchester編碼,并以兩層曼徹斯特代替三電平,且沒有擾頻器和解擾頻器;若以100Mbps速率傳輸,則先將發(fā)送到RAMfr的數(shù)據(jù)包以包號的形式存放在FIFO的發(fā)送隊列中,然后按照規(guī)則逐個將數(shù)據(jù)包發(fā)送到PHY模塊進(jìn)行4B-5B編碼

6、,發(fā)送數(shù)據(jù)端可將通過擾頻器整理后的4B-5B數(shù)據(jù)包變換成MLT-3后輸出。而在接收時,則將數(shù)據(jù)包復(fù)制并發(fā)送到解擾頻器進(jìn)行整理,然后再發(fā)送到4B-5B解碼器進(jìn)行解碼。1.3 硬件連接本設(shè)計在FPGA芯片EP2c35中嵌入了32位的NIOSII處理器。由于LAN91C111是專為嵌入式系統(tǒng)設(shè)計的,因而其外圍電路相對比較簡單。圖2所示是其硬件連接圖,圖中的地址線、數(shù)據(jù)線、控制線分別與FPG卻目連。由于采用的是16位數(shù)據(jù)傳輸方式,因此只用到數(shù)據(jù)總線的低16位??刂凭€中的AEN為片選信號,INTR0為外部中斷信號,WR為讀寫信號,BE0-BE1為字節(jié)選擇端。LAN91C111中的ADSLCLKCYCLE

7、W/RRDYRTNW號應(yīng)均加一個1kQ的上拉電阻TG100-S050N2是以太網(wǎng)的變壓濾波器。TX+、TX-、RX+、RX-分別與LAN91C111的TPO+、TPO-TPI+、YPI-相連。TG100-S050N2的CMT也應(yīng)接一個1kQ的上拉電阻RJ45的TD+、TD-、RD+RD分另U與TG100-S050N2的TD+TD-、RD+RD-相連。在TG100-S050N2的TCT和RCT應(yīng)分另U接一個75Q的電阻和1nF的濾波電容。這樣即可在控制線的作用下完成FPGA與LAN91C111之間的數(shù)據(jù)通信。FPGALAN91C111IG10LUS05tJN2RJ45圖2系統(tǒng)硬件連接圖2軟件設(shè)計

8、用戶可在HAL的基礎(chǔ)上方便地開發(fā)存儲等應(yīng)用程序。ALTER慫司提供的硬件抽象層(HAL)中封裝了系統(tǒng)中硬件的相關(guān)細(xì)節(jié)和驅(qū)動程序,NIOSIIIDE環(huán)境中集成有g(shù)COSII和LWIP,其中LWIP必須在COS勺支持下使用。11c/OSII是一種免費公開源代碼,結(jié)構(gòu)小巧,而且具有可剝奪實時內(nèi)核的操作系統(tǒng),它可移植、可裁剪,最多可管理64個任務(wù),其每個任務(wù)都擁有自己獨立的堆棧,大部分源碼可使用ANSIC語言編寫,整個軟件部分可在NIOSIIIDE開發(fā)環(huán)境下完成。由于程序的內(nèi)容較多,本文著重介紹LAN91C111的初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)三個部分的軟件設(shè)計方法。2.1 初始化ALTERA供有LWIP

9、的NIOSII端口,其源代碼包含在NIOSII開發(fā)工具包中。LWIP可為NIOSII處理器提供對以太網(wǎng)連接棧的快速、開源地訪問。ALTERA勺LWIP端口包括套接字API封裝,提供有標(biāo)準(zhǔn)的、文檔說明齊全的套接字API。LWIP協(xié)議棧的主要接口是標(biāo)準(zhǔn)的套接字接口。除了套接字接口以外,還可調(diào)用lwip_stack_init()函數(shù)和lwip_devices_init()函數(shù)來對堆棧和驅(qū)動程序初始化。通過HAL系統(tǒng)代碼可調(diào)用init_done_func()、get_mac_addr()和get_ip_addr()函數(shù)來設(shè)置MACfe址和IP地址。為了初始化堆棧,在調(diào)用OSStart啟動/IC/OSI

10、I調(diào)度程序之前應(yīng)調(diào)用函數(shù)lwip_stack_init(),其原型為voidlwip_stack_init(intthread_prio,void(*init_done_func)(void*),void*arg)。堆棧初始化后,還必須調(diào)用函數(shù)init_done_func(),而該函數(shù)必須調(diào)用函數(shù)lwip_devices_init()。利用函數(shù)lwip_devices_init()可以對在system.h中定義的所有已安裝的以太網(wǎng)設(shè)備驅(qū)動程序進(jìn)行注冊,若返回一個非0值則表示注冊成功。注冊成功后,TCP/IP棧即可使用,之后便可在程序中創(chuàng)建任務(wù)。該函數(shù)的參數(shù)是接收線程的優(yōu)先級。LWIP系統(tǒng)碼在設(shè)

11、備初始化過程中,可通過lwip_devices_init()函數(shù)調(diào)用函數(shù)get_mac_addr()和get_ip_addr()。用戶通過編寫這些函數(shù),可在系統(tǒng)中將MAC口IP地址存放在任意位置,從而代替在設(shè)備驅(qū)動程序中固定位置的硬編碼,并增加系統(tǒng)的靈活性。設(shè)計時,可以將MACfe址存放在Flash存儲器中,也可以將MAC地址存放在片上內(nèi)嵌的存儲器中。當(dāng)所有的初始化都準(zhǔn)備好后即可調(diào)用OSStart()以啟動RTOSf行任務(wù)調(diào)度。這個過程需要設(shè)置以太網(wǎng)目的地址、以太網(wǎng)源地址、協(xié)議類型,然后再按照所設(shè)置的協(xié)議類型來設(shè)置數(shù)據(jù)包。2.2 數(shù)據(jù)的發(fā)送和接收數(shù)據(jù)的接收和發(fā)送可采用中斷方式。中斷服務(wù)程序通過

12、檢查LAN91C111的中斷狀態(tài)寄存器來判斷是發(fā)送中斷請求還是接收中斷請求。初始化完成后,即可創(chuàng)建任務(wù),建立套則把此接字,綁定端口,綁定完之后,再*端口。當(dāng)LAN91C111接收到數(shù)據(jù)包時,可由EPH模塊察看此數(shù)據(jù)包的目的地址,若為本網(wǎng)卡的MACfi址或廣播地址或多播地址,數(shù)據(jù)包彳送到LAN91C111的RA麗,并向處理器發(fā)送中斷,由處理器進(jìn)行數(shù)據(jù)處理。由于采用的是TCP/IP協(xié)議,接收數(shù)據(jù)應(yīng)調(diào)用read()函數(shù)來接收建立連接的套接字中的數(shù)據(jù),并將其放入緩沖區(qū)。發(fā)送過程則是由FPGA各數(shù)據(jù)彳送到LAN91C111再由LAN91C111W接收到的數(shù)據(jù)封裝成數(shù)據(jù)包,并檢測網(wǎng)絡(luò),當(dāng)沒有數(shù)據(jù)傳輸時,再將數(shù)據(jù)包傳輸?shù)骄W(wǎng)絡(luò)中,并向處理器發(fā)送中斷信號,以表示數(shù)據(jù)傳送完畢。發(fā)送數(shù)據(jù)時通過調(diào)用write()函數(shù)可將要發(fā)送的數(shù)據(jù)發(fā)送到指定連接的目的地址。3結(jié)束語本文的整個設(shè)計使用了邏輯單元(LE)5314個,占用EP2c35F484芯片內(nèi)部資源的16%這充分體現(xiàn)了FPGA源的豐富性。在傳統(tǒng)設(shè)計中,通常選用單片機(jī)和低速網(wǎng)卡的設(shè)計方案,這在實際應(yīng)用中,網(wǎng)絡(luò)速度相對較慢,而本設(shè)計中選用高速的以太網(wǎng)控制芯片L

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論