嵌入式课设——串口通信

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

******************

实践教学

******************

兰州理工大学

计算机与通信学院

2013年春季学期

嵌入式系统开发技术课程设计

题目:嵌入式串口通信的设计

专业班级:通信工程(1)班

姓名:

学号:

指导教师:

成绩:

目录

摘要 (1)

前言 (2)

一、串口通信概述 (3)

1.1通信方式 (3)

1.2串口通信 (3)

1.3串口通信的原理 (4)

1.4串口通信的基本任务 (4)

1.5串口通信的开发工具 (4)

1.5.1开发平台2410F的硬件简介 (5)

1.5.2 ARM简介 (5)

1.5.3 Linux系统简介 (5)

1.6系统硬件结构原理 (6)

1.7串口通信协议及实现 (7)

1.8串行接口标准 (7)

二、串口通信程序设计流程 (9)

2.1总体程序设计流程图 (9)

2.2串口操作需要的头文件 (10)

2.3打开串口 (10)

2.4串口设置 (10)

2.5串口读写 (13)

2.6关闭串口 (15)

三、设计结果与测试 (16)

3.1编写串口通信的程序serial_com.c (16)

3.2硬件配置 (16)

3.3串口通信测试 (17)

总结 (19)

参考文献 (20)

致谢 (21)

附录 (22)

摘要

嵌入式系统(Embedded System)在于结合微处理器或微控制器的系统电路与其专用的软件,来达到系统运作效率成本的最优化。本课程设计就是基于2410F 的嵌入式串口通信的实现,按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串口通信的硬件电路和软件实现方法,并分析了串口驱动的开发方法。该系统的硬件主体设计以三星S3C2410 处理器为核心控制器件,实现连接PC机、ARM9-2410开发板、仿真器,实现串行通信,传输速率为115200bps,接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端,实现在ARM 平台上与外部设备进行串口通信的基本功能。

关键词:嵌入式系统;串口通信;Linux系统

前言

在通信领域内,有两种数据通信方式:并行通信和串行通信。并行通信:在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的;如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。串行通信:串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度;其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。在嵌入式系统的开发中,串口通讯的设计是一个非常重要的部分,虽然通用的串口驱动可以满足很多系统的需要,但在一些工业控制中,对串口信号的数据格式,波特率等都有着严格的限制,这就要求针对系统需求对串口进行重新开发本课题的目的就是研究适用于学校教学的嵌入式系统平台,这对于提高对嵌入式系统的理解具有重要意义。

串行通信串口的数据传输是以串行方式进行的,所以数据传输不容易受到外部干扰。串口按位发送和接收字节。节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要,这也是串行通信的主要优点。尽管比并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。

一、串口通信概述

1.1通信方式

在通信过程中,如果通信仅在点对点之间进行,或者点对多点之间进行,那么,按消息传输的方向和时间的不同,可以将通信分为单工通信、全双工通信以及半双工通信。

发送方和接收方每次都只发送和接收一位数据的通信方式称为串行通信方式。也就是说,在任意一个时刻,数据线上仅有一位数据。在传输数据过程中,双方需要协商时钟信号,即规定什么时候发送数据和接收数据,以及每位数据所占用的时间宽度。根据双方接收和发送数据所采用的时钟信号是否是同一个时钟源而分为串行异步通信方式和串行同步通信方式。串行异步通信方式中,通信双方采用自己的时钟信号,根据信号的起始位等判断信息,因此接收和发送仅需要两根信号线分别用来传送和接收信号。

串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数从CPU

经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出申请要求(打开串口),通信完成后必须释放资

源(关闭串口)。

1.2串口通信

所谓串口通信,是指外设和计算机间使用一根数据信号线(另外需要地线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。

串口传输是二进制代码序列在一条信道上以位(元码)为单位,按时间顺序且按位传输的通信方式。串行传输时,发送端按位发送,接收端按位接受,同时还要对所传输的位加以确认,所以收发双方要采取同步措施,否则接受端将不能正确区分出所传输的数据。

串口通信不但能实现计算机与嵌入式开发板之间的数据传输,而且还能实现计算机对嵌入式开发板的控制。

1.3串口通信的原理

串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出申请要求(打开串口),通信完成后必须释放资源(关闭串口)。

1.4串口通信的基本任务

(1)实现数据格式化:因为来自CPU 的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。

(2)进行串---并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串接口电路和的重要任务。

(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率-----波特率进行先择和控制的能力。

(4)进行错误检测:在发送接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他检验码,确定是否发生传送错误。

(5)进行TTL 与EIA 电平转换:CPU 和终端均采用TTL 电平及正逻辑,它们与EIA 采用的电平及负逻辑不兼容,需在接口电路中进行转换。

1.5串口通信的开发工具

本次开发采用的硬件平台是ARM920T处理器的2410F,开发系统平台是Linux系统。

相关文档
最新文档