历史上的今天
今天是:2025年02月12日(星期三)
2020年02月12日 | 有关AVR32的介绍
2020-02-12 来源:eefocus
1、AVR32有什么特点?
AVR32是一个“双核”芯片,拥有MCU与DSP两个核,在一些应用领域上有着比较大的优势,继承AVR高效率的特点,AP7系列在150MHZ的情况下可以达到210DMIPS,由此带来巨大的功耗优势,特别是在一些移动领域上,同样AVR32有着丰富的外设:USART,SPI,TWI,USB,DMA,AC97,MCI,CAMERA INTERFACE,PWM,LCD,AUDIO MAC等等。
2、AVR32有哪些型号?
AVR32现在主要包括AP7和UC3两个系列,打个不恰当的比方:AP7系列对应ARM9系列,并且在相同频率上占有多方面的优势,UC3系列对应ARM7系列,同样占有优势。AP7偏向系统应用,它有独立的OS时钟,可以说它是为LINUX之类的操作系统打造的,主要有AP7000,AP7001,AP7002三个型号,以AP7000为最高端型号。UC3内嵌FLASH用于相对特定的领域,UC3下又分UC3A及UC3B两个系列,以UC3A为高端型号,主要区别是UC3A内设网口及一些其他接口,UC3B则没有。
3、AVR32与AVR开发有什么区别?
因为AVR32与AVR完全不是一个量级上的芯片,在开发上难易上也不是一个量级的。一般AP7系列以跑LINUX为主,所以在系统环境确定后,开发以编写LINUX的API为主,如果涉及到底层硬件,就需要编写LINUX下的驱动程序,所以开发AP7系列更多是软件开发。UC3没有MMU所以不能跑LINUX,但是很适合UCOS2,你也可以直接跑裸机程序,但是程序量非常大,UC3最小的FLASH就有64K。总结下来就是开发AVR32与AVR的区别,就像是开发AVR与ARM的区别。
4、AVR32硬件开发上有什么特点?
AP7系列没有内建FLASH,并且需要应用LINUX,所以需要外挂FLASH和SRAM,而且封装以“万恶”的BGA封装为主(AP7001是QFP封装),制作PCB一般以6层板为主,同时150MHZ的运行速度就会让大部分在AVR成功制板的人失败,要考虑到很多干扰问题。UC3内建FLASH,封装以QFP为主,易于个人加工,最高速度60MHZ,在PCB方面可以适当降低要求,所以我个人建议,如果想自制开发板,还是选用UC3系列,成功率比较高,当然牛人可以无视。
5、AVR32开发软件有哪些?
一般应用比如LINUX的API以及UC3的程序设计,可以使用AVR32STUDIO这个IDE。如果需要开发LINUX内核级相关的代码,比如驱动程序,编写BOOT就必须用AVR32专用的TOOLCHAIN,在WIN下可以使用CYGWIN来模拟但是效果不理想,我个人推荐使用虚拟机来使用原生的LINUX用于编程,这样在兼容性和速度上都有保证。
史海拾趣
|
内容提要: 本书讲述了TMS320F2812芯片的基本特点、硬件结构、内部功能模块的基本原理等内容,并在结合应用实例的基础上详细阐述了各功能模块的应用。同时专门针对电机控制领域的应用,详细介绍了基于TMS320F2812数字信号处理器的永磁同步电机控制 ...… 查看全部问答> |
|
图像(视频)采集模块1. 概述HMP-I系列图像采集模块实现将PAL制式模拟视频信号实时采集并压缩成标准JPEG格式的图象文件。该系列目前有两个型号:HMP-Ia和HMP-Ib,Ia型接口为UART串口、Ib型接口为SPI串口,两个型号的其他功能如不特别说明则相同。该 ...… 查看全部问答> |
|
我usart1工作一切正常,现在我又打开了usart2,485芯片拉低,发送数据到uart2,进入中断,但是一进入中断,我查了sr寄存器状态,idle=1, rxne=0,这是为何? 以至于我读不到数据后就出中断了uart4的话,我是已经在rx量到信号了,但 ...… 查看全部问答> |
|
由于PCB尺寸限制,想用STLINK的SWD方式,网上一般有3种版本: (1) SWDCK(TCK),SWDIO(TMS),GND,nSYSRST,VCC (2)SWDCK(TCK),SWDIO(TMS),GND,nSYSRST (3)SWDCK(TCK),SWDIO(TMS),GND 另外,买的英蓓特的开发板,他们用了一个10脚的IDC插 ...… 查看全部问答> |
|
我正在使用msp430F5418单片机的低功耗模式,数据手册上说进入低功耗的时间是微妙级的,但我自己测试,要经过18s,我的单片机的电流才能降低到6uA。(我的数字板上只有晶振和单片机,其他任何元器件都没有接,完全测的单片机的电流) 请问有没有 ...… 查看全部问答> |
|
#include #define CPU_F ((double)8000000) #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //延时1毫秒 const char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0X40}; char t ...… 查看全部问答> |




