心脏跳的快吃什么药| 魑魅魍魉是什么意思| 十月十九是什么星座| nac是什么| 怀孕梦到蛇预示着什么| 狮子座上升星座是什么| 区域经理的岗位职责是什么| 9月10号是什么星座| 眼睛怕光是什么原因| 巴适是什么意思| 看不起是什么意思| 一生一世是什么意思| 睡觉总是做梦是什么原因| 人体最长的骨头是什么| 1943年属羊的是什么命| 12月29号是什么星座| 晚上胃疼是什么原因| 淋巴结发炎吃什么药| 胎盘老化是什么原因造成的| 为什么会得毛囊炎| 银手镯变黑是什么原因| 鼻子旁边的痣代表什么| 牙齿咬不动东西是什么原因| 排骨和什么一起炖好吃| 什么快递比较快| 人加一笔变成什么字| h代表什么意思| 人乳头病毒是什么意思| lord什么意思| 宫寒吃什么好得快| 举足轻重什么意思| 癌胚抗原高是什么意思| 吾矛之利的利什么意思| 吴优为什么叫大胸姐| 黄精什么功效| 黑色素是什么| 2009年属什么生肖| 直肠炎吃什么药效果好| 口腔溃疡需要补充什么维生素| 1924年属什么| 为什么三文鱼可以生吃| 身份证尾号代表什么| 羊肉和什么菜搭配最好| 胎位rsa是什么意思| 清谷天指的是什么| 血糖高喝什么牛奶好| rash什么意思| nt和无创有什么区别| 肥肠烧什么配菜好吃| 臊子面的臊子是什么| rp是什么意思| 鸡肉炖什么好吃| 一个万一个足念什么| 吃什么生发| 每天吃黄瓜有什么好处| 上报是什么意思| plover是什么牌子| 公开课是什么意思| castle什么意思| 寂寞是什么意思| 阿西是什么意思| 一模一样的意思是什么| 小便尿道刺痛吃什么药| 我追呀追呀是什么歌曲| 什么人容易得圆锥角膜| 上海话册那是什么意思| 走路快的人是什么性格| 左手发麻什么原因| 什么牌子的大米好吃| 咽喉炎吃什么药最好| 室性早搏是什么意思| 10.14是什么星座| 我要控制我自己是什么歌| 作茧自缚是什么意思| 胃体隆起是什么意思| 例假少吃什么药| 伏特加是什么| 头晕恶心是什么原因| 毕业送什么礼物给老师| 12356是什么电话| 肚子疼应该挂什么科| 瘦脱相是什么意思| 囊性包块是什么| 骨质疏松用什么药好| 冰冻三尺非一日之寒什么意思| 舌中间有裂纹是什么原因| 隔桌不买单是什么意思| 私奔什么意思| 肺腺瘤是什么| 微尘是什么意思| 七月七日是什么日子| 日本为什么偷袭珍珠港| 怀孕初期吃什么蔬菜好| experiment是什么意思| vre是什么细菌| 痣为什么会越来越多| 什么是神经衰弱| 黑吃黑是什么意思| 兑水是什么意思| a和b生的孩子是什么血型| 白细胞阴性什么意思| 皮可以加什么偏旁| 腺苷脱氨酶高什么意思| 胃窦黄斑瘤是什么病| 嗓子疼看什么科室| 肠痉挛吃什么药| 冬天有什么水果| 标新立异是什么意思| 晒伤了涂什么药| 加百列是什么天使| 石女是什么意思| 龙吃什么食物| 睾酮素低了有什么症状| 外周血是什么意思| 胸口不舒服挂什么科| dd什么意思| 提心吊胆是什么生肖| 内向是什么意思| 微字五行属什么| 排卵期过后是什么期| 今年是什么生肖| 嘴唇发乌是什么原因| 铁石心肠是什么意思| 一热就头疼是什么原因| 籽骨是什么意思| 鸡的祖先是什么动物| g6pd是检查什么的| 什么笔不能写字| 无水焗是什么意思| 紫微星是什么意思| 尖牙什么时候换| 顾影自怜是什么意思| 美仑美奂什么意思| 冥王星是什么星| 大林木是什么生肖| 康庄大道什么意思| 导演是干什么的| 什么海翻江| 小龙虾不能和什么一起吃| 肺肾两虚吃什么中成药| 蝙蝠是什么类| 便秘吃什么可以调理| 稻花鱼是什么鱼| 宜昌有什么特产| 古丽是什么意思| 子宫后倾位是什么意思| 脾胃挂什么科| balance什么意思| 77年属蛇的是什么命| 珍珠状丘疹有什么危害| 手脚麻木是什么原因引起的| 庆大霉素治疗鱼什么病| 毛主席为什么不进故宫| 喝啤酒有什么好处| fda是什么| 军加皮念什么| 23岁属什么生肖| 站久了腰疼是什么原因| 什么颜色衣服显皮肤白| 早餐吃什么简单又营养| 甲木代表什么| 螳螂喜欢吃什么| 铂金什么颜色| 嘴唇上起泡是什么原因| 名垂千古是什么意思| 转网是什么意思| 着凉拉肚子吃什么药| mm是什么病| 蜜蜡和琥珀有什么区别| 猪肚子和什么煲汤最好| 团县委是什么单位| hpv感染有什么症状女性| 钾高是什么原因引起的| 什么的流| 嘴巴里苦是什么原因| 不胜感激是什么意思| 长期干咳无痰是什么原因引起的| 边鱼是什么鱼| 羽衣甘蓝是什么菜| 女人吃什么补充胶原蛋白| 红色裤子配什么上衣好看| 试管婴儿是什么意思| 晚上吃什么减肥效果最好| 百合花什么时候种植| 裸钻是什么| 缺钙吃什么食物| 指鹿为马指什么生肖| 抽筋是什么病| 只是女人容易一往情深是什么歌| 吃什么生精养精最快| 三大精神是什么| 张飞穿针歇后语下一句是什么| 位数是什么意思| 心是什么| 黄体酮是什么| 水代表什么生肖| 晚上睡觉脚抽筋是什么原因引起的| 秋天是什么样子的| 抗核抗体是检查什么的| 鱼油什么人不能吃| 金牛座与什么星座最配| 黄金为什么这么贵| sk是什么牌子| 手麻木吃什么药好| 白细胞高说明什么| 小人难防前一句是什么| ns是什么单位| 什么旺土| amor是什么意思| 淫秽是什么意思| 梦见笑是什么意思| 7月31日是什么星座| 蛇与什么属相相克相冲| 后背中心疼是什么原因| 什么东西越晒越湿| hpv感染是什么病| 请什么自什么| 2月15号是什么星座| 芒硝是什么东西| 一月15号是什么星座| 为什么没有| 全国政协副主席是什么级别| 西安五行属什么| 印度以什么人种为主| 捣碎东西的器皿叫什么| 愚孝什么意思| 见龙在田什么意思| 朝什么暮什么| 吃什么减肥| 吃什么补筋和韧带最快| 新生儿不睡觉是什么原因| 农历五月十八是什么日子| novo是什么牌子| 女生来大姨妈要注意什么| 头疼头晕挂什么科| 香肠炒什么好吃| mlb中文叫什么| 口水多吃什么药好得快| 敌敌畏中毒用什么洗胃| 骨蒸潮热 是什么意思| 眉头有痣代表什么意思| 抠是什么意思| professional是什么意思| 黄水疮用什么药膏最快| 为什么白头发越来越多| 发光免疫是检查什么的| 90年出生属什么生肖| 夫妻分床睡意味着什么| 尿精是什么原因造成的| 名声是什么意思| 什么瓜不能吃脑筋急转弯| 祥林嫂是什么样的人| lpn什么意思| 变应性鼻炎是什么意思| 万言万当不如一默是什么意思| 诸是什么意思| 魅可口红属于什么档次| 非转基因是什么意思| 扭伤挂什么科| 商业保险报销需要什么材料| 2004年属什么生肖| 浸猪笼是什么意思| 扶他林是什么药| trans什么意思| 百度

