972| 3
|
[技术文章] ARM开发板芯片内部结构及特点 |
[hide]
ARM开发板根据ARM内核可以分为ARM7、ARM9、ARM11、 Cortex-M系列等,用以评估内核芯片的功能和研发各科技类企业产品。今天小编主要来介绍一下ARM开发板芯片内部结构及特点,希望可以帮助到大家。 美国ADI公司利用其在模拟电路领域的优势,综合基于8052-8位ADμC8xx的技术积累,将ARM7TDMI内核和ADC(A/D转换器),DAC(D/A转换器)等外围设备集成在一块芯片上,就是最近推向市场的拳头产品ADμC702x系列。其中ADμC7020、ADμC7021、ADμC7022、ADμC7026等芯片除了在片上Flash和SRAM容量大小、ADC和DAC通道数量、PWM(脉宽调制)相位数量有差别外,其他完全一致;而ADμC7026,ADμC7027具有外部扩展内存接口。 本文主要介绍其中具有代表性的一款--ADμC7024,工业级的ADμC7024工作于2.7V-3.6V电源电压,64引脚CSP封装的芯片面积仅为9mm×9mm,在1MHz时钟频率下芯片最高功耗为5mA,在最大时钟频率45MHz下芯片最高功耗为60mA。其原理框图如图1所示。 片上集成高性能的ADC和DAC ADμC7024片上集成了10通道12位逐次逼近型ADC,能够在电源电压为2.7V-3.6V的范围正常工作,在系统时钟频率为45MHz下的最高采样率高达1MSPS(百万次采样每秒)。该ADC模块提供一个高精度、低漂移的片上2.5V基准电压VREF,该电压通过片上REFCON寄存器的软件配置也能作为输出,向外提供基准参考源。ADC能够工作于单端转换模式或者差分转换模式,在单端转换模式下的输入电压范围是0至VREF,在差分转换模式下输入电压范围是0至AVDD(AVDD通常情况下为3.3V)ADC单个或连续的转换能够被外部引脚CONVstar、片上PLA、定时器1或定时器2所触发。 通过ADC控制寄存器ADCCON,通道选择寄存器ADCCP和ADCCN软件配置好ADC后,转换结果将存储在寄存器ADCDAT位27至位16中,通过ADC状态寄存器AdcsTA的位0可以查看ADC转换是否完成,当ADC转换结束时,位0被置位;当读取ADC-DAT时,该位自动被清空。当ADC正在执行转换操作时,片上引脚ADCBusy保持高电平,一旦转换结束,该引脚马上变为低电平。 还可以通过ADCRST寄存器将ADC模块中所有寄存器恢复至默认值;通过调整ADCOF和ADCGN寄存器的值可以调整ADC转换精度,不过,该寄存器出厂时已经过校准。 由于该ADC的是逐次逼近型结构,因此比较适合低功耗的产品应用。 ADμC7024片上还集成有2通道12位DAC。每个DAC都具有轨至轨的输出电压范围,驱动能力可达100pF或者5kΩ,每个DAC也能通过软件配置来选择输出范围0至VREF(内部基准电压)、0至DACref(外部基准电压)和0至AVDD,而DACref的取值范围是0V至AVDD。 DAC的使用十分简单,通过DAC控制寄存器DAC0CON或者DAC1CON来选择通道和配置DAC通道特性,然后通过向DAC0CON或DAC1CON的位27至位16写入数值,就可以在DAC引脚上得到所需要的模拟电压结果。 片上集成Flash寄存器和SRAM ADμC7024片上集成了64KB的Flash存储器,其中低62KB的Flash存储器是用户可以编程的,剩下的高2kB区域是用户不可接触的固件程序,里面包含了在线串行下载程序及出厂配置默认方案。ADμC7024片上Flash存储器能够通过串行编程模式,JTAG编程模式或并行编程模式在系统中编程。 1)串行编程模式 当片上BM引脚芯片被拉低时,ADμC7024重启动将进入串行下载模式,通过标准的UART端口或IIC端口在线下载程序。 2)并行编程模式 并行编程协议使得片上Flash存储器能够通过工业级第三方编程器进行编程。 3)JTAG编程模式 ADμC7024片上Flash存储器完全遵守IEEE 1149.1规范,因而可以通过标准的JTAG接口来下载程序和进行调试代码,使得系统的开发十分简单易行。 而ADμC7024片上Flash存储器通过FEEPRO、FEEHIDE寄存器的软件设置可以防止程序通过JTAG接口或并行编程模式被读出,有效地保障了开发人员的劳动成果。 晶振和PLL ADμC7024片上集成了一个32.768KHz晶振、一个时钟分频器和一个PLL(锁相环)。内部的PLL能够将晶振频率放大1376倍,即为系统提供一个稳定的45MHz。 为了降低系统功耗,可以通过软件设置时钟分频器的控制寄存器PLLCON和POWCON将经过PLL后输出的45MHz降频,最大可降低至352KHz,由于内部晶振有±3%的误差,因此,用户可以选择外接一个32.768kHz的晶振,通过软件设置PLLCON值使用外部晶振,使系统的性能稳定可靠。 复用I/O及标准的UART、SPI、IIC ADμC7024提供30个通用型双向I/O引脚。所有的I/O引脚具有5V电压耐压能力,一些I/O引脚中与其他外围设备引脚复用。在默认情况下,所有的GPIO都是I/O模式,如果在实际中需要将I/O口复用成其他情况的,只需要按照I/O控制配置寄存器GPxCON的手册配置方案软件编程即可(这里x表示端口0,端口1,…,端口4,如1端口5引脚则是P1.5)。在配置成I/O情况下,可以通过置位数据寄存器GPxDAT中某些位的值使引脚输出"1";同时可以清除数据寄存器GPxDAT中的某些位的值使引脚输出"0";还可以读数据寄存器GPxDAT中某些位的值得到输入引脚的值(x同前面介绍,具体设置请参考ADμC7024手册)。 ADμC7024片上集成了2个标准的、全双工模式的异步串口UART(通用异步收发器),它们与16450串口标准所兼容。片上UART的波特率产生器中包含一个小数分频器,使得UART波特率的产生更加精确。同时,其中一个UART还支持网络寻址模式下的串口发送接收模式。UART的使用首先通过I/O的配置成UART端口引脚。然后通过软件配置UART配置寄存器及波特率设定寄存器就可以通过COMTX寄存器、COMRX寄存器分别发送和接收数据。 ADμC7024片上也集成了标准工业级同步串口SPI(串行外围接口),SPI接口可以同步接收和发送8位数据,最高速率可达5.6Mbit/s。该SPI能够被配置成主(Master)或者从(Slave)两种工作模式,关于SPI使能、选择工作模式、串行时钟相位及极性、先发送低有效位还是高有效位等多项设置,均是通过SPICON编程而得到,而主模式发送的串行时钟频率由SPIDIV来设定,从模式则不用设定串行时钟频率,因为串行时钟是由主模式的SPI来决定的,通过读取SPISTA中某些数据位的值,可以知道SPI是否发送结束或者接收结束。 ADμC7024还具有两个经Philips公司授权的IIC接口,IIC是Philips公司20世纪80年代开发的一个简单的两线总线,包括一条数据线和一条时钟线,速率有100kHz和400kHz两种方式,目前IIC已经成为重要的全球业界标准,被所有主要的集成电路厂商所认同和使用。它采用主-从通信方式,采用总线仲裁特性,使得在某一时刻只有两个器件进行通信,具体数据指标参考ADμC7024数据手册。 中断系统 中断系统是一个MCU在应用中的灵魂所在。ADμC7024片上中断控制器控制着24个中断源。这些中断源包括片上ADC中断、UART中断、2个外部中断请求XIRQ0和XIRQ1等,而ARM7TDMI内核仅仅将这些中断源分成两大类来识别,一类是IRQ,另一类是FIQ。所有中断源能够单独地被屏蔽。中断系统的控制和配置管理由9个关于中断方面的寄存器所控制,4个涉及到IRQ的寄存器、4个涉及到FIQ的寄存器,1个用来选择已编程的中断源寄存器SWICFG。虽然作为一个已编程的中断源是不能够被屏蔽掉的,但是它们可以被SWICFG来控制。 定时器 ADμC7024有4个通用定时器:定时器0、定时器1、定时器2和定时器3。这4个定时器在一般的操作模式下均能按照默认值计数或者按照预设值寄存器TxLD(x表示0,1,2,和3中的某一个寄存器)中值来计算。在任意时刻可以通过读取TxVAL寄存器中的值了解定时器中的当前计数值。通过配置TxCON的值可以设置相应的定时器按照一定的方式开始计数。 定时器0是一个通用型16位倒计数定时器,该定时器的刻度尺频率来源是系统时钟,计数默认值可以是系统时钟频率、系统时钟频率的16分频和256分频。 定时器1是一个32位通用型累加定时器或者倒计时定时器。该定时器的刻度尺频率来源可以是32kHz晶振、系统时钟和外部GPIO三者之一。计数默认值可以是刻度尺频率、刻度尺频率的16分频、256分频和32768分频。定时器1可以被设置为标准的32位时间值,如Hours:Minutes:Seconds:Hundreths这样的格式。定时器1通过预设响应IRQ事件,可以比通常情况下定时器0响应IRQ中断请求要准确得多。它还可以用来触发ADC转换过程。 定时器2的系统刻度尺频率来源是内部集成的32.768kHz晶振,当系统时钟停止工作时,该定时器还可以继续运行,这一特性可以用来将处于休眠状态的系统内核恢复至正常工作状态。 定时器3由两种工作模式,一种通常模式与前面3个定时器一样,还有一种是看门狗模式。一旦程序跑飞时,可以利用该定时器看门狗模式来重启动处理器,令其恢复正常工作。 其他外围设备及特性 片上还集成有独立的比较器、电源监控模块、三相PWM(在ADμC7020、ADμC7021、ADμC7022是单相PWM)以及PLA(可编程逻辑阵列)。其中PLA的输入输出引脚与GPIO复用。 [/hide]
购买主题
本主题需向作者支付 5 枚金币 才能浏览
《《《 点击这里展开全文 》》》 | |
发表于 2016-9-6 18:45:31
|
显示全部楼层
| |
发表于 2016-9-7 07:43:48
|
显示全部楼层
| |
发表于 2016-9-7 16:56:27
|
显示全部楼层
| |