嵌入式串口通信设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.3 Linux系统简介
Linux是一类Unix计算机操作系统的统称。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。Linux 一般有四个主要部分:内核、Shell、文件结构和实用工具。
(1)Linux内核
内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。它从用户那里接受命令并把命令送给内核去执行。

RS-232C标准的一些主要规范如下。
(1)电气特性
RS-232C采用非归零、双极性编码,且使用负逻辑规定的逻辑电平:-15~-5V规定为逻辑“1”。+5~+15V规定为逻辑“0”。信号电平与TTL电平不兼容, 所以需要电平转换电路(通常使用MAX3232转换)。电平转换电路如图2.2所示。
(2)引脚定义
一、串口通信概述
所谓串口通信,是指外设和计算机间使用一根数据信号线(另外需要地线),数据在一根数据信号线上一位一位进行传输,每一位数据都占据一个固定的时间长度。
串口传输是二进制代码序列在一条信道上以位(元码)为单位,按时间顺序且按位传输的通信方式。串行传输时,发送端按位发送,接收端按位接受,同时还要对所传输的位加以确认,所以收发双方要采取同步措施,否则接受端将不能正确区分出所传输的数据。
目前嵌入式系统与PC机之间一种非常重要而且普遍应用的通信方式。本文通过基于2410F的嵌入式串口通信的实现,按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串口通信的硬件电路和软件实现方法。通过与计算机串口间的接,实现在ARM 平台上,传输速率115200bps,接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端,实现监测。与外部设备通信的基本功能。
关键字:嵌入式系统, 串口通信,Linux系统

串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
嵌入式系统的硬件平台构架、实时嵌入式操作系统的移植,为今后嵌入式系统的后继开发提供了一个嵌入式平台。基于嵌入式系统设计原理的嵌入式开发平台的设计的总体方案,从硬件和软件两个方面讲述了嵌入式系统的设计思想和方法,及其可行性的论证。嵌入式系统硬件平台的设计与调试,着重叙述了硬件平台的整体设计方案,包括各个设计模块的选型与接口电路的设计。随着世界科技水平的发展,嵌入式系统以其小型、专用、易携带、可靠性高的特点,已经在各个领域得到了广泛的应用,如军事国防、消费电子、通信设备、工业控制等。随着嵌入式系统软硬件技术的飞速发展,其应用领域必将更为广阔,嵌入式系统的研究将会有非常广泛的前景。本课题既可以使电子专业学生对ARM920T的嵌入式串口通信系统的实际应用有深入的了解,更重要的是培养了我们的软硬件动手能力,是我们所学专业知识、理论、技能和培养学生独立完成基本科研任务能力的一个综合检验,具有一定的效果和意义。
二、系统分析
串行端口的本质功能是作为CPU 和串行设备间的编码转换器,一般微机内都配有通信适配器,使计算机能够与其他具有RS-232C 串口的计算机或设备进行通信。本系统主要目的是实现宿主机与目标机之间的近距离串行通信, 采用的宿主机是Intel Centrino架构的Red Hat Linux 9.03 环境PC机, 而目标机是ARM 架构的开发板。
1.2.2 ARM简介
ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991 年ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM 技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统、军用系统等各类产品市场,基于ARM 技术的微处理器应用约占据了32 位RISC 微处理器70%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。ARM 公司是专门从事基于RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM 公司购买其ARM 微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM 微处理器芯片进入市场。目前全世界有几十家大的半导体公司都使用ARM 公司的授权,因此既使得ARM 技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场并被消费者所接受,更具有竞争力。
ARM 微处理器一般具有如下特点:
(1)体积小、低功耗、低成本、高性能;
(2)支持 Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容8/16 位器件;
(3)大量使用寄存器,指令执行速度更快;
(4)大多数数据操作都在寄存器中完成;
(5)寻址方式灵活简单,执行效率高;
(6)指令长度固定。
S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND闪存控制器,3路UART,4路DMA,4路带PWM的Timer ,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。
它是基于ARM920T 内核的16/32 位RISC 处理器, 主要应用于嵌入式系统中。S3C2410 拥有强大的数据处理能力,又有着低成本,低功耗等优点,在各种手持及移动设备上的应用越来越广泛,基于其平台的程序功能也越来越复杂。于是,在其平台上架构多线程的操作系统已成为越来越多系统设计者的诉求, 本文介绍多线程在S3C2410 上的具体实现过程。
(3)Linux 文件结构
文件结构是文件存放在磁盘等存储设备上的组织方法。主要体现在对文件和目录的组织上。目录提供了管理文件的一个方便而有效的途径。我们能够从一个目录切换到另一个目录,而且可以设置目录和文件的权限,设置文件的共享程度。
使用Linux,用户可以设置目录和文件的权限,以便允许或拒绝其他人对其进行访问。
本系统中目标机开发板的内核采用的是三星的S3C2410 ,该开发板采用核心板加底板的模式, 核心板接口采用DIMM200 标准连接器,工作非常可靠,可稳定运行在203 MHz 的时钟频率下。其外设非常丰富,功能强大,完全可以满足设计需要。串口线采用常用的RS-232C 型接口模式,能实现计算机与开发板间的数据传输与控制。嵌入式串口通信采用EIA RS-232C标准。
湖南文理学院
课程设计报告
课程名称:嵌入式系统课程设计
专业班级:通信工程11101班 学号(2位)
学生姓名:石春波
指导教师:王丽娟
完成时间:2014年6月5日
报告成绩:
湖南文理学院制



