基于linux的嵌入式串口通信
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
天津电子信息职业技术学院
嵌入式软件编程》课程报告
课程名称:基于linux 的嵌入式串口通信
课程代码:115229 姓名:甘琦
学号:48
专业:物联网应用技术
班级:物联S14-1
完成时间:2016 年10 月28 日
目录
摘要 (1)
前言 (2)
一、嵌入式串口通信概述 (2)
1.1嵌入式串口通信的原理 (2)
1.2嵌入式串口通信的开发工具 (2)
1.2.1 ............................................................. CC2530 功耗 2
1.2.2........................................................... ARM 简介 3
1.2.3................................................................ L inux 系统简介 3
1.3嵌入式串口通信的基本任务 (4)
1.4嵌入式串口通信协议及实现 (4)
二、RS-232C 标准 (5)
2.1引脚定义 (5)
2.2字符(帧)格式 (6)
2.3握手协议 (8)
2.4双机互连方式 (9)
2.4.1无硬件握手情况 (9)
2.4.2 .................................................................. DTR 和DSR握手情况9
三、嵌入式串口驱动程序设计 (10)
3.1嵌入式串口操作需要的头文件 (10)
3.2打开串口 (10)
3.3串口设置 (11)
3.4串口读写 (13)
3.5关闭串口 (14)
四、源程流程图 (15)
五、源程序代码 (15)
总结 (19)
摘要
随着Internet 的发展和后PC时代的到来,嵌入式系统以其可靠性强、体积小、专用性、成本低等特性得到日益广泛的应用。目前嵌入式系统技术已经成为了最热门的技术之一。与此同时,一个独立的嵌入式系统的功能缺陷也逐渐暴露出来。新一代嵌入计算系统的功能集成和应用模式使之迅速向网络化嵌入计算的方向发展,标准和统一的TCP/IP 通信协议是独立于任何厂家的硬件的,因此嵌入环境下的实时网络通信成为嵌入计算技术研究的重点和热点。本文通过基于2410F 的嵌入式串口通信的实现, 按照嵌入式系统的软、硬件结构组成, 较为详细地介绍了串口通信的硬件电路和软件实现方法。
关键词:嵌入式串口通信2410F
1
前言嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器,外围硬件设备,嵌入式操作系统,用户应用程序 4 个部分组成。用于实现对其他设备的控制,监视或管理等功能。嵌入式系统已经广泛应用于科学研究,工业控制,军事技术,交通通信,医疗卫生,消费娱乐等领域,人们常用的手机,PDA,汽车,智能家电,GPS等均是嵌入式系统的典型代表。串口通信是简单嵌入式系统的一个应用,串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
一、嵌入式串口通信概述所谓串口通信,是指外设和计算机间使用一根数据信号线(另外需要地线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
串口传输是二进制代码序列在一条信道上以位(元码)为单位,按时间顺序且按位传输的通信方式。串行传输时,发送端按位发送,接收端按位接受,同时还要对所传输的位加以确认,所以收发双方要采取同步措施,否则接受端将不能正确区分出所传输的数据。
串口通信不但能实现计算机与嵌入式开发板之间的数据传输,而且还能实现计算机对嵌入式开发板的控制。若采用普通单片机, 对外部设备的访问就需要利用复杂的汇编语言进行编程或者使用C51自己编写设
备的初始化以及读写访问程序, 这样的过程不仅复杂, 而且不利于大规模的开发和设计。ARM与8051 等普通单片机相比,具有开发简单、灵活, 而且性能稳定、功能易于扩展等一系列优势, 因而在汽车电子、手持
设备、无线领域和航空航天等嵌入式系统中得到广泛的应用。
将Linux 移植到ARM嵌入式处理器后, 可以利用操作系统中提供的系统调用把串口及其他外设当成普通文件进行操作, 读写方便, 因此进行相应开发可以提高系统编程效率, 而且还可以简化调试的复杂程度。
1.1嵌入式串口通信的原理
串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数从CPU经过串行端口发送出去时,字节
数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口是系统资源的一部分, 应用程序要使用串口进行通信, 必须在使用之前向操作系统提出申请要求(打开串口), 通信完成后必须释放资源(关
闭串口)。
1.2嵌入式串口通信的开发工具
本次开发采用的硬件平台是利用OURS-IOTV2-2530实验箱和C语言来实现本次系统的开发。
1.2.1CC2530 功耗
CC2530使用不同的运行模式或功耗模式以允许低功耗运行。超低功耗是通过关闭模块电源以避免
静态功耗
以及通过使用时钟门控和关闭振荡器来减少动态功耗而获得的。CC2530有 4 个功耗模式,被称
为PM0、PM1、
PM2和PM3。PM0是激活模式而PM3具有最低功耗。
PM0:全功能模式。连接到数字内核的电压调整器打开。16MHz RC振荡器或32MHz 晶体振荡器运行或者它
们同时运行。32.753KHz RC 振荡器或32.768KHz 晶体振荡器运行。
PM1:连接到数字部分的电压调整器打开。16MHz RC振荡器和32MHz 晶体振荡器都不运行。32.753KHz RC 振荡器或32.768KHz 晶体振荡器运行。在产生复位、外部中断或当睡眠定时器到期时系统将返回到PM0。PM2:连接到数字内核的电压调整器关闭。16MHz RC振荡器和32MHz 晶体振荡器都不运行。
32.753KHz RC
振荡器或32.768KHz 晶体振荡器运行。在产生复位、外部中断或当睡眠定时器到期时系统将返回到
PM0。PM3:连接到数字内核的电压调整器关闭。没有振荡器运行。在产生复位或外部中断时系统将返回到
PM0。PM0是全功能模式,在该模式下,CPU、片内外设和RF收发器都处于激活状态,数字电压调整器打开。该模式也被称为激活模式时。
1.2.2ARM 简介
ARM(Advanced RISC Machines ),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991 年ARM 公司成立于英国剑桥,主要出售芯片设计技术的授权。目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统、军用系统等各类产品市场,基于ARM技术的微处理器应用约占据了
32 位RISC 微处理器70%以上的市场份额,ARM 技术正在逐步渗入到我们生活的各个方面。ARM 公司是
专门从事基于RISC 技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其ARM 微处理器核,
根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM 微处理器芯片进入市场。目前全世界有几十家大的半导体公司都使用ARM 公司的授权,因此既使得ARM 技术获得更多的第三方工具、制造、