日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于MMC2107的網(wǎng)絡(luò)接口設(shè)計(jì)與實(shí)現(xiàn)
基于MMC2107的網(wǎng)絡(luò)接口設(shè)計(jì)與實(shí)現(xiàn)
 更新時(shí)間:2008-8-4 4:49:48  點(diǎn)擊數(shù):18
【字體: 字體顏色


    

摘 要 :  為實(shí)現(xiàn)基于MMC2107的嵌入式系統(tǒng)的網(wǎng)絡(luò)連接,文章在簡(jiǎn)要介紹網(wǎng)絡(luò)接口控制器RTL8019AS的基礎(chǔ)上,給出了MMC2107微控制器與網(wǎng)絡(luò)接口控制器RTL8019AS的接口電路設(shè)計(jì)和軟件設(shè)計(jì)流程。
關(guān)鍵詞 :  嵌入式系統(tǒng);  MMC2107;  以太網(wǎng); TCP/IP

1. 引言
    嵌入式系統(tǒng)是以計(jì)算機(jī)為基礎(chǔ)、以應(yīng)用為中心、軟硬件均可剪裁、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。近年來,隨著計(jì)算機(jī)、微電子、通信及網(wǎng)絡(luò)技術(shù)的發(fā)展,嵌入式系統(tǒng)滲透到各個(gè)領(lǐng)域,廣泛用于移動(dòng)計(jì)算機(jī)平臺(tái)、信息家電、無線通信設(shè)備、工業(yè)/商業(yè)控制等諸多領(lǐng)域。
    在一些實(shí)際應(yīng)用中,為了實(shí)現(xiàn)多個(gè)MCU(微控制器)之間的信息交流,可以利用CAN、RS232、RS485等總線將MCU組網(wǎng),但這種網(wǎng)絡(luò)的有效半徑比較有限,有關(guān)的通信協(xié)議也比較少,并且一般是孤立于Internet以外的。Internet現(xiàn)在已經(jīng)成為信息流通的重要渠道,如果嵌入式系統(tǒng)能夠連接到Internet上,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個(gè)地方,不僅可以實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制、維護(hù)和升級(jí),而且能夠使接入Internet的設(shè)備成為網(wǎng)絡(luò)資源的一部分。由于在實(shí)際工作中需要實(shí)現(xiàn)基于MMC2107的嵌入式設(shè)備的網(wǎng)絡(luò)連接,本文以RTL8019AS以太網(wǎng)控制器為基礎(chǔ),給出了一種嵌入式系統(tǒng)與Intranet/Internet互聯(lián)的設(shè)計(jì)方案,有效地解決了嵌入式系統(tǒng)的網(wǎng)絡(luò)連接需求。

2. 以太網(wǎng)接口控制器RTL8019AS介紹
    當(dāng)前市場(chǎng)上存在多種以太網(wǎng)接口控制器,為縮短開發(fā)周期,在考慮實(shí)際產(chǎn)品功能需求的的基礎(chǔ)上,特選用了臺(tái)灣Realtek公司生產(chǎn)的RTL8019AS以太網(wǎng)接口控制器。RTL8019AS具有功耗低、性價(jià)比高等優(yōu)點(diǎn),因此在嵌入式系統(tǒng)中得到廣泛應(yīng)用。
2.1 主要性能
(1)符合Ethernet II與IEEE802.3(10Base5、10Base2、10BaseT)標(biāo)準(zhǔn);
(2)全雙工,收發(fā)可同時(shí)達(dá)到10Mbps的速率;
(3)內(nèi)置16KB的SRAM,用于收發(fā)緩沖,降低對(duì)主處理器的速度要求;
(4)支持8/16位數(shù)據(jù)總線,8個(gè)中斷申請(qǐng)線以及16個(gè)I/O基地址選擇;
(5)支持UTP、AUI、BNC自動(dòng)檢測(cè),還支持對(duì)10BaseT拓?fù)浣Y(jié)構(gòu)的自動(dòng)極性修正;
(6)允許4個(gè)診斷LED引腳可編程輸出;
(7)100腳的PQFP封裝,縮小了PCB尺寸。
2.2 幀格式
    RTL8019AS的發(fā)送和接收采用標(biāo)準(zhǔn)的IEEE802.3幀格式,如圖1所示。有效數(shù)據(jù)不足46B時(shí)需填零補(bǔ)足,超過1500B時(shí),需要拆成多個(gè)幀傳送。前導(dǎo)碼、幀起始定界符和幀校驗(yàn)序列是幀格式所需的字段,NIC(網(wǎng)絡(luò)接口控制器)去掉這3個(gè)字段,加上幀接收狀態(tài)信息(1B)、下一幀頁地址指針(1B)、該幀的幀長(zhǎng)度(2B)和目的地址、源地址、類型/數(shù)據(jù)字段長(zhǎng)度、有效數(shù)據(jù)一起放入緩沖區(qū)供微控制器使用。在圖1中所示的幀中,類型/數(shù)據(jù)長(zhǎng)度字段有兩個(gè)作用,當(dāng)該字段長(zhǎng)度的值小于或等于1500時(shí),表示后續(xù)有效數(shù)據(jù)的長(zhǎng)度,反之,表示數(shù)據(jù)幀的類型。比如值為0x0800,表示有效數(shù)據(jù)的內(nèi)容為IP包;值為0x0806,表示有效數(shù)據(jù)的內(nèi)容為ARP包。


 2.3 遠(yuǎn)程DMA和本地DMA 
    RTL8019AS內(nèi)部可以劃分為遠(yuǎn)程DMA(remote DMA)通道和本地DMA(local DMA)通道兩個(gè)部分。本地DMA完成控制器與網(wǎng)線的數(shù)據(jù)交換:接收數(shù)據(jù)時(shí),NIC將接收到的數(shù)據(jù)存到NIC中的接收緩沖區(qū),收滿一幀后,以中斷或寄存器標(biāo)志的方式通知微控制器;發(fā)送數(shù)據(jù)時(shí),由微控制器發(fā)出傳送命令,控制器將NIC中的發(fā)送緩沖區(qū)內(nèi)的數(shù)據(jù)按幀格式送到網(wǎng)線上。NIC中還包括一個(gè)FIFO緩沖區(qū),可對(duì)收發(fā)的數(shù)據(jù)作16個(gè)字節(jié)的緩沖,以減少對(duì)本地DMA請(qǐng)求的頻率。
    遠(yuǎn)程DMA負(fù)責(zé)微控制器和RAM間的數(shù)據(jù)傳輸,即由微控制器設(shè)置讀/寫RAM的地址后,通過讀/寫數(shù)據(jù)端口從接收緩沖區(qū)中取出數(shù)據(jù)或者將數(shù)據(jù)送入發(fā)送緩沖區(qū)。
