999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于TCP/Modbus協(xié)議的面向多連接信號(hào)采集器設(shè)計(jì)

2010-04-12 00:00:00王立峰會(huì)程季多
現(xiàn)代電子技術(shù) 2010年7期

摘 要:進(jìn)行了基于Modbus協(xié)議和TCP/IP協(xié)議相結(jié)合的遠(yuǎn)程網(wǎng)絡(luò)通信協(xié)議的研究。在詳細(xì)分析TCP/IP協(xié)議和Modbus協(xié)議的基礎(chǔ)上,提出對(duì)TCP/IP協(xié)議進(jìn)行精簡(jiǎn)的設(shè)計(jì)方法,設(shè)計(jì)了基于TCP/Modbus協(xié)議的面向多連接信號(hào)采集器,重點(diǎn)分析了信號(hào)采集器和多臺(tái)計(jì)算機(jī)通過(guò)Internet傳輸數(shù)據(jù)的方法。該設(shè)計(jì)方法能實(shí)現(xiàn)及時(shí)可靠的TCP/Modbus通信,此協(xié)議對(duì)系統(tǒng)的硬件和軟件要求較低,并成功應(yīng)用于工程實(shí)際,對(duì)基于TCP/Modbus協(xié)議的工業(yè)以太網(wǎng)絡(luò)的具體應(yīng)用具有一定的現(xiàn)實(shí)意義。

關(guān)鍵詞:Modbus協(xié)議; TCP/IP協(xié)議; 多連接; 以太網(wǎng)數(shù)據(jù)幀

中圖分類(lèi)號(hào):TN915.04 文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2010)07-0175-04

Design of Signal Gathering Device Oriented to Multi-connection Based on TCP/Modbus Protocol

WANG Li-feng1, LI Hui2, CHENG Ji-duo3

(1.College of Mechanical and Electrical Engineering, Northeast Forestry University, Harbin 150040, China;

2.College of Communication and Electronic Engineering, Qiqihar University, Qiqihar 161006, China;

3.Diversified Company, Aermu Forestry Bureau of Daxing’anling, Daxing’anling 165302, China)

Abstract:The research of remote network communication protocol is studied based on the combination of Modbus protocol and TCP/IP protocol. On the basis of analyzing Modbus protocol and TCP/IP protocol, the design method of retrenching TCP/IP protocol is proposed, and multi-connection signal gathering device based on TCP/Modbus protocol is designed. The method of transmitting data between the signal gathering device and multi-hosts in the Internet is analysed. This design method can realize prompt and reliable TCP/Modbus communication and only has minimum requirements on the system hardware and software, it has been used in the engineering and has actual meaning for the certainapplication of the industrial Ethernet based on TCP/Modbus protocol.

Key words:Modbus protocol; TCP/IP protocol; multi-connection; Ethernet data frame

0 引 言

在工業(yè)以太網(wǎng)絡(luò)上,信號(hào)采集器作為數(shù)據(jù)服務(wù)器,必須可以支持多個(gè)并發(fā)的客戶(hù)機(jī),甚至在計(jì)劃內(nèi)用戶(hù)只有單一客戶(hù)時(shí)也要能響應(yīng)(并發(fā)),并允許客戶(hù)機(jī)高速的順序關(guān)閉和重開(kāi)連接,以對(duì)無(wú)發(fā)送的響應(yīng)做出快速反應(yīng)。對(duì)于這種并發(fā)的客戶(hù)機(jī)訪問(wèn),通常有兩種方式解決:第一種是使用嵌入式操作系統(tǒng),當(dāng)有新的連接請(qǐng)求時(shí),由操作系統(tǒng)動(dòng)態(tài)建立一個(gè)任務(wù)來(lái)維持這個(gè)連接,即由每個(gè)任務(wù)來(lái)維持一個(gè)連接。其缺點(diǎn)是嵌入式操作系統(tǒng)對(duì)硬件有較高的要求,其內(nèi)核也占用一定CPU資源,對(duì)軟件要求也較高。第二種是模擬多任務(wù)系統(tǒng),由系統(tǒng)預(yù)先分配一個(gè)大的數(shù)據(jù)區(qū)來(lái)存儲(chǔ)每個(gè)客戶(hù)機(jī)的連接信息及通信狀態(tài),通過(guò)數(shù)組或指針的方式進(jìn)行索引查詢(xún)。該方法軟件編程結(jié)構(gòu)較復(fù)雜,預(yù)設(shè)的客戶(hù)端越多,數(shù)據(jù)區(qū)占用硬件資源越嚴(yán)重,達(dá)到連接數(shù)量后,就不能再為其他客戶(hù)端提供數(shù)據(jù)了[1,2]。本文通過(guò)對(duì)TCP/IP協(xié)議和Modbus協(xié)議分析,提出對(duì)TCP/IP協(xié)議進(jìn)行精簡(jiǎn)設(shè)計(jì),實(shí)現(xiàn)基于TCP/Modbus協(xié)議的信號(hào)采集器與多臺(tái)計(jì)算機(jī)通信,該方法對(duì)系統(tǒng)硬件要求較少,軟件編程代碼量小,通信響應(yīng)的實(shí)時(shí)性更強(qiáng),不限制連接數(shù)量。

