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

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用8位單片機實現(xiàn)串口-以太網(wǎng)轉(zhuǎn)換器
用8位單片機實現(xiàn)串口-以太網(wǎng)轉(zhuǎn)換器
 更新時間:2008-8-16 21:09:37  點擊數(shù):18
【字體: 字體顏色
信號線 引  腳
數(shù)據(jù)信號線
地址信號線
地址允許線
I/O通道準(zhǔn)備好信號線
復(fù)位信號線
I/O讀信號
I/O寫信號
I/O片選16位信號
SD0~SD15
SA0~SA19
AEN
IOCHRDY
RESETDRV
IOR
IOW
IOCS 16

4 硬件框圖

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

5 軟件設(shè)計

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

5.1 主程序

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

5.2 網(wǎng)卡初始化過程

對網(wǎng)卡的初始化就是對相關(guān)寄存器進(jìn)行初始化。這些寄存器包括CR、DCR、RBCR、PSTART、PSTOP、ISR、IMR、PAR0~PAR5、MAR0~MAR5、CURR、TCR和RCR等。初始化過程如下:

(1)CR=0x21:選擇頁0寄存器,將NIC處于離線狀態(tài);

(2)DCR=0x88:8位內(nèi)存訪問,正常工作方式;

(3)RBCR0=0,RBCR1=0:遠(yuǎn)程DMA操作時傳遞字節(jié)數(shù)清零;

(4)RCR=0xc0:接收到的幀存入緩沖環(huán);

(5)TCR=0xe2:環(huán)路測試狀態(tài);

(6)PSTART=0x4c,PSTOP=0x80:構(gòu)造緩沖環(huán);

(7)ISR=0xff:中斷寄存器清零;

(8)IMR=0x00:屏蔽所有的中斷;

(9)CR=0x61:選擇頁1;

(10)設(shè)置網(wǎng)卡地址PAR0~PAR5;

(11)設(shè)置多址寄存器MAR0~MAR5;

(12)CURR=0x4d:初始化當(dāng)前頁寄存器;

(13)CR=0x22:選擇頁1,正常工作狀態(tài);

(14)TCR=0XE0:發(fā)送器正常工作狀態(tài)。

5.3 發(fā)送控制過程

在網(wǎng)絡(luò)中,幀傳輸?shù)倪^程就是發(fā)送方將待發(fā)送的數(shù)據(jù)按幀格式要求封裝成幀,然后通過網(wǎng)卡發(fā)送到網(wǎng)絡(luò)的傳輸線上。發(fā)送程序框圖如圖3所示。

5.4 接收控制過程

幀的接收過程分為兩步:第一步由本地DMA將幀存入接收緩沖環(huán)中;第二步由遠(yuǎn)程DMA將接收緩沖環(huán)中的幀讀入內(nèi)存。即將網(wǎng)絡(luò)上的數(shù)據(jù)幀接收并緩存在網(wǎng)卡的接收緩沖環(huán)中,然后由主機程序?qū)⒕彺嬖诰彌_環(huán)中的幀讀走并存入內(nèi)存中。

幀的接收工作由網(wǎng)卡自動完成,只需對相關(guān)的寄存器和PSTART、PSTOP、CURR和BNRY進(jìn)行適當(dāng)?shù)某跏蓟纯伞?/p>

幀讀入較幀接收要復(fù)雜一些。首先必須初始化相應(yīng)的寄存器RSAR、RBCR,然后再啟動遠(yuǎn)程DMA讀操作和主機程序的讀端口操作。

以下是接收數(shù)據(jù)幀的子程序。為了獲得數(shù)據(jù)長度,先讀入18個字節(jié)的數(shù)據(jù),然后根據(jù)有交數(shù)據(jù)的長度將幀完整讀入。為了啟動遠(yuǎn)程DMA讀操作,應(yīng)該令CR=0AH,遠(yuǎn)程DMA將從接收緩沖環(huán)的DMA地址處讀入1字節(jié)并送往I/O數(shù)據(jù)端口,由主機程序讀入內(nèi)存。這一過程將一直持續(xù)到RBCR寄存器為0。

Void Receive_Data()

{

unsigned char data value,temp;

unsigned int data datalength,i;

RSARI=Next_PKT;

RSAR0=0;

RSAR0=18;

RBCR1=0;

CR=0x0a;

for(i=0;i<18;i++){

value=Data_Port;

recv_buf[i]=value;

}

datalength=(recv_buf)[16]<<8)+recv_buf[17]+18;

value=datalength&0x00ff;

RBCR0=value;

value=(datalength&0xff00)>>8;

RBCR1=value;

RSAR1=Next_PKT;

RSAR0=0;

CR=0x0a;

For(I=0;I<datalength;i++){

Value=Data_Port;

Recv_buf[i]=value;

}

}

    5.5 串口通訊子程序

為實現(xiàn)數(shù)據(jù)文件的串口傳輸編制了一個串口通訊協(xié)議。該協(xié)議由引導(dǎo)幀、長度幀、數(shù)據(jù)幀和確認(rèn)幀等組成。其中引導(dǎo)幀用于同步每一包數(shù)據(jù)的引導(dǎo)頭,長度幀是這一包數(shù)據(jù)的總長度,數(shù)據(jù)幀是其中的數(shù)據(jù)信息,確認(rèn)幀是接收方對發(fā)送方的回應(yīng)。每幀數(shù)據(jù)由16個字節(jié)組成,每幀的第14個字節(jié)為標(biāo)志位,第15字節(jié)為校驗位。標(biāo)志位中有2位幀標(biāo)志位,3位序號位。校驗采用和校驗,只計算0~13字節(jié),溢出值舍去。在發(fā)送方有數(shù)據(jù)發(fā)送時,先檢測線路是否空閑,如線路空閑則向收方發(fā)送“請求發(fā)送數(shù)據(jù)”命令幀。接收機收到后,如準(zhǔn)備就緒,則回送“可以發(fā)送”的確認(rèn)命令。發(fā)送方得到確認(rèn)后開始發(fā)送數(shù)據(jù)。接收方對收到的每一幀數(shù)據(jù)進(jìn)行和校驗,校驗正確發(fā)送“和校驗正確”命令,發(fā)送方發(fā)送下一幀;否則發(fā)送“重發(fā)”命令,發(fā)送方重發(fā)此幀。協(xié)議中還具有等待超時處理、幀不同步處理和線路沖突檢測功能。

利用8位單片機8031驅(qū)動ISA總線網(wǎng)卡,實現(xiàn)串口設(shè)備通過以太網(wǎng)進(jìn)行通訊,可以方便、可靠、低廉地將數(shù)據(jù)傳輸?shù)竭h(yuǎn)端設(shè)備。而且,通過串口設(shè)備與以太網(wǎng)的相連,可以很好地解決多種工業(yè)總線的系統(tǒng)集成問題,同時也大大豐富了工業(yè)總線的體系,促使其向更高層次發(fā)展?梢灶A(yù)計,小型串口設(shè)備與以太網(wǎng)相連將帶來一場新的技術(shù)浪潮。

  • 上一篇: 基于HP信號發(fā)生器的CDMA2000移動臺測試系統(tǒng)程序設(shè)計
  • 下一篇: 用VHDL設(shè)計專用串行通信芯片
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

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

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

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