基于PCIe的多路串行通信模块设计与实现
发布时间:2017-07-28 14:35
本文关键词:基于PCIe的多路串行通信模块设计与实现
【摘要】:嵌入式系统具有体积小、价格低廉、功能强大等优点,在工控、国防和航天等领域有着广泛应用。在嵌入式系统中,多路数据采集是一个重要研究方向。通常多路数据采集是通过现场总线从各路传感器中采集数据串行上传,但是这种做法难以满足多通道、大批量数据的同时传输。PCIe(PCI Express)总线的高带宽和高稳定性等特性使得基于PCIe扩展的多路串行通信逐渐成为研究的热点,由此引出基于PCIe的多路串行通信的设计概念。本课题源于新一代医疗监护仪的研制。在该项目中,需要通过各种参数测量模块,外接导线和探头,实时测量人体的心音信号,体温,血压等各项生理特征参数,并将测量的数据传回工控机显示并存储。本课题既解决了监护仪研制中多路数据传输的问题,所设计的通信模块又可以独立的在类似的场合中应用。多路数据传输时采用的是串口通信方式,考虑到参数测量模块的串行接口不带有流量控制引脚,为保证数据的可靠传输,在驱动层添加协议阻塞工控机与参数模块通信,课题研究了协议的帧格式、差错检测和滑动窗口等细节;探讨了硬件框架方案的选择,采用了OXPCIe958主控芯片,外接8路UART接口芯片的通信卡;深入阐述Linux内核中终端设备层、UART层的架构及数据流向,参考Linux驱动规范编写硬件驱动程序,并解决了设备的并发控制问题;编写了应用程序串口控制类和界面控制类,采用图形视图框架对串口数据进行显示,采用SQLITE轻量型数据库进行存储;测试了极限速率下工控机和参数模块的CPU利用率和传输速率,对该测试结果进行了分析,给出了需要改进和确认的地方。经过长时间测试,测试结果包括CPU利用率和传输速率都满足指标要求,驱动程序、流量控制协议正常工作,并且在应用层可以对多路数据进行图形显示控制,为工控领域中类似场合提供有力参考。
【关键词】:PCIe 多路串口 驱动 流量控制
【学位授予单位】:哈尔滨工业大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TH789
【目录】:
- 摘要4-5
- ABSTRACT5-8
- 第1章绪论8-17
- 1.1 课题研究背景及意义8-11
- 1.2 国内外研究现状分析11-16
- 1.2.1 多路数据采集11-13
- 1.2.2 数据链路层协议研究13-14
- 1.2.3 PCIe的串行化应用14-16
- 1.3 课题研究的主要内容16-17
- 第2章流量控制协议设计17-31
- 2.1 引言17
- 2.2 流控方案选择17-18
- 2.3 协议设计需求18-19
- 2.4 帧格式及实现19-23
- 2.4.1 协议帧格式20-22
- 2.4.2 帧格式实现22-23
- 2.5 差错检测23-24
- 2.5.1 比特差错23-24
- 2.5.2 帧丢失24
- 2.6 滑动窗口24-30
- 2.6.1 1比特滑动窗口协议25
- 2.6.2 选择重传协议25-27
- 2.6.3 链路利用率分析27-29
- 2.6.4 滑动窗口机制选择29-30
- 2.7 超时定时器定时时间设定30
- 2.8 本章小结30-31
- 第3章多路串行通信的实现31-42
- 3.1 引言31
- 3.2 硬件平台简介31-34
- 3.2.1 系统方案设计31-33
- 3.2.2 RS422 接口33-34
- 3.3 串行通信在Linux内核中的实现机制34-37
- 3.3.1 终端设备层结构35-36
- 3.3.2 UART层结构36-37
- 3.4 硬件驱动程序设计37-40
- 3.4.1 数据结构37-38
- 3.4.2 模块的加载与卸载函数38
- 3.4.3 发送和接收数据流程38-40
- 3.4.4 并发控制40
- 3.5 本章小结40-42
- 第4章应用程序设计及系统调试42-51
- 4.1 引言42
- 4.2 串行通信的实现42-44
- 4.2.1 串行控制类42-43
- 4.2.2 串行通信类43-44
- 4.3 图形视图框架44-45
- 4.4 数据存储45-46
- 4.4.1 创建数据库连接46
- 4.4.2 数据库操作46
- 4.5 系统调试46-50
- 4.5.1 测试平台47
- 4.5.2 测试环境47
- 4.5.3 测试结果47-49
- 4.5.4 结果分析49-50
- 4.6 本章小结50-51
- 结论51-52
- 参考文献52-56
- 致谢56
【参考文献】
中国期刊全文数据库 前1条
1 刘文峰,李程远,李善平;嵌入式Linux操作系统的研究[J];浙江大学学报(工学版);2004年04期
,本文编号:584565
本文链接:https://www.wllwen.com/kejilunwen/yiqiyibiao/584565.html