1 Modbus/TCP協(xié)議介紹

Modbus應(yīng)用層協(xié)議由美國(guó)Modicon公司于1979年開(kāi)發(fā),用于實(shí)現(xiàn)其PLC產(chǎn)品與上位機(jī)的通信。由于其簡(jiǎn)單易用,我國(guó)標(biāo)準(zhǔn)化委員會(huì)已將Modbus協(xié)議作為我國(guó)工業(yè)自動(dòng)化的行業(yè)標(biāo)準(zhǔn)。1999年施奈德電氣發(fā)布了TCP/Modbus協(xié)議,使得以太網(wǎng)上的Modbus設(shè)備可以通過(guò)502端口進(jìn)行通信。

TCP/Modbus使用傳輸協(xié)議(TCP)進(jìn)行Modbus應(yīng)用協(xié)議的數(shù)據(jù)傳輸,使用封裝的方法將Modbus參數(shù)和數(shù)據(jù)嵌入到TCP數(shù)據(jù)包中。TCP/IP協(xié)議和以太網(wǎng)的鏈路層校驗(yàn)機(jī)制可保證數(shù)據(jù)包傳遞的正確性,TCP/Modbus報(bào)文中不再存在CRC-16或LRC校驗(yàn)域,但添加一個(gè)Modbus應(yīng)用幀頭(MBAP),它對(duì)Modbus的參數(shù)及功能進(jìn)行解釋[3,4]。

一幀以太網(wǎng)數(shù)據(jù)包的大小是64~1 518 B,而TCP/Modbus協(xié)議所占用數(shù)據(jù)包的最大尺寸小于300 B。所以每一個(gè)客戶(hù)機(jī)請(qǐng)求數(shù)據(jù)和數(shù)據(jù)服務(wù)器回應(yīng)的數(shù)據(jù)均用一個(gè)以太網(wǎng)幀即可實(shí)現(xiàn),而不用考慮正常TCP數(shù)據(jù)分組的拆分?jǐn)?shù)據(jù)、分批傳輸及數(shù)據(jù)的完整性問(wèn)題[5,6]。采集器和客戶(hù)機(jī)的通信是通過(guò)TCP/Modbus協(xié)議在Internet網(wǎng)絡(luò)上進(jìn)行傳輸,整個(gè)網(wǎng)絡(luò)通信采用面向多連接方式,系統(tǒng)原理如圖1所示。

圖1 信號(hào)采集器與客戶(hù)機(jī)通信原理圖

2 精簡(jiǎn)TCP/IP協(xié)議設(shè)計(jì)

