ADμC702x系列MicroConverter的特点与应用

发布者:Jinyu521最新更新时间:2007-03-09 手机看文章 扫描二维码
随时随地手机看文章
摘 要 主要介绍Analog Devices公司基于ARM7TDMI体系结构的新型AD,μC702x系列Micro Converter的特点;讨论基于ADμC702x芯片的应用电路设计及在不同模式下A/D转换单元的工作特性,并说明ADμuC702x评估板所提供开发工具的使用方法。旨在帮助读者尽快熟悉使用ADμC702x系列Micro Converter。 关键词 ADμC702x Micro Converter ARM7TDMI KEIL 引 言 ADI(Analog Devices Inc)公司是美国著名的半导体生产厂商,其生产的模拟器件、AD"C800系列(51内核)单片机和ADSP系列处理器在国内已有广泛应用。近来,ADI公司采用新型的ARM7TDMI内核设计了全新的ADμC702x系列MicroConverter,其运算速度可达45MIPS,12位A/D转换速率高达1000 ksps,是MicroConverter系列中功能最强的成员。本文简要介绍ADμC702x系列MicroConverter的特点及其软、硬件的设计。 1 ADpC702x系列的特点及硬件设计 ADμC702x系列MicroConverter采用ARM7TDMI体系结构,支持16/32位精简指令集(RISC),具有最多16通道、高达1000 ksps采样速率的12位A/D。ADμC702x系列整合了片内参考电平与温度传感器,支持JTAG方式调试与下载,外接32 kHz晶振,通过锁相环可工作在45MHz下。该系列产品集成有62 KB的Flash与8 KB的SRAM,片上外设资源包含有UAR了、SPI,双I2C串行接口、4个定时器、看门狗、电源监测模块、3相16位PWM输出和可编程逻辑阵列(PLA)等。ADμC702x系列采用3V供电,在1 MHz系统时钟下耗电为3 mA,45 MHz时钟频率下耗电为50 mA。图1为以ADμC7026为例的系统功能框图。下面简要介绍AD#C702x系列的硬件特点与相关设计。 1.1ADuC702x系列A/D转换器的配置与应用 ADμC702x系列MicroConverter包含有快速多通12位A/D转换器,可工作在2.7"3.6V电电压下;在系统时钟为45 MHz时,可提供1000 ksps的采样率。A/D模块还具有多路选择开关、差动采样保持和片上A/D转换参考电平(2.5 V)。 ADμC702x系列的A/D转换器可配置为差分、伪差分和单端模式。在伪差分与单端模式下,A/D转换的输入范围是0 V"VREF(参考电平)。在差分模式下,输入信号的共模电平为VCM,输入信号范围必须在0 V—AVDD(模拟电源电子)之间,输入信号的差模幅值最大可达2VREF,如图2所示。当A/D工作在差分方式时,每两路A/D转换引脚作为一路A/D转换通道,所以在该方式下可用的A/D通道较少;但差分方式对每一路模拟信号都能提供很好的共模抑制,并且拥有更宽的输入范围。采用单端与伪差分方式时,每个A/D引脚可作为独立通道工作,所以会拥有更多的A/D通道与更高的分辨率(为差分方式下2倍)。在设计时,可根据信号的特点选择A/D转换方式。 1.2 ADμC702x系列存储系统的特点与设计 ADμC702x系列MicroConverter具有64 KB的片上Flash。其中顶端的2 KB存储区包含有永久的固件,主要用于工厂校准、上电时内部引导和串口程序加载等,对用户是不可见的。其余62 KB可用于用户程序的写入。Flash组织方式为32K%26;#215;16位。当执行ARM(32位)指令集时,单周期不能完成取指,而且从Hash中读取数据需要插入更多的额外时钟周期,所以对于关键的代码段或中断服务程序可以映射到SRAM中进行。ADμC702x系列的SRAM组织方式为2K%26;#215;32位,访问速度为2 ns,可全速执行ARM代码。 在系统复位后,内核首先执行2KB的内部设置程序,然后默认从Flash中取指。可通过REMAP寄存器(ADμC702x系列的寄存器除标准的37个ARM7TDMI寄存器外都为存储器映射寄存器一一MMR)映射为从SRAM中取指,也可从SRAM取指方式通过REMAP寄存器返回为Flash取指方式。 ADμC702x系列中只有多引脚封装的ADμC7026与ADμC7027支持外部存储器扩展,其外部存储器总线可工作在8位或16位带宽模式下,分为4个存储区,通过MS[3:O]进行选择。典型外部总线设置如图3所示。 1.3 ADμC702x系列的PLA介绍 ADμC702x系列整合了可编程逻辑阵列(PLA),包含有2个相互独立但内部连接的PLA模块。每个模块包含8个PLA单元,共含有16个PLA单元。每个PLA单元包含1个双输入的查表结构,可用于产生基于输入的任伺逻辑输出函数并包含有1个触发器。PLA单元的结构如图4所示。 ADμC702x系列共有30个可用于PLA的GPIO口,其中有16个输入口,14个输出口。可通过配置GPxCON寄存器使它们成为PLA的外部引脚。通过配置相关寄存器可使PLA成为中断源,启动A/D转换或在输出引脚得到所需信号等。在AD公司的开发工具中还含有专门的设计软件用来设计PLA寄存器配置。 1.4 ADμC702x电源与其他硬件相关设计 由于ADμC702x系列内部整合有模拟与数字两部分电路。为了防止数字部分对模拟部分的干扰,保证A/D精度,在电源部分设计时要特别注意两部分电源的隔离。可采用双电源供电或单电源供电磁珠隔离方式。典型电路分别如图5、6所示。 ADμC702x系列其他片上外设资源,如LIART、SPI、PWM、watchdog等,在嵌入式系统中已有广泛应用,在ADμC702x系列使用中并无明显差异,在此不再赘述。 2 ADμC702x系列的软件设计 ADμC702x系列MicroConverter采用了ARM7TDMI内核,支持ARM(32位)与Thumb(16位)指令集,包含长乘法指令,有5种中断模式(未定义指令、软件中断、IRQ中断、FIQ中断和存储器访问终止),24个中断源(包括看门狗中断、定时器中断、SPI中断、PLA中断、A/D中断、外部中断等)。其中5种中断模式是ARM7TDMI内核共有的。24个中断源是根据ADμC702x系列特性可配置的,可分别配置为IRQ中断或FIQ快速中断模式。配置为FIQ模式时,将会有更快的响应时间。对应不同的工作模式,ADμC702x系列遵循ARM7TDMI内核规范,使用不同模式下的寄存器。有关ARM7TDMI内核特性可参考ARM体系结构相关资料。 2.1 适用于ADμC702x系列的编译器 ADμC702x系列为ARM7TDMI内核,所以原则上可以编译为ARM7TDMI指令集的编译器都可以选择。ARM7TDMI为RISC指令核,适用于使用C语言开发。现在常用的ARM编译环境有ARM Developer Suite(ADS)、RealView Developer Suite、IAR Embedded Work bench、KEILToolKit、GCC等。其中ADS与RealView是ARM公司开发的编译环境,RealView为ADS的换代产品。这两种编译器都具有很高编译效率与代码密度。IAR是一家瑞典嵌入式系统开发工具和服务的供应商,其不同MCU的编译器(如MSP430)在国内也有广泛应用。KEIL的C5l编译器对805l核C语言具有很好的编译效果,是国内使用最广的C5l编译器,其ARM编译器是该公司的新产品。而GCC是GNU组织设计的开源编译器,针对不同MCU有不同的开发工具集,并且可以免费使用,但它的编译效率不高且缺少可视化开发环境。 2.2 基于KEIL的ADμC702x系列程序设计简介 由于ADS在国内使用较早,现已有很多参考书籍。现简要介绍ADμC702x开发套件中KEIL编译器的开发流程。KEII.ARM集成开发环境为μVision3,具有友好的交互界面,编译、连接可在集成环境中一次完成,并可进行软件仿真或通过开发套件中的UuNKJTAG调试器进行下载、调试。在KEIL环境下,还可以配置编译器为ADS、REALVIEW、GCC或KEIL公司的ARMC编译器,所以KEIL环境极大地提高了开发的灵活性。以下简述在KEIL环境下,基于GCC与KEIL编译器的程序开发(GCC ARM编译器可从KEIL官方网站免费下载)。 在使用KEIL环境开发程序时,用户需要提供汇编语言起始代码startup.s、用户程序和连接器配置文件。其中startup.s程序主要用于安装中断入口程序、初始化不同模式下堆栈指针和当前MCU的初始化工作(包含PLL配置等),在初始化完成后,staltup.s还负责引导程序至C语言入口main()处。若使用GCC与KEIL编译器,一些常用MCU(包括ADμC702x系列)的startup.s代码已由KEIL提供,用户可根据需要进行少量修改。采用KEIL自带的编译器可在图形化界面下完成大部分连接器的配置工作,无需编写专门的文件。若使用GCC编译器还需提供连接配置文件。针对常用的MCU,KEIL也提供了基本的连接代码,可从相关目录中拷贝,根据需要修改配置。连接文件主要用于各代码和数据在存储器中的定位与变量的初始化。 用户程序可采用C语言编写。针对ARM7TDMI内核的特点,KEIL公司的ARMC编译器CA与GCCARM编译器arm-uclibc-gcc都对ANSI C进行了扩展,增加了关键字(如CA的中断服务关键字_irq、绝对存储地址关键字_at、GCC的_attribute_关键字等),以方便用户使用C语言对嵌入式系统编程。在程序设计时,扩展关键字可通过KEIL与GCC的用户手册进行查找,也可参考KEIL官方网站上的例程。 2.3 ADμC702x系列程序的下载与调试 ADμC702x系列上的JTAG接口可通过开发工具中的ULINK连接至PC的USB口,在KEIL环境下进行非侵入式(non intrusive)的调试和对Flash进行编程。与其他MicroConveiter系列芯片相同,ADμC702x系列也可通过串口进行程序的写入与升级,即SERIAL DOWN-LOADER方式。该方式提供了廉价的系统升级方案,通过在系统复位或上电时,把P0.O口置低,使系统进入SE-RIAL DOWNLOADER模式,通过UART口下载程序至片上F1atsh。
引用地址:ADμC702x系列MicroConverter的特点与应用

上一篇:加密存储芯片AT88SC1616的原理和应用技术
下一篇:Atmega16在开关磁阻电机调速系统中的应用

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved