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

基于優先級排隊算法的改進型串口服務器設計

2016-08-15 01:29:55呂佩國家知識產權局專利局專利審查協作廣東中心廣東廣州510530
工業技術創新 2016年3期
關鍵詞:嵌入式單片機

呂佩(國家知識產權局專利局專利審查協作廣東中心,廣東廣州,510530)

?

基于優先級排隊算法的改進型串口服務器設計

呂佩
(國家知識產權局專利局專利審查協作廣東中心,廣東廣州,510530)

針對目前市場上的串口服務器都是單串口對單網口的結構,提出了一種多串口對單網口的接口服務器改進方案。以嵌入式單片機S3C6410和以太網卡DM9000搭建硬件平臺,充分利用單片機的多個UART、嵌入式操作系統的多線程和多隊列緩沖將接收到的多個串口數據排隊,最后利用優先級排隊算法進行數據處理。通過使用改進型串口服務器進行組網實驗,表明利用優先級排隊算法的方案具有可行性,單個的改進型串口服務器具備多個傳統串口服務器的組網能力。

改進型串口服務器;UART;嵌入式系統;優先級排隊算法

引言

在目前的工業自動化控制應用中,越來越多的企業實現了生產過程的聯網監控,信息化與工業化深度融合水平不斷提高。網絡上,設備之間數據通信基本上都是采用異步串行通信接口RS-232、RS-422、RS-485等,且通過相關通信協議將多個設備連接成底層傳輸與控制網絡,但是網絡的覆蓋面積很小[1]。為使這些設備具備遠程傳輸、擴大底層網絡的覆蓋面積,需要應用串口服務器(Serial Device Server,簡稱SDS)。串口服務器可以實現串行數據與以太網數據的相互轉換,從而將串行設備控制網絡與信息網絡連接起來。SDS可以把分散的串行設備、主機等通過網絡集中管理,可以很大程度地降低系統復雜性和提高系統的可擴展性[2]。目前市場上現有的各種SDS都是單串口對單網口的構造,如果要支持多總線,則必須使用多個單總線型SDS或者使用帶有多串口、多網口的多總線型SDS。這樣帶來的問題是:成本增加、系統設計復雜、設備資源利用率不高,故此本文提出一種基于優先級排隊算法的改進型串口服務器(Modified Serial Device Server,簡稱MSDS)。

1 串口服務器的改進方案

串口服務器將分散的串口設備通過局域網或互聯網集中管理,增強了系統的可擴展性和降低了系統的維護難度,只需每條總線連接到對應的串口服務器,控制系統只需圍繞SPS進行開發,可以有效減少工作量。

本文設計的改進型串口服務器采用嵌入式單片機S3C6410和以太網卡DM9000搭建硬件平臺,充分利用單片機的多個UART、嵌入式操作系統的多線程和多隊列緩沖將接收到的多個串口數據排隊,使用優先級排隊算法進行數據處理。下面以實現RS232數據與以太網數據之間的轉換為例,三串口到單網口的MSDS的工作原理如圖1所示:RS232_1~RS232_3對應MSDS的三個串口,UART_1~ UART_3對應嵌入式單片機的三個異步收發器,TransverterThrea_1~TransverterThrea_3對應MSDS的三個是串口數據與以太網數據的轉換線程,FIFO_Receive是串口端到以太網端的接收隊列,FIFO_Send是以太網端到串口端的發送隊列。Ethenet表示以太網單網口。如果嵌入單片機的UART支持RS485通訊方式,用該方案同樣可以實現RS485總線數據與以太網數據的轉換,區別在于串口端接口和設備驅動不同。

圖1 MSDS工作原理

M S D S軟件結構如圖2所示,運行協議轉換用戶程序后產生線程TransverterThread1~TransverterThread3,這三個線程根據數據流向通過系統調用接口分別調用對應的設備驅動,如以太網轉串口驅動和串口轉以太網驅動,這兩個驅動編寫后可以直接編譯到內核或通過命令安裝的方式添加到內核。TransverterThread線程的產生的數量與MSDS設計的規模有關,由于本文改進方案使用三條串行總線,所以產生3條TransverterThread線程。

圖2 MSDS軟件結構

2 基于優先級排隊算法的數據處理

由于MSDS是多串口對單網口的結構,存在共享資源,需通過合理的調度,才能使MSDS正常地接收和發送數據[3]。考慮使用串口服務器組網的底層設備大多用在工業生產、安防等的重要場合,而一些對于生產安全和主要指標的參數,必須優先送達控制中心[5],從這個角度本文選擇基于優先級排隊算法處理底層設備到以太網之間數據的流通。

優先級排隊算法(簡稱PQ算法)是按照優先規則為隊列服務的,規定從具有最高優先級的非空隊列的頭部選擇包[6]。為了保證關鍵業務運行,在擁塞發生時,優先處理關鍵業務。預先根據網絡協議、數據流入口、源地址/目的地址等制定好控制策略,PQ算法處理數據隊列的優先順序就可以確定[7]。將隊列按優先級高低分為四級,而在優先級缺省的情況下數據流入正常隊列。

PQ算法的原理如圖3所示,其中:1高優先級數據,在調度分類時進入了高優先級隊列,依此類推,2、3、4號分組在調度時分別進入為中優先級隊列、正常優先級隊列以及低優先級隊列。遵循先進先出(FIFO)原則,由高到低依次處理四個優先級隊列的數據[8]。

圖3 PQ算法原理圖

3 方案的實施

為驗證串口服務器改進方案的可行性,使用現成的嵌入式開發板進行二次開發的方式實現MSDS,而無須從頭到尾設計硬件電路。采用的嵌入式開發板是國嵌QK6410,其處理器是三星公司32位RISC處理器S3C6410,有4個UART和1個網口,所以該開發板可二次開發為3串口對單網口的MSDS,如圖4所示,只需使用QK6410核心板、DM9000以太網卡和三個串口就足以滿足MSDS的硬件需要。

圖4 使用QK6410核心板擴展串口的MSDS

國嵌QK6410開發板支持ARM-Linux2.6操作系統,Linux2.6內核支持多線程和具有豐富的網絡協議棧。使用國嵌提供的Linux2.6內核可直接燒寫到QK6410的Flash中,而且該內核提供了串口驅動和DM9000以太網卡驅動。MSDS軟件的開發流程為:

(1)配置和編譯ARM_linux 2.6內核,配置和編譯過程中,取消不需要的驅動;

(2)構建應用于ARM-linux的根文件系統;

(3)將啟動引導程序Uboot移植到的MSDS板子上;

(4)在linux主機上開啟tftp和nfs服務,利用tftp服務可將ARM-linux內核映下載到MSDS板的內存中,ARM-linux的根文件系統通過NFS服務掛載到linux主機,使開發過程得到了簡化;

(5)編寫以太網轉RS232和RS232轉以太網的設備驅動程序,以加載的方式,把它們放到ARM-linux內核中;

(6)編寫協議轉換應用程序,通過系統調用接口調用驅動程序。

從以上的開發流程可以看出:編寫以太網轉RS232和RS232轉以太網驅動程序和協議轉換應用程序是實現MSDS軟件功能的主要步驟。因為國嵌提供的Linux2.6內核已經實現了串口驅動和DM9000以太網卡驅動,所以實現以太網轉RS232 和RS232轉以太網驅動程序相對簡單,定義設備操作時只需結合串口驅動和DM9000以太網卡驅動,如圖5所示。自定義Dev結構體可作為串口數據與以太網數據轉換時過渡數據,其結構如表1所示。

圖5 接口轉換驅動

表1 Dev結構體

對于用戶,直接接觸到的是協議轉換用戶程序,在該程序中,首先初始化MSDS的運行參數,然后建立線程TransverterThread1~TransverterThread3,在TransverterThread線程中主要通過調用接口轉換驅動實現了串口和網口數據首發的功能,其中收發的數據根據數據傳輸方向分別放入Dev結構體隊列FIFO_Receive和FIFO_Send中。TransverterThread線程的工作原理如圖6所示。

圖6 TransverterThread線程的工作原理

4 組網對比實驗與分析

S3C6410有4個UART,利用其中三個配置成MSDS的三個RS232通信接口,設計成三串口對單網口的MSDS。使用三塊51單片機開發板(設備A、B、C),作為下位機設備,實驗組網如圖7所示。通過組網對比發現,單MSDS模式的網絡連接明顯比多SDS模式要簡潔,系統的可維護加強。單MSDS模式,開發工作只需圍繞一個MSDS展開,極大地減小了設計的工作量;而多SDS模式,要同時設計多個SDS的收發過程。

每塊設備以9600的波特率分別經3個SDS和1 個MSDS向上位機傳送1MB的數據。以輪尋的方式每次發送一個字節,每個設備都輪尋1024次,所以上位機能接收到1024*3個字節。MSDS的組網性能可通過數據傳輸的流量曲線進行分析,兩種模式下數據傳輸流量的對比如圖8所示。

圖7 組網實驗

圖7 組網流量對比

兩種模式下傳輸1024*3個字節的數據,所用的時間相近,而且兩條曲線有非常高的擬合度,說明基于優先級排隊算法在數據傳輸過程中發揮了作用。單MSDS模式在傳輸的過程中,流量總會稍微落后于多SDS模式,這是要是受限于硬件和線程處理速度,但能在節約成本的前提下能滿足傳輸需求。

5 結束語

通過組網對比實驗發現改進型串口服務器處理傳輸數據的速率非常接近傳統的串口服務器的處理傳輸速率,單個的改進型串口服務器的具有多個傳統的串口服務器的組網能力。在實驗結果中還可以看出優先級排隊算法在數據處理傳送環節發揮了作用,在軟件上彌補了硬件的不足。單MSDS模式設計的工作量顯著減小。以嵌入式單片機S3C6410和以太網卡DM9000搭建硬件平臺,充分利用單片機的多個UART、嵌入式操作系統的多線程和多隊列緩沖將接收到的多個串口數據排隊,利用優先級排隊算法進行數據處理的串口服務器改進方案,可以有效的降低成本、簡化系統設計、提高設備資源利用率。

[1]周超. 基于Cortex-M3的以太網串口服務器的設計與實現[D].武漢理工大學, 2012.

[2]范永剛, 劉紹方, 董晶,等. 基于ARM的高性能串口服務器的研究與實現[J]. 計算機工程與設計, 2012, 33(4):1378-1384.

[3]李毅. 嵌入式串口服務器的設計與實現[D]. 北京交通大學,2012.

[4]閭軍, 成愛國. 一種低成本串口服務器的設計[J]. 電子設計工程, 2014(14):190-192.

[5]王海勇. 基于ARM9的嵌入式多串口服務器設計[J]. 化工自動化及儀表, 2013, 40(3):372-376.

[6]羅寧, 劉峰. 基于優先級隊列的多約束無線鏈路資源調度算法[J]. 指揮控制與仿真, 2012(6):55-59.

[7]范珊珊, 李石君. 基于優先級隊列的分布式多主題爬蟲[J]. 計算機工程與設計, 2015(6):1630-1636.

[8]蔣溢, 聶路雨. 基于動態權值優先級隊列的移動消息推送策略[J]. 計算機工程與設計, 2013, 34(10):3520-3524.

呂佩(1986-),女,湖北黃岡,工學碩士,實習研究員。

E-mail: zhangzhao281@126.com

Design of Modified Serial Device Server Based on the PQ Algorithm

Pei Lv
(Patent Examination Cooperation Center of the Patent Office, SIPO, GuangZhou, GuangDong, 510530, China)

The structure of the serial device server is a single-serial port to a single-network-port on the market at present, considering this point a improvement project of the serial device server is proposed in this paper which is a kind of multiple-serial port to a single-network-port. We use the embedded microcontroller S3C6410 and Ethernet card DM9000 building hardware platform, take full advantage of the multiple UART of microcontroller, the multithreading of embedded operating system and multiple queue buffer to line the received data of serial, and use priority queuing algorithm for data processing finally. By using modified serial device server for network experiments, it suggests that the project using the priority queue algorithm is feasible. A modified Serial device Server has the networking ability as same as multiple the traditional serial device server.

Modified Serial Device Server; UART; Embedded System; PQ Algorithm

TP303

A

2095-8412 (2016) 03-422-05

工業技術創新 URL: http//www.china-iti.com 10.14103/j.issn.2095-8412.2016.03.025

猜你喜歡
嵌入式單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
搭建基于Qt的嵌入式開發平臺
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Microchip推出兩個全新PIC單片機系列
主站蜘蛛池模板: 一区二区影院| 一区二区影院| 亚洲综合色在线| 91成人在线观看| 992Tv视频国产精品| 2020国产精品视频| 亚洲激情区| 国产毛片基地| 天天综合色天天综合网| 波多野结衣视频网站| 一本一道波多野结衣一区二区| 国产成人亚洲无码淙合青草| 久久青草免费91观看| 亚洲香蕉久久| 国产在线视频欧美亚综合| 亚洲一级毛片在线观| 成人国产精品网站在线看| 538精品在线观看| 亚洲国产成人久久精品软件| 日本午夜精品一本在线观看| 亚洲AV色香蕉一区二区| 黄色福利在线| 欧美成人手机在线视频| 精品偷拍一区二区| 色综合成人| 成人小视频网| 成年人国产网站| 日本道中文字幕久久一区| 婷婷色中文| 久草国产在线观看| 亚洲第一色网站| 亚洲天堂网在线视频| 亚洲综合第一区| 亚洲无码在线午夜电影| 久久国产精品夜色| 精品视频第一页| 日韩黄色精品| 中国国产一级毛片| 亚洲国产日韩在线观看| 国产精品久久自在自线观看| 天堂成人在线视频| 日本欧美视频在线观看| 国产不卡国语在线| 国产午夜无码专区喷水| 国产免费久久精品99re丫丫一| 性欧美久久| 国产后式a一视频| 71pao成人国产永久免费视频| 国产在线视频二区| 日韩免费毛片| 成人自拍视频在线观看| 亚洲欧美成人影院| 色天天综合| 国内精自视频品线一二区| 亚洲国产成人久久精品软件 | 欧美精品高清| 成人综合在线观看| 色天堂无毒不卡| www成人国产在线观看网站| 亚洲成年人网| 久久久久中文字幕精品视频| 手机精品福利在线观看| 欧美一区精品| 国产精品免费久久久久影院无码| 欧美国产日韩另类| 波多野结衣一区二区三区AV| 日韩精品免费在线视频| 国产精品性| 中文一级毛片| 伊人色天堂| 亚洲人精品亚洲人成在线| 日本精品影院| 97无码免费人妻超级碰碰碰| 久久特级毛片| 精品国产www| 91精品啪在线观看国产60岁 | 成人伊人色一区二区三区| 狠狠亚洲五月天| 99久久国产综合精品2020| 国产97区一区二区三区无码| 最新国产精品第1页| 久久黄色小视频|