嵌入式课设串口通信.docx
- 文档编号:2296133
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:22
- 大小:168.20KB
嵌入式课设串口通信.docx
《嵌入式课设串口通信.docx》由会员分享,可在线阅读,更多相关《嵌入式课设串口通信.docx(22页珍藏版)》请在冰豆网上搜索。
嵌入式课设串口通信
******************
实践教学
******************
兰州理工大学
计算机与通信学院
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.2ARM简介5
1.5.3Linux系统简介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.c16
3.2硬件配置16
3.3串口通信测试17
总结19
参考文献20
致谢20
附录22
摘要
嵌入式系统(EmbeddedSystem)在于结合微处理器或微控制器的系统电路与其专用的软件,来达到系统运作效率成本的最优化。
本课程设计就是基于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系统。
1.5.1开发平台2410F的硬件简介
2410F是基于三星(samsung)ARM9嵌入式处理器S3C2410处理器的一款开发平台,“F”指基于2410的第六代开发套件。
系统运行在202M的主频下发挥出色的性能。
可以完成MP3,MPG,VOIP等工作。
2410资源丰富适合ARM处理器的初学者学习使用。
2410F上面使用的核心模块体积小资源丰富,IO充足还可以应用在二次开发的产品当中。
这款设备主要包括核心板与底板两个部分,核心板采用6层PCB设计、底板采用2层PCB板设计,核心器件是基于目前业内主流使用的SAMSUNGARM9S3C2410处理器,主频202MHz,配套的存储器,网卡等设备;底板主要是各类型的接口。
1.5.2ARM简介
ARM(AdvancedRISCMachines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。
1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。
目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统、军用系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器70%以上的市场份额,ARM技术正在逐步渗入到我们生活的各个方面。
ARM微处理器一般具有如下特点:
(1)体积小、低功耗、低成本、高性能;
(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8/16位器件;
(3)大量使用寄存器,指令执行速度更快;
(4)大多数数据操作都在寄存器中完成;
(5)寻址方式灵活简单,执行效率高;
(6)指令长度固定。
1.5.3Linux系统简介
Linux是一类Unix计算机操作系统的统称。
Linux操作系统也是自由软件和开放源代码发展中最著名的例子。
Linux一般有四个主要部分:
内核、Shell、文件结构和实用工具。
(1)Linux内核
内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
它从用户那里接受命令并把命令送给内核去执行。
(2)LinuxShell
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。
它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。
不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。
Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
(3)Linux文件结构
文件结构是文件存放在磁盘等存储设备上的组织方法。
主要体现在对文件和目录的组织上。
目录提供了管理文件的一个方便而有效的途径。
我们能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限,设置文件的共享程度。
使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。
(4)Linux实用工具
标准的Linux系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。
用户也可以产生自己的工具。
实用工具可分三类:
编辑器:
用于编辑文件。
过滤器:
用于接收数据并过滤数据。
交互程序:
允许用户发送信息或接收来自其他用户的信息。
1.6系统硬件结构原理
在串口通信的实现过程中,要保证数据传输的可靠性和稳定性,其硬件设计是必不可少的,本文中选用S3C2410芯片作为核心器件。
S3C2410芯片是SAMGSUNG公司16/32位的RISC处理器,采用ARM920T内核,内部具有2个独立的UART控制器以及分开的16kB的指令Cache和16kB数据Cache,每个控制器支持的最高波特率可达到230.4kb/s。
S3C2410芯片的这些特点,为实现在Linux操作系统下计算机与开发板间的串口通信提供了可靠的保证。
基于S3C2410的嵌入式串口通信的硬件结构原理如图1-1所示:
图1-1系统硬件结构原理图
1.7串口通信协议及实现
串行端口的本质功能是作为CPU和串行设备间的编码转换器,一般微机内都配有通信适配器,使计算机能够与其他具有RS-232C串口的计算机或设备进行通信。
本系统主要目的是实现宿主机与目标机之间的近距离串行通信,采用的宿主机是IntelCentrino架构的RedHatLinux9.03环境PC机,而目标机是ARM架构的开发板。
本系统中目标机开发板的内核采用的是三星的S3C2410,该开发板采用核心板加底板的模式,核心板接口采用DIMM200标准连接器,工作非常可靠,可稳定运行在203MHz的时钟频率下。
其外设非常丰富,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 串口 通信