基于PXA270与WinCE的分布式地铁车载系统开发

汽车电子 时间:2025-08-06来源:网络
百度 说那些加了花式作料的煎饼馃子,天津本地人“基本上都不会买”恐怕也严重涉嫌夸大事实,老人们有口味偏好尚可信,说行色匆匆的上班族、小青年非“正宗”不吃,谁信呐!再说,天津也是“国际化大都市”,煎饼馃子都分出个“正宗”和“不正宗”来,在文化心态上就很不正宗,那意思别人家的、路边摊的煎饼馃子都是“庶出”、“别支”、“仿品”、“假冒”……干嘛呢,这是?(文/张翼)责编:刘思悦、李鹏宇

车载信息娱乐系统与报站系统作为地铁列车必不可少的配置显得尤为重要,可以使乘客准确地确定到站站点、缓解乏味的旅途,也可以轻松地获得各站点的换乘路线、乘车指南等有意义的信息。

早期车载多媒体播放器多是传统的磁带收音机、CD播放器、DVD播放器等,磁带机的缺点是音质不好且由于传动机械的故障会出现卡带的现象,现基本已淘汰。车载CD播放器最近几年才应用于车载系统,在音质方面有了很大的提高,但只能读取CD光盘不能下载网络媒体,具有歌曲更换不便的缺点,同时缺少可视效果[1]。DVD是采用MPEG2标准压缩的全数字影音光盘,它的特点是音质高、画质高、容量大,但成本相对较高,同时也具有CD播放器媒体文件更换不便的缺点[2]。现阶段的车载媒体播放系统多采用嵌入式技术,如以三星S3C2440A处理器为核心的车载信息服务系统,可实现信息提示、导航定位、多媒体播放等功能[3]。其中媒体播放多基于嵌入式流媒体技术,如通过GStreamer和RTP/RTCP流媒体协议设计流媒体播放器[4]。但此方式对于列车这种单一源多接收端拓扑结构,其带宽占用高,易造成堵塞。

