CN102446144A - 一种串口资源调度方法及装置、系统 - Google Patents
一种串口资源调度方法及装置、系统 Download PDFInfo
- Publication number
- CN102446144A CN102446144A CN2010105041211A CN201010504121A CN102446144A CN 102446144 A CN102446144 A CN 102446144A CN 2010105041211 A CN2010105041211 A CN 2010105041211A CN 201010504121 A CN201010504121 A CN 201010504121A CN 102446144 A CN102446144 A CN 102446144A
- Authority
- CN
- China
- Prior art keywords
- serial port
- application function
- serial
- port resource
- resource
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 113
- 238000004891 communication Methods 0.000 claims abstract description 26
- 238000001514 detection method Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本发明公开了一种串口资源调度方法及装置、系统,以提高串口资源调度的效率。方法包括:串口资源调度单元接收需要串口资源的应用功能模块发送的串口资源请求,所述串口资源调度单元设置在安装有嵌入式智能操作系统的设备中;串口资源调度单元检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应;应用功能模块通过串口资源响应指示的空闲的串口资源与相应的串口设备进行通信。本发明技术方案,采用操作系统中的串口资源调度单元来对请求串口资源的多个应用功能模块进行串口资源调度,从而克服了现有技术通过单片机为个应用功能模块调度串口资源带来的串口资源调度效率低的问题,从而提高了串口资源调度的效率。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种串口资源调度方法及装置、系统。
背景技术
Android操作系统是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统,Android操作系统采用经过Google剪裁和调优的LinuxKernel,基于开源框架,其应用层程序采用Java编程。将Android操作系统应用于Java虚拟机Dalvik中,能够提供比Sun的Java虚拟机Hotspot高的执行性能。
由于Android操作系统是一种嵌入式智能操作系统,其底层框架基于Linux,因此,可考虑通过控制串口设备来实现各种通信功能,如GPS(GlobalPosition System,全球定位系统)、银行卡刷卡、监控等。
Android操作系统控制串口设备,主要包括以下两种控制方式:
方式一、在Android操作系统侧设置有多个与外设的串口设备一一对应的串口,如图1所示,各串口设备分别对应一个串口,每个串口都由Android操作系统控制,该种控制串口设备的方式虽然可以为各应用功能模块提供实时响应,但由于需要在Android操作系统中设置有多个串口,因此,消耗的串口资源较大,并且,由于各串口设备的串口驱动不尽相同,若需要根据不同串口设备对Android操作系统的串口驱动进行扩展,则实现起来比较繁琐。
方式二、如图2所示,在单片机中外设多个串口设备,设置有Android操作系统的设备与单片机通过一个串口相连接,当Android操作系统中的应用功能模块需要与串口设备进行通信时,应用功能模块通过串口向单片机请求与串口设备通信;单片机由于处理数据的能力有限,每次针对一个应用功能模块发送的串口资源请求,采用轮询的方式,依次访问各串口设备,以确定为该应用功能模块所需要进行通信的串口设备。该种串口设备控制方法,虽然解决了方式一存在的技术问题,但是由于单片机处理数据的性能有限,若采用单片机来为各应用功能模块进行串口资源调度则无法针对Android操作系统中并发请求串口资源的多个应用功能模块进行及时响应,从而使得串口资源调度效率较低;另外,各串口设备的指令集不尽相同,随着外设的串口设备的增多,需要在单片机中制定一套复杂的指令协议,因此需要对单片机提出较高的要求,增加硬件成本。
发明内容
本发明提供一种串口资源调度的方法及装置、系统,以提高串口资源调度的效率。
一种串口资源调度系统,包括:
串口资源调度单元,设置在安装有嵌入式智能操作系统的设备中,用于接收需要串口资源的应用功能模块发送的串口资源请求,并在检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应;
单片机,与多个串口设备相连接,并通过串口与所述串口资源调度单元通信,用于接收应用功能模块通过所述串口资源调度单元发送的通信请求,并根据所述通信请求所采用的通信协议,将所述通信请求发送给与所述通信协议相对应的串口设备。
一种串口资源调度方法,包括:
串口资源调度单元,接收需要串口资源的应用功能模块发送的串口资源请求,并在检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应,所述串口资源调度单元设置在安装有嵌入式智能操作系统的设备中;
应用功能模块根据串口资源调度单元发送的串口资源响应,通过所述串口资源响应指示的空闲的串口资源与其需要访问的串口设备进行通信。
一种串口资源调度装置,设置在安装有嵌入式智能操作系统的设备中,包括:
接收单元,用于接收需要串口资源的应用功能模块发送的串口资源请求;
检测单元,用于检测空闲的串口资源;
发送单元,用于在所述检测单元检测到空闲的串口资源时,根据所述接收单元接收的串口资源请求,向发送串口资源请求的应用功能模块发送串口资源响应。
本发明实施例中,通过设置在安装有嵌入式智能操作系统(如Android操作系统)的设备中的串口资源调度单元,向需要串口资源的应用功能模块进行串口资源的调度,充分利用嵌入式智能操作系统的串口资源,克服了现有技术中通过单片机来为需要串口资源的应用功能模块调度串口资源而导致串口资源调度效率较低的问题,由于安装有嵌入式智能操作系统的设备对数据的处理能力大于单片机的数据处理能力,因此,采用安装有嵌入式智能操作系统的设备的串口资源调度单元为各应用功能模块调度串口资源,可以实现对并发请求串口资源的应用功能模块进行及时响应,从而提高了串口资源调度的效率。
附图说明
图1为现有技术中Android操作系统控制串口设备的结构示意图之一;
图2为现有技术中Android操作系统控制串口设备的结构示意图之二;
图3A、图3B为本发明实施例中Android操作系统控制串口设备的结构示意图;
图4为本发明实施例中Android操作系统的串口资源调度单元调度串口资源的方法流程图;
图5为本发明实施例中应用功能模块通过JNI中间件与串口设备进行通信的方法流程图;
图6为本发明实施例中JNI中间件启动微定时器线程的方法流程;
图7为本发明实施例中Android操作系统控制串口设备的方法流程图;
图8为本发明实施例中串口资源调度装置的结构示意图。
具体实施方式
针对现有技术存在的上述技术问题,本发明实施例提供一种串口资源调度方法,该方法包括:在安装有嵌入式智能操作系统(如Android操作系统)的设备中设置串口资源调度单元;串口资源调度单元在接收到需要串口资源的应用功能模块发送的串口资源请求,并在检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应;应用功能模块根据串口资源调度单元发送的串口资源响应,通过所述串口资源响应指示的空闲的串口资源与其需要访问的串口设备进行通信。采用本发明技术方案,通过安装有Android操作系统的设备中的串口资源调度单元(该串口资源调度单元可以通过设备的CPU运行Andriod操作系统中队列处理程序(即service应用功能模块)来实现,其检测安装有Andriod操作系统的设备开机信号,并在检测到安装有Andriod操作系统的设备的开机信号时启动)来向请求串口资源的一个或多个应用功能模块进行串口资源的调度,充分利用Android操作系统的串口资源,克服了现有技术中通过单片机来为请求串口资源的一个或多个应用功能模块调度串口资源而导致串口资源调度效率较低的问题,可以实现对并发请求串口资源的应用功能模块进行及时响应,从而提高了串口资源调度的效率。
本发明技术方案可应用于安装有不同嵌入式智能操作系统的设备中,嵌入式智能操作系统包括Android操作系统、syben操作系统、QT操作系统、meego操作系统等,本发明实施例以安装有Android操作系统的设备为例进行详细的说明。
下面结合说明书附图对本发明技术方案进行详细、清楚的描述。
参见图3A,为本发明实施例中Android操作系统控制串口设备的结构示意图,单片机上外设有多个串口设备,包括串口设备1、串口设备2...、串口设备n;Android操作系统中请求串口资源的应用功能模块包括应用功能模块1、应用功能模块2、...、应用功能模块n,该n个应用功能模块分别与串口资源调度单元进程通信;串口资源调度单元与单片机通过串口通信;Android操作系统中各应用功能模块通过串口资源调度单元与单片机外设的各串口设备进行通信。本发明实施例中串口资源调度单元与单片机可以通过一个串口通信也可以通过多个串口通信,串口的数量可根据应用功能模块的数量和外设串口设备的数量的综合考虑来设置,如图3A所示为串口资源调度单元与单片机通过一个串口通信,图3B所示为串口资源调度单元与单片机通过多个串口通信,图3B中的串口数量k为小于或等于串口设备数量n的自然数。
参见图4,为本发明实施例中安装有Android操作系统的设备的串口资源调度单元调度串口资源的方法流程图,该方法包括:
步骤401、串口资源调度单元接收需要串口资源的应用功能模块发送的串口资源请求。
步骤402、串口资源调度单元检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应。
该串口资源响应中可携带有空闲的串口资源的标识信息。
步骤403、接收到串口资源响应的应用功能模块,通过串口资源响应指示的空闲的串口资源与相应的串口设备进行通信。
较佳地,为提高串口资源的利用率,上述流程还可包括:
步骤404、串口资源调度单元在该应用功能模块与串口设备结束通信后,释放该串口资源。
较佳地,若串口资源调度单元接收到多个需要串口资源的应用功能模块发送的串口资源请求时,上述步骤401还包括,串口资源调度单元在接收到多个应用功能模块发送的串口资源请求时,将各应用功能模块按照优先级从高到低的顺序排队(例如可设置队列,将各应用功能模块按照优先级从高到低的顺序在队列中排队),或者按照各应用功能模块请求串口资源的时间先后顺序排队(例如可设置队列,将各应用功能模块按照请求串口资源的时间先后顺序在队列中排队);相应地,步骤402中,串口资源调度单元在检测到一个或多个空闲的串口资源时,向优先级较高的或发送串口资源请求较早的相应数量的应用功能模块发送串口资源响应。
较佳地,为使优先级高的应用功能模块的请求得到较为及时的响应,本发明实施例中各应用功能模块按照优先级从高到低的顺序在队列中进行排队,如优先级可以10为步进,每递减10优先级升高一级。
较佳地,为保证响应等级较高的应用功能模块的请求得到及时的响应,若串口资源调度单元接收到多个应用功能模块发送的串口资源请求时,上述步骤401进一步包括:串口资源调度单元根据应用功能模块定义的属组和响应等级,将应用功能模块归类到相应响应等级的属组中,如包括响应等级依次降低的G1~G5五个属组;相应地,步骤402中,串口资源调度单元在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中的相应数量的应用功能模块发送串口资源响应。较佳地,为进一步保证高响应等级高优先级的应用功能模块得到较为及时的响应,本发明实施例中,串口资源调度单元将归属于同一响应等级属组的多个应用功能模块按照优先级从高到低的顺序在该属组中进行排队;相应地,步骤402中,串口资源调度单元在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中优先级较高的相应数量的应用功能模块发送串口资源响应。
较佳地,为提高串口资源调度单元检测串口资源是否空闲的效率,本发明实施例中,针对每个串口资源,预先在Andriod操作系统的源代码中添加与各串口资源对应的用于表征该串口资源状态的字段信息,如hw.serial.flag标识,若hw.serial.flag标识的取值为“0”时则表征其对应的串口资源空闲,若hw.serial.flag标识的取值为“-1”时则表征其对应的串口资源忙。串口资源调度单元实时或周期性的检测各串口资源对应的hw.serial.flag标识,并根据hw.serial.flag标识的取值确定串口资源是否空闲。
较佳地,为防止响应等级较低或优先级较低的应用功能模块在较长一段时间内得不到响应而影响Andriod操作系统的正常使用,本发明实施例中,针对每个属组可设置有对应的时间阈值,串口资源调度单元实时检测属组中的各应用功能模块,若检测到某一应用功能模块在属组中等待响应的时间超过该属组对应的时间阈值时,串口资源调度单元在检测到空闲的串口资源时,向该应用功能模块发送串口资源响应。较佳地,属组对应的时间阈值按照响应等级从高到低的顺序依次递增,即响应等级高的属组对应的时间阈值小于响应等级低的属组对应的时间阈值。
较佳地,上述流程步骤403中,应用功能模块通过空闲的串口资源与单片机外设的相应的串口设备进行通信,具体为:应用功能模块调用Andriod操作系统中的JNI(Java Native Interface,Java本地调用;JNI标准成为Java平台的一部分,它允许Java代码与其他语言编写的代码进行交互)中间件,将Java流操作的输出流/输入流(即OutputStream/InputStream)映射到底层程序(可以是底层C程序)对串口设备的读或写操作(即read/write操作),并通过调用和运行底层程序对串口设备进行读或写操作,以实现应用功能模块与串口设备的通信,具体的流程可参见图5。
该步骤中,应用功能模块与单片机进行通信,具体为:应用功能模块通过串口资源向单片机发送指令,该指令遵循该应用功能模块所需要通信的串口设备对应的通信协议;单片机根据通信协议将应用功能模块发送的指令传输给与该通信协议相对应的串口设备。
参见图5,为本发明实施例中应用功能模块通过JNI中间件与串口设备进行通信的方法流程图,该方法包括:
步骤501、应用功能模块调用Andriod操作系统中的JNI中间件。
步骤502、JNI中间件将Java流操作的输出流/输入流(即OutputStream/InputStream)映射到底层对串口设备的读或写操作(即read/write操作)的底层C程序,并调用和运行该底层C程序。
步骤503、底层C程序通过串口资源对单片机外设的相应串口设备进行读或写操作。
较佳地,由于单片机外设的串口设备的种类较多,且不同种类的串口设备的串口数据的长度也不一致,因此,串口资源需要收发不定长的串口数据;应用功能模块调用JNI中间件来实现与串口设备通信时,调用Java数据流操作的InputStream.aviable()函数来预判断InputStream还会传递多少数据,并引入微定时器来确定应用功能模块与串口设备之间的数据交互是否已结束,以确保串口的缓存清空,在确定数据交互结束时向串口资源调度单元发送释放串口资源的通知消息。
微定时器的延迟时间的长度可通过式(1)得到:
式(1)中,td为微定时器的延迟时间的长度,FiFOserial为串口的缓存区的大小,buf为InputStream.aviable()函数最后返回的数据大小,vserial为串口的数据传输速率。
本发明实施例中,JNI中间件启动微定时器线程的方法流程如图6所示,该流程包括:
步骤601、JNI中间件将Java输入流或输出流映射到底层C程序的读或写操作。
步骤602、JNI中间件创建线程,并实时或周期性的监听是否有输入数据,若是则执行步骤603,否则继续监听是否有输入数据。
步骤603、JNI中间件将接收到的输入数据发送至相关的应用功能模块。
步骤604、JNI中间件在接收完输入数据时,启动预设的微定时器,并在到达微定时器的延迟时间时没有数据交互则确定应用功能模块与串口设备通信结束,并向串口资源调度单元发送释放串口资源的通知消息。
上述流程的步骤404中,串口资源调度单元释放串口资源,具体为:串口资源调度单元接收到应用功能模块通过JNI中间件发送的释放串口资源的通知消息时,释放分配给该应用功能模块的串口资源,并将该应用功能模块的相关信息从相应的属组中清空。较佳地,串口资源调度单元在释放串口资源之后,将该串口资源对应的hw.serial.flag标识修改为用于表征串口资源空闲的取值。
根据实际的应用场景,下面以一具体的流程来对本发明Android操作系统控制串口设备进行详细的描述。
参见图7,为本发明实施例中Android操作系统控制串口设备的方法流程图,该方法首先需要在Andriod源码中添加hw.serial.flag标识属性,以表示串口资源是否空闲,该方法包括:
步骤701、应用功能模块向串口资源调度单元发送串口资源请求,并等待串口资源调度单元的响应。
步骤702、串口资源调度单元根据应用功能模块定义的属组和优先级,将应用功能模块在相应的属组中按照优先级从高到低的顺序进行排队。
步骤703、串口资源调度单元检测串口资源对应的hw.serial.flag标识的取值是否为“0”(取值为“0”表征串口资源空闲,可用),若是,则执行步骤704,否则等待。
步骤704、串口资源调度单元向响应等级最高的属组中优先级较高的应用功能模块发送串口资源响应,后续用应用功能模块An来表示该应用功能模块,并将串口资源对应的hw.serial.flag标识设置为“-1”(hw.serial.flag标识为“-1”时表征串口资源忙)。
步骤705、应用功能模块An接收串口资源响应后,调用JNI中间件将Java的输出流/输入流映射到对串口设备的读/写操作底层C程序,调用并运行该底层C程序来对单片机外设的相应的串口设备进行读或写操作。
步骤706、JNI中间件判断应用功能模块An与串口设备通信结束后,向串口资源调度单元发送释放串口资源的通知消息。
步骤707、串口资源调度单元释放串口资源,将应用功能模块An从相应的属组中删除,并将串口资源对应的hw.serial.flag标识设置为“0”。
基于上述方法相同的构思,本发明实施例还提供一种串口资源调度装置,其结构如图8所示,包括:
接收单元81,用于接收需要串口资源的应用功能模块发送的串口资源请求。
检测单元82,用于检测空闲的串口资源。
发送单元83,用于在检测单元82检测到空闲的串口资源时,根据接收单元81接收到的串口资源请求,向发送串口资源请求的应用功能模块发送串口资源响应。
较佳地,接收单元81进一步用于,将发送串口资源请求的应用功能模块按照优先级从高到低的顺序排队;发送单元83具体用于:在检测单元82检测到一个或多个空闲的串口资源时,向优先级较高的相应数量的应用功能模块发送串口资源响应;
或者,
接收单元81进一步用于,将发送串口资源请求的应用功能模块按照发送串口资源请求的时间先后顺序排队;发送单元83具体用于:在检测单元82检测到一个或多个空闲的串口资源时,向较早发送串口资源请求的相应数量的应用功能模块发送串口资源响应。
较佳地,接收单元81进一步用于,将发送串口资源请求的应用功能模块按照响应等级归类于相应响应等级的属组;发送单元83具体用于:在检测单元82检测到一个或多个空闲的串口资源时,向响应等级最高的属组中相应数量的应用功能模块发送串口资源响应。
较佳地,接收单元81进一步用于,将位于同一响应等级属组中的多个应用功能模块按照优先级从高到低的顺序在属组中排队;发送单元83发送串口资源响应,具体为:向响应等级最高的属组中优先级较高的相应数量的应用功能模块发送串口资源响应。
本发明实施例中的串口资源调度装置既可以是设置在安装有嵌入式智能操作系统的设备中,也可以是具有调度功能的独立的设备。
本发明实施例还提供一种串口资源调度系统,该系统包括:
串口资源调度单元,设置在安装有嵌入式智能操作系统的设备中,用于接收需要串口资源的应用功能模块发送的串口资源请求,并在检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应;
单片机,与多个串口设备相连接,并通过串口与串口资源调度单元通信,用于接收应用功能模块通过所述串口资源调度单元发送的通信请求,并根据所述通信请求所采用的通信协议,将所述通信请求发送给与所述通信协议相对应的串口设备。
较佳地,串口资源调度单元接收多个需要串口资源的应用功能模块发送的串口资源请求;
所述串口资源调度单元用于:将发送串口资源请求的多个应用功能模块按照优先级从高到低的顺序排队;并在检测到一个或多个空闲的串口资源时,向优先级较高的相应数量的应用功能模块发送串口资源响应;
或者,
所述串口资源调度单元具体用于:将发送串口资源请求的多个应用功能模块按照发送串口资源请求的时间先后顺序排队;并在检测到一个或多个空闲的串口资源时,向较早发送串口资源请求的相应数量的应用功能模块发送串口资源响应。
较佳地,串口资源调度单元接收多个需要串口资源的应用功能模块发送的串口资源请求;所述串口资源调度单元具体用于:将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组;并在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中相应数量的应用功能模块发送串口资源响应。
较佳地,串口资源调度单元具体用于:将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组,位于同一响应等级属组中的多个应用功能模块按照优先级从高到低的顺序在属组中排队;并在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中优先级较高的相应数量的应用功能模块发送串口资源响应。
采用本发明技术方案,一方面,通过安装有Android操作系统的设备的串口资源调度单元来为请求串口资源的至少一个应用功能模块进行串口资源调度,从而充分利用Android操作系统中的串口资源,克服了现有技术中通过单片机来为请求串口资源的一个或多个应用功能模块调度串口资源而导致串口资源调度效率较低的问题,可以实现对并发请求串口资源的应用功能模块进行及时响应,从而提高了串口资源调度的效率;另一方面,不需要在单片机中指定一套复杂的指令协议,因此,不会对单片机的性能提出较高的要求,不增加硬件成本;再一方面,串口资源调度单元将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组,并针对同一响应等级属组的多个应用功能模块按照优先级从高到低的顺序进行排队,从而保证高响应等级、高优先级的应用功能模块先分配到串口资源;另外,为避免低响应等级、低优先级的应用功能模块在较长时间内得不到响应而影响到Android操作系统的正常运行,本发明实施例还针对等待响应时间超过预设时间阈值的应用功能模块优先分配串口资源。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种串口资源调度系统,其特征在于,包括:
串口资源调度单元,设置在安装有嵌入式智能操作系统的设备中,用于接收需要串口资源的应用功能模块发送的串口资源请求,并在检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应;
单片机,与多个串口设备相连接,并通过串口与所述串口资源调度单元通信,用于接收应用功能模块通过所述串口资源调度单元发送的通信请求,并根据所述通信请求所采用的通信协议,将所述通信请求发送给与所述通信协议相对应的串口设备。
2.如权利要求1所述的系统,其特征在于,所述串口资源调度单元接收多个需要串口资源的应用功能模块发送的串口资源请求;
所述串口资源调度单元,具体用于:将发送串口资源请求的多个应用功能模块按照优先级从高到低的顺序排队;并在检测到一个或多个空闲的串口资源时,向优先级较高的相应数量的应用功能模块发送串口资源响应;
或者,
所述串口资源调度单元具体用于:将发送串口资源请求的多个应用功能模块按照发送串口资源请求的时间先后顺序排队;并在检测到一个或多个空闲的串口资源时,向较早发送串口资源请求的相应数量的应用功能模块发送串口资源响应。
3.如权利要求1所述的系统,其特征在于,所述串口资源调度单元接收需要串口资源的多个应用功能模块发送的串口资源请求;
所述串口资源调度单元,具体用于:将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组;并在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中相应数量的应用功能模块发送串口资源响应。
4.如权利要求3所述的系统,其特征在于,所述串口资源调度单元,具体用于:将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组,位于同一响应等级属组中的多个应用功能模块按照优先级从高到低的顺序在属组中排队;并在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中优先级较高的相应数量的应用功能模块发送串口资源响应。
5.一种串口资源调度方法,其特征在于,包括:
串口资源调度单元接收需要串口资源的应用功能模块发送的串口资源请求,并在检测到空闲的串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应,所述串口资源调度单元设置在安装有嵌入式智能操作系统的设备中;
应用功能模块根据串口资源调度单元发送的串口资源响应,通过所述串口资源响应指示的空闲的串口资源与其需要访问的串口设备进行通信。
6.如权利要求5所述的方法,其特征在于,需要串口资源的应用功能模块为多个;
所述串口资源调度单元检测到串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应,包括:将发送串口资源请求的多个应用功能模块按照优先级从高到低的顺序排队;并在检测到一个或多个空闲的串口资源时,向优先级较高的相应数量的应用功能模块发送串口资源响应;
或者,
所述串口资源调度单元检测到串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应,包括:将发送串口资源请求的多个应用功能模块按照发送串口资源请求的时间先后顺序排队;并在所述检测单元检测到一个或多个空闲的串口资源时,向较早发送串口资源请求的相应数量的应用功能模块发送串口资源响应。
7.如权利要求5所述的方法,其特征在于,需要串口资源的应用功能模块为多个;
所述串口资源调度单元检测到串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应,包括:将多个发送串口资源请求的应用功能模块按照响应等级归类于相应响应等级的属组;并在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中的相应数量的应用功能模块发送串口资源响应。
8.如权利要求7所述的方法,其特征在于,所述串口资源调度单元检测到串口资源时,向发送串口资源请求的应用功能模块发送串口资源响应,包括:将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组,位于同一响应等级属组中的多个应用功能模块按照优先级从高到低的顺序在属组中排队;并在检测到一个或多个空闲的串口资源时,向响应等级最高的属组中优先级较高的相应数量的应用功能模块发送串口资源响应。
9.如权利要求7或8所述的方法,其特征在于,还包括:
所述串口资源调度单元针对每个属组设置对应的时间阈值;
串口资源调度单元实时或周期地检测各属组中应用功能模块在属组中等待响应的时间,在确定应用功能模块在属组中等待相应的时间达到其所属属组对应的时间阈值并在检测到空闲的串口资源时,向该应用功能模块发送串口资源响应。
10.如权利要求9所述的方法,其特征在于,属组对应的时间阈值按照响应等级从高到低的顺序依次递增。
11.如权利要求5~8任一项所述的方法,其特征在于,应用功能模块与其需要访问的串口设备进行通信,具体为:
应用功能模块调用Java本地调用JNI中间件;
所述JNI中间件将Java输出流/输入流操作映射到底层程序的读/写操作;
所述JNI中间件调用并运行所述底层程序对需要进行访问的串口设备进行读或写操作。
12.如权利要求11所述的方法,其特征在于,还包括:
所述JNI中间件判断所述底层程序完成对所述串口设备进行读或写操作时,启动预设的微定时器,并在到达该微定时器的延迟时间时如果没有数据交互,则向所述串口资源调度单元发送释放串口资源的通知消息;
所述串口资源调度单元接收到所述通知消息时,释放所述串口资源。
13.一种串口资源调度装置,其特征在于,包括:
接收单元,用于接收需要串口资源的应用功能模块发送的串口资源请求;
检测单元,用于检测空闲的串口资源;
发送单元,用于在所述检测单元检测到空闲的串口资源时,根据所述接收单元接收的串口资源请求,向发送串口资源请求的应用功能模块发送串口资源响应。
14.如权利要求13所述的装置,其特征在于,所述接收单元接收多个需要串口资源的应用功能模块发送的串口资源请求;
所述接收单元进一步用于,将发送串口资源请求的多个应用功能模块按照优先级从高到低的顺序排队;
所述发送单元用于:在所述检测单元检测到一个或多个空闲的串口资源时,向优先级较高的相应数量的应用功能模块发送串口资源响应;
或者,
所述接收单元进一步用于,将发送串口资源请求的多个应用功能模块按照发送串口资源请求的时间先后顺序排队;
所述发送单元具体用于:在所述检测单元检测到一个或多个空闲的串口资源时,向较早发送串口资源请求的相应数量的应用功能模块发送串口资源响应。
15.如权利要求13所述的装置,其特征在于,所述接收单元接收多个需要串口资源的应用功能模块发送的串口资源请求;
所述接收单元进一步用于,将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组;
所述发送单元具体用于:在所述检测单元检测到一个或多个空闲的串口资源时,向响应等级最高的属组中的相应数量的应用功能模块发送串口资源响应。
16.如权利要求15所述的装置,其特征在于,所述接收单元具体用于:将发送串口资源请求的多个应用功能模块按照响应等级归类于相应响应等级的属组,位于同一响应等级属组中的多个应用功能模块按照优先级从高到低的顺序在属组中排队;
所述发送单元具体用于:在所述检测单元检测到一个或多个空闲的串口资源时,向响应等级最高的属组中优先级较高的相应数量的应用功能模块发送串口资源响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105041211A CN102446144A (zh) | 2010-09-30 | 2010-09-30 | 一种串口资源调度方法及装置、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105041211A CN102446144A (zh) | 2010-09-30 | 2010-09-30 | 一种串口资源调度方法及装置、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102446144A true CN102446144A (zh) | 2012-05-09 |
Family
ID=46008651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105041211A Pending CN102446144A (zh) | 2010-09-30 | 2010-09-30 | 一种串口资源调度方法及装置、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102446144A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830968A (zh) * | 2012-08-08 | 2012-12-19 | 浪潮集团有限公司 | 一种云操作系统的通讯方法 |
CN103118181A (zh) * | 2013-01-17 | 2013-05-22 | 深圳市中兴移动通信有限公司 | 一种处理同步at指令的方法及装置 |
CN103353839A (zh) * | 2013-06-07 | 2013-10-16 | 杭州竞天数码科技有限公司 | 一种基于Android系统的通用串行设备通信模块 |
CN104503852A (zh) * | 2014-12-26 | 2015-04-08 | 河南信安通信技术有限公司 | 一种多进程串口通信方法 |
CN106649186A (zh) * | 2016-12-12 | 2017-05-10 | 青岛海信电器股份有限公司 | 应用程序与串口外设的通信方法及装置 |
CN107479956A (zh) * | 2017-08-04 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种串口资源的调度方法及系统 |
CN112306915A (zh) * | 2020-10-26 | 2021-02-02 | 英业达科技有限公司 | 通信接口控制系统及其方法 |
CN116032974A (zh) * | 2023-02-15 | 2023-04-28 | 易电务(北京)科技有限公司 | 分布式边缘系统数据采集方法及子系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0654018A (ja) * | 1992-07-30 | 1994-02-25 | Nippon Steel Corp | 多回線シリアルデータ伝送における回線網制御装置および回線網制御方法 |
CN1710980A (zh) * | 2004-06-17 | 2005-12-21 | 大唐移动通信设备有限公司 | 适用于移动通信系统的下行分组数据调度方法 |
CN101753485A (zh) * | 2001-12-28 | 2010-06-23 | 西姆德斯克技术公司 | 即时消息系统和运行该系统的方法 |
-
2010
- 2010-09-30 CN CN2010105041211A patent/CN102446144A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0654018A (ja) * | 1992-07-30 | 1994-02-25 | Nippon Steel Corp | 多回線シリアルデータ伝送における回線網制御装置および回線網制御方法 |
CN101753485A (zh) * | 2001-12-28 | 2010-06-23 | 西姆德斯克技术公司 | 即时消息系统和运行该系统的方法 |
CN1710980A (zh) * | 2004-06-17 | 2005-12-21 | 大唐移动通信设备有限公司 | 适用于移动通信系统的下行分组数据调度方法 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102830968A (zh) * | 2012-08-08 | 2012-12-19 | 浪潮集团有限公司 | 一种云操作系统的通讯方法 |
CN103118181A (zh) * | 2013-01-17 | 2013-05-22 | 深圳市中兴移动通信有限公司 | 一种处理同步at指令的方法及装置 |
CN103118181B (zh) * | 2013-01-17 | 2015-12-02 | 努比亚技术有限公司 | 一种处理同步at指令的方法及装置 |
CN103353839A (zh) * | 2013-06-07 | 2013-10-16 | 杭州竞天数码科技有限公司 | 一种基于Android系统的通用串行设备通信模块 |
CN104503852A (zh) * | 2014-12-26 | 2015-04-08 | 河南信安通信技术有限公司 | 一种多进程串口通信方法 |
CN106649186A (zh) * | 2016-12-12 | 2017-05-10 | 青岛海信电器股份有限公司 | 应用程序与串口外设的通信方法及装置 |
CN107479956A (zh) * | 2017-08-04 | 2017-12-15 | 郑州云海信息技术有限公司 | 一种串口资源的调度方法及系统 |
CN112306915A (zh) * | 2020-10-26 | 2021-02-02 | 英业达科技有限公司 | 通信接口控制系统及其方法 |
CN116032974A (zh) * | 2023-02-15 | 2023-04-28 | 易电务(北京)科技有限公司 | 分布式边缘系统数据采集方法及子系统 |
CN116032974B (zh) * | 2023-02-15 | 2023-11-28 | 易电务(北京)科技有限公司 | 分布式边缘系统数据采集方法及子系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628216B2 (en) | I/O request scheduling method and apparatus by adjusting queue depth associated with storage device based on hige or low priority status | |
CN102446144A (zh) | 一种串口资源调度方法及装置、系统 | |
CN107046508B (zh) | 报文接收方法及网络设备 | |
CN110532205B (zh) | 数据传输方法、装置、计算机设备和计算机可读存储介质 | |
US8547840B1 (en) | Bandwidth allocation of bursty signals | |
KR20140057371A (ko) | 멀티 프로세서 코어 시스템 내의 프로세서 코어를 스케줄링 하기 위한 방법, 장치, 및 시스템 | |
CN113434284B (zh) | 一种隐私计算服务端设备、系统及任务调度方法 | |
CN115379512B (zh) | 带宽调整方法及装置、电子设备、计算机可读存储介质 | |
JPWO2007037006A1 (ja) | マルチコアプロセッサ | |
CN109117280B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN104102548A (zh) | 任务资源调度处理方法和系统 | |
CN102970202A (zh) | 基于抢占式策略的1553b总线通信方法 | |
CN102984085A (zh) | 映射方法及装置 | |
US10545890B2 (en) | Information processing device, information processing method, and program | |
CN115048206B (zh) | 资源调度方法及服务器 | |
CN109117279B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN102799487A (zh) | 基于阵列/lun的io调度方法及装置 | |
CN111338779A (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
TWI539273B (zh) | 用於減少電力消耗之並行網路應用程式排程技術 | |
WO2019029721A1 (zh) | 任务的调度方法、装置、设备及存储介质 | |
CN103440113A (zh) | 一种磁盘io资源分配方法和装置 | |
CN109062857A (zh) | 一种能高速实现多处理器间通信的新型消息控制器及其通信方法 | |
KR101419558B1 (ko) | Plc 시스템의 모니터링 시스템 및 그를 이용한 모니터링 방법 | |
CN116233022A (zh) | 一种作业调度方法、服务器及服务器集群 | |
CN112311695B (zh) | 一种片上带宽动态分配方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120509 |