DDS中间件在CAN总线传输中应用技术Word文档下载推荐.docx
- 文档编号:19262270
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:14
- 大小:297.91KB
DDS中间件在CAN总线传输中应用技术Word文档下载推荐.docx
《DDS中间件在CAN总线传输中应用技术Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《DDS中间件在CAN总线传输中应用技术Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
一个应用领域,提供了各种研究努力数据分布是嵌入式传感器网络(8、9、10、11和12]。
尽管这里分布的传感器网络描述为所有的工作提供了宝贵的见解解决问题的数据,但没有考虑实时的特点的数据或应用程序。
也就是说,既不支持数据交付期限和时间一致性数据。
大量的实时数据的分布研究已经在弗吉尼亚大学(UVA)完成,在无线传感器网络的环境中[13,14,15,和16]。
这项工作确实解决了请求的最后期限。
然而,当它到达请求时,它不保证提供数据在时间上是有效的。
PrismTech[17]有一个产品是所谓的OpenSplice[18]这是符合实时联网。
但类似的作品可以提到如ROFES[19]。
在ROFES平台,S.的上下文Lankes和T.Bemmel描述实施了基于CAN的面向连接的点至点的通信模型和它的集成到实时CORBA,但这个工程没有被扩展以支持数据分布服务。
这些研究工作已经被强制执行。
这同时做几个商业产品已经成为符合OMG的数据分布规范。
实时创新[20]有一个产品叫做NDDS,提供架构数据的时间要求严格的交付。
泰利斯海军荷兰[21]有一个名为Splice产品[22]它提供了一个以数据为中心的架构为关键任务的应用程序。
这两种产品提供宝贵的实时特性数据的分布。
既保证了数据的时间期限也不实时网络支持。
3实时和嵌入式系统:
自动化控制组件与分布式组件只是一个例子。
最通用和强大的图案是[23]:
•事件驱动型数据分发
•请求-答复服务
•基于内容的事件通知
•连续数据分布
3.1事件驱动型数据分发事件驱动的数据分布(EDDD)用于当应用程序通过事件和控制的时候。
因此,当一个事件被丢失的时候,则一个执行应用程序停止。
在EDDD发送的消息是一个事件,而不是信号值时。
该机制应该保证每个事件交付给所有的接收器。
CORBA的消息规格支持异步消息调用(AMI),这个模型很好地映射了这种模式。
3.2请求-答复服务请求-应答服务(RRS)是获取数据或启动服务更简单的方法。
不管同步或异步的,只要回复即可。
在后一种情况下,一个回调函数被调用时,答复接收。
RRS是由所有的分布式提供环境,特别是CORBA的体系结构。
3.3基于内容的事件通知基于内容的事件通知(CBEN)是用来通知改变组件的状态。
警报和其他通知消息被发送到所有感兴趣的接收器或存储在历史数据库中。
(一旦消息被称为报警时,它会强制接收器停止其正常运行的执行专项行动。
)通过比较来EDDD,CBEN代表不是事件的一个单独的域。
然而,报警和事件的可靠性也是必需的。
CBEN可以通过CORBA实现事件服务(不过滤)或CORBA通知服务(带过滤)。
OPC和传感器网络赋能(SWE)是DCS是这一类的CBEN模式范围内。
3.4连续数据分布连续数据分布(CDD)是用于周期性数据传输(或当信号值超过应用特定阈值)。
它允许一个生产商经常传送一个新的数据值。
OMG的DDS[5]和OPC-DX[6]支持CDD以及RRS和CBEN。
在DDS中,出版商给数据中间件。
中间件需要照顾分配并通知用户时,消息到达。
在3.1的情况下,名称或地点及种类事件需要在编译时。
在3.2的情况下,则名称或服务的位置,可以通过获得命名或目录服务来编译。
在3.3的情况下,生产商和消费者都去耦合。
报警和事件被发送到一个信道。
消费者通过向他们提供过滤器一些标准从通道检索它们。
在3.4的情况下,唯一的财产生产商(出版商)需要与沟通消费者(用户)的名称和定义的数据(数据为中心的)。
信号,报警通知和事件均标记有独特的主题名称,如“压力”或“温度”。
发布者不需要了解任何信息的用户,反之亦然。
CDD和CBEN分别是数据和服务内容代替的身份制片人,因此被称为基于内容的发布/订阅。
出版商的松耦合服务器和订阅服务器,在客户尽职审查为基础的架构,作为新的发布者和订阅可以无缝集成到现有的应用程序,而不影响现有的代码,因此,剩余的几个生产者可以并行运行。
常见的方法,允许消费者发现它们的性质的基础上,最合适的数据源和服务。
所以,本发布/查询/预订/分配格局基于全球视野的内容。
它解决了嵌入式通信模型通信挑战。
DDS针对实时系统。
DDS的规范是不太明显的,应该调度机制协调这些政策,并作出最佳效益。
4DDS和QoS参数每一个QoS策略可以有多个参数与之相关联,如感兴趣的主题数据,数据过滤准则等。
每个参数也可以是分配1值的范围的,整数范围对于数据消息的存储的最大数传输,或所述一组用于正则表达式作为过滤条件。
QoS并非所有组合政策/参数提供所需的QoS体系,并且它可以是乏味且容易出错的手动变换一个有效的QoS策略的配置设计。
它在一个特定的中间件实施平台。
一个高效的DDS实现必须许可:
•实体和服务质量之间的关联政策
•管理QoS策略配置变性。
•检查兼容性和一致性约束。
•确保QoS的兼容性
•确保服务质量的一致性
•确保正确的QoS实现
5建议模拟器该框架架构模拟器是一个通过设定DDS中间件和连接的节点。
CAN是当只有网络控制器驱动程序所代表的发行者之间的替换一个CAN调度员。
节点之间的通信的实现由于通过全球发布订阅界面从而代表一个文件,该文件的数据空间是同样在所有节点上。
中间件必须保持
跟踪数据的对象实例。
每个数据对象是由其数据写入和价值和一个主题对象的组合来标识。
5.1传输优先级的计算和CAN总线其主要思想是定义一个结构,它通过他们的最后期限(或优先)来分类的主题和每个主题的Datawriters列表来集成,还排序最后期限。
这个结构仅仅是一个TreeMap的。
DataWriter列表主题是它的键和对应的值。
但是,我们必须添加一个排序条件为主题定义是不存在的在DDS
规范。
添加的方法被称为“的compareTo(对象O)”,它返回一个整数。
图3示出了该添加。
DataWriter做了同样的工作。
此功能必须添加到DDS规范的未来版本,允许开发人员可以使用相同的指定方法。
我们定义一个ListDataWriter类允许添加,删除和DataWriters也截止日期排序。
Figure4.NewdefinitionofDataWriterImplClass
我们实施了ListTopicDataWriter类负责管理TreeMap的结构体,见图2。
这个类的主要操作是设置优先主题。
发送的CAN总线为代表的CAN驱动程序和使用的管道,我们从ListTopicDataWriter检索必要的信息,构建CAN数据帧。
要发送的CAN总线,我们从供应商里使用write(主题主题,对象O),只是表示在DDS规范方法。
DataFrameCanframe=new
DataFrameCan(topic.getPriority(),node
Id,topic.getTopicId(),data)。
DataWriterdataW=
data.getDataWriter()。
Duration_t
duration=
dataW.getQOS().deadline.period。
Framelist.addCanFrame(frame,
duration)。
为了模拟在CAN总线的数据写入,我们在一个树状图收集的CAN数据帧,这是模拟的,以表示结构。
见图2。
Figure5.TreeMapStructureforsendingintheCAN_Bus
我们实现了一个类叫“ListFrameCanDeadline”管理上述结构。
图6示出了相关的算法
5.2接收帧从CAN总线依赖DataReaderQoS要读取一个CAN帧,我们用一个用户检索DataFrameCan列表(类内管)。
protectedvoidnotify(inttopicId){
Eventevt=new
Event(this,getValue(topicId))。
Vector
v。
synchronized(this){
v=(Vector)
Listeners.clone()。
}
Iteratoriter=v.iterator()。
while(iter.hasNext())
{DataReaderListenerdataTemp=(
DataReaderListenerImpl)iter.next()。
if
(dataTemp.geTopicId()==topicId){
dataTemp.change(evt,topicId)。
}
}
Figure6.NotifyMethodimplementation
这个类似管理DataReaderlisteners(添加,删除)。
数据的传送是在做DataReader的,其中有一个侦听器的话题,分别需要的QoS(DataReaderQoS)和所获得的数据DataReader。
int[]on_data_available
(ListeFrameCanDeadlinelist)
{//Each
CANdataframecontain8bytesint[]val=new
int[8]。
Mapmap=null。
map=list.getTopicsDataFrameCan(get_listener(
).geTopicId())。
for(Iterator
it=map.entrySet().iterator()。
it.hasNext()。
)
{Map.Entry
e=(Map.Entry)it.next()。
dr=(Duration_t)e.getValue()。
int
sec=dr.sec。
nanosec=dr.nanosec。
if((sec==qos.deadline.period.sec)&
&
(nanosec
==qos.deadline.period.nanosec)){
val=((DataFrameCan)e.getKey()).getDatas()。
}}returnval。
}}
图7on_data_available方法:
Java的语法实现了CAN总线
DataReaderImpl在图8中恢复
Fig.8:
DataReaderImplclass
我们在下面的数字的抽象算法与该工程从使用DDS中间件CAN总线用于发送和接收的帧。
Figure9.Theapplicationtest
//registrationstructures
StructCANDDSID{
//PriorityMax=63
int:
Priority
//TopicIDMAX=65535
int:
TopicID
//NoueudIDMAX=127
NoueudId
StructDataFrameCAN
{
//29Bits
CANDDSID:
id
Data:
data
List:
DataFrameCANList
DataFrameCAN:
dataCAN
Deadline:
duration
Figure11.DataFrameCANimplementing
AlgorithmforsendingCANDataFramesByPublisher
(CANDispatcher)
1.Output:
DataFrameCANListSortedByPriority
2.SortofTopicsByTopicQOS(Deadline)
2.1ForeachTopic:
2.1.1SortofitsDataWriters
3.GenerationofCANDataFrameslist
(SortedByPriorityQOS)
4.UseofCANDispatchertosendData
Framestoitssubscribers.
AlgorithmforreceivingCANDataframesBy
Subsribers
1.Input:
//EachSubsribernotifyitsListenersBy
ConstructinganEventObject
2.ForeachDataReaderListeners:
2.1.ReadDataReaderQOS
2.2.SearchofthesameQOSfrom
2.3CallofDataReader
on_Data_availablemethod
Figure12.SimulatoralgorithmsImplementation
6结论:
真实姿态的实时分布式系统,让分布式开发应用程序更加简单的和有效的。
与本文所述的工作中,CAN总线已在该领域已经变得更加实用。
我们试图在CAN模拟器中设计一个DDS,由DDS规范中描述。
这互动的目的是对DDS集成的QoS参数数据传递并优化网络提高一致的。
这种相互作用目的是对网络资源的控制集成到高层次的中间件,从而使新一代有灵活的指诊的应用更精确地控制他们的终端到终端的资源。
基于优先级的机制及EDF在此上下文中所使用的调度策略工作适用于实时通信制度。
一个有前途的研究方向是使用DDS不只为DRE系统,而且内片上网络(NOC)。
但是,所有的本说明书中所述QoS参数,在实现之前。
我们记得,我们在这项工作仅限于相关的实时特性的QoS。
7参考文献:
[1]G.Blair,G.Coulson,P.Robin,M.Papathomas,AnArchitecturefornextgenerationmiddleware,Proc,4th
Annu,IFIPInternationalConferenceonDistributed
SystemsPlatformsandOpenDistributedProcessing,
London,England,1998.
[2]OMG,"
DataDistributionServiceforReal-Time
SystemsSpecification"
March2004.
[3]ROBERTBOSCHGmbH,CANSpecificationversion
2.0(1sedition,1991).
[4]FirstInternationalWorkshoponDataDistributionfor
Real-TimeSystems,InconjunctionwithInternational
ConferenceonDistributedComputingSystems,May2003.
[5]M.Karakaya,O.Ulusoy,EvaluationofaBroadcast
SchedulingAlgorithm,LectureNotesinComputer
Science,Springer-Verlag,v.2151,2001.
[6]P.Xuan,S.Sen,O.Gonzalez,J.Fernandez,K.
Ramamritham,BroadcastonDemand:
Efficientand
TimelyDisseminationofDatainMobileEnvironments,
ProceedingsoftheFourthIEEEReal-TimeandEmbedded
TechnologyandApplicationsSymposium(RTAS’97),
1997.
[7]A.Bestavros,SpeculativeDataDisseminationand
ServicetoReduceServerLoad,NetworkTrafficand
ServiceTimeinDistributedInformationSystems,
Proceedingsofthe1996InternationalConferenceonData
Engineering,NewOrleans,LA,March1996.
[8]S.Shenker,S.Ratnasamy,B.Karp,R.Govindan,D.
Estrin,Data-CentricStorageinSensornets,FirstWorkshop
onHotTopicsinNetworks(HotNets-I)2002.
[9]F.Ye,H.Luo,J.Cheng,S.Lu,L.Zhang,ATwo-Tier
DataDisseminationModelforLarge-ScaleWireless
SensorNetworks,MOBICOM’02,September23-28,2002,
Atlanta,GA.
[10]Y.Yao,J.Gehrke,QueryProcessingforSensor
Networks,Proceedingsofthe2003Conferenceon
InnovativeDataSystemsResearch,Jan.2003.
[11]P.Bonnet,J.Gehrke,andP.Seshadri.Towardssensor
databasesystems.InProceedingsoftheSecond
InternationalConferenceonMobileDataManagement,
2001.
[12]W.Heinzelman,A.ChandrakasanandH.
Balakrishnan,Energy-EfficientCommunicationProtocol
forWirelessMicrosensorNetworks,InHICSS'
00,January
2000.
[13]B.C.Lu,B.M.Blum,T.Abdelzaher,J.A.Stankovic,
T.He,RAP:
AReal-TimeCommunicationArchitecture
forLarge-ScaleWirelessNetworks,Proceedingsofthe
EighthIEEEReal-TimeandEmbeddedTechnologyand
ApplicationsSymposium(RTAS’02),2002.
[14]T.Abdelzaher,J.Stankovic,S.Son,B.Blum,T.He,
A.Wood,C.Lu,ACommunicationArchitectureand
ProgrammingAbstractionsforReal-TimeEmbedded
SensorNetworks,ProceedingsoftheFirstInternational
WorkshoponDataDistributionforReal-TimeSystems,
Providence,RI,May2003.
[15]S.Kim,S.H.Son,J.A.Stankovic,S.Li,Y.Choi,
SAFE:
ADataDisseminationProtocolforPeriodic
UpdatesinSensorNetworks,ProceedingsoftheFirst
InternationalWorkshoponDataDistributionforRealTimeSystems,Providence,RI,May2003.
[16]S.Bhattacharya,H.Kim,S.Prabh,T.Abdelzaher,
Energy-ConservingDataPlacementandAsynchronous
MulticastinWirelessSensorNetworks,Proceedingsofthe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DDS 中间件 CAN 总线 传输 应用技术