登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 开题报告 > 电子信息类 > 通信工程 > 正文

基于ARM的串口通信开题报告

 2020-04-14 16:03:19  

1. 研究目的与意义(文献综述包含参考文献)

文 献 综 述

一,背景介绍:随着科技与经济的快速发展,通信技术在生产生活中应用得越来越广。ARM与单片机之间进行数据传输有多种通信方式,而串口通信以其简单的硬件连接,成熟的通信协议,成为两位机之间通信的首选,在工业控制、汽车、家电等领域中具有其独特的优势。另外随着集成电路的快速发展,在当前嵌入式系统设计中,以ARM为内核的处理器芯片因其高性能、低成本、低功耗的优势而成为了开发的主流。因此也使得基于ARM的串口通信的课题研究变得相当的重要。

二,串口通信:串口通信通常是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。而串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数据从CPU经过串行端口发送出去时,CPU里的字节数据转换为了串行的位。而在接收数据时,串行的位被转换为了字节数据。串口作为系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。但这次却是要实现多个单片机之间的串口通信,而不是单片机与计算机之间的。由于传输距离较短,因此使用串行接口类型是RS-232。在RS-232标准中,字符是以比特串来一个接一个的串行方式传输,优点是传输线少,配线简单,传送距离可以较远。

由于串口通信是异步的,端口能够在一根线上发送数据并在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信中最重要的参数为波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配:

a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的比特的个数。

b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息包。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。

c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。

d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

三,KEILμVision4:Keil μVision4是德国的Keil Software公司出品的ARM系列兼容单片机C语言软件开发系统。它引入了灵活的窗口管理系统,而新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁、高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能,其编译器、调试工具实现与ARM器件的最完美匹配。

四, STM32:这次课题将使用ARM中的STM32微控制器,这是ST第一个基于ARM Cortex-M3

内核的微控制器。STM32的出现将当前微控制器的性价比水平提升到了新的高度,同时它在低功耗场合和硬实时控制场合中也能游刃有余。Cortex系列分为3各分支:专为高端应用场合而设的A分支,为实时应用场合而设的R分支,还有专为对成本敏感的微控制器应用场合而设的M分支。STM32微控制器基于M分支的Cortex-M3内核,按其性能可以分成两个不同的系列: STM32F103”增强型”系列和STM32F101”基本型”系列。增强型系列时钟频率达72MHz,是同类产品中性能最高的产品;基本型时钟频率为36MHz,以16位产品的价格得到比16位产品大幅提升的性能,是16位产品用户的最佳选择。两个系列都内置32K到128K的闪存,不同的是SRAM的最大容量和外设接口的组合。时钟频率72MHz时,从闪存执行代码,STM32功耗36mA,是32位市场上功耗最低的产品,相当于0.5mA/MHz。

五,小结:

由于RS-232C接口标准出现较早,难免有不足之处:接口的信号电平值过高导致芯片损坏,传输速率低等。上位机ARM的速度比单片机快很多,所以一次不能发送过多的数据,否则极有可能使发送缓冲区溢出而出现数据丢失的现象。因此要根据通信双方设备的状况选择合适的帧长度,以达到最佳的传输状态。

TXD

RTD

主机

TXD RXD

1# 从机

TXD RXD

2# 从机

课题实现框图

利用OPEN()函数打开串口设备文件

设置串口参数属性

Read(),Write()函数读写串口,读写完成后close()函数关闭串口

Return()向操作系统返回

打印出错信息,并返回

基于ARM的串口通信程序流程图


参考文献:

[1] 杜春雷. ARM体系结构与编程[M]. 北京:清华大学出版社,2003:32-40.

[2] 王永红. STM32系列ARM CortexM3微控制器原理与实践[M]. 北京:北京航空航天大学出版社,2008:123-130.

[3] 姚文祥. ARM Cortex-M3权威指南[M]. 北京:北京航空航天大学出版社,2009:75-81.

[4] 杨恒. ARM嵌入式系统设计及实践[M].西安:西安电子科技大学出版社,2005:20-31.

[5] 贾智平,张瑞华.嵌入式系统原理与接口技术[M].北京:清华大学出版社,

2005:203-213.

[6] 刘洪梅,薛永毅. 微型计算机接口技术[M].北京:清华大学出版社,2002:56-60.

[7] 张迎新. 单片微型计算机[M].北京:国防工业出版社,1998:201-212.

[8] 蒙博宇. STM32自学笔记[M]. 北京:北京航空航天大学出版社,2012:129-139.

[9] 潘巨龙,黄宁,姚伏天,陈科杰,道克刚. ARM9嵌入式Linux系统[M]. 北京:

北京航空航天大学出版社,2006:75-84.

[10] 何加铭. 嵌入式32位微处理器系统设计与应用[M]. 北京:电子工业出版社,2005:1-7.

[11] 孙红波. ARM与嵌入式技术[M]. 北京:电子工业出版社,2006:131-134.

[12] 陈竞,刘玉,熊祖彪. PC与ARM 嵌入式系统间串口通信功能的实现[D].武汉:华中科技大学,2005:1-2.

[13] 任兵 ,任小洪, 黄山 ,李国志. Linux 下 ARM 和单片机的串口通信研究[D].四川

:四川理工学院自动化与电子信息工程学院,2006:3-4.

[14] 马文辉,李兰友. Linux 环境下的串口通信[J]. 仪器仪表用户,2005:12(1)

:39-41.

[15] W. Richard Stevens. UNIX 环境高级编程[M]. 2 版. 尤晋元,译.北京:

人民邮电出版社, 2006:45-50.

2. 研究的基本内容、问题解决措施及方案

一、本课题要研究和解决的问题:

利用arm单片机设计一个串口通信硬件平台,并编写串口通信软件,实现多机之间数据传输。

二、途径:

剩余内容已隐藏,您需要先支付 5元 才能查看该篇文章全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图