<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 用51單片機實(shí)現串口-以太網(wǎng)轉換器

用51單片機實(shí)現串口-以太網(wǎng)轉換器

作者: 時(shí)間:2011-12-09 來(lái)源:網(wǎng)絡(luò ) 收藏
或微控制器(MCU)(也稱(chēng)為嵌入式系統)已經(jīng)在各個(gè)領(lǐng)域得到了廣泛的應用。目前絕大多數系統都是以MCU為核心,與一些監測、伺服、指示設備配合實(shí)現一定的功能。以太網(wǎng)是當今最受歡迎的局域網(wǎng)之一,現已成為社會(huì )重要的基礎信息設施之一, 是信息流通的重要渠道,如果嵌入式系統能夠連接到Internet上面,則可以方便、低廉地將信息傳送到幾乎世界上的任何一個(gè)地方。

將嵌入式系統與Internet相連的主要困難在于:Internet上面的各種通信協(xié)議對于存儲器、運算速度等的要求比較高,而嵌入式系統中除部分32位處理器以外,大量存在的是8位和16位MCU,支持TCP/IP等Internet協(xié)議將占用大量系統資源,從而影響本來(lái)的功能或根本不可能實(shí)現。

本文根據所做項目需要,用8031和RTL8019AS網(wǎng)卡實(shí)現了RS485串口設備數據文件通過(guò)以太網(wǎng)傳輸到遠端計算機的功能。

1 串行通訊

串行通訊在通訊領(lǐng)域被廣泛應用。標準的RS232接口已成為計算機、計算機外設、交換機和許多通訊設備的標準接口。在我國工業(yè)總線(xiàn)的應用中,RS-485、RS-422使用最為普遍。

在串行接口連接中,按連接方式可分為面向連接和無(wú)連接。無(wú)連接原理比較簡(jiǎn)單,通訊雙方無(wú)握手過(guò)程。一方如有數據需要發(fā)送,則立即通過(guò)串行接口發(fā)送出去,另一方被動(dòng)接受。該方式能夠達到較高的通訊速率,但不能保證數據傳輸的可靠性,只用于一些對數據可靠性要求不高的場(chǎng)合,如語(yǔ)音、圖像等。而面向通訊過(guò)程則不同,在甲方有數據發(fā)送請求時(shí),則向乙方發(fā)送“請求發(fā)送數據”命令。乙方收到后,如準備就緒,則回送確認信息。甲方得到乙方的確認后方可發(fā)送數據。在大多數情況下,乙方要對收到的數據進(jìn)行校驗,校驗正確發(fā)送“通訊終止”命令,否則可發(fā)送“重發(fā)”命令。面向連接的串行通訊過(guò)程實(shí)踐起來(lái)通常要復雜得多,通常用于數據文件的傳輸。

2 以太網(wǎng)的物理傳輸幀

標準IEEE802.3幀結構有七部分組成,如表1所示。其中除了數據域的長(cháng)度不固定外,其他的長(cháng)度都是固定不變的。在發(fā)送數據時(shí),幀頭、起始位和校驗位都是網(wǎng)卡自動(dòng)添加的;在接收數據時(shí),幀頭和起始位將被網(wǎng)卡自動(dòng)跳過(guò),即網(wǎng)卡一旦檢測到有效幀頭和幀起始位,就認為有效數據開(kāi)始,并將有效數據存入接收緩沖環(huán)。

標準IEEE802

3 以太網(wǎng)卡

RTL8019AS網(wǎng)卡是8/16位ISA總線(xiàn)的網(wǎng)卡,遵循的標準與協(xié)議為IEEE802.3。按功能可將其劃分為接收功能模塊、CRC產(chǎn)生模塊、發(fā)送功能模塊、地址識別模塊、FIFO控制模塊、協(xié)議邏輯陣列模塊以及DMA和緩沖控制模塊等部分。對網(wǎng)卡進(jìn)行編程就可以實(shí)現局域網(wǎng)內任意站點(diǎn)之間的通信而不需要網(wǎng)絡(luò )操作系統的支持。

熟悉網(wǎng)卡接口電路是實(shí)現對網(wǎng)卡編程的首要條件。網(wǎng)卡接口電路可分為兩部分,一是與計算機ISA總線(xiàn)相連,包括數據總線(xiàn)讀寫(xiě)、地址總線(xiàn)驅動(dòng)、中斷控制信號的產(chǎn)生、存儲器讀寫(xiě)信號以及I/O端口讀寫(xiě)信號的引入等;二是對網(wǎng)卡內部的操作,包括對緩沖RAM的讀寫(xiě)、對RTL8019AS的控制、讀站地址PROM以及讀自舉ROM等。ISA總線(xiàn)共有98個(gè)信號,但通過(guò)對網(wǎng)卡工作原理的分析,我們可以將接口信號線(xiàn)減至最少。表2是驅動(dòng)RTL8019AS網(wǎng)卡所需的最少的信號線(xiàn)。

驅動(dòng)RTL8019AS網(wǎng)卡所需的最少的信號線(xiàn)

4 硬件框圖

系統采用8031作為CPU主芯片,使用32K字節的外部存儲器62256來(lái)存放以太網(wǎng)包(最大可以有1500字節)和串行數據, 8K字節的2764存放程序,用75176與485總線(xiàn)通訊。系統的數據與地址總線(xiàn)分別與網(wǎng)卡的數據與地址總線(xiàn)相連。硬件框圖如圖1所示。

硬件框圖

5 軟件設計

對網(wǎng)卡的編程就是對網(wǎng)絡(luò )接口控制器(NIC)RTL8019AS中各種寄存器進(jìn)行編程控制,從而完成數據分組的正確發(fā)送和接收。所有程序采用Franclin C51語(yǔ)言編制,具有可讀性強,移植性好,開(kāi)發(fā)周期短的特點(diǎn)。即使在代碼的使用效率上,也完全可以和匯編語(yǔ)言相比。

5.1 主程序

主程序可分為網(wǎng)絡(luò )通訊和串行通訊兩部分。網(wǎng)絡(luò )通訊過(guò)程又可分為網(wǎng)卡初始化、發(fā)送控制和接收控制等三部分。主程序框圖如圖2所示。

主程序框圖


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>