现有公交报站系统仅是音频广播报站,地铁的报站提示是通过三色LED的颜色变化与音频广播来实现的,报站形式单一,且缺少换乘路线、乘车指南等信息的提示,同时与媒体播放系统相分离。例如通过在站台与列车上分别放置RF无线节点来实现自动报站。其系统使用射频与接收芯片CC1100、语音播放芯片VS1003和单片机控制,通过对每一个车站进行ID编码,利用身份识别技术实现自动报站功能[5]。此外,也有基于ZigBee技术的定位解决方案,通过放置无线节点组成ZigBee网络,根据射频接收信号强度指示计算出所需定位的位置[6],此方法对于实现报站功能成本过高。由于地铁运行于地下,乘客没有可参考的建筑物标识来判断即将到达的站点,因此其报站系统十分重要。而实现地铁的自动报站并非易事,它不能像地面公交系统那样通过GPS定位系统[7]来实现车辆的定位与报站。

针对以上问题,本文开发了一种基于PXA270硬件平台与WinCE嵌入式操作系统的车载媒体报站系统。此系统集媒体播放、站点信息播报与换乘信息提示于一体,媒体文件更换方便快捷。系统采用分布式布局,各车载播放终端通过软件升级后,完全可以作为车载广播中心使用,因此进一步增加了系统的稳定性。系统采用嵌入式技术,专用性强、特色功能易实现,如可根据站点的具体布局提示乘客换乘路线等。同时采用WinCE嵌入式操作系统,具有实时性好的特点。

1 系统硬件平台设计

系统采用Xscale PXA270芯片为核心处理器,主频为520 MHz,SDRAM为64 MB,Flash为32 MB[8-9]。由于报站同步性的需要,通过IP组播的方式将站点信息与媒体文件传输至各节车厢,这样既方便了多媒体文件的更新,同时也减少了系统的成本。系统主体框图如图1所示,采用分布式布局,即在列车的车头放置车载广播中心,实现站点的接收、媒体文件的存储、通过IP组播将到站离站信息与媒体文件传输至各节车厢。在各节车厢放置车载播放终端,负责接收站点信息与媒体文件,并完成多媒体播放与站点信息的广播报站功能。同时各节车厢的车载播放终端也可以作为车载广播中心进行工作,这样系统更加稳定可靠。



