1、 山东建筑大学信电学院课程设计说明书 1 1 设计目的 本设计要求实现一个能将采集的数据通过 USB 接口转存的系统。该系统的ARM 负责数据的采集和运算处理,采集数据可以根据自己的需要假定(如温度、流速等),处理结果通过 USB 口送计算机显示分析。通过 USB 送计算机的方式自己选择,可以使通过 U 盘转存,也可以是使 ARM 系统本身就是一个 USB 从设备,之际接到计算机的 USB 主机接口上进行通信。 根据设计题目的要求,选择确定 ARM 芯片型号、 USB 控制芯片型号,完成系统硬件设计,实现数据转存。 山东建筑大学信电学院课程设计说明书 2 2 设计要求 根据所给出的已 知参数,
2、对输入信号特征进行分析,同时进行需求分析,跟 据分析的结果,选择确定 ARM 芯片, USB 控制器 芯片 型号,完成 系统硬件设计 。 画出原理图后, 根据硬件设计的结果设计系统的软件流程 。 山东建筑大学信电学院课程设计说明书 3 3 设计内容 3.1 ARM 与 USB 的特点 3.1.1 ARM 的特点 嵌入式系统是一种“完全嵌入到受控器件内部,为特定应用而设计的专用计算机系统”。 一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统 软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制
3、命令,执行所规定的操作或任务。 ARM( Advanced RISC Machines)处理器是 Acorn 计算机有限公司面向低预算市场设计的第一款 RISC 微处理器。更早称作 Acorn RISC Machine)。 当前 ARM体系结构的扩充包括: 1、 Thumb 16 位指令集,为了改善代码密度; 2、 DSP DSP应用的算术运算指令集; 3、 Jazeller 允许直接执行 Java 字节码。 4、 ARM 处理器系列提供的解决方案有; 5、无线、消费类电子和图像应用的开放平台; 6、存储、自动化、工业和网络应用的 嵌入式实时系统 ; 7、智能卡和 SIM 卡的安全应用。 AR
4、M 处理器的三大特点是:耗电少功能强、 16 位 /32 位双 指令集 和合作伙伴众多。具体如下: 1、 体积小、低功耗、低成本、高性能 2、 支持 Thumb( 16 位) /ARM( 32 位)双指令集,能很好的兼容 8位 /16 位器件; 3、 大量使用寄存器,指令执行速度更快; 4、 大多数数据操作都在寄存器中完成; 5、 寻址方式灵活简单,执行效率高; 6、 指令长度固定。 3.1.2 USB 的特点 USB(通用串行总线 )协议是一些 PC 大厂商为了解决日益增加的 PC外设与有限的主板插槽之间的矛盾而制定的一种串行通信标准。 USB 接口是一个快速的、双向的、同步的、低成本的、动
5、态的串行连接接口,支持主机和并发存取外设之间的数据交换。所连的外设通过主机调度和基于令牌的协议共享 USB 带宽。 USB 山东建筑大学信电学院课程设计说明书 4 的主要优点有 : 1、传输速度快, USB 1.1总线协议规定的最高传输速度为 12Mb/s,比一般的PC机外置端口都快,而在 USB2.0总线协议里,定义的最高传输速度已经达到了480Mb/s,可以满足包括视频设备在内的多种外部设备数据传输的需要; 2、 设备配置和安装容易,所有的 USB 设备支持热拔插,系统对其进行自动配置; 3、 能够采用总线供电,总线可以提供最多 500mA 的电源,对于一般的小型外设可以通过总线供电,不需
6、要外部电源; 4、易于扩展 ;; 5、 使用灵活, USB 共有 4 种传输模式 :控制传输、同步传输、中断传输、块传输,以适用不同的设备的需要; 6、 容错性强, USB 协议规定了对各种可能遇到的错误的处理和恢复机制,保证了数据传输的正确性,同时,对设备的热拔插处理迅速且不影响系统的正常工作; 7、实现成本低, USB 对系统与 PC 的集成进行了优化,适合于开发低成本的外设。 不同的 USB 传输 速率有不同的应用,其具体应用如下表所示: 类别 应用 特性 低速 交互设备 10-20kbps 键盘,鼠标,游戏杆 低价格,热拔插,易用性 全速 电话、音频、压缩视频 500kbps-12Mb
7、ps ISDN、 PEX、 POIS 低价格、热拔插、易用性、限定带宽和延迟 高速 视频、磁盘音 25-480Mbps 视频处理、磁盘 高带宽、限定延迟、易用性 山东建筑大学信电学院课程设计说明书 5 3.2 接口方案设计 利用 ARM的强大的数据处理功能 ,可以将采集到的数据经过 ARM进行快速复杂的处理 , 传输给 USB控制器 , 接着由后者驱动 USB接口以将数据传给外部器件; USB控制器通过 USB接口接收外部器件传来的信息 , 然后再把它们转发给信号处理系统。结构框图如图 1所示。 图 1 信号处理系统的 USB接口扩展框图 3.3 各部分芯片选择与设计 3.3.1 USB 控制
8、器芯片 1、芯片选择 此次设计为基于 ARM 的 USB 数据转存系统的设计,根据实验设计的各项参数与设计要求,我们选择 SL811HS 为这次设计中所要用的 USB 接口控制器。 2、芯片性能 SL811HS 是一个嵌入式的主 /从设备控制器,可以全速或低速与 USB 设备通信。 SL811HS 可以接微处理器,微控制器, DSP,或者直接接到多种总线上,如: ISA,PCMCIA 和其它。 SL811HS 主机控制器遵从 USB 协议 1.1,嵌入式 USB主 /从设备控制器 SL811HS 把 USB 串行接口和内部全速低俗合为一体。 SL811HS 支持和运转在 USB12Mbps 的
9、全速模式下,或者在 1.5Mbps 的低速模式下, SL811HS 的数据口微处理器接口提供 8bit 位数的 I/O 或者双向的 DMA,通过终端允许简单接口到标准 的微处理器或控制器,如:摩托罗拉,英特尔 CPU 或者其它。控 制 系 统 ARM USB 控制 器 USB接口 外部器件 山东建筑大学信电学院课程设计说明书 6 SL811HS 的内部,包含一个 256 字节用于控制寄存器和数据缓冲的随机存储器。可用的封装有 28 针的 PCLL 封转和 48 针的 TQFP 封装。两者都运行在 3.3 伏的电压下。 I/O 接口的逻辑兼容 5伏电压 SL811HS 能工作与两种模式 -主或从
10、。 SL811HS 在软件控制下运行为单个 USB主或从设备,主机或从设备模式都有 1.5Mbps 的低速, 12Mbps 的全速, CPU 自动识别低速和全速设备。 SL811HS 微处理器接口提供 8 位双向数据通道,并用适合的控制 下连到外部处理器或控制器。控制线,芯片选择,读 /写和一个单独的地址线, A0,以及 8位数据线,支持 I/O 程序编写和存储器映射到 I/O 的设计。 存储器的存取和控制寄存器的控制是两个简单过程,需要一条地址线写A0=0,接下来当设 A0=1 时,周期内寄存器 /存储器读 /写。另外,在从模式下,DMA 双向接口通过握手信号可以作用,握手信号如: DREQ
11、,ACK,WR,RD,CS 和 INTR。当 nWR 或 nCS 处于非活动时, SL811HS 写或读操作终止。对于连接到 SL811HS 的装置,选择在写 nWR 之前选通 nCS 是芯片不活 动,从 nCS 上实时测量的数据与指定的值相同。 SL811HS 的中断控制器提供一个输出信号,它能激活一系列事件使 USB 活动起来。通过地址为 0X0D 的状态寄存器可以清除中断。 SL811HS 有 256 字节的内部缓冲寄存器,前面 16 字节的空间是用来编程 I/O 运转的控制和状态寄存器。其余的空间用作数据缓冲区。 3、 SL811HS 的硬件设计 SL811HS 对一个接入的 USB
12、设备的启动过程为: (1) SL811HS 检测到有外部 USB 设备接入; (2) 对这个 USB 设备进行 Reset 操作,检测该 USB 设备是高速设备还是 低速设备,并设置好 SL811HS 中对应的寄存器位; (3) 通过 0 号端点读取该 USB 设备的描述符信息如厂商 ID、产品 ID、设备类、设备子类、设备协议,选取对应的子程序; (4) SL811HS 固件驱动程序对该 USB 设备进行初始化:读取该 USB 设备的设备描述符,为该设备指定地址,读取该设备的配置描述符信息、接口描述符信息、端点描述符信息,为该 USB 设备设置选择配置描述符; 山东建筑大学信电学院课程设计说
13、明书 7 (5) 对该 USB 设备的初始化完成后,按照应用要求与该设备进行通信。 对 SL811HS 进行设置的初始化程序,这部分程序在系统复位后就 立即执行;发现 USB 设备接入的子程序,并判断该设备是高速设备还是低速设备;对该 USB设备进行 Enumerate 即初始化操作,并指定其 USB 地址的子程序;用于其他数据通信的子程序,利用该部分程序完成指定的应用要求。 初始化部分需要根据 SL811HS 数据手册的要求对各个控制寄存器进行设置。把 SL811HS 控制寄存器 2(地址 0x0F)设置为 0xAE,以使能 SL811HS 的全部功能;把控制寄存器 1(地址 0x05)设置
14、为 0;把 SOF Count Low 寄存器 (地址 0x0E)设置为 0xE0,让 SL811HS 每 1ms 自动 产生 SOF。此外还要对 SL811HS 中断使能寄存器进行设置,以使能设备插入 /移去中断。 在对 SL811HS 的初始化完成以后,所选 ARM 芯片上的固件程序进入等待设备插入的阶段。当 SL811HS 以中断方式通知 ARM 现在有设备接入时,固件程序进入发现 USB 设备接入子程序。 需要注意的是, USB 设备接入后应首先对其进行复位操作,且复位时间不少于 10ms,否则 USB 设备将不能启动。 USB 设备在正常使用前,还需要由固件程序对它进行配置,即对 U
15、SB 设备进行初始化。该部分涉及资源的分配、选择合适的驱动程序、设置 USB 地址等。这些功能的完成都需要控制传输。 根据应用需要,如果要支持 USB HUB 类型的设备接入时,需要对前面的程序作适当的调整和考虑,尤其注意在跨过 HUB 与一个低速 USB 设备通信时要先发一个前导包。如果支持多个 USB 设备的接入,通过对 SL811HS 内部 SOF Count Low寄存器和 SOF Count High 寄存器的分析,来确定能否满足当前接入设备的带宽要求。每次事务传输完成,都应该读取 SL811HS 内部 USB Status 寄存器的值,以确定该次事务传输是否成功、是否超时等异常情况
16、的发生,以保证程序的稳 健性。 3.3.2 ARM 控制芯片 1、芯片选择 在这次设计中,我们要基于 ARM 进行设计,这次设计可以用的芯片有很多,如 S3C4510B, S3C2410x 等等,其中 S3C2410 具有极为出色的性能。它具有如下山东建筑大学信电学院课程设计说明书 8 特点: ( 1)采用核心板和底板分离的设计思想,用户可以方便的使用 Core-Board 进行二次开发 ,核心板和底板采用稳固 DIMM-144 标准 PCI 插槽接口。 ( 2) Core-Board 集成了 ARM 最小系统,包括 CPU、内存、 NandFlash、NorFlash、 RTC 核心部件。特
17、别是 Nor Flash 的集成使 ARM 最小系统进一步完整, Nor Flash 的集成让用方便地调试 Vxwork 等软件。 ( 3) 3、 S3C2410 支持两种启动模式:一种是从 NAND FLASH 启动; 一种是从外部 nGCS0 片选的 Nor Flash 启动,用户可以在两个操作系统间进行选择。 ( 4) Wiggle 和 JTAG 二合一调试板内置 Wiggle 和 JTAG 功能。二者合一让用户方便地写和调试程序。 根据设计参数、设计要求以及老师的要求,这次设计中我们选用 S3C2410芯片作为设计的主芯片。 2、 S3C2410 的电路系统 S3C2410 的电路系统
18、如图二所示: 山东建筑大学信电学院课程设计说明书 9 图 2 S3C2041 电路系统 3、 系统电源供给 系统采用 5V直流变压器供电,经过稳压块把电压稳定到 3.3V和 1.8V,分别供给 CPU处理器的 I/O及外围与处理器核。其中 1.8V电压采用两路独立的电源给CPU的核供电。这是为了使 CPU能工作于断电模式( POWER-OFF MODE)。在断电模式中,一个 1.8V电源供给唤醒逻辑,另外一个则供给其他逻辑,包括 CPU的核本身。第二个电源可以被唤醒逻辑控制通断以方便 CPU对工作模式的切换。系统工作于断电模式时,耗电量非常低,这一功能对手提设备来说是非常有用的。系统还为实时时
19、钟电路设计了后备锂电池,可使其在系统断电之后仍然能够正常工作。 系统电源供给电路如图 3所示: 图 3系统电源电路 4、 系统时钟 系统主时钟如图:本系统可以使用有源晶体( X101,未安装)或无源晶体( X103)作为系统 PLL和 USB PLL的基准输入时钟源总线时钟,经内部 PLL产生 CPU的工作时钟和 USB的工作时钟。尽管系统时钟 MPLL在 CPU复位之后就开始工作,但是 MPLL的输出直到软件向 MPLLCON寄存器写入有效值之后才真正作为系统的主时钟。在此之前,系统时钟直接从外部晶体频率或者 EXTCLK获得。因此尽管用户想仍然保留原来的时钟设置,也应该在 CPU复位之后重新将 MPLLCON原来的值写入MPLLCON寄存器。 山东建筑大学信电学院课程设计说明书 10 用户可通过对 CPU的 OM3:2脚的跳线来选择时钟。 时钟电路如图 4所示: 图 4系统时钟电路 5、 JTAG接口及复位逻辑 开发板的 JTAG 接口可支持多种仿真器,只要把相应跳线设置一下就可以了。电路图如下。系统的复位信号 nRESET 必须 保持低电平 4 个时钟周期才能保证可靠复位,一旦外部复位信号被 CPU 确认,它将使 CPU 内部复位信号变低电平,并且保持 128 个时钟周期。 JAAG 接口及复位电路如图 5所示: