MOST总线学习与测试记录《一》----命令与控制过程(保时捷卡宴)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本文档献给对MOST总线应用爱好者学习之用!欢迎加入MOST总线应用技术交流群:342416150,这里有你想要的MOST应用技术。MOST学习与测试记录《一》----命令与控制过程(保时捷卡宴)MOST网络的初始化过程:...........................................................................................................2卡宴测试过程分析:.......................................................................................................................3CDC可操作功能说明:.................................................................................................................4功放FktID子集功能说明:...........................................................................................................8收音机子功能集:.........................................................................................................................10多个音频设备的切换:.................................................................................................................13一些其他的操作说明:.................................................................................................................15MOST网络的初始化过程:一、主节点分别向各个物理节点发出网络FBlockID查询信息,消息格式样例:0x0100→0x0401:NetBlock.01.FBlockIDs.Get()之后物理节点会应答主节点的查询,应答消息样例:0x0101→0x0100:NetBlock.01.FBlockIDs.Status(FBlockIDList)主节点获取完各个节点的消息后,将进入下一步,将所有节点的FBlockID广播。二、主节点生成CentralRegistry表,该表存储了网络中各个节点的FBlockID。主节点会将该表广播,广播的目标地址为0x03C8,消息格式为AMS格式,各个节点都会收到该信息。消息样例如下:NetworkMaster.01.CentralRegistry.Status(0100,31,01,0100,04,00...)。括号内数据的格式为“节点逻辑地址+FBlockID”。三、当网络中的某个设备断开,或是检测到有节点冲突时,主节点将发送广播:0x0100→0x03C8:NetBlock.00.Configuration.Status(NotOk)然后各个节点将检测自己的FBlock,等待主节点查询,并生成新的CentralRegistry表。四、在初始化完成后可以使用NetworkMaster.01.CentralRegistry.Get来查询各节点的功能模块,如果Get后没有操作数,则NetworkMaster将返回所有整个CentralRegistry表。在编程的过程中,最好注意初始化过程中和主节点的通讯,并在CentralRegistry表中注册。同时我们可以通过访问CentralRegistry表来获得整个网络的功能模块,对我们感兴趣的模块进行操作,并实现我们的功能。卡宴测试过程分析:卡宴各个功能模块表,通过初始化过程的数据获得:表1卡宴功能模块表逻辑节点地址模块代号模块名称1003101AudioDiskPlayer011000400PowerMaster1000604Diagnosis100C601未知1001000HumanMachineInterface100C300未知1000300ConnectionMaster100D300未知1000200NetworkMaster1022200AudioAmplifer00102060ADiagnosis1014000AM/FMTuner1012201AudioAmplifer01101C500未知1010500Vehicle101C400未知101C100未知1010603Diagnosis101C602未知101C000未知1033102AudioDiskPlayer021030608Diagnosis卡宴的CentralRegistry表:表2卡宴CentralRegistry表10003C8NetworkMaster.01.CentralRegistry.Status[1:B:00](0100,31,01,0100,04,00...)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:01](3101010006040100C601)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:02](010010000100C3000100)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:03](03000100D30001000200)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:04](010222000102060A0101)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:05](4000010122010101C500)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:06](010105000101C4000101)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:07](C100010106030101C602)10003C8NetworkMaster.01.CentralRegistry.Status[2:B:08](0101C000010331020103)10003C8NetworkMaster.01.CentralRegistry.Status[3:7:09](060801003101)CDC可操作功能说明:CDC所具有的子功能全集,可通过AudioDiskPlayer.02.FktID.Get()命令来获得。表3CDC的子功能集FktID子功能名称功能描述000FktIDs获取功能模块内所有子功能ID001Notification对FktID表进行管理100SourceInfo获取同步源数据信息101Allocate为模块分配同步数据传输通道102DeAllocate释放同步数据传输通道104SourceName查询同步源数据的名字116SyncDataInfo查询模块的同步数据信息200DeckStatus播放、停止、快进等常规操作201TimePosition播放时间位置202TrackPosition播放曲目位置410MagazineStatus播放碟片信息412ActiveDisk碟片的选择切换413MediaInfo媒体信息420AudioDiskInfoCDC信息430DeckEvent碟机状态431MediaEvent媒体状态450Random随机播放451Scan扫描播放452Repeat重复播放对表3的说明:1、FktID==000时,操作数选择Get,询问模块的FktID信息,此时模块会返回一个Status状态,一般是AMS类型的信息,包含有模块内所有FktID的内容。2、FktID==001时,为对FktID表进行管理。3、FktID==100时,SourceInfo为同步源信息的查询,可以通过发以下命令来获得同步数据源的信息:AudioDiskPlayer.01.SourceInfo.Get(XX)括号里的XX为同步数据源的序号,第一个同步数据源为0x01,第二个为0x02,依此递增。被查询模块将返回该同步源的相关信息,包括所占用的通道列表,这个在多个数据源之间切换时很有用,可以通过这个命令来查询目标数据源所占用的同步通道。4、FktID==101,Allocate为同步数据源分配传输通道。命令如下:AudioDiskPlayer.02.Allocate.StartResult(01)其中括号内的数字为同步数据源的序号,如果是为02号同步数据源分配通道则将01改为02即可。分配完成后可以通过FktID==100时,SourceInfo来查询。5、FktID==102,DeAllocate,释放被同步数据源所占用的通道,命令为:AudioDiskPlayer.01.DeAllocate.StartResult(01),括号内的01为同步数据源的序号,上面命令意思是释放AudioDiskPlayer.01内01号同步数据源。6、FktID==104,SourceName,这个命令用来查询同步数据源的名字。用Get操作。7、FktID==116,SyncDataInfo可用来查询模块的同步数据信息,用Get询问,此时模块会返回模块内数据源的总数以及接收器的总数。8、FktID==200,DeckStatus,对CDC的播放,暂停等操作都包含在这个子功能里。命令所具有的操作类型如下表操作类型对应的操作数如下表:命令样例:AudioDiskPlayer.02.DeckStatus.SetGet(00)这个命令表示让AudioDiskPlayer.02这个设备开始播放。9、FktID==201,TimePosition,用Get查询,模块将返回当前CD和曲目播放的时间点,每0.3S左右都会有这个数据返回。10、FktID==202,TrackPosition,曲目选择。命令如下:AudioDiskPlayer.02.TrackPosition.Set(number)。括号内的number即为歌曲的序号,若选1则播放第一首歌曲,2则播放第二首。操作类型还有:increment(01):播放下一首;Decrement(01):播放上一首。11、FktID==410,MagazineStatus,查询CDC内的信息,通过Get命令可以查询CDC内是否有碟片。12、FktID==412,ActiveDisk,对CDC内的碟片进行操作,AudioDiskPlayer.02.ActiveDisk.SetGet(DiskNr),其中DiskNr为第几张碟片,如播放第一张碟片则将DiskNr=01即可。increment(01):播放下一张碟;Decrement(01):播放上一张碟。13、FktID==413,MediaInfo,用Get查询获得播放媒体的信息。14、FktID==420,AudioDiskInfo,用Get查询,获取歌曲名称,播放时间,曲号等信息。15、FktID==430,DeckEvent,用Get查询,可以获得当前CDC的工作状态,如电压过低,碟片异常等信息。16、FktID==450,Random,随机播放功能,操作类型如下:17、FktID==451,Scan,扫描播放功能,开启这个功能后,每首歌播放10

1 / 15
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功