1.1 车载广播中心

车载广播中心放置在车头,负责站点信息与媒体文件的广播,其框图如图2所示。U盘负责存储媒体文件,触摸屏用于播放列表的制作与更换,按键则用于离站的信号触发,网络控制器则负责将站点信息与媒体文件传输至各车载播放终端。


1.2 车载播放终端

车载播放终端负责媒体文件与报站信息的接收和播放,其框图如图3所示。网络控制器用于接收报站信息与媒体文件,U盘用于存储各站点的报站音频与信息提示文件,LCD则用于视频与站点信息的显示,喇叭用于音频的播放。

1.3 站台节点与车载节点

站台节点采用STC89C52单片机为微处理器,通过其P0口连接8位拨码开关,实现对各站点的编码标识。NRF905模块与STC89C52单片机之间通过SPI串行外设接口通信,STC89C52 P1.4~P1.7引脚分别与NRF905模块的MISO、MOSI、SCK和CSN引脚相连,通过C程序模拟SPI时序完成数据的传输。站点的标识通过NRF905模块发送。站台节点原理图如图4所示。

车载节点上的NRF905模块负责接收站点标识,并通过串口将站点标识数据传输至车载广播中心。NRF905模块的连接方式同站台节点。车载节点原理图如图5所示。




2 系统软件构建

2.1 操作系统的选择与定制

WinCE是微软公司嵌入式、移动计算平台的基础,它是一个开放的、可升级的嵌入式操作系统[10]。WinCE是从整体上为有限资源平台设计的多线程、完整优先权、多任务的操作系统,模块化的设计使WinCE系统可大可小,具有很好的稳定性与移植性;支持多种外围硬件与设备,图形界面出色,其强大的图形界面开发能力是其他嵌入式操作系统所不具备的,因此很适合作为车载平台的操作系统。

利用WinCE进行嵌入式系统开发的首要工作是操作系统的定制,即根据实际需要进行裁剪、添加所需的组件与驱动,以及配置文件的修改。系统定制[11]的主要步骤如下:

(1)创建新工程

通过微软提供的Platform Builder5.0新建工程,在选择BSP包时,选择开发板提供的XSBASE270:ARMV4I。由于此系统的主要功能是多媒体的解码播放,因此设计模板选择为Digital Media Receiver。之后根据实际需要选择相应的组件完成工程的创建。

(2)配置平台

此过程主要是添加相关组件,是整个定制车载多媒体系统过程中的重点。其中主要有Usb Activesync(File Sync)、USB Mass Storage、中文字体(Chinese[Simplifiled])、Fat File System、键盘驱动(用于按键触发)、网卡驱动(用于网络传输)、触摸屏驱动(用于多功能操作)、DirectShow组件以及mp3、MPEG-1的解码Filter(用于媒体播放)等。通过Platform Builder 5.0编译生成的NK.bin文件下载至开发平台。

(3)导出SDK

导出的车载多媒体系统SDK用于在PC宿主机上通过Visual Studio 2005开发车载广播中心端MyNetSend以及车载播放终端MyNetPlayer应用程序。首先Configure SDK对SDK进行相应的配置,之后Build SDK等待完成后将生成的SDK安装于PC宿主机。

2.2 软件工作流程

车载广播中心完成媒体文件的IP组播发送、播放列表制作、站点信息接收和按键触发报站功能。具体流程如图6所示。



MyNetSend发送端程序启动后首先进行页面的初始化、播放列表的加载,之后启动发送线程,将列表中的文件依次组播发送。当接收到到站信号后将发送线程挂起,之后调用进站信息发送函数,等待报站音频播放结束后恢复发送线程。当有按键按下时产生WM_KEYDOWN消息,再将发送线程挂起,之后调用离站信息发送函数,等待报站音频播放结束后恢复发送线程。如此往复循环。

