嵌入式串口通信的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2013年春季学期
嵌入式系统开发技术课程设计
题目:嵌入式串口通信的设计
专业班级:通信工程三班
姓名:
学号:
指导教师:张玺君
成绩:
摘要
随着Internet的发展和后PC时代的到来,嵌入式系统以其可靠性强、体积小、专用性、成本低等特性得到日益广泛的应用。目前嵌入式系统技术已经成为了最热门的技术之一。与此同时,一个独立的嵌入式系统的功能缺陷也逐渐暴露出来。新一代嵌入计算系统的功能集成和应用模式使之迅速向网络化嵌入计算的方向发展,标准和统一的TCP/IP通信协议是独立于任何厂家的硬件的,因此嵌入环境下的实时网络通信成为嵌入计算技术研究的重点和热点。本文通过基于2410F 的嵌入式串口通信的实现,按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串口通信的硬件电路和软件实现方法。
关键词:嵌入式串口通信 2410F
目录
前言 (1)
一、串口通信概述 (2)
1.1 串口通信的原理 (2)
1.2 串口通信的开发工具 (2)
1.2.1 CC2530功耗 (2)
1.2.2 ARM简介 (3)
1.2.3 Linux系统简介 (3)
1.3 串口通信的基本任务 (4)
1.4串口通信协议及实现 (4)
二、 RS-232C标准 (6)
2.1引脚定义 (6)
2.2 字符(帧)格式 (7)
2.3握手协议 (8)
2.4 双机互连方式 (10)
2.4.1无硬件握手情况 (10)
2.4.2 DTR和DSR握手情况 (10)
三、串口驱动程序设计 (12)
3.1 串口操作需要的头文件 (12)
3.2 打开串口 (12)
3.3 串口设置 (12)
3.4 串口读写 (15)
3.5 关闭串口 (16)
四、源程流程图 (18)
五、源程序代码 (19)
参考文献 (20)
总结 (22)
前言
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可定制,适用于不同应用场合,对功能,可靠性,成本,体积,功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器,外围硬件设备,嵌入式操作系统,用户应用程序4个部分组成。用于实现对其他设备的控制,监视或管理等功能。嵌入式系统已经广泛应用于科学研究,工业控制,军事技术,交通通信,医疗卫生,消费娱乐等领域,人们常用的手机,PDA,汽车,智能家电,GPS 等均是嵌入式系统的典型代表。
串口通信是简单嵌入式系统的一个应用,串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
1
一、串口通信概述
所谓串口通信,是指外设和计算机间使用一根数据信号线(另外需要地线),数据在一根数据信号线上一位一位地进行传输,每一位数据都占据一个固定的时间长度。
串口传输是二进制代码序列在一条信道上以位(元码)为单位,按时间顺序且按位传输的通信方式。串行传输时,发送端按位发送,接收端按位接受,同时还要对所传输的位加以确认,所以收发双方要采取同步措施,否则接受端将不能正确区分出所传输的数据。
串口通信不但能实现计算机与嵌入式开发板之间的数据传输,而且还能实现计算机对嵌入式开发板的控制。若采用普通单片机,对外部设备的访问就需要利用复杂的汇编语言进行编程或者使用C51自己编写设备的初始化以及读写访问程序,这样的过程不仅复杂,而且不利于大规模的开发和设计。ARM 与8051 等普通单片机相比,具有开发简单、灵活,而且性能稳定、功能易于扩展等一系列优势,因而在汽车电子、手持设备、无线领域和航空航天等嵌入式系统中得到广泛的应用。
将Linux 移植到ARM 嵌入式处理器后,可以利用操作系统中提供的系统调用把串口及其他外设当成普通文件进行操作,读写方便,因此进行相应开发可以提高系统编程效率,而且还
可以简化调试的复杂程度。
1.1 串口通信的原理
串行端口的本质功能是作为CPU和串行设备间的编码转换器。当数从CPU经过串行端口发送出去时,字节数据转换为串行的位。在接收数据时,串行的位被转换为字节数据。串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
1.2 串口通信的开发工具
本次开发采用的硬件平台是利用OURS-IOTV2-2530实验箱和C语言来实现本次系统的开发。
1.2.1 CC2530功耗
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。