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

        ?

        一種串口通訊新模型的研究和應(yīng)用分析

        2014-04-29 00:00:00管來(lái)奇
        數(shù)字化用戶(hù) 2014年9期

        【摘 要】本文通過(guò)借鑒I/O完成端口模型的核心思想,建立了一種新型的串口通訊模型。這種模型提出“通訊元”作為協(xié)議性串口通訊的最小單位,將“通訊元”提交到事件隊(duì)列線(xiàn)程中自動(dòng)進(jìn)行處理,不僅可以使處理過(guò)程變得更加簡(jiǎn)單,同時(shí)使運(yùn)行效率得到大大提升。除此之外,本文在這種模型的基礎(chǔ)上,設(shè)計(jì)了一個(gè)協(xié)議性串口通訊模塊,可以將通訊底層的細(xì)節(jié)封裝起來(lái),提供更加方便快捷的通訊接口。

        【關(guān)鍵詞】串口通訊;通訊元;新模型,應(yīng)用

        由于各種服務(wù)器的應(yīng)用,經(jīng)常會(huì)面對(duì)大量的數(shù)據(jù)通信及客戶(hù)端連接請(qǐng)求,使得服務(wù)器無(wú)法正常地進(jìn)行工作。這些與服務(wù)器的數(shù)據(jù)傳輸有著相同的特點(diǎn):每個(gè)連接上收發(fā)的數(shù)據(jù)包容量非常小,但客戶(hù)連接量非常大。微軟公司在Winsock2中引入的完成端口模型,具有最高的數(shù)據(jù)吞吐率和最好的伸縮性,可以處理大量的并發(fā)連接。隨著連接數(shù)的增多及通信錯(cuò)誤率的增加,協(xié)調(diào)和管理眾多線(xiàn)程,是一個(gè)非常復(fù)雜的問(wèn)題。本文建立了一種新型的串口通訊模型,并設(shè)計(jì)了一個(gè)協(xié)議性串口通訊模塊,在工業(yè)造氣爐監(jiān)控組態(tài)軟件設(shè)計(jì)中,該模塊的應(yīng)用具有接口簡(jiǎn)單、運(yùn)行機(jī)制高效穩(wěn)定的特點(diǎn)。

        一 、I/O完成端口的簡(jiǎn)介

        I/O完成端口是一種非常高效的通訊模型,它可以利用少量的工作線(xiàn)程對(duì)大量的異步I/O進(jìn)行處理,使得非I/O處理和I/O處理能夠同時(shí)進(jìn)行,從而滿(mǎn)足大并發(fā)量的管理工作。利用多線(xiàn)程使并行執(zhí)行的效率進(jìn)一步提高及避免線(xiàn)程阻塞是完成端口的最終目標(biāo)。

        通過(guò)多線(xiàn)程的方式對(duì)客戶(hù)端的通信請(qǐng)求進(jìn)行處理,每個(gè)客戶(hù)端要求連接socket時(shí),需要重新啟動(dòng)一個(gè)新的線(xiàn)程與客戶(hù)端進(jìn)行通信。在運(yùn)行的線(xiàn)程之間,CPU不能進(jìn)行上下文的切換工作。主要原因是由于線(xiàn)程切換需要花費(fèi)大量的時(shí)間,并且在客戶(hù)端連接線(xiàn)程較多的情況下,會(huì)大大降低CPU的執(zhí)行效率。微軟這種模型,就是為了解決這類(lèi)問(wèn)題。完成端口模型可以在工作線(xiàn)程較少的情況下,對(duì)大量的socket操作進(jìn)行處理,防止線(xiàn)程切換開(kāi)銷(xiāo),大大提高網(wǎng)絡(luò)通信的性能。

        二、串口通訊新模型

        這種新型的通訊模型是在I/O完成端口模型的核心思想上建立起來(lái)的,它提出將“通訊元”作為協(xié)議性串口通訊的最小單位,“通訊元”主要由接收數(shù)據(jù)處理函數(shù)的綁定、等待接收的命令長(zhǎng)度、發(fā)送的數(shù)據(jù)三個(gè)部分組成?!巴ㄓ嵲毕喈?dāng)于I/O完成接中的消息一樣,會(huì)被提交到事件隊(duì)列線(xiàn)程中進(jìn)行處理。其結(jié)構(gòu)利用了composite設(shè)計(jì)模式核心思想,封裝每次通訊底層的細(xì)節(jié),對(duì)外提供方便快捷的通訊接口。通訊元接口與接收命令對(duì)象、發(fā)送命令對(duì)象、數(shù)據(jù)處理對(duì)象存在聚合關(guān)系。這種新型的設(shè)計(jì)結(jié)構(gòu),不僅可以簡(jiǎn)化通訊的處理過(guò)程,同時(shí)可以更加便捷的為通訊元添加其他相關(guān)的對(duì)象,從而實(shí)現(xiàn)程序的可移植性。

        (一)串口通訊新模型的工作機(jī)制

        當(dāng)程序正式啟動(dòng)之后,首先需要開(kāi)啟通訊元引擎,對(duì)通訊元和串口進(jìn)行初始化設(shè)置。然后又通訊元引擎來(lái)創(chuàng)建超時(shí)處理列隊(duì)、消息處理列隊(duì)、發(fā)送列隊(duì)和接受列隊(duì)。當(dāng)串口發(fā)生通訊操作時(shí),再啟動(dòng)工作者線(xiàn)程,將通訊元進(jìn)入消息列隊(duì)。按照先進(jìn)先出的原則,工作者線(xiàn)程首先提取對(duì)頭的通訊元,然后將空閑的線(xiàn)程從線(xiàn)程池中取出來(lái),在空閑線(xiàn)程中依次對(duì)處理函數(shù)與通訊元是否處于發(fā)送等待狀態(tài)、是否綁定在一起、是否超時(shí)進(jìn)行判斷,同時(shí)相應(yīng)的處理各種狀態(tài),消除無(wú)效的通訊元,按照一定的方式循環(huán)往復(fù)進(jìn)行。

        三、串口通訊新模塊的設(shè)計(jì)

        (一)設(shè)計(jì)流程

        由指定數(shù)目的工作者線(xiàn)程和一個(gè)主線(xiàn)程可以構(gòu)成一個(gè)系統(tǒng)。獲取串口操作、創(chuàng)建工作者線(xiàn)程、創(chuàng)建通訊元隊(duì)列、初始化通信模塊等是主線(xiàn)程需要完成的主要工作。產(chǎn)生通訊元使,需要首先標(biāo)記自身的狀態(tài),主要包括該通訊元是接收信息通訊元或發(fā)送信息通訊元以及下位機(jī)的ID號(hào)。同時(shí),程序還需要對(duì)通訊元

        的數(shù)量居容量的進(jìn)行初始化設(shè)置,將要接收或發(fā)送的數(shù)據(jù)裝入通訊元中。最后對(duì)通訊元的超時(shí)處理方式進(jìn)行標(biāo)記。

        工作者線(xiàn)程的具有實(shí)現(xiàn)異步操作的作用,將通訊元從通訊元隊(duì)列中取出來(lái),對(duì)通訊元是否處于超時(shí)狀態(tài)進(jìn)行判斷,如果不處于超時(shí)的狀態(tài),則對(duì)通訊員的當(dāng)前的狀態(tài)進(jìn)行解析,同時(shí)相應(yīng)的處理各種狀態(tài),消除無(wú)效的通訊元是工作者線(xiàn)程需要完成的主要工作。工作者線(xiàn)程是與多線(xiàn)程并行工作的。程序首先對(duì)線(xiàn)程池中的線(xiàn)程狀態(tài)進(jìn)行掃描,空閑線(xiàn)程將第一個(gè)通訊元從通訊元的隊(duì)列中取出來(lái)進(jìn)行解析,在對(duì)通訊元進(jìn)行解析時(shí),這種通訊元所對(duì)應(yīng)的下位機(jī)信息可以第一時(shí)間被上位機(jī)獲取到,從而確保該通訊元對(duì)應(yīng)的下位機(jī)與上位機(jī)的通信過(guò)程能夠準(zhǔn)確的進(jìn)行。當(dāng)通訊元處于發(fā)送狀態(tài)時(shí),程序會(huì)首先對(duì)串口緩沖區(qū)的狀態(tài)進(jìn)行判斷,當(dāng)緩沖區(qū)為空時(shí),則執(zhí)行該通訊元;當(dāng)通訊元處于接收狀態(tài)時(shí),當(dāng)前的線(xiàn)程會(huì)首先掛起,等待與該通訊元相對(duì)應(yīng)的下機(jī)位發(fā)送信息;當(dāng)通訊元處于處理狀態(tài)時(shí),程序會(huì)為得到通訊元中的數(shù)據(jù)會(huì)調(diào)用解析函數(shù),當(dāng)通訊元被標(biāo)記為無(wú)效時(shí),該通訊元會(huì)被程序刪除(如圖1所示)。

        (二)仿真實(shí)驗(yàn)

        四、結(jié)語(yǔ)

        綜上所述,這種串口通訊新模型是在I/O完成端口模型的核心思想上建立起來(lái)的,它不僅能夠?qū)Χ嗑€(xiàn)程進(jìn)行合理的利用和管理,同時(shí)可以對(duì)多串口通信的線(xiàn)程進(jìn)行有效的管理,使系統(tǒng)的工作效率得到有效地提升,程序的可移植性得到大大加強(qiáng)。在工業(yè)造氣爐監(jiān)控組態(tài)軟件設(shè)計(jì)中,采用了該模型,經(jīng)過(guò)實(shí)踐表明,該模型的應(yīng)用具有接口簡(jiǎn)單、運(yùn)行機(jī)制高效穩(wěn)定的特點(diǎn)。

        參考文獻(xiàn):

        [1]李曉月.基于IOCP機(jī)制的CSCW網(wǎng)絡(luò)通信層設(shè)計(jì)[J].河南機(jī)電高等專(zhuān)科學(xué)校學(xué)報(bào), 2014,22(02):19-21.

        [2]張九宴.VC多線(xiàn)程串口通訊編程技術(shù)在GPS導(dǎo)航的應(yīng)用介紹[J].全球定位系統(tǒng),2012,23(06):44-46.

        [3]羅琦琨,張慶陵,向明.神經(jīng)電檢診儀上位機(jī)與下位機(jī)的數(shù)據(jù)通信[J].微計(jì)算機(jī)應(yīng)用,2013,66(01):32-35.

        作者簡(jiǎn)介:

        管來(lái)奇(1991--),男,山東青島人,武漢輕工大學(xué)電氣與電子工程學(xué)院電氣工程及其自動(dòng)化專(zhuān)業(yè)2010級(jí)本科生

        新中文字幕一区二区三区| 精品国产性色av网站| 亚洲av网站首页在线观看| 日本最新一区二区三区在线| 性生交片免费无码看人| 国产成人av一区二区三区在线 | 免费在线国产不卡视频| 亚洲国产aⅴ成人精品无吗| 一本一本久久a久久精品综合麻豆| a欧美一级爱看视频| 日本一区二区三区丰满熟女| 人妻少妇精品无码专区| 亚洲色偷拍区另类无码专区| yy111111少妇影院| 日产一区日产2区日产| 国产精品亚洲а∨无码播放不卡 | 久草视频这里有精品| 国产精品三级1区2区3区 | 性做久久久久久久| 亚洲在AV极品无码天堂手机版 | 欧美xxxxx高潮喷水麻豆| 欧美大屁股xxxxhd黑色| 91精品久久久久含羞草| 亚洲av一区二区在线| 久久亚洲欧美国产精品| 亚洲av理论在线电影网| 亚洲国产日韩精品综合| 亚洲综合日韩精品一区二区| 女人被男人躁得好爽免费视频| 粉嫩极品国产在线观看| 国产精品一品二区三区| 日日摸天天碰中文字幕你懂的| 中国精学生妹品射精久久| 日韩精品一区二区三区在线观看的| 国产天堂av在线一二三四| 性一交一乱一伧国产女士spa| 91精品国产91久久久久久青草 | 巨爆中文字幕巨爆区爆乳| 国产欧美日韩久久久久| 成人无码激情视频在线观看| 男人天堂亚洲天堂av|