[原创] Helper2416之芯片功能扫盲篇

leijiayou   2014-7-1 22:37 楼主
S3c2416之芯片功能扫盲篇 参与Helper2416开发板助学计划心得   要学习一个芯片,首先得知道芯片的功能,于是百度找S3c2416的介绍如下:   S3C2416是低功耗、高性能、低成本的SAMSUNG ARM9(ARM926EJ)处理器,目前三星已停止生产S3C2440, S3C2416具有更高的性能,以及更低的价格,是S3C2440、S3C2410等处理器的完美替代者。相比S3C2440,S3C2416采用了双总线架构,主频也可稳定达到533M,内存接口也支持DDR/DDR2等,具有2D图形加速器,支持MLC nand flash,支持SD卡启动。尤其是支持SD卡启动,使之代码调试,烧录变得极其简单,无需任何的代码烧录设备,只要把代码烧写进SD卡,设置从SD卡启动即可对代码进行更新。S3C2416的特性有以下几点: 1.3V 内核供电,主频400M, 1.8V/2.5V/3.0V/3.3V ROM/SRAM储存器供电, 1.8V/2.5V mSDR/mDDR/DDR2 动态存储器供电,1.8V/2.5V/3.3V 外部I/O 供电,具备16KB 的指令缓存和16KB 的数据缓存和MMU 外部存储控制器(mSDR/mDDR/DDR2控制和片选逻辑) LCD 控制器(最大支持256K色)提供1 通道LCD 专用DMA 6通道DMA 并有外部请求引脚 4通道UART(IrDA1.0,64字节发送FIFO和64字节接收FIFO) 1通道高速SPI 1通道IIC总线接口(支持多主机) 1通道IIS总线音频编解码器接口(24位,端口0支持5.1声道) AC97/PCM编解码器接口(和IIS复用) 2通道高速MMC/SD接口(SD主接口协议2.0版,MMC协议兼容4.2版) 2通道USB主机(兼容1.1版)/1通道USB设备(兼容2.0版) 4通道PWM 定时器和1通道内部定时器/看门狗定时器 10通道12位ADC 和触摸屏接口 具有日历功能的RTC 138个通用I/O口和16通道外部中断源 电源管理具有工作,空闲,待机,深度待机和休眠模式 具有PLL片上时钟发生器 对于从未玩过arm9级别以上的CPU,看到上面一大堆功能看的眼花缭乱,下面做一下解析及相关功能使用情况。 1.3V 内核供电,主频400M, 1.8V/2.5V/3.0V/3.3V ROM/SRAM储存器供电, 1.8V/2.5V mSDR/mDDR/DDR2 动态存储器供电,1.8V/2.5V/3.3V 外部I/O 供电,具备16KB 的指令缓存和16KB 的数据缓存和MMU。 这说明主频稳定可以跑400MHz 内核只要1.3V供电。 (注:相比较51的5V,M3的3.3V供电,S3c2416的1.8V供电,说明了工艺有很大的改进,从而能跑更高的频率。供电电压永远与工艺是相反的。工艺越高,所需电压越低。) 带16KB的cache 与 MMU S3C2416为啥要带这两个东西呢?? 而51啊 m0 甚至M3为啥都不带这两个呢 先说cache, MCU一般都是寄存器,ram,flash的结构,早期的cpu内核跑的慢,所以cpu寄存器与内存的速度还能很好的协调,但后面cpu速度越来越快,两者之间的速度差距越来越大,如果不想其他办法,那么cpu效率就提不上去,这时候cache出现了 cache的目的是做一个高速缓冲区,cpu可以跑很快,内存处理不过来的指令缓存在cache中,这样既不影响cpu高速工作,也不影响内存的正确操作。这样就协调了cpu与内存的工作,即顾名思义缓存(类似生产与消费的关系)。   MMU是Memory Management Unit的缩写,中文名是内存管理单元,它是中央处理器 (CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射 为物理地址,以及提供硬件机制的内存访问授权。 那么为啥要用虚拟地址呢   对比直接使用物理地址,虚拟地址有如下优势: 第一,解决地址空间不隔离。 这在全编程环境下很重要。 第二,解决物理内存的使用率低下。 第三,物理内存直加载程序运行的地址不确定性。 物联网有句俗话,任何问题都可以增加一个中间层来解决。 这里通过虚拟地址解决了直接使用物理地址这些缺点。    外部存储控制器(mSDR/mDDR/DDR2控制和片选逻辑)   芯片自带ddr2驱动器,这样内存可以扩展很大 对于从M3转过来的,会不会突然有种解脱的感觉呢 LCD 控制器(最大支持256K色)提供1 通道LCD 专用DMA   自带LCD控制器,这样可以直接驱动LCD (注:不需要想stm32那种驱动LCD还要带LCD带驱动器,成本节约) 专用DMA更是如虎添翼,LCD刷新,数据传输 都不用CPU参与,进一步解放了cpu 还具有2D图形加速器,非常适合做GUI      其他常用外设如,uart,spi,iis,adc,usb,sd,pwm,rtc等等都是必备,且如uart还带64byte硬件fifo 这些外设不一一介绍。      最后说说S3C2416的启动方式,支持Nandflash和SD卡启动(具体怎么通过sd或者nandflash启动来加载uboot等拿到开发板再写心得。) 具体要选择是可配置的。      芯片扫盲大概就这么多,详细具体的可以看datasheet。      由此可见,这是一款功能非常强大的芯片。 期待进一步的学习。。。。。。      预告:下一篇讲bootloader的功能,已经一些疑问扫盲。 论坛ID:leijiayou 发表时间:2014-07-01 本帖最后由 leijiayou 于 2014-7-1 22:53 编辑

回复评论 (10)

活动首贴,值得肯定!
My dreams will go on... http://www.jyxtec.com
点赞  2014-7-1 22:46
学习学习!
点赞  2014-7-1 22:49
学习,支持!
点赞  2014-7-1 23:01
学习了。。。。。。。。。。。
我的博客
点赞  2014-7-2 08:15
学习了                  
我从不担心我努力了不优秀,只担心优秀的人都比我更努力。如果你无法忍受孤独,就不要追逐梦想。每一个优秀的人,都有一段沉默的时光。在那一段时光,你付出了很多努力,忍受孤独和寂寞,不抱怨不诉苦,最后渡过了这
点赞  2014-7-2 08:16
太快了
点赞  2014-7-2 08:43
也来学习下
点赞  2014-7-2 23:41
跟着大部队一起学习!哈哈,太幸福啦
gitee/casy
点赞  2014-7-3 13:54
感谢分享, 学习中
点赞  2014-7-5 19:09
支持一个
点赞  2014-7-8 01:04
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复