南岭实验室的项目总体结构图及其总结与思考
2010-03-18 21:28
267 查看
南岭实验室的项目总体结构图,这是我问曲师兄后自己总结的结构,在这里面,client是每一个操作自己车辆的用户,通过个人电脑向自己的车辆发送信息,先通过server判断请求是否正确,是否可靠,然后通过CDMA发送给车载网关,车载网关有CDMA的接收端,接收到消息后将其交给CDMA的驱动,驱动扔给linux网络协议堆栈,然后packet截包程序从总截获数据包,然后根据IPV6地址判断是扔给can_module还是GPS_module。
因为从上层server传过来的数据包是加密的,在网关中不能对其进行解密,但是在can_controler(GPS中心导航)中却可以将其解密,这样,传过来的数据包还要通过以太网传给can_controller让其经行解密,解密完成后再传回给can_module。这样,在can_module中就要把传给哪个can_node的IPV6地址经行保存(放在数据段的最后)。这样才能在从can_controller返回数据包后还能知道是传给哪个can_node结点。
(GPS的还没有看,所以这里没有写)
Can_module程序中通过对文件的处理来和can驱动经行数据传输,can总线在接到一个数据包后会有一个返回值,这个值现在我们的程序只能一次的读取,也就是说,我们只能从上层控制can_node,而不能从can_node主动的向上层发送数据。最终的目的是希望实现can_node和车载网关之间能经行交互传输数据。所以,这也是我主要研究的方向。
所以还要去了解的东西就是can驱动,有两种方法可能能实现数据的上通下达
1. 把我们can_module中的can_interrupte函数extend出来,这样在can驱动中的代码就能调用到这个函数,当有数据包到达时就可以调用这个函数将数据包传输到车载网关。但这种方法可能会遇到一些问题,就是在程序在读写文件的时候会发生中断,而如果交给can_interrupte后就可能在中断问题上发生数据问题(具体什么问题还要研究)。
2. 第二种方法实现起来可能有一些难度(相比第一种方法),就是把can驱动的代码和can_module经行整合,这样把他们放到一起编译,就成了一个整体,这样第一种方法所遇到的一些问题也就得到了解决。
相关文章推荐
- CBS项目总结中一张活动图的一点思考
- Bugnet学习总结(3)项目文件结构
- 饿了么-vur2.0实现总结一(项目创建及文档结构) _补充图片
- 【腾讯Bugly干货分享】微信小程序开发思考总结——腾讯“信用卡还款”项目实践
- 第六弹:微信小程序开发思考总结—“文章阅读器和电影信息”项目实践---项目结束和补充总结
- SQL Server2000 索引结构及其使用 (索引使用经验总结)
- LINUX系统学习与进阶—项目实践中Linux集群的总结和思考
- 对于画图板项目的相关总结和思考
- 项目开发遇到的问题及其解决.总结
- DeepLearning(基于caffe)实战项目(7)--从caffe结构里函数总结一览caffe
- ServiceStack 项目实例 006 通过官方示例总结的项目结构方案
- U-Boot移植(6)总结U-Boot工程的总体结构
- iOS开发总结——项目目录结构
- 数据结构笔记--总结各种查找算法及其应用
- 项目方案目录结构总结
- 做项目思考总结若干点
- 第十五周--数据结构(项目一)--哈希表及其运算的实现
- 自己总结的USB数据结构及其描述符
- 最近一些项目编码实践总结思考
- 一个项目结构--源自《learn python hard way》的项目结构总结