×
嵌入式 > 技术百科 > 详情

C702x系列MicroConverter的特点与应用

发布时间:2021-06-02 发布时间:
|

摘 要 主要介绍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×16位。当执行arm(32位)指令集时,单周期不能完成取指,而且从hash中读取数据需要插入更多的额外时钟周期,所以对于关键的代码段或中断服务程序可以映射到sram中进行。adμc702x系列的sram组织方式为2k×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。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
实时控制.安全.如何加速实现未来工厂落地?