通過(guò)對(duì)TCP/IP協(xié)議分析發(fā)現(xiàn),在網(wǎng)絡(luò)數(shù)據(jù)傳輸過(guò)程中,客戶(hù)機(jī)向采集器所發(fā)送的以太網(wǎng)數(shù)據(jù)幀中包含MAC地址、IP地址、端口號(hào)、標(biāo)志位、序列號(hào)等信息[7]。根據(jù)這些信息,經(jīng)過(guò)計(jì)算整理后,采集器可以產(chǎn)生回應(yīng)數(shù)據(jù)包,不需要保存各客戶(hù)端的狀態(tài)與連接信息,從而保證每一個(gè)數(shù)據(jù)包都能得到正確回應(yīng),這樣就使采集器不再限制客戶(hù)機(jī)的連接數(shù)量。這種數(shù)據(jù)的請(qǐng)求與回應(yīng)體現(xiàn)在TCP 通訊中的三個(gè)過(guò)程:連接的建立、數(shù)據(jù)的傳輸、連接的關(guān)閉。對(duì)于回應(yīng)數(shù)據(jù)包中的MAC地址、IP地址、端口號(hào)這些信息,可以在接收的數(shù)據(jù)包中得到,其他數(shù)據(jù)可通過(guò)接收到的數(shù)據(jù)計(jì)算獲得,其中主要改變的數(shù)據(jù)有:標(biāo)志位、序列號(hào)和確認(rèn)號(hào)等。以下對(duì)客戶(hù)機(jī)和采集器之間通信的三個(gè)過(guò)程中數(shù)據(jù)包的產(chǎn)生進(jìn)行論述。

2.1 第一個(gè)過(guò)程:連接的建立

客戶(hù)端連接請(qǐng)求:客戶(hù)端向服務(wù)器發(fā)送一個(gè)同步數(shù)據(jù)包請(qǐng)求建立連接,該數(shù)據(jù)包中,同步標(biāo)志位被置位,初始序列號(hào)是客戶(hù)端隨機(jī)產(chǎn)生的一個(gè)值,確認(rèn)號(hào)是 0。

服務(wù)器回應(yīng):服務(wù)器收到這個(gè)同步請(qǐng)求數(shù)據(jù)包后,會(huì)對(duì)客戶(hù)端進(jìn)行一個(gè)同步確認(rèn)。這個(gè)數(shù)據(jù)包中,同步標(biāo)志位和確認(rèn)標(biāo)志位被置位,序列號(hào)是服務(wù)器隨機(jī)產(chǎn)生的一個(gè)值,確認(rèn)號(hào)是客戶(hù)端的初始序列號(hào)+1。

客戶(hù)端確認(rèn):客戶(hù)端收到這個(gè)同步確認(rèn)數(shù)據(jù)包后,再對(duì)服務(wù)器進(jìn)行一個(gè)確認(rèn)。該數(shù)據(jù)包中,確認(rèn)標(biāo)志位被置位,序列號(hào)是上一個(gè)同步請(qǐng)求數(shù)據(jù)包中的確認(rèn)號(hào)值,確認(rèn)號(hào)是服務(wù)器的初始序列號(hào)+1。連接建立完成,即“三次握手”完成。

2.2 第二個(gè)過(guò)程:數(shù)據(jù)的傳輸

客戶(hù)端數(shù)據(jù)請(qǐng)求:客戶(hù)端向服務(wù)器發(fā)送一個(gè)帶有TCP/Modbus的數(shù)據(jù)包,該數(shù)據(jù)包中的序列號(hào)和確認(rèn)號(hào)與建立連接第三步的數(shù)據(jù)包中的序列號(hào)和確認(rèn)號(hào)相同。

服務(wù)器數(shù)據(jù)回應(yīng):服務(wù)器收到該數(shù)據(jù)包后,分析數(shù)據(jù)的命令信息,正確后向客戶(hù)機(jī)發(fā)送一個(gè)確認(rèn)數(shù)據(jù)包和回應(yīng)數(shù)據(jù)包,在確認(rèn)數(shù)據(jù)包中,確認(rèn)標(biāo)志位被置位,序列號(hào)是上一個(gè)數(shù)據(jù)包中的確認(rèn)號(hào)值,而確認(rèn)號(hào)為客戶(hù)端發(fā)送的上一個(gè)數(shù)據(jù)包中的序列號(hào)+該數(shù)據(jù)包中所帶數(shù)據(jù)的大小。在回應(yīng)數(shù)據(jù)包中,確認(rèn)標(biāo)志位被置位,序列號(hào)和確認(rèn)號(hào)與確認(rèn)數(shù)據(jù)包中的序列號(hào)和確認(rèn)號(hào)相同。

2.3 第三個(gè)過(guò)程:關(guān)閉連接

關(guān)閉連接過(guò)程分為服務(wù)器請(qǐng)求關(guān)閉和客戶(hù)端請(qǐng)求關(guān)閉,作為信號(hào)采集服務(wù)器不必主動(dòng)關(guān)閉連接。客戶(hù)端關(guān)閉TCP連接請(qǐng)求,即客戶(hù)端數(shù)據(jù)包中結(jié)束標(biāo)志位被置位。服務(wù)器收到客戶(hù)端發(fā)送的終止數(shù)據(jù)包后,將對(duì)客戶(hù)端發(fā)送確認(rèn)信息,以關(guān)閉該方向上的 TCP 連接。這時(shí)在數(shù)據(jù)包中,同步標(biāo)志位和確認(rèn)標(biāo)志位被置位,序列號(hào)為接收數(shù)據(jù)包中的確認(rèn)號(hào)值,而確認(rèn)號(hào)為接收數(shù)據(jù)包中的序列號(hào)+1。

通過(guò)以上對(duì)TCP/IP協(xié)議的精簡(jiǎn),可以通過(guò)編程來(lái)實(shí)現(xiàn)服務(wù)器與客戶(hù)端的通信過(guò)程,且對(duì)客戶(hù)機(jī)的數(shù)量沒(méi)有限制。

3 信號(hào)采集器硬件組成

為了增強(qiáng)采集器的功能并減小硬件設(shè)計(jì)復(fù)雜程度,降低成本,CPU選用片上資源豐富的高速 SoC C8051F020 單片機(jī)。該款單片機(jī)的主要資源有:8個(gè)12位SARADC;8位ADC,可編程轉(zhuǎn)換速率最大500 KSPS;兩個(gè)12位DAC,可以同步輸出,用于產(chǎn)生無(wú)抖動(dòng)波形;電壓基準(zhǔn);4 KB RAM;64 KB FLASH存儲(chǔ)器;兩個(gè)UART串口;硬件SMBus。信號(hào)采集器硬件原理框圖如圖2所示。

存儲(chǔ)器選用24LC04,主要用于存放IP地址、MAC地址、采樣周期、有關(guān)硬件設(shè)置信息及數(shù)據(jù)處理所設(shè)定的參數(shù)等。為擴(kuò)展C8051F020的內(nèi)存,采用IS62LV2568數(shù)據(jù)存儲(chǔ)器,存儲(chǔ)空間為256 KB;以太網(wǎng)控制器采用新型獨(dú)立控制芯片CP2200,它符合IEEE 802.3協(xié)議,內(nèi)置10 Mb/s以太網(wǎng)物理層器件PHY及媒介接入控制器MAC;以太網(wǎng)接口器件采用PRJ系列的PRJ-010型變壓器[8];RS 232接口芯片選用智能的RS 232收發(fā)器SP3223;RS 485接口芯片選用SP3485;日歷時(shí)鐘芯片采用工業(yè)級(jí)S-3539A;信號(hào)處理電路由阻容濾波電路、精密電阻、差分運(yùn)放組成,將外部輸入差分信號(hào)(4~20 mA)轉(zhuǎn)換成符合CPU內(nèi)A/D轉(zhuǎn)換器所要求的范圍內(nèi)。電源電路主要有降壓型開(kāi)關(guān)穩(wěn)壓器LM2576-5和AS1117/3.3組成,為整個(gè)硬件系統(tǒng)提供5 V和3.3 V直流電壓[9]。

圖2 信號(hào)采集器硬件原理框圖

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

信號(hào)采集器可通過(guò)以太網(wǎng)接口、RS 232接口和RS 485接口與客戶(hù)機(jī)或其他智能設(shè)備相通信。當(dāng)采用RS 232接口和RS 485接口連接其他智能設(shè)備時(shí),可為其編寫(xiě)相應(yīng)的服務(wù)和配置程序進(jìn)行數(shù)據(jù)采集。模擬信號(hào)進(jìn)行數(shù)字采集處理電路處理后,接入單片機(jī)內(nèi)部集成的A/D轉(zhuǎn)換模塊進(jìn)行數(shù)據(jù)采集。采集到的全部數(shù)據(jù)統(tǒng)一存儲(chǔ)到預(yù)先分配好的內(nèi)存中,為采集器與客戶(hù)機(jī)之間通信提供源數(shù)據(jù)[10]。本文主要介紹采集器與客戶(hù)機(jī)之間進(jìn)行TCP/Modbus協(xié)議通信的實(shí)現(xiàn)過(guò)程,即對(duì)客戶(hù)機(jī)所發(fā)送的以太網(wǎng)幀做出正確回應(yīng)。軟件流程圖如圖3所示。

圖3 軟件流程圖

根據(jù)對(duì)TCP/Modbus協(xié)議分析,采集器只需對(duì)三種以太網(wǎng)數(shù)據(jù)包產(chǎn)生回應(yīng),即可實(shí)現(xiàn)與客戶(hù)機(jī)的通信過(guò)程:連接請(qǐng)求的回應(yīng);數(shù)據(jù)請(qǐng)求的回應(yīng);關(guān)閉連接請(qǐng)求的回應(yīng)。現(xiàn)就關(guān)鍵代碼進(jìn)行分析:Handle_ethPCK()函數(shù)對(duì)全部以太網(wǎng)數(shù)據(jù)包進(jìn)行處理,并對(duì)正確的數(shù)據(jù)包進(jìn)行回應(yīng),此函數(shù)包含TCP協(xié)議通訊的三個(gè)過(guò)程。

void FillPCK(INT8U xdata * outbuf);

//填充以太網(wǎng)數(shù)據(jù)包的公共數(shù)據(jù)信息

void Handle_ethPCK(INT8U xdata * inbuf,INT16U len)//處理以太網(wǎng)封包

