2407与2812的一些比较 昨天晚上有位刚学DSP的朋友问我2407与2812是否差别很大的时候,我只能回答他差别不大。今天,刚好看到这篇文章,便共享之,原文作者为:小申,很不错的工程师。 2407和2812是dsp2000系列性能最让人关注的两款芯片,在使用过两种芯片后,特将两款芯片的异同来作一比较。 都是对于电机控制开发使用。由此,在外设上的配备上有较多的相似之处。 相同点: 1 时间管理器,来管理定时器和pwm,及电机光电码盘的接口, 2 多路ad来接受传感器的信号 3 通讯接口 spi can sci 使得可以方便的通讯 4 程序存储器和内部ram都有一定的容量满足不同的需求 5 3。3V电压供电,突出了低功耗的节电功能 6 可以进行程序和数据空间的外扩 7 jtag接口相同 8 内核相同 ,方便程序移植 不同: 1 电压 2407 3。3V内核和IO供电,flash烧写电压5V 2812 1。8V或者1.9V内核和3。3VIO供电,flash烧写电压3.3V 上电次序,2407没有关系 ,2812 io先上电,核后上电 2 clk 2407最大40M 2812 最大150M(内核电压1.9V)或者 135M(内核电压 1.8V) 3 下载程序方式 2407 编程器下载 2812 编程器下载 串口 spi 4 cpu 2407为16位处理器 2812为32处理器 5 程序和数据空间 2407 flash32k ram2。5K可扩展196K 2812 flash 16×128K ram 16×18K可扩展4M空间 6 时间管理器 2407 定时器16位 一个光电码盘接口 2812 定期器32位 有两个光电码盘接口 7 ad 2407 10位 2812 12位 8 sci 2407 1个 没有缓冲单元 2812 两个 具有缓冲单元 8 can 2407标准can符合2。0B协议 2812增强can和标准can 符合2。0B 9 mcbsp 2407 没有 2812 有 10 语言 2407 汇编 c 2812 汇编 c c++ 11 TI支持 2407没有提供较多的例程支持 2812 提供完整的模块例程支持 12 编程风格 2407倾向于模块编程 2812 类编程,并且结构性更强 13 寄存器的保护。2407没有对系统寄存器的保护,2812提供了保护机制 14 在开发环境的帮助文件上看,2407比2812要好点, 2812的寄存器的设置和定 义帮助文件基本没有说明 对dsp及其开发环境及支持的一点建议: 1 dsp没有象arm一样把用于外扩的数据地址线和IO功能复用,这对io管脚使用较多的人来讲不方便,还要进行扩展,如果不需要外扩的话,这些线就浪费了 2 对于现在3。3V和5V共存的时期,如果管脚能和5V兼容,那是最好不过了 3 不明白为什么把管脚的电源和地总是放在相邻的位置上,焊不好很容易短路 4 用程序下载器,下载程序速度很慢,耽误时间 5 开发环境如果能实现软件仿真那就好了,不用非要硬件板了,调试起来那就方便多了 6 作为芯片开发商,最了解自己的芯片的功能,如果能够免费为大家提供各种芯片,尤其是处理器的外设例程,无论对于大家对芯片的上手速度和开发进度来讲都是好事,而且对于芯片的推销也是很好的事情。 大家有什么好的想法,尽可补充,共同进步! 实际上对开发带来最大影响的不同点是2812程序,数据,I/O空间统一编址,在同一个地址空间,并且带bootloader,2407程序,数据,I/O空间分开编址,不在同一个地址空间,不带bootloader,这导致了2812程序必须用一段汇编代码才能跳转到用户的c程序。而2407不需要这样做。 在瑞泰网站看到的资料 用2812内部的电压基准源的话分辨率大约为9位,用外部电压基准源并修正的话能达到10位 有的 TI的资料里面说明了 24pF,所以我们也用24pF~~~ 不过我们是用的30M的无源晶振~~~ 教你如何使用F2812 的BOOT ROM里面自带的函数 资料来源:电子工程师社区
在.cmd配置如下 ROM : origin = 0x3FF000, length = 0x000FC0 /* Boot ROM available ifMP/MCn=0 */ IQmathTables : > ROM, PAGE = 0, TYPE = NOLOAD /* Math Tables In ROM */ 再要用的地方用 #pragma 定义成结构体便可用了。
|