《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計(jì)
基于LAN91C111的嵌入式以太網(wǎng)接口設(shè)計(jì)
摘要: 以太網(wǎng)以其良好的通用性和帶寬性能成為新一代工業(yè)控制網(wǎng)絡(luò)的焦點(diǎn), 目前, 關(guān)于嵌入式以太網(wǎng)的設(shè)計(jì)方案大部分是基于單片機(jī)的。由于單片機(jī)的速度慢, 而FPGA作為一種特殊的嵌入式微處理器系統(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)方法。
Abstract:
Key words :

     隨著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ī)的速度慢, 而FPGA作為一種特殊的嵌入式微處理器系統(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。可編程SOPC是一種特殊的嵌入式系統(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的原理框圖

圖1 LAN91C111的原理框圖

  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ù)包以包號(hào)的形式存放在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)行解碼。

  1.3 硬件連接

  本設(shè)計(jì)在FPGA芯片EP2C35中嵌入了32位的NIOS II處理器。由于LAN91C111是專為嵌入式系統(tǒng)設(shè)計(jì)的, 因而其外圍電路相對(duì)比較簡(jiǎn)單。圖2所示是其硬件連接圖, 圖中的地址線、數(shù)據(jù)線、控制線分別與FPGA相連。由于采用的是16位數(shù)據(jù)傳輸方式, 因此只用到數(shù)據(jù)總線的低16位。控制線中的AEN為片選信號(hào), INTR0為外部中斷信號(hào), WR為讀寫信號(hào), BE0-BE1為字節(jié)選擇端。

  LAN91C111 中的ADS、LCLK、CYCLE、W/R、RDYRTN 信號(hào)應(yīng)均加一個(gè)1kΩ 的上拉電阻。

  TG100-S050N2是以太網(wǎng)的變壓濾波器。TX+ 、TX- 、RX+ 、RX- 分別與LAN91C111 的TPO+ 、TPO-、TPI+、YPI-相連。TG100-S050N2的CMT端也應(yīng)接一個(gè)1kΩ的上拉電阻。RJ45 的TD+ 、TD-、RD+、RD-分別與TG100-S050N2的TD+、TD-、RD+、RD-相連。在TG100-S050N2的TCT和RCT亦應(yīng)分別接一個(gè)75Ω的電阻和1nF的濾波電容。這樣即可在控制線的作用下完成FPGA與LAN91C111之間的數(shù)據(jù)通信。

 系統(tǒng)硬件連接圖

