CN100454238C - 一种实现与设备对象无关的dohm软件接口 - Google Patents

一种实现与设备对象无关的dohm软件接口 Download PDF

Info

Publication number
CN100454238C
CN100454238C CNB2005100255247A CN200510025524A CN100454238C CN 100454238 C CN100454238 C CN 100454238C CN B2005100255247 A CNB2005100255247 A CN B2005100255247A CN 200510025524 A CN200510025524 A CN 200510025524A CN 100454238 C CN100454238 C CN 100454238C
Authority
CN
China
Prior art keywords
software
application layer
interface
target device
software interface
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.)
Active
Application number
CNB2005100255247A
Other languages
English (en)
Other versions
CN1855034A (zh
Inventor
谢伟
王江
靳光学
詹振七
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Shanghai Bell Co Ltd
Original Assignee
Alcatel Lucent Shanghai Bell Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent Shanghai Bell Co Ltd filed Critical Alcatel Lucent Shanghai Bell Co Ltd
Priority to CNB2005100255247A priority Critical patent/CN100454238C/zh
Publication of CN1855034A publication Critical patent/CN1855034A/zh
Application granted granted Critical
Publication of CN100454238C publication Critical patent/CN100454238C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种实现与设备对象无关的目标设备硬件管理(Device Object HardwareManager=DOHM)软件接口,连接在底层功能软件和应用层软件之间,包括:Doam,根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,间接完成应用层软件对底层功能软件的读写操作;Doea,根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;Docx,根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;Doec,根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。还可包括操作系统接口。本发明可以屏蔽硬件细节差别,在硬件改变的情况下,对应用层软件能提供同样的接口,以便于系统的调试、维护和移植,尤其在较大的模块化软件系统中更能体现其优越性。

Description

一种实现与设备对象无关的DOHM软件接口
技术领域
本发明涉及软件系统的软件中间件设计,尤其涉及诸如嵌入式软件系统之类的底层功能软件(包括驱动程序)和应用层软件之间实现与设备对象无关的目标设备硬件管理(Device Object Hardware Manager=DOHM)软件接口。
技术背景
随着软件系统越来越复杂和庞大,对数据结构和算法的选择在许多情况下成为较次要的部分,而对软件系统的模块化结构要求越来越高。在模块化设计时,当一个软件系统中的各个构件之间以一种非标准化的方法进行描述时,系统的重用性会受到影响,使得软件系统的构件移植变得十分困难,甚至是不可能的。
在现有模块化软件系统中,通常是应用层软件直接调用底层功能软件。如果硬件细节有所改变,比如模块和结构或者操作系统的改变,必将导致底层功能软件向上的接口发生改变,从而引起应用层软件对下的接口软件也要相应改变。
对于上述现象,虽有类似对操作系统增加中间层来实现操作系统无关的接口,从而可以实现对各种操作系统之间的移植,但对整个底层功能软件的移植仍无一完善的处置方案。
因此,这种稍有一点硬件的改变都将导致软件修改面较广,从而增加系统的调试时间和人力成本的缺陷,是业内人士致力解决的技术问题之一。
发明内容
本发明的目的在于提供一种对底层功能软件及操作系统均有屏蔽作用,即,能够屏蔽硬件的细节差别而实现与设备对象无关的目标设备硬件管理(DOHM)软件接口,从而为应用层软件提供一个标准的接口,便于系统的调试、维护和移植。
本发明提供一种实现与设备对象无关的DOHM软件接口,它连接在软件系统中的底层功能软件和应用层软件之间,包括:目标设备访问管理单元(Device Object Access Management=Doam),用于根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,从而间接完成应用层软件对底层功能软件的读写操作;目标设备事件访问单元(Device Object Event on Access=Doea),用于根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;目标设备连接单元(Device Object Connection=Docx),用于根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;和目标事件连接单元(Device Object Eventon Connection=Doec),用于根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。
本发明所提供的实现与设备对象无关的DOHM软件接口还包括操作系统接口,用于任务管理、信号量处理和定时功能。
在上述的实现与设备对象无关的DOHM软件接口中,所述DOHM软件接口除了初始化函数以外均根据应用层软件访问类别和参数来连接应用层软件和底层功能软件。
在上述的实现与设备对象无关的DOHM软件接口中,所述各单元在完成初始化之后以及在底层功能软件初始化之前,把应用层软件调用均指向默认的动作,便于应用程序在底层功能软件完成之前进行开发调试。
采用了上述的技术解决方案,即,在底层功能软件和应用层软件之间增加了目标设备硬件管理(DOHM)软件接口。DOHM层用以屏蔽硬件细节差别,包括操作系统,为应用层软件提供一个标准的接口,也即允许硬件的改变,比如硬件元器件、结构,甚至功能、板卡、操作系统等的改变,而对应用层软件却提供不变的接口,从而使软件系统结构更加清晰明了,便于系统的调试、维护和移植。本发明所提供的DOHM软件接口适用于任何具有着硬件底层的功能软件(包括驱动程序)和应用层的软件的软件系统,尤其在较大的模块化软件系统中更能体现本发明解决方案的优越性。
附图说明
图1是本发明的目标设备硬件管理(DOHM)软件接口在软件系统中的结构示意图;和,
图2是本发明DOHM软件接口的结构示意图。
具体实施方式
如图1所示,软件系统分为应用层软件1、DOHM软件接口2(简称DOHM层)和底层功能软件3。其中,应用层软件1包括错误定位程序11、板级测试程序12、调试程序13。
DOHM软件接口2的初始化包括二级内容,第一级为DOHM的初始化,这时把除了明确的信息类调用外的所有的应用程序的调用都指向一个默认动作。第二级为底层的初始化,底层中的每个功能模块都有一个初始化函数。在初始化时,首先,通过初始化好的DOHM层获取硬件板的类型及功能模块的个数,各功能模块的基地址等信息;然后,将各功能模块逐个初始化为默认状态;接着,再将应用程序所要调用的底层功能软件接口注册到DOHM层;最后,分配所需要的操作系统资源。这样应用层软件程序就可以利用标准的接口通过DOHM层来调用底层功能软件。
上述的DOHM层,其实上就是一个指针层,位于应用层和底层之间。它把应用层要执行的函数指向底层功能软件接口。作为指针层,它只起连接指向的作用,并不知道底层究竟为上层的命令做了什么硬件动作。另外,DOHM层相对比较独立,当底层的硬件环境变化时,仅仅只需改变配置文件就可以了。在DOHM初始化时,DOHM层向应用软件提供默认的动作。在底层功能软件进行初始化时,它把所有的向上接口分类的注册到DOHM层。只有注册到DOHM层的底层功能软件接口才有可能被应用层调用。底层功能软件的注册是通过标准的函数来实现的,如下:
dohmFdeclare(object,object_type,operation,attribute,logical_function)
第一个参数object就是访问单元,前面提到的Doam,Doea,Docx,Doec等;
第二个参数object_type是访问对象类型,比如:以太网交换,数字信号处理,串口等等;
第三个参数operation是操作类型,比如:读操作,写操作等;
第四个参数attribute是访问的属性,比如:设置回环,配置以太网MAC地址等;
最后一个参数logical_function是底层功能软件实际执行的函数。
注册后,应用层软件程序根据这些参数通过DOHM层调用底层功能软件。
下面来说明一下Doam的写操作,调用时,先根据访问类型和访问数得到一个访问号。如下:
accId=doamFid(<access type>,<access  nbr>);
accId是一个带有前两个参数的数据结构,现在就可以对设备各类型进行读写操作,其它几种访问的方法也雷同,如下:
doamFwrite(&accId,doamCatt_...,&value)。
除了初始化函数,应用层对底层的所有调用都是通过DOHM层来实现,本发明DOHM软件接口是根据应用层软件访问类别和参数来连接应用层软件和底层功能软件的,向上采用标准的应用接口,向下采用标准的声明接口,实现与对象无关的软件接口。
如图1和2所示,DOHM层包括四类应用层软件访问,即:第一类,Doam(Device Object Access Management)为目标设备访问管理单元21;第二类,Doea(Device Object Event on Access)为目标设备事件访问单元22;第三类,Docx(Device Object Connection)为目标设备连接单元23;以及第四类,Doec(Device Object Event on Connection)为目标事件连接单元24。另外,为了独立于各种操作系统,DOHM还增加了一个操作系统接口25。DOHM层2根据这些访问类别来连接应用层软件1和底层功能软件3。
目标设备访问管理单元21,根据应用层软件1读写操作要求,在已注册(或配置)的底层功能软件接口中,例如以太网、TDM(时分多址)等类型的模块中进行指配连接,从而间接完成应用层软件1对以太网、TDM等类型的功能模块31的读写操作。
目标设备事件访问单元22,根据应用层软件1对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中,例如以太网、TDM(时分多址)等类型的功能模块31中进行指配连接。
目标设备连接单元23,根据应用层1对两个目标(例如TDM的两个时隙)的连接要求,在已注册的底层功能软件接口中进行指配连接。
目标事件连接单元24,根据应用层对事件标识(例如计数器、状态等事件类型、ATM(异步传输模式)、Ethernet(以太网)等事件性质和事件号)的连接要求,在已注册的底层功能软件接口中进行指配连接。
操作系统接口25,用于任务管理(例如切换)、信号量处理和定时器(例如中断等管理)等。
当硬件信息改变,比如硬件元器件有所改变或升级,操作系统的改变,甚至板卡变更,只需改变DOHM层的配置文件和底层功能软件的注册函数。应用层软件无需改变。这样升级或移植时可以减少很多接口修改。减少人力成本及错误的发生。另外,为了节约开发时间,一般应用层软件、底层功能软件及硬件同步开发。为了隔离应用层软件、底层功能软件及硬件,DOHM层可以把所有的应用层软件调用都指向默认的动作而不是底层功能软件。这样便于应用软件独立调试。加速开发进程。
本发明在应用层和底层之间增加了DOHM层,因此肯定会增加代码量和存储器容量。而且应用程序不知道任何硬件信息,代码上看应用程序的调用不是很直观。所以在简单的系统里,或不存在系统硬件改变,升级,移植的软件结构里不适合使用本发明。
综上,本发明DOHM软件接口是位于应用层和底层之间实质上起一个指针层作用,即把应用层要执行的函数指向底层功能软件的接口。作为指针层的DOHM层,只起指向连接作用,并不涉及底层为上层命令所作动作的本身。另外,DOHM层相对比较独立,当硬件环境变化时只需改变其配置文件即可。因此DOHM层屏蔽了硬件细节差别和操作系统。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴之内,应由各权利要求限定。

Claims (4)

1.一种实现与设备对象无关的目标设备硬件管理软件接口,所述目标设备硬件管理软件接口包括:
目标设备访问管理单元,用于根据应用层软件读写操作要求,在已注册的底层功能软件接口中进行指配连接,从而间接完成应用层软件对底层功能软件的读写操作;
目标设备事件访问单元,用于根据应用层软件对传输计数事件及错误事件的访问要求,在已注册的底层功能软件接口中进行指配连接;
目标设备连接单元,用于根据应用层对设定目标的连接要求,在已注册的底层功能软件接口中进行指配连接;和,
目标事件连接单元,用于根据应用层对事件标识的连接要求,在已注册的底层功能软件接口中进行指配连接。
2.根据权利要求1所述的实现与设备对象无关的目标设备硬件管理软件接口,其特征在于:还包括操作系统接口,用于任务管理、信号量处理和定时功能。
3.根据权利要求1所述的实现与设备对象无关的目标设备硬件管理软件接口,其特征在于:所述目标设备硬件管理软件接口除了初始化函数以外均根据应用层软件访问类别和参数来连接应用层软件和底层功能软件的。
4.根据权利要求1所述的实现与设备对象无关的目标设备硬件管理软件接口,其特征在于:所述各单元在完成初始化之后以及在底层的功能软件初始化之前,把应用层软件调用均指向默认的动作,以便于应用程序在底层功能软件完成之前进行开发调试。
CNB2005100255247A 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口 Active CN100454238C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100255247A CN100454238C (zh) 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100255247A CN100454238C (zh) 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口

Publications (2)

Publication Number Publication Date
CN1855034A CN1855034A (zh) 2006-11-01
CN100454238C true CN100454238C (zh) 2009-01-21

Family

ID=37195229

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100255247A Active CN100454238C (zh) 2005-04-28 2005-04-28 一种实现与设备对象无关的dohm软件接口

Country Status (1)

Country Link
CN (1) CN100454238C (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750137A (zh) * 2011-04-22 2012-10-24 中国科学院沈阳自动化研究所 一种面向DeviceNet总线的接口系统
CN104951323B (zh) * 2014-03-27 2018-06-19 中国移动通信集团公司 Java中间件及其驱动调用、加载方法及转换装置
CN104899145A (zh) * 2015-06-20 2015-09-09 成都彬鸿科技有限公司 一种嵌入式系统调试方法
CN106484386A (zh) * 2015-09-02 2017-03-08 中国航空工业第六八研究所 一种共享内存的嵌入式软件接口设计方法
CN111400078B (zh) * 2020-03-09 2023-08-25 广州路派电子科技有限公司 一种嵌入式系统中处理任务的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001046819A2 (en) * 1999-12-21 2001-06-28 General Instrument Corporation Abstract device driver model for the portability of device drivers across different operating system platforms
CN1427361A (zh) * 2001-12-17 2003-07-02 北京中视联联合软件有限公司 基于客户/服务器结构的底层设备驱动的方法
CN1490724A (zh) * 2002-10-18 2004-04-21 上海贝尔有限公司 一种用于嵌入式系统软件开发的虚拟机装置
CN1529227A (zh) * 2003-09-29 2004-09-15 中兴通讯股份有限公司 一种嵌入式系统下usb存储器的驱动开发方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001046819A2 (en) * 1999-12-21 2001-06-28 General Instrument Corporation Abstract device driver model for the portability of device drivers across different operating system platforms
CN1434942A (zh) * 1999-12-21 2003-08-06 通用仪器公司 使设备驱动可跨操作系统平台移植的抽象设备驱动模型
CN1427361A (zh) * 2001-12-17 2003-07-02 北京中视联联合软件有限公司 基于客户/服务器结构的底层设备驱动的方法
CN1490724A (zh) * 2002-10-18 2004-04-21 上海贝尔有限公司 一种用于嵌入式系统软件开发的虚拟机装置
CN1529227A (zh) * 2003-09-29 2004-09-15 中兴通讯股份有限公司 一种嵌入式系统下usb存储器的驱动开发方法

Also Published As

Publication number Publication date
CN1855034A (zh) 2006-11-01

Similar Documents

Publication Publication Date Title
US5847955A (en) System and method for controlling an instrumentation system
US6205492B1 (en) Method and computer program product for interconnecting software drivers in kernel mode
EP0869443B1 (en) Method and computer program product for synchronizing the processing of multiple data streams and matching disparate processing rates using a standardized clock mechanism
EP0928441B1 (en) Systems and methods for providing dynamic data referencing in a generic data exchange environment
US6810294B2 (en) Method and apparatus for automating a microelectronic manufacturing process
CN100565472C (zh) 一种适用于多处理器核系统芯片的调试方法
CN100454238C (zh) 一种实现与设备对象无关的dohm软件接口
EP0871116A2 (en) Method and computer program product for reducing inter-buffer data transfers between separate processing components
CN103365262A (zh) 用于确定现场装置之间的操作兼容性的设备和方法
CN102722440A (zh) 一种嵌入式系统可执行代码的调试装置、调试方法及嵌入式系统
CN106371847B (zh) Windows xp系统下CPCI总线RS422通信驱动方法及系统
CN110405759A (zh) 一种芯片控制系统
CN117785593B (zh) 一种基于UVM的xHCI驱动的实现系统及方法
CN112699071B (zh) 一种基于Linux系统的USB端口绑定结构和方法
CN101784905B (zh) 用于对片上系统的制造进行控制的设计信息的验证
CN108021096A (zh) 一种基于Modbus的数控系统的远程监控方法
CN104243172A (zh) 一种分散控制系统的扩展输入输出装置和方法
CN104145248A (zh) 用于在分布式实时系统形成软件故障包容单元的方法和设备
KR20010071116A (ko) 소프트웨어의 생성장치 및 소프트웨어의 생성방법
WO2002033961A1 (en) Method of controlling an arrangement of hardware components
CN111310313A (zh) 基于iap的仿真模拟方法、装置以及晶圆清洗设备
CN101025627A (zh) 在多个自动化系统中使用变量的方法和系统
US20090112342A1 (en) Device and method for planning a production unit
CN102012887B (zh) 一种多硬件兼容刷卡驱动系统
US11796975B2 (en) Network centric process control

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: SHANGHAI ALCATEL-LUCENT CO., LTD.

Free format text: FORMER NAME: BEIER AERKATE CO., LTD., SHANGHAI

CP01 Change in the name or title of a patent holder

Address after: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: Shanghai Alcatel-Lucent Co., Ltd.

Address before: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: Beier Aerkate Co., Ltd., Shanghai

CP01 Change in the name or title of a patent holder

Address after: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee after: Shanghai NOKIA Baer Limited by Share Ltd

Address before: 201206 Pudong Jinqiao Export Processing Zone, Nanjing Road, No. 388, Shanghai

Patentee before: Shanghai Alcatel-Lucent Co., Ltd.

CP01 Change in the name or title of a patent holder