{……

if (cksum(inbuf+14,header_len) != 0xFFFF) return;//校驗(yàn)IP包頭

if (header_len > 20)

{

memmove(inbuf+34,inbuf+14+header_len,payload_len);//整合IP包,除去多余數(shù)據(jù)

header_len=20;

I_ip->ver_len=0x45;

I_ip->total_length=20+payload_len;

}

if(I_ip->protocol_id!=TCP_TYPE) return;

sum=(ULONG)cksum(inbuf+26,8+payload_len);//校驗(yàn)TCP封包

sum+= (ULONG)0x0006;

sum+= (ULONG)len;

result=(UINT)(sum+(sum>>16));

if (result != 0xFFFF)return;

if (I_tcp->dest_port != 502)return;//TCP端口號(hào)為502

if ((I_tcp->flags FLG_SYN) ((I_tcp->flags FLG_ACK)==0))//建立連接請(qǐng)求的回應(yīng)

{

O_len=62;

outbuf=(UCHAR xdata *)malloc(O_len);

memcpy(outbuf+54,opt,8);

O_eth=(ETH_HEADER xdata *)outbuf;

O_tcp=(TCP_HEADER xdata *)(outbuf+34);

O_ip=(IP_HEADER xdata *)(outbuf+14);

O_tcp->sequence=I_tcp->ack_number+100;

O_tcp->ack_number=I_tcp->sequence+1;

O_tcp->flags=(28<<10) | FLG_SYN | FLG_ACK;

FillPCK(outbuf);//填充公共的數(shù)據(jù)信息

eth_send(outbuf,O_len);//發(fā)送以太網(wǎng)封包

return;

}

header_len = (I_tcp->flags 0xF000)>>10;

data_len=len - header_len;

if (I_tcp->flags FLG_FIN)//關(guān)閉連接請(qǐng)求回應(yīng)

{

O_len=54;

outbuf=(UCHAR xdata*)malloc(O_len);

O_eth=(ETH_HEADER xdata*)outbuf;

O_tcp=(TCP_HEADER xdata*)(outbuf+34);

O_ip=(IP_HEADER xdata*)(outbuf+14);

O_tcp->ack_number=tcp->sequence+data_len+1;

O_tcp->flags=(20<<10) | FLG_FIN | FLG_ACK;

FillPCK(outbuf);

eth_send(outbuf,O_len);

return;

}

header_len=(I_tcp->flags 0xF000)>>10;

data_len=len-header_len;

if (data_len !=0)//發(fā)送數(shù)據(jù)請(qǐng)求的回應(yīng)

{

data_pos=34+header_len;//Modbus數(shù)據(jù)包位置

if (! CheckMbPck(inbuf+data_pos)) return;//檢查Modbus數(shù)據(jù)請(qǐng)求包是否正確

MB_Addr=(*(inbuf+header_pos+8))*256+(*(inbuf+header_pos+9));

//Modbus數(shù)據(jù)請(qǐng)求的起始寄存器號(hào)

If (MB_Addr!=m_Addr) return;//判斷MB_Addr是否是本地地址

MB_len=(*(inbuf+header_pos+10))*256+(*(inbuf+header_pos+11));//MODBUS數(shù)據(jù)請(qǐng)求數(shù)量

O_len=54+2*MB_len;

outbuf=(UCHAR xdata *)malloc(O_len);

O_eth=(ETH_HEADER xdata *)outbuf;

O_tcp=(TCP_HEADER xdata *)(outbuf+34);

O_ip=(IP_HEADER xdata *)(outbuf+14);

O_tcp->ack_number=I_tcp->sequence+data_len;//發(fā)送數(shù)據(jù)包的確認(rèn)號(hào)

O_tcp->sequence=I_tcp->ack_number;//發(fā)送數(shù)據(jù)包的序列號(hào)

O_tcp->flags=(28<<10) | FLG_ACK;

O_len=54;

FillPCK(outbuf);//填充公共的數(shù)據(jù)信息

eth_send(outbuf,O_len);//發(fā)送以太網(wǎng)封包

O_len=54+2*MB_len+3+6;

*(outbuf+54+6)=2*MB_len+3;

memcpy(outbuf+60,inbuf+data_pos+6,2);//填充Modbus數(shù)據(jù)頭

*(outbuf+62)=2*MB_len;//填充Modbus數(shù)據(jù)長(zhǎng)度

memcpy(outbuf+63,MB_data,2*MB_len);//填充Modbus數(shù)據(jù)體

O_tcp->sequence=I_tcp->ack_number;

tcp->flags=0x5000 | FLG_ACK | FLG_PSH;

FillPCK(outbuf);//填充公共的數(shù)據(jù)信息

eth_send(outbuf,O_len);//發(fā)送以太網(wǎng)封包

return;

}

}

5 結(jié) 語(yǔ)

采用精簡(jiǎn)TCP/Modbus協(xié)議的信號(hào)采集器通過(guò)20臺(tái)客戶(hù)機(jī)測(cè)試,每臺(tái)客戶(hù)機(jī)每50 ms發(fā)送一次數(shù)據(jù)請(qǐng)求,客戶(hù)機(jī)的全部請(qǐng)求均能得到正確響應(yīng),沒(méi)有發(fā)現(xiàn)數(shù)據(jù)包丟失,實(shí)現(xiàn)了采集器和客戶(hù)機(jī)之間無(wú)差錯(cuò)的遠(yuǎn)程以太網(wǎng)通信。本文設(shè)計(jì)的信號(hào)采集器性?xún)r(jià)比高,實(shí)施成本低,該設(shè)計(jì)方法目前已成功應(yīng)用于大慶某電廠的數(shù)據(jù)采集服務(wù)器中。本設(shè)計(jì)方法通過(guò)以太網(wǎng)通訊,傳輸距離遠(yuǎn),可在Internet涉及到的任何地方實(shí)現(xiàn)遠(yuǎn)程監(jiān)控功能;可利用現(xiàn)有網(wǎng)絡(luò)設(shè)施,通用性強(qiáng);可以將此設(shè)計(jì)方法應(yīng)用于各種需要網(wǎng)絡(luò)監(jiān)控功能的電器設(shè)備中。

參考文獻(xiàn)

[1]潘洪躍.基于Modbus協(xié)議通信的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)量技術(shù),2002(4):35-36.

[2]徐濤,閆科.基于Modbus協(xié)議的串行接口實(shí)現(xiàn)與DCS通信[J].工業(yè)控制計(jì)算機(jī),2002,15(3):56-57.

