




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
陕西理工学院毕业设计 第 1 页 引言引言 从 20 世纪 70 年代单片机的出现到今天各式各样的嵌入式微处理器的大量应用 嵌入 式系统已经发展了近 30 年的历史 随着计算机技术 网络技术 通信技术 微电子技术的 发展 特别是各种高性能 SOC System On Chip 的设计开发和嵌入式操作系统的出现 嵌 入式系统日益广泛地应用在移动通讯 消费电子 仪器仪表 工业控制等设备中 嵌入式 系统的硬件核心是嵌入式微处理器 ARM 处理器是目前公认的业界领先的 32 位嵌入式 RISC 微处理器 它具有体系结构可扩展 功耗低 成本低和支持处理实时多任务等特点 成为 设计嵌入式系统时 32 位 RISC 芯片的首选 也是许多行业嵌入式解决方案的 RISC 芯片标准 信息技术的高速发展给人们生活带来了革命性的变化 嵌入式系统进行网络互连的要求也 随之产生 嵌入式系统的应用越来越重视其网络特性 特别是开放的 TCP IP 网络 本文主 要从芯片级硬件设计开发进行介绍 采用了目前应用最广泛且功能强大的 ARM 嵌入式处理 器 实现了友好的人机界面 高速的数据采集及以太网通信 硬件设计采用了结构化 模 块化的设计思想 硬件平台结构清晰 易于裁剪 可以为不同功能的智能仪器的开发提供 一个通用的硬件平台 串行通信是指数据以串行方式在一条信道上传输 由于计算机内部都采用串行通信 因此 数据在发送之前 要将计算机中的字符进行并 串转换 在接收端再通过串 行变换 还原成计算机的字符结构 这样才能实现串行通信 串行主的优点是收 发双方只需要一 条传输信道 易于实现 成本低 串行通信通过计算机的串行口得到广泛的应用 而且在 远程通信中一般采用串行通信方式 嵌入式系统以其小型 专用 易于携带 高可靠性的特点 已经在工业控制 数据传 输 数据处理 远程监控 智能仪表等领域得到了广泛的运用 随着无线通信事业的发展 将 ARM 处理器运用到无线数据传输领域得到了飞速发展 在通信方式及通信协议方面 无 线数据传输的通信协议已经形成了比较成熟和规范的标准 相应的 在硬件条件方面 无 线传输的半导体芯片也大量出现 本设计以串行无线传输为主线 首先介绍 ARM 芯片在无 线数据传输领域的典型应用 主要包括无线通信行业和典型无线数据传输芯片的运用 嵌入式系统包含硬件和软件两部分 硬件架构以嵌入式处理器为中心 配置存储器 1 O 设备 通信模块等必要的外设 软件部分以软件开发平台为核心 向上提供应用编程接 口 D 向下屏蔽具体硬件特性的板机支持包 BSP 嵌入式系统中 软件和硬件紧密配合 协调工作 共同完成系统预定的功能 嵌入式系统的功能软件集成于硬件系统之中 系统 应用软件与硬件一体化 嵌入式系统是 以应用为中心 以计算机技术为基础 软件硬件可裁减 功能 可靠 性 成本 体积 功耗严格要求的专用计算机系统 它与通用计算机技术的最大差异是 必须支持硬件裁减和软件裁减 以适应应用系统对体积 功能 功耗 可靠性 成本等的 特殊要求 陕西理工学院毕业设计 第 2 页 根据 IEEE 国际电气和电子工程师协会 的定义 嵌入式系统是 用于控制 监视或 者辅助操作机器和设备的装置 原文为 devices used to control monitor or assist the operation of equipment machinery or plants 可以看出此定义是从应用上考虑的 嵌入式系统是软件和硬件的综合体 还可以涵盖 机电等附属装置 在现在日益信息化的社会中 电脑和网络已全面渗透到日常生活的每一个角落 对于 我们每个人 需要的已不再仅仅是那种放在桌上处理文档 进行工作管理和生产控制的电 脑 各种各样的新型嵌入式系统设备在应用数量上已远远超过通用电脑 任何一个普通人 可能拥有从大到小的各种使用嵌入式技术的电子产品 小到 mp3 PDA 等微型数字化产品 大到网络家电 智能家电 车载电子设备 而在工业和服务领域中 使用嵌入式技术的数 字机床 智能工具 工业机器人 服务机器人也将逐渐改变传统的工业和服务方式 广义上讲 能够认为凡是带有微处理器的专用软件和硬件系统都能够称为嵌入式系统 作为系统核心的微处理器又包括三类 微控制器 MCU 数字信号处理器 DSP 嵌入式微 处理器 MPU 狭义上讲 人们更加强调那些使用嵌入式微处理器构成单独系统 具备自己的操作系 统并且具备某些特定功能的系统 这里的微处理器专指 32 位以上的微处理器 3 嵌入式系统的重要特性 系统内核小 由于嵌入式系统一般是应用于小型电子装置的 系统资源相对有限 所以内核较之传 统的操作系统要小得多 比如 ENEA 公司的 OSE 分布式系统 内核只有 5K 而 Windows 的 内核则要大得多 专用性强 嵌入式系统的个性化很强 其中的软件系统和硬件的结合非常紧密 一般要针对硬件 进行系统的移植 即使在同一品牌 同一系列的产品中也需要根据系统硬件的变化和增减 不断进行修改 同时针对不同的任务 往往需要对系统进行较大更改 程序的编译下载要 和系统相结合 这种修改和通用软件的 升级 是完全不同的概念 系统精简 嵌入式系统一般没有系统软件和应用软件的明显区分 不要求其功能设计及实现上过 于复杂 这样一方面利于控制系统成本 同时也利于实现系统安全 高实时性 OS 这是嵌入式软件的基本要求 而且软件要求固态存储 以提高速度 软件代码要求高 质量和高可靠性 实时性 嵌入式软件开发走向标准化 嵌入式系统的应用程序可以没有操作系统直接在芯片上运行 为了合理地调度多任务 利用系统资源 系统函数以及和专家库函数接口 用户必须自行选配 RTOS Real Time Operating System 开发平台 这样才能保证程序执行的实时性 可靠性 并减少开发时 间 保障软件质量 嵌入式系统开发需要开发工具和环境 由于其本身不具备自主开发能力 即使设计完成以后 用户通常也是不能对其中的程序 功能进行修改 必须有一套开发工具和环境才能进行开发 这些工具和环境一般是基于通 用计算机上的软硬件设备以及各种逻辑分析仪 混合信号示波器等 开发时往往有主机和 目标机的概念 主机用于程序的开发 目标机作为最后的执行机 开发时需要交替结合进 行 陕西理工学院毕业设计 第 3 页 1 1 方案论证方案论证 1 1 基于单片机设计的无线数据传输系统基于单片机设计的无线数据传输系统 基于单片机的无线串行数据传输框图如图 1 1 所示 1 1 T T TXDnTXDn ClockClock RXDnRXDn 图 1 1 基于单片机的无线串行数据传输方案 标准的51单片机都有一个全双工串行 通讯接口 利用这个通讯接口 我们可以方便地 与其它单片机系统或电脑 PC 机 进行串行通信 相互交换数据 串口对单片机意义重大 不但可以将单片机采集 的实时数据传输到电脑上 而且也能接受电脑对单片机的控制指令 实现对单片机的智能化控制 从而开发出以计算机为控制中心的数据采集监控自动化控制 系统 这样不仅拓宽了单片机的应用领域 而且使我们的控制系统 监控系统可以充分利 用计算机强大的数据处理能力和管理功能 使系统功能更加完善 更加强大 更加 完美 MCS 51内部含有一个可编程全双工串行通信接口 具有 UART 的全部功能 该接口电路 不仅能同时进行数据的发送和接收 也可作为一个同步移位寄存器使用 在进行异步通信时 数据的发送和接收分别在各自的时钟 TCLK 和 RCLK 控制下进行 的 但都必须与字符位数的波特率保持一致 MCS 51串行口的发送和接收时钟可由两种方 式产生 一种是由主机频率 fosc 经分频后产生 另一种方式是由内部定时器 T1或 T2的溢 出率经16分频后提供 发送和接收的过程如下 串行口的发送过程由指令 MOV SBUF A 启动 即 CPU 由一条写发送缓冲器的指令把数 据 字符 写入串行口的发送缓冲器 SBUF 发 中 再由硬件电路自动在字符的始 末加 上起始位 低电平 停止位 高电平 及其它控制位 如奇偶位等 然后在移位脉冲 SHIFT 的控制下 低位在前 高位在后 从 TXD 端 方式 0 除外 一位位地向外发送 串行口的接收与否受制于允许接收位 REN 的状态 当 REN 被软件置 1 后 允许接收 器接收 接收端 RXD 一位位地接收数据 直到收到一个完整的字符数据后 控制电路进行 最后一次移位 自动去掉启始位 使接收中断标志 RI 置 1 并向 CPU 申请中断 CPU 响 应中断 用一条指令 MOV A SBUF 把接收缓冲器 SBUF 收 的内容读入累加器 1 21 2 基于基于 ARMARM 微处理器设计的无线数据传输系统微处理器设计的无线数据传输系统 系 统 总 线 波特率 发生器 发送移相器 发送 FIFO 数据发送器 控制单元 接收移相器 接收 FIFO 数据接收器 陕西理工学院毕业设计 第 4 页 的基于 ARM 处理器以 S3C2410X 和 nRF903 为核心的串行数据传输系统整体框图如图 2 3 所示 从机部分包括 以 S3C2410X 为核心的从机控制和处理中心 以及以 nRF903 为核心的 无线串行数据传输模块 中央数据处理和控制部分主要完成整个从机系统的控制及简要数 据处理 将需要发送的数据经过适当的编码处理后 通过 SIO 模块发送到 nRF903 模块 nRF903 主要完成串行数据的发射 nRF903 具有高集成的且应用于 433MHZ频段的数据串行 传输的专用芯片 在串行数据传输领域得到广泛的运用 该芯片只需要极少量的外围芯片 就可以完成数据的发射 除此之外 nRF903 部分还将接收到的主机控制信号传送回 S3C2410X 模块进行处理 基于 ARM 的串行无线数据传输系统如图 1 2 所示 图 1 2 基于 ARM 的串行无线数据传输系统 主机部分主要包括与发送方基本一致的射频收发模块 以 nRF903 为核心 以及以 S3C2410 为核心的接收信号处理模块 这两个模块完成的操作与从机大约一致 同时 S3C2410 模块需要通过 UART 接口与计算机中心机房相连接 RS 232 转换接口主要提供电平 转换功能 经过 RS 232 接口转换后的数据再传送回中心机房 中心计算机再对数据进行分 析和处理 以及设置相应的控制命令 整个系统采用模块化设计方案 各个模块间采用标准通信协议 由于 S3C2410 处理器 提供专门的 SIO 接口 因此在主从机数据发送和接收部分 从 nRF903 到 S3C2410 处理器 采用同步串行传输 同时 S3C2410X 处理器提供 UART 接口 因此在主机与中心机房进 行数据传输时采用标准串行通信总线 RS 232 作为数据传输标准 整个系统都采用标准通 信协议 从而便于与其他系统进行互连通信 1 31 3 方案选择方案选择 理论上 当我们按压键盘上的按键 所有按键都会发送到单片机 然后再返回计算机 上的 在串口测试软件上的 PC 发送数据窗和接收数据窗中显示的字符数目 字符应该是 完全相同的 但是 当我们连续快速按压 PC 键盘时 会发现接收数据窗中有时候会漏掉字 符 累积下来接收窗中的字符就会比发送窗中的字符少了 这是由于计算机发送过来的数据太快 而单片机的串 口中断一次只能接收处理一个 数据 前一个数据还没有处理完 后面又有数据发送过来 单片机来不及处理漏掉了 也 就是说每次只能发送或接收一个字节数据 如果在接收的数据没有及时处理完 而 又有新 的数据进来 会造成数据丢失 通信当中就容易出现缓冲区溢出而通信错误的现象 在测控系统中 如果出现这种错误的话则有可能系统失控 数据出错 误 报警等 当 然 我们在通信中也可以加入校验机制来检查错误 但这种现象也使系统稳定性降低 在 使用方面就会受到影响 基于实用性和可行性 本设计最终选择了基于 ARM 的串行无线数据传输方案 陕西理工学院毕业设计 第 5 页 2 2 硬件设计 2 12 1 ARMARM 芯片芯片 ARM Advanced RISC Machines 既可以认为是一个公司的名字 也可以认为是对一 类微处理器的通称 还可以认为是一种技术的名字 基于 ARM 技术的微处理器应用约占据 了 32 位 RISC 微处理器 75 以上的市场份额 ARM 技术正在逐步渗入到我们生活的各个方 面 我国的中兴集成电路 大唐电讯 中芯国际和上海华虹 以及国外的一些公司如德州 仪器 意法半导体 Philips Intel Samsung 等都推出了自己设计的基于 ARM 核的处理 器 到目前为止 ARM 微处理器及技术的应用已经广泛深入到国民经济的各个领域工业控 制领域 作为 32 的 RISC 架构 基于 ARM 核的微控制器芯片不但占据了高端微控制器市场 的大部分市场份额 同时也逐渐向低端微控制器应用领域扩展 ARM 微控制器的低功耗 高性价比 向传统的 8 位 16 位微控制器提出了挑战 网络应用 随着宽带技术的推广 采用 ARM 技术的 ADSL 芯片正逐步获得竞争优势 此 外 ARM 在语音及视频处理上行了优化 并获得广泛支持 也对 DSP 的应用领域提出了挑 战 消费类电子产品 ARM 技术在目前流行的数字音频播放器 数字机顶盒和游戏机中得 到广泛采用 成像和安全产品 现在流行的数码相机和打印机中绝大部分采用 ARM 技术 手机中的 32 位 SIM 智能卡也采用了 ARM 技术 低功耗 低成本 高性能采用 RISC 指令集使用大量的寄存器 ARM THUMB 指令支持三 五级流水线采用 RISC 架构的 ARM 处理器一般具有如下特点 固定长度的指令格式 指令归 整 简单 基 本寻址方式有 2 3 种 使用单周期指令 便于流水线操作执行 大量使用 寄存器 数据处理指令只对寄存器进行操作 只有加载 存储指令可以访问存储器 以提高 指令的执行效率 Thumb 指令集为 ARM 指令集的功能子集 但与等价的 ARM 代码相比较 可节省 30 40 以上的存储空间 同时具备 32 位代码的所有优点 除此以外 ARM 体系结构 还采用了一些特别的技术 在保证高性能当操作数寄存器的状态位为 0 时 执行 BX 指令 时可以使微处理器从 Thumb 状态切换到 ARM 状态 S3C2410X 芯片是三星公司生产的以 ARM9 为内核的通用嵌入式芯片 在其内部集成了 大量的功能单元 以下为此芯片的功能特点 1 内部 1 8V 存储器 3 3V 外部 I O3 3V 16KB 数据 Cache 16KB 指令 Cache MMU 2 内置外部存储器控制器 SDRAM 控制和芯片选择逻辑 3 LCD 控制器 一个 LCD 专用 DMA 4 4 个带外部请求线的 DMA 5 3 个通用异步串行端口 IrDA1 0 16BYTE Tx FIFO 16Byte RX FIFO 2 通道 SPI 6 个多主机 I2C 总线控制器 一个 I2S 总线控制器 7 SD 主接口 1 0 版本和多媒体卡协议版本 2 11 兼容 8 2 个 USB HOST 1 个 USB DEVICE VER1 1 9 4 个 PWM 定时器和 1 个内部定时器 10 看门狗定时器 11 117 个通用 I O 12 24 个外部中断 13 电源控制模式 标准 慢速 休眠 掉电 14 8 通道 10 位 ADC 和触摸屏接口 15 带日记功能的实时时钟 陕西理工学院毕业设计 第 6 页 16 芯片内置 PLL 17 设计用于手持设备和通用嵌入式系统 18 16 32 位 RISC 体系结构 使用 ARM920T CPU 核的强大指令集 19 带 MMU 的先进体系结构支持 WinCE EPOC32 Symbian OS Linux 20 指令缓存 Cache 数据缓存 写缓冲和物理地址 TAG RAM 减少了对主存储器 带宽和性能的影响 21 ARM920T CPU 核支持 ARM 调试的体系结构 22 内部先进的位控制器总线 AMBA AMBA2 0 AHB APB JXARM9 2410 目标处理器采用 S3C2410X 微处理器开发平台采用 ADT 集成开发环境 有 如下的特点 1 使用方便 ADT 采用一个通用界面 可以非常方便的进行工程管理 编辑 编译 链接和调试 可使用户很快地进入到具体的实验中 2 接口丰富 含多种外设接口 如 LED 输出 7 段数码管 LCD 输出 4 4 键盘输 入 外部中断输入 RS232 RS485 串行接口 A D 及 D A 转换接口 CAN 总线 网络接口 USB 接口 标准计算机接口 等 3 扩充性好 采用模块化设计 便于硬件升级代换 并提供丰富的扩展槽以便于 扩充外部接口 S3C2410 的内部结构图如图 2 1 所示 陕西理工学院毕业设计 第 7 页 图 2 1 S3C2410 的内部结构图 S3C2410X 自带 3 个异步串行口控制器 每个控制器有 16 字节的 FIFO 先入先出寄存 器 最大波特率为 115 2kbps 每个 UART 有 7 种状态 溢出错误 校验错误 帧错误 暂 停态 接受缓存区准备好 发送缓存区空 发送移位缓冲器空 这些状态可由相应的 UTRSTATn 或 UERSTATn 寄存器表示 并且与发送 接收缓冲区相对应有错误缓冲区 通过设置 UCONn 寄存器选择 UART 时钟是由 S3C2410X 的系统内部时钟 PCLK 产 生还是由外部 UART 设备的时钟 UCLK 产生 波特率的大小可以通过设置波特率寄存 器 UBRDIVn 控制 使用 PCLK 时的计算公式如下 UBRDIVn int PCLK 波特率 16 1 使用 UCLK 时的计算公式如下 UBRDIVn int UCLK 波特率 16 1 例如 在使用 PCLK 在 40MHZ 的情况下 当波特率取 115200bps 时 UBRDIVn int 40 000 000 115 200 16 1 20 与 UART 有关的寄存器主要有以下几个 线路控制寄存器 ULCONn 该寄存器的第六位决定是否使用红外模式 位 5 3 决定校 验位 位 2 决定停止位长度 位 1 和位 0 决定每帧的数据位 控制寄存器 UCONn 该寄存器用于收发缓冲的管理 包括缓冲的触发字节数的设置 FIFO 的清除和使用 MODEM 控制寄存器 UMCONn 该寄存器用于设置流控方式 在本设计中没有使用流 控 状态寄存器 UTRSTAT 该寄存器反映芯片当前的读写状态 错误状态寄存器 UERSTAT 该寄存器反映了芯片当前的错误类型 FIFO 状态寄存器 UFSTAT 通过它可以读出目前的 FIFO 是否已满以及其中的字节数 发送寄存器 UTXH 和接受寄存器 URXH 这两个寄存器存放着大宋和接受的数据 当 然只有 1 字节 8 位数据 需要注意的是 在发生溢出错误时 接收的数据必须要被读出来 否则会引起下次溢出错误 波特率因子寄存器 UBRDIV 该寄存器位 16 位 2 2 2 2 串行通信串行通信 2 2 12 2 1 串口通信的特性串口通信的特性 串行数据通信两种形式 异步通信 在这种通信方式中 接收器和发送器有各自的时钟 它们的工作是非同步的 异步通 信用一帧来表示一个字符 其内容如下 一个起始位 仅接着是若干个数据位 图2是传 输45H 的数据格式 同步通信 同步通信格式中 发送器和接收器由同一个时钟源控制 为了克服在异步通信中 每 传输一帧字符都必须加上起始位和停止位 占用了传输时间 在要求传送数据量较大的场 合 速度就慢得多 同步传输方式去掉了这些起始位和停止位 只在传输数据块时先送出 一个同步头 字符 标志即可 同步传输方式比异步传输方式速度快 这是它的优势 但同步传输方式也有其缺点 即它必须要用一个时钟来协调收发器的工作 所以它的设备也较复杂 陕西理工学院毕业设计 第 8 页 串行数据通信的传输速率 串行数据传输速率有两个概念 即每秒转送的位数 bps Bit per second 和每秒符 号数 波特率 Band rate 在具有调制解调器的通信中 波特率与调制速率有关 所谓 串行通信 是指外设和计算机间使用一根数据信号线 另外需要地线 可能还需 要控制线 数据在一根数据信号线上一位一位地进行传输 每一位数据都占据一个固定的 时间 长度 这种通信方式使用的数据线少 在远距离通信中可以节约通信成本 当然 其传输 速度比并行传输慢 8 由于 CPU 与接口之间按并行方式传输 接口与外设之间按串行方式传输 因此在行接 中 必须要有 接收移位寄存器 串 并 和 发送移位寄存器 并 串 在数据输入过程中 数据 1 位 1 位地从外设进入接口的 接收移位寄存器 当 接收 移位寄存器 中已接收完 1 个字符的各位后 数据就从 接收移位寄存器 进入 数据输入寄 存器 CPU 从 数据输入寄存器 中读取接收到的字符 并行读取 即 D7 D0 同时被读 至累加器中 接收移位寄存器 的移位速度由 接收时钟 确定 在数据输出过程中 CPU 把要输出的字符 并行地 送入 数据输出寄存器 数据输 出寄存器 的内容传输到 发送移位寄存器 然后由 发送移位寄存器 移位 把数据 1 位 1 位地送到外设 发送移位寄存器 的移位速度由 发送时钟 确定 2 2 22 2 2 串口同步通信的应用串口同步通信的应用 1 时钟 在串行同步通信中 需要使发送的数据同时带有同步信息 因此 在硬件电路的设计中需 要保证数据流中每一个连续不断的数据位均由一个基本时钟控制 并定时在某个特定的间 隔上 所以对时钟要求甚严 即使两个工作站的通讯模板上的晶振频率标称值相同 但实 际上每个晶振的频率有所差别 时钟频率的误差将导致同步时钟相位的移动 离开要求的 位置 为了保证进入同步后相位一直被锁定 我们将 Modem 置为同步方式 利用 Modem 的 RXC 接收时钟 和 TXC 传送时钟 作为接收 传送时钟 以此来达到传送时钟和接收时钟 的同步 2 发送 通信模块被初始化完后 在 CPU 向通信模块写一个字符启动发送前 TXD 输出端一直处于高 平状态 作为启动发送的第一个字符应是 SYNC 同步字符 符号 一旦启动了发送 TXD 输出 端上的数据一定以 TXC 的频率连续不停地发送 在 CPU 不能及时向传送缓冲器写数之时 SYNC 符号将自动插入到 TXD 数据流中 以保持 TXD 上有数据连续不断的发送 3 接收 同步接收有外同步和内同步两种方式 初始化时 在方式字中设定 本例设为内同步 内同步方式下 命令字的 ENTER HUNT 位置上的数据在 RXC 的上升没被采样 RXC 缓冲器与同步字符比较 直到相同为止 通信模块结束 HUNT 搜索同步字符状态进入同步状态 处于字符同步中 然 后把 SYNDET 引脚置为高电平 表明接收方已与发送方同步上 2 32 3 RS 232 CRS 232 C 接口接口 硬件组成 S3C2410X 芯片一块 nRF903 单片高速无线收发芯片一块 ADT1000 仿真器 一套 USB 连接电缆一条 RS 232 串口通讯线一条 直连网线一根 RS 232 是英文 推荐标准 的缩写 232 为标识号 C 表示修改次数 RS 232 C 总线 标准设有 25 条信号线 包括一个主通道和一个辅通道 在多数情况下主要使用主通道 对 于一般双工通信 仅需几条信号线就可以实现 如一条发送线 一条接收线及一条地线 一个完整的 陕西理工学院毕业设计 第 9 页 RS 232C 标准 协议 的全称是 EIA RS 232C 标准 定义是 数据终端设备 DTE 和 数据通讯设备 DCE 之间串行二进制数据交换接口技术标准 它是在 1970 年由美国电子 工业协会 EIA 联合贝尔系统 调制解调器厂家及计算机终端生产厂家共同制定的用于串 行通讯的标准 其中 EIA Electronic Industry Association 代表美国电子工业协会 RS Recommended standard 代表推荐标准 232 是标识号 C 代表 RS232 的最新一次修改 2 3 12 3 1 RS 232CRS 232C 接口引脚定义接口引脚定义 由于 RS 232C 并未定义连接器的物理特性 因此 出现了 DB 25 DB 15 和 DB 9 各种 类型的连接器 其引脚的定义也各不相同 RS 232C 规标准接口有 25 条线 4 条数据线 11 条控制线 3 条定时线 7 条备用和 未定义线 常用的只有 9 根 它们是 1 状态线 数据准备就绪 Data set ready DSR 有效时 ON 状态 表明数据通信设备可以 使用 DCE DTE 数据终端就绪 Data set ready DTR 有效时 ON 状态 表明数据终端设备可以 使用 DTE DCE 这两个信号有时连到电源上 上电就立即有效 这两个设备状态信号有效 只表示设备本身可用 并不说明通信链路可以开始进行通 信了 能否开始进行通信要由下面的控制信号决定 2 联络线 请求发送 Request to send RTS DTE 准备向 DCE 发送数据 DTE 使该信号有效 ON 状态 通知 DCE 要发送数据给 DCE 了 DTE DCE 允许发送 Clear to send CTS 是对 RTS 的响应信号 当 DCE 已准备好接收 DTE 传来的数据时 使该信号有效 通知 DTE 开始发送数据 DCE DTE RTS CTS 请求应答联络信号是用于半双工 MODEM 系统中发送方式和接收方式之间的切换 在全双工系统中 因配置双向通道 故不需要 RTS CTS 联络信号 使其变高 3 数据线 发送数据 Transmitted data TxD DTE 发送数据到 DCE DTE DCE 接收数据 Received data RxD DCE 发送数据到 DTE DCE DTE 4 地线 有两根线 SG PG 信号地和保护地信号线 5 其余 载波检测 Carrier Detection CD 用来表示 DCE 已接通通信链路 告知 DTE 准备 接收数据 DCE DTE 振铃指示 Ringing RI 当 DCE 收到交换台送来的振铃呼叫信号时 使该信号有效 ON 状态 通知 DTE 已被呼叫 DCE DTE 通常的应用系统中 往往是 CPU 和 I O 设备之间传送信息 两者都是 DTE 比如 PC 和 色温计 PC 和单片机之间的通信 双方都能发送和接收 它们的连接只需要使用三根线即 可 即 RXD TXD 和 GND 2 3 22 3 2 RS 232CRS 232C 的电气特性的电气特性 1 逻辑电平 在 TXD 和 RXD 上 逻辑 1 MARK 3V 15V 逻辑 0 SPACE 3 15V 在 RTS CTS DSR DTR 和 DCD 等控制线上 信号有效 接通 ON 状态 正电压 3V 15V 陕西理工学院毕业设计 第 10 页 信号无效 断开 OFF 状态 负电压 3V 15V 由以上定义可以看出 信号无效的电平低于 3V 也就是当传输电平的绝对值大于 3V 时 电路可以有效地检查出来 介于 3 3V 之间的电压无意义 低于 15V 或高于 15V 的电 压也认为无意义 因此 实际工作时 应保证电平的绝对值在 3 15 V 之间 当计算机和 TTL 电平的设备通信时 如计算机和单片机通信时 需要使用 RS 232C TTL 电平转换器件 常用的有 MAX232 2 传输距离 由 RS 232C 标准规定在码元畸变小于 4 的情况下 传输电缆长度应为 15m 其实这 个 4 的码元畸变是很保守的 在实际应用中 约有 99 的用户是按码元畸变 10 20 的范 围工作的 所以实际使用中最大距离会远超过 15m RS 232 标准采用的接口是9 芯或25 芯的D 型插头 常用的一般是9 针插头 DB 9 芯片引脚图如图2 1所示 图2 2RS232引脚图 要完成基本的通信功能 实际上只需要RXD TXD GND 即可 但是由于BenQ的M22通 讯模块需要握手信号 RTS和CTS 所以在本系统中至少要接5根线 同时又由于RS 232 C 标准所定义的高 低电平信号与S3C210X 系统的LVTTL 电路定义的高 低电平信号完全不 同 LVTTL的标准逻辑 1 对应2V 3 3V 电平 标准逻辑 0 对应0V 0 4V 电平 而RS 232 C 标准采用负逻辑方式 标准逻辑 1 对应 5V 15V 电平 标准逻辑 0 对应 5V 15V 显然 两者间要进行通信 必须经过电平的转换 转换芯片采用的MAX232 电 路原理图见图2 3所示 陕西理工学院毕业设计 第 11 页 图 2 3 串口连接电路图 其中J8 串口负责与BenQ M22 通讯 J7 串口负责与PC 机通讯 2 42 4 nRF903nRF903 芯片芯片 nRF903 是 NORDIC 公司最新推出的单片无线收发一体的芯片 采用蓝牙核心技术设计 在一个 32 位脚的芯片中包括三段高频发射 高频接受 PLL 合成 I O 调制 I O 解调 多频道切换 异步通信接口等 是目前集成度最高的无线数传产品 以往设计无线数传产 品往往需要相当的无线电专业知识和价格高昂的专业设备 传统的电路方案不是电路烦琐 就是调试困难 另人望而却步 影响了用户的使用和新产品的开发 nRF903 的出现使人们 摆脱了无线电产品设计的困难问题 nRF903 采用抗干扰能力强的 GMSK 调试方式 工作频 率稳定可靠 外围元件少 便于设计生产 功耗极低 适合于便携及手持产品的设计 工 作在国际通用 ISM 频段 特别适合多频段多频点的应用场合 最多可达 170 个频点 是目 前无线数传的理想选择 可广泛用于遥控 遥测 小型无线网络 无线抄表 门禁系统 小区传呼 工业数据采集系统 无线标签 身份识别 非接触 RF 智能卡 小型无线数据终 端 安全防火系统 无线遥控系统 生物信号采集 机器人控制 无线数字图像 数字语 音传输等领域 芯片功能及参数 1 三频段收发合一 工作频率为国际通用的 ISM 频段 433 868 915MHZ 2 GMSK 调制 抗干扰能力强 特别适合工业控制场合 3 采用 DSS PLL 频率合成技术 频率稳定性极好 4 灵敏度高 达到 100dBm 5 低工作电压 2 7V 功耗小 接受待机状态仅为 1 A 可满足低功耗设备的要 求 6 最大发射功率达 10dBm 7 具有多个频道 最多 170 个 特别适合需要多信道工作的特殊场合 陕西理工学院毕业设计 第 12 页 8 工作速率最高可达 76 8kb s 9 外围元件少 仅 10 个 基本无须调试 由于采用了低发射功率 高接收灵敏度的设计 使用无须申请许可证 开阔地的使用 距离最远可达 1000m 与实际环境和具体参数有关 芯片内部包括低噪声放大器 LNA 功率放大器 PA 压控振荡器 VCO GMSK 调制解调 频率基准源 PLL 频率合成 数字静躁电路 单片机接口等 nRF903 与 MCU 接口管脚图如图 2 1 所示 此接口由 7 个数字输入 输出 I O 组成 完 成两个主要功能 芯片配置和工作模式控制 除了这 7 个脚外 还有两个鹅外的可用信号 即 C SENSE 和 CLK OUT 当未接受到载波信号时 C SENSE 输出电压为 0 随着接收信号电平的上升 C SENSE 的输出电压上升 上升到输入电平值接近接收灵敏度极限以上 10dB 点时 C SENSE 为 1 CLK OUY 输出可供外部 MCU 使用 可配置为 11 0592MHZ 的 1 2 4 或 8 分频输出 nRF903 的用户接口分为三大类 1 数据接口 DATA 数据 TXEN 收发控制 可直接接单片机的串行口 2 编程接口 CFG CLK 配置寄存器时钟 CFG DATA 配置寄存器数据 CS 配置 寄存器片选 对工作频率等参数进行设置 可接单片机 I O 口来进行控制 3 芯片状态及控制口 STBY 待机 PWR DWN 掉电 CLK OUT 时钟分频输出 可供外部 MCU 使用 C SENCE 静躁输出 当 nRF903 工作在接受模式时 ANT1 ANT2 提供了 RF 到 LNA Low Noise Amplifier 输 入 当 nRF903 工作在发射模式时 ANT1 ANT2 提供从 PA Power Amplifier 的输出 nRF903 采用差分天线 推荐开路输出三极管配置成差分配对方式 功率放大器的 VDD 必须 通过基电极负载 当采用差分环形天线时 VDD 必须通过环形天线的中心输出 ARM 的 UART 单元提供独立的异步串行 I O 端口 每个都可以在中断和 DAM 两种 模式下工作 最高支持波特率为 115 2kbps 每个 UART 通道包含 2 个 16 位 FIFO 分别用 于接收和发送数据 UART 可以进行以下参数的设置 可编程的波特率 红外收发模式 1 或 2 个停止位 5 位 6 位 7 位或 8 位数据宽度和奇偶校验 每一个 UART 包含一个波特率产生器 发送 器 接收器和控制单元 波特率发生器以 MCLK 作为时钟源 发送器和接收器包含 16 字 节的 FIFOS 和移位寄存器 要被发送的数据 首先被写入 FIFO 然后拷贝到发送移位寄 存器 接着他从数据输出端口 TxDn 依次被移位输出 被接受的数据也同样从数据接收 端口 RxDn 移位输入到移位寄存器 然后拷贝到 FIFO 中 系统采用 RS 232 的电平转换芯片实现串口的通信 TTL CMOS 输入输出信号与 ARM 的 UART 的 I O 口对接 6 陕西理工学院毕业设计 第 13 页 图 2 4 形差分天线应用的原理图 射频应用模块原理图 当 nRF903 工作在接受模式时 ANT1 ANT2 提供了 RF 到 LNA Low Noise Amplifier 输 入 当 nRF903 工作在发射模式时 ANT1 ANT2 提供从 PA Power Amplifier 的输出 nRF903 采用差分天线 推荐天线端口的负载阻抗为 180 环形差分天线应用的原理图如图 2 4 所示 开路输出三极管配置成差分配对方式 功 率放大器的 VDD 必须通过基电极负载 当采用差分环形天线时 VDD 必须通过环形天线的 中心输入 2 52 5 电路设计电路设计 2 5 12 5 1 ARMARM 中央处理器中央处理器 32 位 ARM9 架构的处理器 S3C2410X 为核心的接收模块主要结构图如图 2 2 所示 图列 出了需要使用的模块 其中包括数据存储部分 电源管理电路 显示电路 输入电路及与 外部进行通信的 USB 接口 RJ 45 UART SIO 以及下载程序和代码的 JTAG 接口 2 陕西理工学院毕业设计 第 14 页 图 2 2 接收模块主要结构图 2 5 22 5 2 串行通信模块串行通信模块 主机部分进行数据传输的整体框图如图 2 3 所示 此部分主要实现电平转换功能 由 于 S3C2410X 串行输出电平与计算机串行通信接口之间存在电平差异 因此系统中采用能进 行串口电平转换的芯片 MAX232 将 S3C2410X 输出的串行数据传回计算机串口 图 2 3 主机部分进行数据传输的整体框图 2 5 32 5 3 无线收发系统无线收发系统 无线收发系统的串行数据发送部分结构图如图 2 4 所示 此部分是整个串行数据传输 设计的关键部分 也是核心部分 图 2 4 串行数据发送部分结构图 由于 nRF903 外围元件少 设计比较方便 但不是只要按照电路图接上就可达到效果 由于高频电路的特性 以及工作频率较高的 UHF 尽管 nRF903 已经大大简化了射频电路设 计及要求 但设计时仍然需要十分注意 同时 任何高频电路和产品的设计在实际使用时都需要根据分布参数和实际需要进行 一定的调整 还需要一定的仪器设备和必要的专业合知识 同时也不能忽略电路其他部分 的调试 这样才能达到最佳状态和效果 这是高频电路设计的特点和难点 不是某一个 RF 芯片所特有的缺点 4 陕西理工学院毕业设计 第 15 页 3 3 系统软件设计系统软件设计 在对基于ARM的无线数据传输系统软件进行设计时 首先将编译程序在ARM嵌入式开发 板中进行运行调试 运行成功后 再下载到目标系统中 在ARM嵌入式开发板中进行程序编 程调试时 相应的开发平台为 1 ARM STD V2 5软件开发平台 2 计算机超级终端 3 主机一台 4 开发板及配件一套 所有程序调试运行通过后 再将相应程序下载到目标系统中运行测试 嵌入式开发板 与主机连接图如图3 1所示 陕西理工学院毕业设计 第 16 页 图3 1 嵌入式开发板与主机连接图 3 13 1 软件设计流程软件设计流程 3 1 13 1 1 嵌入式软件开发系统开发步骤嵌入式软件开发系统开发步骤 1 配置实验开发环境 2 编写源代码文件 3 在ARM STD环境下交叉编译 4 经过JTAGT调试程序 5 下载程序到实验开发板进行调试试验 6 利用主机通过超级终端实时监控 7 测试通过后 将程序下载到目标系统中 8 实时监控目标系统 3 1 23 1 2 软件开发流程软件开发流程 RJ 45 UART USB JTAG S3C2410 开发板 扩展接口 RS 232C 转换接口 JTAG 仿真器 系统主机 RJ 45 USB UART JTAG 陕西理工学院毕业设计 第 17 页 图3 2 软件开发流程图 3 1 33 1 3 UARTUART串行数据通信系统信号处理流程串行数据通信系统信号处理流程 S3C2410X有两个UART端口 UART串行通信信号处理流程为 1 程序初始化 设置各个与UART相关的寄存器 2 设置波特率 3 串行发送数据 3 1 43 1 4 SIOSIO信号处理流程信号处理流程 SIO串行通信工作在两种模式 SIO正常模式和SIO DMA模式 当工作在SIO正常操作模式时 发送与接收同时进行 一个发送数据脚 一个接受数据 脚 当一个字节写入SIODAT数据寄存器时 如果SIO运行为设置和发送模式允许 则SIO开 始发送数据 为了对SIO模块编程 应该遵守如下步骤 1 配置I O脚 SIOTXD SIOCLK SIORXD 2 设置SIOCON为适当的配置 3 设置串行I O中断允许位 4 如果想发送数据 则写数据到SIODAT 5 设置SIOCON 3 为1 开始数据异移位操作 6 当数据移位操作完成时 SIO中断被请求 SIODAT接收到数据 7 返回第四步 当工作在SIO DAM模式时 SIO等待直到发送的数据被外部目标设备读走 在每次8位数 据发送后 SIO插入一个可编程的间隔周期 DMA发送数据步骤如下 1 清DCNTZ为0 使SIO能请求DMA服务 除了SIOCON 1 0 必须为00外 适当地配置 SIO 2 适当地配置DMA 3 SIO被配置为DMA发送模式 4 SIO自动请求DMA服务 5 SIO发送数据 6 返回步骤四 直到DMA计数为0 7 设置DCNTZ为1 停止SIO请求进一步的DMA服务 DMA接收数据步骤如下 陕西理工学院毕业设计 第 18 页 1 清DCNTZ为0 使SIO能请求DMA服务 除了SIOCON 1 0 必须为00外 适当地配置 SIO 2 适当地配置DMA 3 SIO被配置为DMA接收模式 4 设置SIOCON 3 SIO开始位 来开始接收操作 5 SIO在接收到8位数据后请求DMA服务 6 返回第五步骤 直到DNA计数为0 7 设置DCNTZ为1 停止SIO请求进一步的DMA服务 3 23 2 UARTUART编程模型编程模型 1 SIO模块 SIO模块主要实现数据同步传输 其主要由以下几个函数组成 1 SIO Int void 用来初始化同步I O 2 SIO Printf用于输出字符串 3 SIO Getch用于接收指定串口的数据 收到数据时返回true 否则 返回 FALSE 4 SIO SemdByte用于发送一个字节的数据 2 UART模块 UART模块主要实现计算机主机与S3C2410X之间的数据传输 主要包括以下几个主要函 数 1 Uart Init用来初始化串行口 设置串行口通信的波特率 2 Uart Printf用于输出字符串到串口0 3 Uart Getch用于接收指定串口的数据 收到数据时返回TRUE 否则 返回 FALSE 4 Uart SendByte用于向指定的串口发送一个字节的数据 在本设计中 与串口相关的寄存器定义在include 2410addr h文件中 定义如下 UART define rULCON0 volatile unsigned 0 x50000000 define rUCON0 volatile unsigned 0 x50000004 define rUFCON0 volatile unsigned 0 x50000008 define rUMCON0 volatile unsigned 0 x5000000C define rUTRSTAT0 volatile unsigned 0 x50000010 define rUERSTAT0 volatile unsigned 0 x50000014 define rUFSTAT0 volatile unsigned 0 x50000018 define rUMSTAT0 volatile unsigned 0 x5000001C define rUBRDIV0 volatile unsigned 0 x50000028 define rULCON1 volatile unsigned 0 x50004000 define rUCON1 volatile unsigned 0 x50004004 define rUFCON1 volatile unsigned 0 x50004008 define rUMCON1 volatile unsigned 0 x5000400C define rUTRSTAT1 volatile unsigned 0 x50004010 define rUERSTAT1 volatile unsigned 0 x50004014 define rUFSTAT1 volatile unsigned 0 x50004018 define rUMSTAT1 volatile unsigned 0 x5000401C define rUBRDIV1 volatile unsigned 0 x50004028 陕西理工学院毕业设计 第 19 页 define rULCON2 volatile unsigned 0 x50008000 define rUCON2 volatile unsigned 0 x50008004 define rUFCON2 volatile unsigned 0 x50008008 define rUMCON2 volat
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》模拟题库带答案详解(考试直接用)
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解【全优】
- 2025一建《水利水电工程管理与实务》押题卷A卷
- 乳品新产品平台创新创业项目商业计划书
- 押题宝典教师招聘之《小学教师招聘》通关考试题库及参考答案详解(模拟题)
- 教师招聘之《小学教师招聘》能力提升题库及参考答案详解【突破训练】
- 2025内蒙古呼伦贝尔农垦集团有限公司招聘笔试及答案详解(名校卷)
- 教师招聘之《小学教师招聘》模拟考试高能附参考答案详解【b卷】
- 教师招聘之《小学教师招聘》提分评估复习附参考答案详解(培优b卷)
- 教师招聘之《小学教师招聘》考前冲刺分析附答案详解【a卷】
- 劳动课种植教学方案
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 实验-大肠杆菌感受态细胞的制备及转化
- 2025年中考语文阅读复习:理解词语含义(含练习题及答案)
- GB/T 44421-2024矫形器配置服务规范
- 磷酸哌嗪宝塔糖的毒理学研究
- 【课件】2025届高三生物一轮复习备考策略研讨
- 灵芝培训课件
- 环形开挖预留核心土法
- 妇科医生进修汇报课件
- 《科室管理方案》课件
评论
0/150
提交评论