亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        家校通網(wǎng)絡(luò)控制器的通信技術(shù)

        2008-04-12 00:00:00楊慶江張廣璐
        現(xiàn)代電子技術(shù) 2008年1期

        摘 要:針對家校通網(wǎng)絡(luò)控制器的功能需求,提出一種串口與網(wǎng)絡(luò)結(jié)合的通信技術(shù)。首先描述了網(wǎng)絡(luò)控制器的硬件平臺和基于TCP/IP協(xié)議之上的應(yīng)用層協(xié)議,然后著重討論了網(wǎng)絡(luò)通信技術(shù)和串口通信技術(shù),在通信過程中,采用主從應(yīng)答方式以提高數(shù)據(jù)傳輸?shù)挠行?,減少數(shù)據(jù)沖突現(xiàn)象的發(fā)生,最后通過現(xiàn)場測試到的數(shù)據(jù)對該通信技術(shù)的可行性與穩(wěn)定性進行說明與分析。

        關(guān)鍵詞:網(wǎng)絡(luò)控制器;通信協(xié)議;Rabbit2000單片機;套接字;串口通信

        中圖分類號:TN91 文獻標識碼:B

        文章編號:1004373X(2008)0105403

        Communication Technology of Jia-xiao-tong Network Controller

        WEI Zi,YANG Qingjiang,ZHANG Guanglu

        (Heilongjiang Institute of Science and Technology,Harbin,150027,China)

        

        Abstract:For the function demand of the network controller in Jia-xiao-tong system,the paper proposes a communication technology of combining serial-port with network.Firstly,it describes the network controller′s hardware platform and the application-layer protocol based on TCP/IP protocol stack.Then,it mainly discusses the communication network technology and the communication serial technology.The polling scheme is applied to improve data transfer effectiveness and reduce data collision.Finally,it explains and analyzes the communication technology′s feasibility and stability through filed test data.

        Keywords:network controller;communication protocol;Rabbit2000 single chip;socket;serial communication

        

        1 引 言

        隨著TCP/IP等網(wǎng)絡(luò)通信的出現(xiàn),將串口通信與網(wǎng)絡(luò)通信相結(jié)合的趨勢越來越明顯,這是保護使用者既往投資和整體利益的一種有效辦法。本文所討論的通信技術(shù)就是將串口與網(wǎng)絡(luò)通信相結(jié)合并在實際應(yīng)用中取得良好效果的一種通信解決方案。

        “家校通”是利用現(xiàn)代信息技術(shù)實現(xiàn)家庭與學(xué)校實時溝通的教育網(wǎng)絡(luò)平臺,其組成部分為:家?;ヂ?lián)卡、讀卡器、無線網(wǎng)關(guān)、網(wǎng)絡(luò)控制器、短信發(fā)射接收機。網(wǎng)絡(luò)控制器的主要功能是通過無線網(wǎng)關(guān)從讀卡器獲取信息,并與互聯(lián)網(wǎng)服務(wù)平臺進行網(wǎng)絡(luò)通信,是家校通系統(tǒng)的核心。

        2 網(wǎng)絡(luò)控制器的硬件平臺

        根據(jù)網(wǎng)絡(luò)控制器的功能要求,考慮整體的性能、價格方面,CPU采用Rabbit2000單片機,他是Z-World公司特別為中小型控制器而設(shè)計的高性能8位微處理器。編譯環(huán)境為Dynamic C,提供Socket級TCP/IP編程。網(wǎng)絡(luò)控制器的硬件結(jié)構(gòu)如圖1所示。

        3 應(yīng)用層通信協(xié)議

        3.1 網(wǎng)絡(luò)控制器與讀卡器的串口通信協(xié)議

        網(wǎng)絡(luò)控制器與讀卡器的通信主要通過異步串行RS 485接口,基于通用串行通信RS 485數(shù)據(jù)傳輸單元(字節(jié)格式)有不帶校驗位的10 b和帶奇偶校驗位的11 b兩種數(shù)據(jù)格式。為了提高數(shù)據(jù)傳送的效率和可靠性,采用無奇偶校驗位的10 b數(shù)據(jù)格式,并由BBC校驗生成校驗碼與數(shù)據(jù)一起發(fā)送。

        開始標志讀卡器地址信息長度命令和參數(shù)校驗

        2 B1 B2 B14 B1 B

        (3)命令字:

        A1:從讀卡器讀取一條記錄。

        A2:控制器正確接收記錄信息后,返回更新記錄的讀地址命令,使地址指針指向下一條記錄。

        A4:設(shè)置校正讀卡器時間。

        A6:測試控制器與讀卡是否正常通信。

        3.2 網(wǎng)絡(luò)控制器與服務(wù)平臺的網(wǎng)絡(luò)通信協(xié)議

        網(wǎng)絡(luò)協(xié)議通常分不同的層次進行開發(fā),每一層分別負責(zé)不同的通信功能。TCP/IP通常是一個4層協(xié)議,包括數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層(含IP協(xié)議)、傳輸層(含TCP協(xié)議)和應(yīng)用層。本網(wǎng)絡(luò)協(xié)議就是基于TCP/IP協(xié)議之上的應(yīng)用層協(xié)議,采用請求應(yīng)答的通信模式。考慮到協(xié)議的可靠性和實現(xiàn)的方便性,數(shù)據(jù)采用ASCII碼表示。

        (1)報文組成

        4 通信技術(shù)

        控制器建立socket連接后,向服務(wù)器發(fā)送連接請求和數(shù)據(jù)傳輸,并實時判斷連接的有效性,在有效連接的狀態(tài)下,實現(xiàn)控制器、服務(wù)器、讀卡器三者的正常通訊,程序流程如圖2所示。

        4.1 網(wǎng)絡(luò)通信技術(shù)的實現(xiàn)

        socket初始化: 首先要對RTL8019AS的控制寄存器進行初始化配置,Dynamic C已將這部分配置封裝成函數(shù)放入REALTEK.LIB庫中,應(yīng)用時只需調(diào)用相關(guān)函數(shù)。之后再調(diào)用函數(shù)庫dcrtcp.lib中的幾個簡單函數(shù)可完成socket的初始化,以下是程序的主體框架。

        #define TCPCONFIG1

        #memmapxmem

        #usedcrtcp.lib

        main()

        { 

        sock[CD#*2]init( );

        while(ifpending(IF[CD#*2]DEFAULT)==IP[CD#*2]COMING[CD#*2]UP)

        tcp[CD#*2]tick(NULL); 

        tcp[CD#*2]open(socket,0,destIP,sockport,1); 

        …… ……

        }

        在建立TCP的連接中,Dynamic C有兩種方法打開TCP socket:一種是被動的方式,調(diào)用函數(shù)tcp[CD#*2]listen(),等待客戶端進行連接;一種是主動的方式,調(diào)用函數(shù)tcp[CD#*2]open(),根據(jù)相應(yīng)的參數(shù)(IP地址和端口號)主動連接到服務(wù)器端。本通信技術(shù)采用的就是主動方式(作為客戶端)。

        Socket數(shù)據(jù)的發(fā)送與接收:數(shù)據(jù)發(fā)送調(diào)用sock[CD#*2]write(socket,str[CD#*2]send,str[CD#*2]send[CD#*2]len)。在讀取socket緩沖區(qū)數(shù)時,先判斷緩沖區(qū)中是否有數(shù)據(jù),有數(shù)據(jù)再進行讀操用,同時有超時設(shè)置。

        start[CD#*2]time=SEC[CD#*2]TIMER;

        /*SEC[CD#*2]TIMER為秒級系統(tǒng)時間*/

        end[CD#*2]time=start[CD#*2]time;

        while((end[CD#*2]time

        !recv[CD#*2]count)/*READ[CD#*2]TIME為設(shè)定的等待時間*/

        {

        str[CD#*2]recvbuf[CD#*2]len=sock[CD#*2]bytesready(socket);

        /*判斷socket讀緩沖區(qū)是否有數(shù)據(jù)*/

        if(str[CD#*2]recvbuf[CD#*2]len>0)

        recv[CD#*2]count=sock[CD#*2]read(socket,str[CD#*2]recvbuf,

        str[CD#*2]recvbuf[CD#*2]len); /*讀socket*/

        }

        if(revc[CD#*2]count) 

        {…… ……}

        /*拆分接收到的命令字,讀取有效信息*/

        else 

        break;

        4.2 串口通信技術(shù)的實現(xiàn)

        主要包含3個步驟:命令字的組合,設(shè)置串口D,通過設(shè)置Rabbit2000的PE3來控制數(shù)據(jù)的發(fā)送與接收。以A6命令為例,程序主體框架如下:

        command[0]=0xA6;/*A6命令*/

        create[CD#*2]command(addr,command,pack);

        /*組合命令字*/

        serDopen(9600);/*9600為波特率*/

        send[CD#*2]command(command,returnlen);/*發(fā)送數(shù)據(jù)*/

        read[CD#*2]command(readbuf,sizeof(readbuf),10);

        /*接收數(shù)據(jù)*/

        void send[CD#*2]command(char *pack,int len)

        { 

        int i;

        WrPortI(PEDR, PEDRShadow,0x08);

        WrPortI(PEB3R,NULL,0);

        for(i=0;i

        serDputc(pack[i]); 

        }

        int read[CD#*2]command(char *buf,int len,int time)

        { 

        int i[CD#*2]return;

        WrPortI(PEB3R,NULL,1<<3);

        i[CD#*2]return=serDread(buf,len,time);

        return i[CD#*2]return;

        }

        5 數(shù)據(jù)采集與分析

        網(wǎng)絡(luò)控制器聯(lián)網(wǎng)正常運行時,向服務(wù)器發(fā)送的一包測試記錄數(shù)據(jù)為:

        對數(shù)據(jù)包進行分析:0244為數(shù)據(jù)包的總長度,01為協(xié)議版本號,02為命令字,000003為序列號,21000102*****為設(shè)備號,09為數(shù)據(jù)包中的刷卡記錄總數(shù),0080D122為測試卡號,07070414152715為刷卡時間(順序為年周月日時分秒),03為狀態(tài)。

        采集從服務(wù)器返回的命令:001501020000031,其中

        列號,1為正確接收。返回命令格式符合協(xié)議要求,內(nèi)容正確。

        網(wǎng)絡(luò)控制器向讀卡器發(fā)送的命令(以A6為例): aa ff 01 00 03 a6 41 41 f1,其中aa ff表示本命令為控制器發(fā)給讀卡器,01為讀卡器地址,00 03為數(shù)據(jù)長度,a6為命令字,41 41為測試數(shù)據(jù),f1為校驗位。

        采集從讀卡器返回的命令:bb ff 01 00 02 41 41 47 d1 22 07 07 04 14 15 42 17 1 6b 00 00 00,其中bb ff表示本命令為讀卡器發(fā)給控制器,01為讀卡器地址,00 02為數(shù)據(jù)長度,41 41為測試數(shù)據(jù),47為校驗位,之后的為無效數(shù)據(jù)。

        6 結(jié) 語

        基于Rabbit2000實現(xiàn)串口與網(wǎng)絡(luò)結(jié)合的通信技術(shù)可以實時、準確地對數(shù)據(jù)進行處理、發(fā)送與接收。由采集到的數(shù)據(jù)表明數(shù)據(jù)收發(fā)的正確性,證明了本通信技術(shù)的可行性與可靠性。本通信技術(shù)已在家校通系統(tǒng)中取得了良好的通信效果,并可應(yīng)用于其他數(shù)據(jù)傳輸系統(tǒng)中,具有廣泛的發(fā)展前景。

        參 考 文 獻

        [1]Z-World Inc.Rabbit2000 Microprocessor Designer′s Hand-book,2003.

        [2]Z-WorldInc.Dynamic C TCP/IP User′s Manual,2003.

        [3]林麗,朱宏.基于Rabbit2000的網(wǎng)絡(luò)通信技術(shù)[J].福建電腦,2005(4):45-46.

        作者簡介 魏 紫 女,1982年出生,遼寧沈陽人,碩士研究生。主要從事電力電子技術(shù)與電子信息通信方向的研究。

        注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。”

        精品的一区二区三区| 人妻少妇精品中文字幕av| 免费a级毛片出奶水| 亚洲一区二区三区av在线免费| 久久亚洲一区二区三区四区五| 99久久精品费精品国产一区二| 疯狂撞击丝袜人妻| 精品国产AⅤ一区二区三区4区| 激情视频在线观看免费播放| 熟女中文字幕一区二区三区 | 野花社区视频在线观看| 久久精品re| 亚洲区一区二区三区四| 久久久国产精品123| 伊人久久久精品区aaa片| 亚洲精品美女久久久久久久 | 人妻有码中文字幕在线| 欧美激欧美啪啪片| 97精品依人久久久大香线蕉97| 国产午夜激无码AV毛片不卡| 手机在线免费观看的av| 欧美成人看片一区二区三区尤物 | 青青国产揄拍视频| 欧美高清国产在线播放| 在线观看日韩精品视频网站| 国产一区二区三区中文在线| 欧美日韩不卡合集视频| 女同av在线观看网站| 人日本中文字幕免费精品| 国产精品爽爽久久久久久竹菊| 色综合久久久久久久久五月| 国产av一区网址大全| 午夜视频国产在线观看| 国产成人午夜精华液| av草草久久久久久久久久久| 亚洲在线精品一区二区三区| 免费人成视频x8x8入口| 911香蕉视频| 国产精品人成在线观看不卡| 亚洲国产精彩中文乱码av| 精品午夜福利1000在线观看|