车载播放终端负责媒体文件的接收与播放、语音报站以及到站与换乘信息提示。具体流程如图7所示。MyNetPlayer接收端程序启动后创建DirectShow的滤波器链表FilterGraph,启动接收线程,解析接收到的组播报的报头,如果是DATA_MEDIA则将数据报通过DirectShow技术解码播放;如果是ARRIVE**则向窗口类发送WM_ARRIVE**消息,窗口类接收到对应的到站消息后则调用对应的到站处理函数,即播放到站提示音频与显示到站与换乘提示信息;如果是LEAVE**则向窗口类发送WM_LEAVE**消息,窗口类接收到对应的出站消息后则调用相应的出站处理函数,即播放出站提示音频与下一站的换乘提示信息。


2.3 功能实现

2.3.1 媒体文件的IP组播与接收

IP组播是通过使用特定的IP组播地址,将IP数据报传输到一个组播群组,所有加入该组的网络接收者均可以收到这份数据,这样极大地减小了网络负载。媒体文件的组播是通过CMulticastAdmin类来实现的,具体过程如下:


 (1)发送端
 ①创建组播组
 mMulticaster->CreateMulticaster();
 ②获取媒体路径名
 SourceFile=mProgramListCtrl.GetItemText(NowListNum,1);
 ③打开媒体文件
 m_objFile.Open(m_strSourceFile,CFile::modeRead|CFile::typeBinary)
 ④读取媒体文件数据
 nRead=m_objFile.Read(pBuf+sizeof(MSG_HEADER),MPEG1_PACK);
 ⑤设置数据报报头
 pMsg->nMsgType=DATA_MEDIA;
 ⑥组播
 Multicast(pBuf,nMsgSize);


 (2)接收端
 ①开启接收线程
 m_pReceiver->StartReceiving();
 ②接收数据
 nret=Receive(buff,nMsgSize);
 ③解析报头
 PMSG_HEADER pMsg=(PMSG_HEADER)buff;
 nMsgType=pMsg->nMsgType;

2.3.2 DirectShow解码播放

DirectShow是微软公司在ActiveMovie和Video for Windows的基础上推出的新一代基于COM的流媒体处理的开发包[12]。DirectShow使用Filter Graph的模型来管理整个数据流的处理过程,各个Filter在Filter Graph中按一定的顺序连接成一条“流水线”协同工作。按照功能划分,Filter大致分为三类:Source Filters、Transform Filters和Rendering Filters。首先通过Source Filters负责取得网络组播数据,然后将数据往下传输,之后经Transform Filters进行数据的格式转换、传输,最后Rendering Filters将数据传送给显示与音频设备进行多媒体的演示。接收端MyNetPlayer进行解码播放的过程如下:

 (1)创建滤波器链表管理器m_pGB
 HRESULT hr=CoCreateInstance(CLSID_FilterGraph,
 NULL,
 CLSCTX_INPROC,
 IID_IGraphBuilder,
 (void**)m_pGB);
 (2)查询媒体控制接口
 hr=m_pGB->QueryInterface(IID_IMediaControl,(void**)m_pMC);
 (3)添加自己制作的接收网络数据的SourceFilter
 hr=m_pGB->AddFilter(m_pSourceReader, NULL);
 (4)构建滤波器链表,渲染媒体文件
 HRESULT hr=m_pGB->Render(m_pSourceReader->GetPin(0));
 (5)进行播放
 hr=m_pMC->Run();

2.3.3 自动报站

自动报站是通过向窗口类发送自定义的到站与离站消息来实现的。当窗口类接收到到站或离站消息后再调用相应的消息处理函数,从而实现自动报站。下面是WM_MESSAGE_ARRIVE1站点1的到站消息处理函数,其他消息处理函数与其类似。

