文档详情

基于S3C2410的嵌入式串口通信设计.ppt

发布:2018-04-26约4.37千字共8页下载文档
文本预览下载声明
基于S3C2410的嵌入式串口通信设计 摘要: 本文通过基于S3C2410的嵌入式串口通信的实现,按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串行通信的硬件电路和软件实现方法。该系统的硬件主体设计以三星S3C2410处理器为核心控制器件,通过与计算机串口间的连接以及单片机通信软件的分层设计,实现在ARM 平台上访问外部设备的基本功能。 1 S3C2410硬件平台简介 2 系统结构分析 串行端口的本质功能是作为CPU和串行设备间的编码转换器,一般微机内都配有通信适配器,使计算机能够与其他具有RS 232C 串口的计算机或设备进行通信。本系统主要目的是实现宿主机与目标机之间的近距离串行通信,采用的宿主机是Intel X86 架构的Red Hat Linux 9.03 环境PC 机,而目标机是ARM 架构的开发板。 本系统中目标机开发板的内核采用的是三星的S3C2410 ,该开发板采用核心板加底板的模式,核心板接口采用DIMM 200 标准连接器,工作非常可靠,可稳定运行在203 MHz 的时钟频率下。其外设非常丰富,功能强大,完全可以满足设计需要。串口线采用常用的RS 232C 型 接口模式,能实现计算机与开发板间的数据传输与控制。 3 系统硬件结构原理 串行通信可以在DOS 或Windows环境下进行,可以用汇编或高级语言编写通信程序, 本文介绍如何在Linux操作系统下来实现串口间的通信。 在串口通信的实现过程中,要保证数据传输的可靠性和稳定性, 其硬件设计是必不可少的, 本文中选用S3C2410 芯片作为核心器件。S3C2410芯片是SAMSUNG公司16/32位的RISC处理器,采用ARM920T内核,内部具有2 个独立的UART 控制器以及分开的16 kB的指令Cache 和16 kB 数据Cache ,每个控制器支持的最高波特率可达到230.4 kb/s 。S3C2410 芯片的这些特点,为实现在Linux 操作系统下计算机与开发板间的串口通信提供了可靠的保证。基于S3C2410 的嵌入式串口通信的硬件结构原理如图1所示 宿主机即计算机系统中,在Linux操作系统下编写好串口通信的程序,通过JTAG接口模块下载至目标机即开发板中,在相应的软件控制命令下,通过串行接口线即可实现宿主机与目标机间数据的发送和接收。目标机中电源模块提供了开发板系统工作所需的正常电压,各种数据信息可以通过液晶显示模块及时显示出来,还可以通过键盘控制模块来实现对目标机操作的控制,外扩存储器模块可以由FLASH或SDRAM构成,当然作为一个完整的系统,还必须配有其他外围电路,以保证系统的正常工作。 串口通信软件的设计是系统成功运行的关键, 如何保证通信的效率、可靠性、实时性以及节约系统的资源是设计者关心的问题,因此通信协议的定义、软件开发的结构设计、程序开发工具的选择在系统设计中极其重要。PC 端串口通信程序的开发是基于Windows环境面向对象的设计方法, 开发环境选用VC++,实现的方法有多种, 对此作介绍的文献也较多, 在此不详述。对于单片机端的串口通信程序, 有文献介绍基于汇编语言的程序框架, 但基于分层结构的C 语言实现却少有介绍。下面将具体介绍在Keil C51 中, 分层结构框架下串口全双工通信程序的设计与实现。 4.1 通信协议 基于串口的通信模式有同步通信和异步通信两种, 这里采用的是异步串行通信。在通信过程中, 单片机应处理以下问题: (1) 识别命令。PC 机将命令传送给单片机, 单片机能够识别不同的命令而且根据不同的命令内容完成不同的操作。 (2) 识别数据。单片机能识别附加在命令后的数据, 传送数据的最大位数由设置的缓冲区大小决定。(3) 出错处理。包括识别无效命令和处理通信错误。当单片机接收到系统没有定义过的命令, 或者收到的命令不符合预先定义的格式时, 它应该做出响应, 向系统报错并能进行错误处理, 错误类型编号应事先定义。 (4) 正确应答。当单片机系统接收到一条没有通信错误且符合通信协议的信息时, 应根据所接收的命令进行相应操作, 并把操作结果返回PC 机, 如发一个“OK”信息以示确认。 PC 机应处理的问题: (1) 采集单片机发送的数据,如某设备模块的状态信息; (2) 接收单片机的正常响应和错误响应信息, 若是错误响应信息, 应根据错误类型予以处理。由于控制的设备模块可能有多个, 通过对设备模块统一编址, 给不同的设备设置唯一的16位地址加以区分。这样在PC 机和单片机进行数据传送时, 双方能够识别数据的来源及需控制的对 显示器 键盘 计算机主机设备(带RS232接口) DIMM200连接器接口模块 S3C2410 ARM芯片 液晶显示模块
显示全部
相似文档