2.4 內(nèi)部RAM地址空間分配
    RTL8019AS內(nèi)部有兩塊RAM區(qū):一塊只有32B,地址為0x0000~0x001f,稱為Prom頁,存儲(chǔ)有本網(wǎng)絡(luò)接口芯片的以太網(wǎng)物理地址。另一塊容量為16KB,地址為0x4000~0x7fff,用于收發(fā)緩沖。
收發(fā)緩沖以頁為單位,每頁256個(gè)字節(jié),共64頁,頁號(hào)記為0x40~0x80。一般將前12頁(即頁0x40~0x4b)作為發(fā)送緩沖區(qū),分為兩個(gè)6頁的緩存區(qū)(因一個(gè)最大數(shù)據(jù)包占6頁),兩個(gè)發(fā)送緩沖區(qū)交替使用,可提高發(fā)送效率;后52頁(即頁0x4c~0x7f)作為接收緩沖區(qū)。為了有效利用接收緩沖區(qū),NIC將接收緩沖區(qū)RAM構(gòu)成FIFO循環(huán)隊(duì)列結(jié)構(gòu)。
2.5  RTL8019AS的內(nèi)部I/O寄存器
    RTL8019AS有32個(gè)I/O地址,地址偏移量為00H~1FH。RTL8019AS的所有內(nèi)部寄存器都是8位的,映像到4個(gè)頁面:PAGE0、PAGE1、PAGE2、PAGE3,每個(gè)頁面有16個(gè)可供讀寫的寄存器地址(00H~0fH),由RTL8019AS的CR(Command Register命令寄存器)中的PS1、PS0位決定要訪問的頁。微控制器通過讀寫數(shù)據(jù)端口(10H~17H)實(shí)現(xiàn)對(duì)緩沖區(qū)的訪問,8個(gè)數(shù)據(jù)端口功能相同,只要使用其中一個(gè)即可。復(fù)位端口(18H~1FH)功能相同,用于RTL8019AS的熱復(fù)位。

3. 接口電路設(shè)計(jì)
    RTL8019AS與主機(jī)有3種接口模式,即跳線模式、PnP模式和RT模式。本開發(fā)平臺(tái)采用跳線模式,JP管腳接高,此時(shí),RTL8019AS的I/O口基地址、中斷輸出口、介質(zhì)類型的設(shè)置均由跳線器設(shè)定。使用該模式不使用93c46,可簡(jiǎn)化網(wǎng)絡(luò)接口的軟、硬件設(shè)計(jì)。
    網(wǎng)絡(luò)模塊連接原理如圖2所示。RTL8019AS的工作電壓為5V,MCC2107的工作電壓為3.3V,由于5V TTL和3.3V的電平轉(zhuǎn)換標(biāo)準(zhǔn)是一樣的,因此兩模塊可以直接相連。以I/O方式訪問RTL8019AS且IOS3~0懸空時(shí),RTL8019AS對(duì)應(yīng)的I/O地址空間為00300H~0031FH,此時(shí)僅需要將地址線A[4:0]與MMC2107的外地址總線相連,A[19:10]、A[6:5]接地,A[8:7]接高即可。
 