圖2 系統(tǒng)硬件連接圖

  2 軟件設(shè)計(jì)

  ALTERA公司提供的硬件抽象層(HAL) 中封裝了系統(tǒng)中硬件的相關(guān)細(xì)節(jié)和驅(qū)動(dòng)程序, 用戶可在HAL的基礎(chǔ)上方便地開發(fā)存儲(chǔ)等應(yīng)用程序。

  NIOS II IDE環(huán)境中集成有μCOS II和LWIP, 其中LWIP必須在μCOS的支持下使用。μC/OS II是一種免費(fèi)公開源代碼, 結(jié)構(gòu)小巧, 而且具有可剝奪實(shí)時(shí)內(nèi)核的操作系統(tǒng), 它可移植、可裁剪, 最多可管理64個(gè)任務(wù), 其每個(gè)任務(wù)都擁有自己獨(dú)立的堆棧, 大部分源碼可使用ANSI C語言編寫, 整個(gè)軟件部分可在NIOS II IDE開發(fā)環(huán)境下完成。由于程序的內(nèi)容較多, 本文著重介紹LAN91C111的初始化、發(fā)送數(shù)據(jù)、接收數(shù)據(jù)三個(gè)部分的軟件設(shè)計(jì)方法。

  2.1 初始化

  ALTERA提供有LWIP的NIOS II 端口, 其源代碼包含在NIOS II 開發(fā)工具包中。LWIP可為NIOS II處理器提供對(duì)以太網(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ù)來對(duì)堆棧和驅(qū)動(dòng)程序初始化。通過HAL 系統(tǒng)代碼可調(diào)用init_done_func ()、get_mac_addr () 和get_ip_addr() 函數(shù)來設(shè)置MAC地址和IP地址。為了初始化堆棧, 在調(diào)用OSStart啟動(dòng)μC/OS II 調(diào)度程序之前應(yīng)調(diào)用函數(shù)lwip_stack_init ( ) , 其原型為voidlwip_stack_init ( int thread_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 () 可以對(duì)在system.h中定義的所有已安裝的以太網(wǎng)設(shè)備驅(qū)動(dòng)程序進(jìn)行注冊(cè), 若返回一個(gè)非0值則表示注冊(cè)成功。注冊(cè)成功后,TCP/IP棧即可使用, 之后便可在程序中創(chuàng)建任務(wù)。該函數(shù)的參數(shù)是接收線程的優(yōu)先級(jí)。LWIP系統(tǒng)碼在設(shè)備初始化過程中, 可通過lwip_devices_init ( ) 函數(shù)調(diào)用函數(shù)get_mac_addr ( ) 和get_ip_addr ()。用戶通過編寫這些函數(shù), 可在系統(tǒng)中將MAC和IP地址存放在任意位置, 從而代替在設(shè)備驅(qū)動(dòng)程序中固定位置的硬編碼, 并增加系統(tǒng)的靈活性。設(shè)計(jì)時(shí), 可以將MAC地址存放在Flash存儲(chǔ)器中, 也可以將MAC地址存放在片上內(nèi)嵌的存儲(chǔ)器中。當(dāng)所有的初始化都準(zhǔn)備好后即可調(diào)用OSStart () 以啟動(dòng)RTOS進(jìn)行任務(wù)調(diào)度。這個(gè)過程需要設(shè)置以太網(wǎng)目的地址、以太網(wǎng)源地址、協(xié)議類型, 然后再按照所設(shè)置的協(xié)議類型來設(shè)置數(shù)據(jù)包。

  2.2 數(shù)據(jù)的發(fā)送和接收

  數(shù)據(jù)的接收和發(fā)送可采用中斷方式。中斷服務(wù)程序通過檢查L(zhǎng)AN91C111的中斷狀態(tài)寄存器來判斷是發(fā)送中斷請(qǐng)求還是接收中斷請(qǐng)求。初始化完成后, 即可創(chuàng)建任務(wù), 建立套接字, 綁定端口, 綁定完之后, 再*端口。當(dāng)LAN91C111接收到數(shù)據(jù)包時(shí), 可由EPH模塊察看此數(shù)據(jù)包的目的地址, 若為本網(wǎng)卡的MAC地址或廣播地址或多播地址, 則把此數(shù)據(jù)包傳送到LAN91C111的RAM中, 并向處理器發(fā)送中斷, 由處理器進(jìn)行數(shù)據(jù)處理。由于采用的是TCP/IP協(xié)議, 接收數(shù)據(jù)應(yīng)調(diào)用read () 函數(shù)來接收建立連接的套接字中的數(shù)據(jù),并將其放入緩沖區(qū)。發(fā)送過程則是由FPGA將數(shù)據(jù)傳送到LAN91C111, 再由LAN91C111將接收到的數(shù)據(jù)封裝成數(shù)據(jù)包, 并檢測(cè)網(wǎng)絡(luò), 當(dāng)沒有數(shù)據(jù)傳輸時(shí), 再將數(shù)據(jù)包傳輸?shù)骄W(wǎng)絡(luò)中, 并向處理器發(fā)送中斷信號(hào), 以表示數(shù)據(jù)傳送完畢。發(fā)送數(shù)據(jù)時(shí)通過調(diào)用write () 函數(shù)可將要發(fā)送的數(shù)據(jù)發(fā)送到指定連接的目的地址。

  3 結(jié)束語

  本文的整個(gè)設(shè)計(jì)使用了邏輯單元(LE) 5314個(gè), 占用EP2C35F484芯片內(nèi)部資源的16%, 這充分體現(xiàn)了FPGA資源的豐富性。在傳統(tǒng)設(shè)計(jì)中,通常選用單片機(jī)和低速網(wǎng)卡的設(shè)計(jì)方案, 這在實(shí)際應(yīng)用中, 網(wǎng)絡(luò)速度相對(duì)較慢, 而本設(shè)計(jì)中選用高速的以太網(wǎng)控制芯片LAN91C111和高速的FPGA,極大地提高了系統(tǒng)的網(wǎng)絡(luò)數(shù)據(jù)處理能力,并可滿足網(wǎng)絡(luò)數(shù)據(jù)采集的需求。另外, 基于FPGA的NIOS II方案, 還可根據(jù)實(shí)際需要添加不同IP, 這也體現(xiàn)了SOPC的靈活性與可裁減性。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一区在线播放视频| 亚洲最新在线| 欧美日韩一区二区在线观看视频| 老鸭窝91久久精品色噜噜导演| 欧美在线视频免费播放| 午夜欧美大片免费观看| 亚洲一区中文| 亚洲视频免费在线观看| 一区二区日韩精品| 夜夜嗨av一区二区三区网站四季av| 亚洲激情午夜| 91久久久国产精品| 亚洲国产精品国自产拍av秋霞| 久久不射电影网| 久久精品男女| 亚洲大黄网站| 亚洲人久久久| 99精品视频一区二区三区| 99国产精品久久久久老师| 亚洲毛片在线| 亚洲视频每日更新| 亚洲欧美另类综合偷拍| 午夜精品久久久久久久蜜桃app | 米奇777超碰欧美日韩亚洲| 久久综合伊人77777| 另类国产ts人妖高潮视频| 免费成人美女女| 欧美高清视频在线播放| 欧美日韩午夜在线| 国产精品女人毛片| 国产日韩欧美精品一区| 国产一区日韩二区欧美三区| 伊人影院久久| 亚洲美女精品久久| 亚洲一区二区三区四区在线观看| 亚洲欧美视频在线| 久久精品日产第一区二区| 亚洲品质自拍| 国产精品扒开腿做爽爽爽视频| 妖精成人www高清在线观看| 91久久精品久久国产性色也91| 亚洲精品字幕| 亚洲永久字幕| 亚洲第一中文字幕在线观看| 日韩视频一区二区在线观看| 亚洲自拍偷拍色片视频| 久久―日本道色综合久久| 欧美连裤袜在线视频| 国产精品视频第一区| 在线精品亚洲一区二区| 一区二区三区不卡视频在线观看 | 久久电影一区| 免费亚洲电影在线| 欧美午夜精品久久久久久浪潮| 国产午夜精品在线| 亚洲欧洲精品一区二区三区波多野1战4| 一本大道久久精品懂色aⅴ| 欧美一区二区三区免费观看视频| 亚洲精品字幕| 欧美制服丝袜| 欧美另类视频在线| 国产亚洲人成a一在线v站| 亚洲精品资源美女情侣酒店| 欧美在线亚洲一区| 亚洲视频你懂的| 久久一区二区三区av| 欧美亚州一区二区三区| 激情国产一区| 亚洲视频免费看| 亚洲人精品午夜在线观看| 欧美一区二区高清在线观看| 欧美激情视频在线免费观看 欧美视频免费一 | 1000部精品久久久久久久久| 亚洲午夜性刺激影院| 最新日韩在线视频| 欧美一区二区三区四区夜夜大片| 欧美激情视频在线播放 | 精品成人在线| 亚洲在线观看| 一本久道综合久久精品| 久久综合中文字幕| 国产精品一区毛片| 亚洲精品久久久久久一区二区| 欧美一级电影久久| 亚洲午夜国产一区99re久久 | 欧美在线啊v| 亚洲一区亚洲| 欧美激情一区二区三区在线视频| 国产一区二区在线观看免费播放| 亚洲小说欧美另类婷婷| 99在线视频精品| 蜜桃久久精品一区二区| 国产亚洲一区二区精品| 亚洲一二三级电影| 中文一区二区在线观看| 欧美国产在线观看| 在线观看一区| 欧美在线亚洲在线| 性做久久久久久久免费看| 欧美视频精品在线观看| 亚洲国产国产亚洲一二三| 亚洲福利国产| 久久青草久久| 国产日韩一区二区三区| 亚洲一区精品视频| 亚洲一区影音先锋| 欧美视频你懂的| 9l国产精品久久久久麻豆| 99国产精品私拍| 欧美激情日韩| 亚洲国产日韩欧美| 久久精品日韩欧美| 久久日韩粉嫩一区二区三区 | 欧美精品www| 亚洲国产精品成人精品| 亚洲国产三级网| 老司机67194精品线观看| 精东粉嫩av免费一区二区三区| 久久av资源网| 美国成人直播| 亚洲国产高清在线| 99re热这里只有精品免费视频| 欧美精品一区二区三| 亚洲毛片av在线| 亚洲少妇自拍| 国产精品美女午夜av| 亚洲中无吗在线| 欧美专区在线观看| 国产亚洲人成a一在线v站| 久久精品五月| 欧美成年网站| 亚洲毛片av在线| 亚洲欧美日韩区 | 国产自产2019最新不卡| 久久国产精品久久久久久久久久| 久久久成人网| 在线观看一区二区视频| 亚洲国产成人精品久久久国产成人一区 | 欧美日韩一区二区精品| 这里只有精品视频在线| 亚洲欧美在线磁力| 国产日韩精品一区二区三区在线| 欧美一区二区女人| 老司机精品福利视频| 亚洲国产欧美一区二区三区丁香婷| 夜夜爽www精品| 国产精品久久一区二区三区| 香蕉免费一区二区三区在线观看| 久久精品女人的天堂av| 在线观看一区欧美| 中文日韩在线| 国产日韩欧美一区二区| 亚洲国产成人一区| 欧美日韩大片| 亚洲欧美日韩直播| 免费成人黄色| 一区二区成人精品 | 亚洲成人资源网| 欧美精品成人在线| 亚洲网站在线播放| 久久日韩粉嫩一区二区三区| 亚洲精品久久久蜜桃| 篠田优中文在线播放第一区| 尤物九九久久国产精品的特点| 99re在线精品| 国产精品午夜国产小视频| 亚洲国内在线| 欧美亚州一区二区三区 | 亚洲人成在线观看一区二区| 欧美性猛交xxxx乱大交退制版 | 久久综合给合| 在线中文字幕日韩| 久久婷婷影院| 一区二区国产精品| 久久影院午夜论| 一区二区三区日韩精品视频| 久久精品国产综合| 亚洲免费观看在线视频| 久久久国产午夜精品| 日韩香蕉视频| 乱人伦精品视频在线观看| 制服诱惑一区二区| 蘑菇福利视频一区播放| 亚洲午夜激情网站| 欧美电影免费观看| 亚洲欧美日韩在线一区| 欧美日韩第一页| 久久av一区二区三区亚洲| 欧美午夜www高清视频| 亚洲黄色成人久久久| 国产精品一二一区| 夜夜嗨av一区二区三区网站四季av| 久久aⅴ乱码一区二区三区| 亚洲电影有码| 亚洲午夜电影在线观看| 麻豆成人小视频| 午夜精品免费| 欧美午夜激情视频| 亚洲精品视频免费在线观看| 国产欧美精品一区二区色综合 |