LONG CMyNetPlayerDlg::OnMessageARRIVE1(WPARAM wParam, LPARAM lParam)
{
m_pGraph->m_pVW->put_Visible(OAFALSE);
//将视频画面屏蔽
InitMyGraph();
//初始化用于播放mp3音频文件的GraphFilter
bmp.LoadBitmap(IDB_BITMAP1);//加载到站位图
drawbitmap();//显示位图
m_StaText.SetWindowText(L十三号街站到了);
//显示到站信息
HRESULT hr;
long evCode;
hr=pGraph->RenderFile(L/硬盘/stationin/1.mp3,NULL);//构建滤波器链表,渲染报站音频文件
hr=pControl->Run();//播放
pEvent->WaitForCompletion(INFINITE,evCode);
//等待音频播放完毕
pControl->Release();//释放资源
pEvent->Release();
pGraph->Release();
CoUninitialize();
bmp.DeleteObject();
m_pGraph->m_pVW->put_Visible(OATRUE);
//显示原视频画面
return 0;
}

3 系统测试实验

在实验室内模拟列车运行流程进行测试,通过三个开发平台完成实验,其中之一运行MyNetSend程序作为车载广播中心,其余两个运行MyNetPlayer程序,模拟为车载播放终端。

3.1 车载广播中心的媒体文件发送

车载广播中心通过车载节点接收站台信息实现到站与离站信息的提示。发送终端软件界面如图8所示,可通过添加与删除按钮进行媒体文件的添加删除,从而完成媒体文件列表的制作,车载广播中心软件则根据该文件列表顺序循环广播。其主要特点是根据站台节点发送的站台信息报站,报站准确无误,且当有多次按键触发时不乱报。



3.2 车载播放终端的媒体播放与自动报站


车载播放终端完成了将接收的媒体文件解码播放,到站与离站信息的播报。图9为模拟列车运行中(无偶次按键触发、无站台节点信息)播放媒体文件时的显示界面,此时终端界面底部循环显示日期、时间、下一站信息和换乘信息,上部播放接收到的媒体文件,界面简洁人性化。



本文提出了基于PXA270微处理器与WinCE嵌入式操作系统的地铁媒体报站系统实现方案,系统能够充分完成媒体文件的传输播放与到站、离站信息的准确提示。车载广播中心可通过更改播放列表完成媒体文件的更新,既方便快捷又经济。车载播放终端界面简洁人性化。同时通过软件升级可支持更多种媒体文件的播放。

关键词: pxa270 S3C2440A WinCE STC89C52

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版
为什么会湿疹 两情相悦什么意思 今年78岁属什么生肖 身上到处痒是什么原因 慢性支气管炎吃什么药
后入什么意思 丁亥年五行属什么 生肖鼠和什么生肖最配 嘴唇发红是什么原因 单个室早是什么意思
乳腺低回声结节是什么意思 你的脚步流浪在天涯是什么歌曲 化脓性扁桃体炎吃什么药 衤叫什么偏旁 进仓是什么意思
衣原体感染吃什么药 酸碱度偏高是什么意思 面试是什么意思 宫颈机能不全是什么意思 黄芪和什么泡水壮阳
为什么会子宫内膜增厚hcv8jop6ns1r.cn 什么是同素异形体hcv8jop6ns6r.cn 西红柿不能和什么一起吃hcv8jop2ns3r.cn 什么是平行世界hcv8jop0ns0r.cn 做b超憋尿要憋到什么程度hcv8jop3ns1r.cn
棚改是什么意思hcv9jop7ns1r.cn 血小板压积偏高是什么意思hcv7jop5ns1r.cn 滴虫性阴炎有什么症状表现hcv8jop5ns9r.cn 安痛定又叫什么名字hcv9jop0ns0r.cn Urea医学上是什么意思hcv7jop4ns8r.cn
宫外孕和宫内孕有什么区别hcv8jop3ns0r.cn 2月27是什么星座helloaicloud.com 世界上最难写的字是什么hcv8jop8ns6r.cn 七月一是什么星座hcv8jop0ns1r.cn 尿毒清颗粒主治什么病hcv8jop7ns4r.cn
机遇什么意思hcv9jop1ns1r.cn 桑葚有什么好处hcv7jop9ns3r.cn 什么牌子的辅酶q10好hcv8jop1ns0r.cn 孕酮低吃什么可以补hcv9jop1ns4r.cn 阎王叫什么bfb118.com
百度