[3]姜斌.基于Modbus/TCP工業(yè)以太網(wǎng)協(xié)議的溫度采集網(wǎng)絡(luò)設(shè)計(jì)[D].大連:大連海事學(xué)院,2007.

[4]蔣近,毛六平,戴瑜興.基于Modbus和TCP/IP協(xié)議的遠(yuǎn)程網(wǎng)絡(luò)通信[J].低壓電器,2005(1):43-46.

[5]段寧華.網(wǎng)絡(luò)基礎(chǔ)與應(yīng)用實(shí)務(wù)教程[M].北京:清華大學(xué)出版社,2006.

[6]劉衍珩,康輝,魏達(dá),等.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:科學(xué)出版社,2007.

[7]STEVENS R W. TCP/IP Illustrated Volume I: The Protocols [M]. Beijing: China Machine Press, 2000: 24-98.

[8]童長(zhǎng)飛.C8051F系列單片機(jī)開(kāi)發(fā)與C語(yǔ)言編程[M].北京:北京航空航天大學(xué)出版社,2005.

[9]胡偉,季曉衡.單片機(jī)C程序設(shè)計(jì)及應(yīng)用實(shí)例[M].北京:人民郵電出版社,2003.

[10]潘琢金,孫德龍,夏秀峰.C8051F單片機(jī)應(yīng)用解析[M].北京:北京航空航天大學(xué)出版社,2002.

主站蜘蛛池模板: 日韩A∨精品日韩精品无码| 国产精品香蕉在线| 无码人妻免费| 99视频全部免费| 精品视频一区在线观看| 无码福利视频| 欧美一区精品| 亚洲精品无码久久久久苍井空| 久久久久青草大香线综合精品| 亚洲综合片| 午夜国产精品视频黄| 日本国产一区在线观看| 午夜精品一区二区蜜桃| 欧美在线国产| 日韩一级毛一欧美一国产| 亚洲欧洲免费视频| av免费在线观看美女叉开腿| 国产黄色片在线看| 国产成人综合日韩精品无码首页| 香蕉网久久| 国产尤物在线播放| 色亚洲激情综合精品无码视频| 国产地址二永久伊甸园| 素人激情视频福利| 久久这里只有精品免费| 亚洲精品福利视频| 美女国产在线| 欧美国产成人在线| 久久成人国产精品免费软件| 国产精品一区在线麻豆| 国产免费羞羞视频| 国产一区成人| 制服丝袜国产精品| 久久人体视频| 精品综合久久久久久97超人该| 国产正在播放| 伊人色天堂| 在线人成精品免费视频| 人人澡人人爽欧美一区| 亚洲无线国产观看| 欧美成a人片在线观看| 国产成人综合日韩精品无码不卡| 91年精品国产福利线观看久久| 国产Av无码精品色午夜| 91无码人妻精品一区| 天天躁夜夜躁狠狠躁图片| 欧美影院久久| 亚洲一欧洲中文字幕在线| 亚洲国产成人久久精品软件| 国产国产人成免费视频77777| 亚洲精品麻豆| 欧美成人aⅴ| 精品人妻系列无码专区久久| 亚洲天堂久久| 亚洲日产2021三区在线| 色妞www精品视频一级下载| 亚洲成人一区二区| 欧美色综合网站| 久草视频福利在线观看| 色噜噜狠狠狠综合曰曰曰| 动漫精品中文字幕无码| 国产微拍一区二区三区四区| 午夜综合网| 老色鬼久久亚洲AV综合| 亚洲伦理一区二区| 无码AV高清毛片中国一级毛片| 亚洲视频色图| 久久情精品国产品免费| 国产性生交xxxxx免费| 国产欧美视频综合二区| 2021精品国产自在现线看| 干中文字幕| 国产成人精彩在线视频50| 久久99国产综合精品1| 国产成人福利在线视老湿机| 99久久精品国产综合婷婷| 老司国产精品视频91| 午夜精品国产自在| 久久国产亚洲欧美日韩精品| 99久久精品免费看国产免费软件 | 国产亚洲精品97AA片在线播放| 亚洲不卡网|