APC在T―Box设计中的应用解决方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
APC在T―Box设计中的应用解决方案.doc

APC在T―Box设计中的应用解决方案   T-Box是当今互联汽车车载系统中一个非常重要的部件,其主要功能是实现汽车与TSP的互联。通常T-Box在硬件层面会设计为MPU+MCU的架构方式:MPU用来实现T-Box应用程序功能,而MCU主要功能是将T-Box接入汽车CAN总线。这样T-Box通过CAN的接入将具备监视汽车工况的功能,而且也将具备实现操控汽车的功能:如透过T-Box实现打开、关闭汽车车门,打开、关闭汽车空调等汽车远程控制功能。本案将着重讨论APC在T-Box设计中用来实现MPU与MCU之间的通信解决方案。   【关键词】T-Box APC 应用程序   1 现状与目的   从硬件层角度刨析T-Box,其主要由MPU板卡和MCU板卡组合而成。T-Box的基本框架如图1所示。   由图1,可以清楚地看到MPU与MCU是通过UART建立通信连接,而MCU直接连接CAN、PWR、KEYBOARD、BACKLIGHT和EEPROM等外设。因为MCU从本身硬件和软件体系设计出发可以直接访问外设,而MPU透过UART与MCU进行通信,所以MPU间接地也实现了访问T-Box外设的功能。   通常:MCU会部署专有的开发系统和Kernel,控制程序设计模式采用单片机方式,控制程序透过GPIO直接读写外设。MPU则会部署嵌入式Linux开发系统和Kernel,应用程序设计模式采用Linux应用程序设计方式,应用程序运行在用户态是不能直接访问外设(包括与MCU通信),应用程序需要访问外设驱动节点才可以读写外设。   当然MPU的应用程序是可以直接打开UART驱动节点与MCU建立通信,传递访问某外设的指令给MCU,MCU执行完毕后将结果回传给MPU,这样来实现MPU访问外设的目的。以这样的方式来构造MPU的应用程序,需要堆叠大量的代码来处理MCU UART通信过程:负责发送命令到MCU,解析MCU UART回传的数据包并将结果回送到调用模块,负责具体地收发处理保证收发数据包的完整性。另外因为访问外设节点是多个且每个外设节点的命令也很多,这样一来负责处理MCU UART通信过程的模块不仅仅代码量是巨大的,处理过程也是复杂的,这种方式设计直接带来的问题是MPU的应用程序逻辑复杂、体积庞大,维护工作量很大。   因此本案提出采用APC的设计模式来实现和管理MPU与MCU之间的通信过程。   2 MPU APC设计方案   2.1 APC架构框图   APC架构框图如图2所示。   图2描述了APC的架构,对于MCU来说,控制程序处理逻辑和框架保持原有的设计没有变化。对于MPU来说,将用APC框架构造通信服务管理模块用来处理与MCU UART通信的逻辑与过程。APC整个框架分为五层:   (1)port层,UART的驱动部分,具体实现UART的读写控制等操作,引出open/close/ioctl等接口到IO层。   (2)IO层,封装I/O接口,并将接口引出到core层。   (3)core层,负责注册I/O接口和注册protocol接口,并将V-DEV接口绑定到protocol接口。   (4)protocol层,申明协议接口,定义封装与解包协议结构体,并引出rece/send接口到V-DEV层。   (5)V-DEV层,创建虚拟设备节点,并将虚拟节点置于“/dev”下,由设备管理器统一管理。虚拟节点前缀名称定义为“misc”,例如“/dev/misc0”就是一个可以由应用程序直接访问的设备节点。   具体的虚拟节点将映射到MCU的具体外设,且是一一对应关系,比如可以规定“/dev/misc0”对应“CAN”。如应用程序需要访问“CAN”,应用程序打开“/dev/misc0”节点,进行读写或调用ioctl等操作就可以完成对“CAN”的访问:   (1)发送命令,应用层调用节点write接口,因为core层将V-DEV接口绑定到protocol接口,APC架构直接寻址到CAN protocol send,对命令进行封包后,调用I/O封装的读写接口将命令发送到MCU。   (2)数据接收,应用层调用节点read接口,因为core层将V-DEV接口绑定到protocol接口,APC架构直接寻址到CAN protocol rece,调用I/O封装的读写接口等候MCU发送数据,收到数据后进行解包操作,立即将数据回送到节点read接口同时解锁阻塞read过程,应用层即可读取到MCU发送来的数据包;   2.2 协议结构定义   基于APC框架,MPU与MCU之间信息交换(发送命令和接收数据)首先需要将命令字和内容序列化然后再通过UART进行发送和接收。这里定义序列化协议结构体如图3所示。   协议结

文档评论(0)

fa159yd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档