注:RTL8019AS的管腳懸空時(shí)為低電平。
    因?yàn)閿?shù)據(jù)傳輸采用16位數(shù)據(jù)總線,所以IOCS16管腳加10K電阻上拉,使之為有效電平信號(hào)。RTL8019AS的命令寄存器均為8位,且數(shù)據(jù)均從低8位數(shù)據(jù)線送出,因此MMC2107訪問命令寄存器時(shí)使用數(shù)據(jù)總線DATA[23:16],訪問數(shù)據(jù)寄存器時(shí)使用數(shù)據(jù)總線DATA[31:16]。根據(jù)EBI的傳送情況,在設(shè)計(jì)中MMC2107的外地址總線ADDR[5:1]和RTL8019AS的地址線A[4:0]相連。
    同時(shí),根據(jù)RTL8019AS占用的外部存儲(chǔ)器地址空間情況,各寄存器端口地址定義如下:
#define  NE_BASE  0x81800001            
#define  NE_CR  (*(INT8U*)(NE_BASE+0)) 
…                    
#define NE_DMA   (*(INT16U*)(0x81800000+0x20))   

4. 接口程序設(shè)計(jì)
    網(wǎng)絡(luò)模塊通信過程主要分為模塊復(fù)位、初始化、接收控制和發(fā)送控制四部分,下面分別予以討論。
1. 復(fù)位
    RTL8019AS的復(fù)位方式有冷、熱兩種。RESDRV為RTL8019AS的復(fù)位管腳,給該引腳施加一個(gè)1μs以上的高電平就可以實(shí)現(xiàn)冷復(fù)位。先讀再寫復(fù)位端口,可實(shí)現(xiàn)熱復(fù)位。因?yàn)閺?fù)位過程將執(zhí)行一些操作,因此應(yīng)等待100ms之后再對(duì)RTL8019AS操作,以確保復(fù)位完全。
2. 初始化過程
    復(fù)位后初始化所需寄存器(初始化頁0與頁1的相關(guān)寄存器,頁2的寄存器是只讀的,不能設(shè)置,頁3的寄存器不是NE2000兼容的,不用設(shè)置)。初始化主要完成:設(shè)置發(fā)送和接收條件;對(duì)網(wǎng)卡緩沖區(qū)RAM進(jìn)行劃分,建立接收和發(fā)送緩沖環(huán);設(shè)置網(wǎng)卡地址寄存器,賦予本網(wǎng)卡一個(gè)物理地址。
3. 接收過程
    微控制器完成對(duì)RTL8019AS的初始化后,NIC就處于接收狀態(tài),一旦收到幀數(shù)據(jù),就自動(dòng)執(zhí)行本地DMA,將NIC FIFO中的數(shù)據(jù)送入接收緩沖環(huán),然后向主機(jī)發(fā)送“接收到數(shù)據(jù)幀”中斷請(qǐng)求。
    接收數(shù)據(jù)幀也可采用查詢方式。在查詢方式下,主程序讀取CURR和BNRY兩個(gè)寄存器的值,當(dāng)BNRY與CURR不等時(shí),說明接收緩沖區(qū)接收到了新的幀,主程序讀取數(shù)據(jù)后,以所讀取幀的第二個(gè)字節(jié)(下一幀的頁地址)更新BNRY,主程序循環(huán)跟蹤判斷CURR和BNRY的值是否相等,達(dá)到數(shù)據(jù)接收的目的。
在實(shí)時(shí)多任務(wù)的環(huán)境中,一般采用中斷方式來處理RTL8019AS的數(shù)據(jù)接收、數(shù)據(jù)發(fā)送結(jié)束、出錯(cuò)事件等中斷。文章采用中斷方式,設(shè)置邊沿端口模塊(EPORT)的外中斷引腳INT2#為下降沿檢測(cè)的中斷。
 4. 發(fā)送過程
    微控制器先執(zhí)行遠(yuǎn)程DMA寫操作,將RAM中的數(shù)據(jù)分組傳至RTL8019AS發(fā)送緩沖區(qū),再啟動(dòng)本地DMA,將數(shù)據(jù)發(fā)送到網(wǎng)上。主程序在發(fā)送一幀數(shù)據(jù)時(shí),先要查TSR寄存器判斷上一幀是否發(fā)送完畢,再發(fā)送本幀。
5. 結(jié)束語
    本文提出了MMC2107微控制器與網(wǎng)絡(luò)接口控制器RTL8019AS的互聯(lián)方案,并給出了詳細(xì)的軟硬件設(shè)計(jì)以及軟件設(shè)計(jì)流程。該設(shè)計(jì)實(shí)現(xiàn)了基于MMC2107微控制器的嵌入式系統(tǒng)與Internet的互聯(lián),增強(qiáng)了嵌入式系統(tǒng)的功能,F(xiàn)該產(chǎn)品已經(jīng)投入實(shí)際應(yīng)用,使用效果良好。該系統(tǒng)還可以廣泛應(yīng)用在工業(yè)控制領(lǐng)域,有很高的實(shí)用價(jià)值。



[1] [2]  下一頁
  • 上一篇: AD7711與單片機(jī)AT89S8252的接口技術(shù)
  • 下一篇: 一種嵌入式Internet接口系統(tǒng)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1