Linux









摘要
嵌入式是以应用为中心,以计算机技术为基础,软件硬件可剪裁,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。随着嵌入式系统的发展和大规模应用,为了提升系统的整体性能,必须实现PC机和嵌入式计算机之间的通信。在实际开发应用中,串口通信是不可缺少的部分。
1.2 串口通信的
本次开发采用的硬件平台是ARM920T处理器的2410F,开发系统平台是Lin ux系统。
1.2.1 2410F硬件平台简介
2410F 是基于三星ARM9 嵌入式处理器 S3C2410 处理器的一款开发平台,“F”指基于2410 的第六代开发套件。系统运行在 202M 的主2410F 是基于三星ARM9 嵌入式处理器 S3C2410 处理器频下发挥出色的性能。可以完成MP3,MPG,VOIP 等工作。2410 资源丰富适合 ARM 处理器的初学者学习使用。2410F 上面使用的核心模块体积小资源丰富,IO 充足还可以应用在二次开发的产品当中。这款设备主要包括核心板与底板两个部分,核心板采用6 层PCB 设计、底板采用2 层PCB 板设计,核心器件是基于目前业内主流使用的SAMSUNG ARM9S3C2410 处理器,主频202MHz,配套的存储器,网卡等设备;底板主要是各类型的接口。
2.1 RS-232C标准
RS-232C是1969年由电子工业协会(EIA)公布的标准。该标准的用途是定义数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equioment)的接口特性。
数据终端设备就是连接通信两端设备的连线(如空MODEM)或其他设备。RS-232C标准的构架如图2.1所示。
(4)Linux 实用工具
标准的 Linux 系统都有一套叫做实用工具的程序,它们是专门的程序,例如编辑器、执行标准的计算操作等。用户也可以产生自己的工具。
实用工具可分三类:
编辑器:用于编辑文件。
过滤器:用于接收数据并过滤数据。
交互程序:允许用户发送信息或接收来自其他用户的信息。
1.3 串口通信的基本任务
目前广泛的DB9引脚定义如图2.3所示。信号引脚定义的说明见表2.1。
表2.1 DB9引脚说明
(1)实现数据格式化:因为来自CPU 的是普通的并行数据,所以,接口电路应具有实现不同串行通信方式下的数据格式化的任务。在异步通信方式下,接口自动生成起止式的帧数据格式。在面向字符的同步方式下,接口要在待传送的数据块前加上同步字符。
(2)进行串---并转换:串行传送,数据是一位一位串行传送的,而计算机处理数据是并行数据。所以当数据由计算机送至数据发送器时,首先把串行数据转换为并行数才能送入计算机处理。因此串并转换是串接口电路和的重要任务。
将Linux 移植到ARM 嵌wk.baidu.com式处理器后,可以利用操作系统中提供的系统调用把串口及其他外设当成普通文件进行操作,读写方便,因此进行相应开发可以提高系统编程效率,而且还可以简化调试的复杂程度。
1.1 串口通信的原理
串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
串口通信不但能实现计算机与嵌入式开发板之间的数据传输,而且还能实现计算机对嵌入式开发板的控制。若采用普通单片机,对外部设备的访问就需要利用复杂的汇编语言进行编程或者使用C 51 自己编写设备的初始化以及读写访问程序,这样的过程不仅复杂,而且不利于大规模的开发和设计。ARM 与8051 等普通单片机相比,具有开发简单、灵活,而且性能稳定、功能易于扩展等一系列优势,因而在汽车电子、手持设备、无线领域和航空航天等嵌入式系统中得到广泛的应用。
(2)Linux Shell
Shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由shell 命令组成的程序。Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell 程序与其他应用程序具有同样的效果。
(3)控制数据传输速率:串行通信接口电路应具有对数据传输速率-----波特率进行先择和控制的能力。
(4)进行错误检测:在发送接口电路对传送的字符数据自动生成奇偶校验位或其他校验码。在接收时,接口电路检查字符的奇偶校验或其他检验码,确定是否发生传送错误。
(5)进行TTL 与EIA 电平转换:CPU 和终端均采用TTL 电平及正逻辑,它们与EIA 采用的电平及负逻辑不兼容,需在接口电路中进行转换。
相关文档
最新文档