【OK210试用体验】外篇(笔记):认识ARM - 在线问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【OK210试用体验】外篇(笔记):认识ARM

影之殇 ( 楼主 ) 2015-9-10 11:38:07  只看该作者 倒序浏览
1、 ARM微处理器结构
ARM内核采用RISC(精简指令集)体系结构。主要特征有:
(1)      采用大量的寄存器,而且寄存器的用途多样(这使得指令的执行速度更快,数据存储和寻址方式更加多样高效。当然RISC相较于CISC本身有速度快的优势)。
(2)      采用Loard/Store体系结构(这个是RISC 设计中比较有特点的一部分。在RISC中,CPU并不会对内存中的数据进行操作,所有的计算都要求在寄存器中完成。而寄存器和内存的通信则由单独的指令来完成。而在CSIC中,CPU是可以直 接对内存进行操作的)。
(3)      每条指令都条件执行(只有当某个特定条件满足时指令才会被执行。这个特性可以减少分支指令数目,从而改善性能,提高代码密度。具体指令解释可以看这里ARM指令集 和 条件执行 详解)。
(4)      采用多寄存器的Loard/Store指令。
(5)      能够在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作(RISC体系的特点之一)。
(6)      通过协处理器指令集来扩展ARM指令集,包括在编程模式中增加了新的寄存器和数据类型
(7)      如果把Thumb指令集也当作ARM体系结构的一部分,那么在Thumb体系结构中还可以以高密度16位压缩形式表示指令集(ARM处理器根据RICS原理设计,但是由于各种原因,在低代码密度上它比其他多数RICS要好一些,然而它的代码密度仍不如某些CISC处理器。在代码密度重要的场合,ARM公司在某些版本的ARM处理器中加入了一个称为Thumb结构的新型机构。Thumb指令集是原来32位ARM指令集的16位压缩形式,并在指令流水线中使用了动态解压缩硬件。Thumb代码密度优于多数CISC处理器达到的代码密度)。
2、 选择一款合适的ARM芯片用于学习
(1)      操作系统支持
如果在学习嵌入式操作系统,应考虑处理器对系统的支持(常见的对WinCE或Linux等操作系统支持的芯片是ARM720T以上带有MMU功能的ARM芯片。当然,uCLinux及Linux2.6内核等Linux系统不需要MMU的支持)。
(2)      系统时钟速度
如果想学习可以支持更加复杂的操作系统的芯片,则应该考虑芯片的处理速度。(系统时钟决定了ARM芯片的处理速度。Cortex-A8主频达到了1.2GHz,已经比较快了)。
(3)      支持内存访问的类型
一般分为四类(ARM中常用的):a、是否有SDRAM。b、是否有DDR2。c、是否有mDDR。d、是否有DDR3(SDRAM:同步动态随机存取存储器。DDR2:实际上是DDR2 SDRAM,意思是四倍速率SDRAM,OK210的芯片S5PV210支持内存访问的类型是就是DDR2。mDDR:mobile DDR SDRAM,以低功耗和小体积为优势,它的寿命比DDR和DDR2长。DDR3:是一种电脑内存规格,属于SDRAM家族,速率是DDR2的两倍)
(4)      USB接口
考虑芯片是否内置USB控制器(S5PV210内置一个USB(otg)和一个USB Host)
(5)      GPIO数量
在一些芯片供应商的说明书中,往往申明的是最大可能的GPIO数量,但是有许多引脚是和地址线、数据线、串口线复用的。所以,在学习时也应该考虑实际可用的GPIO数量(OK210是4个。有关GPIO的具体说明移步这里
(6)      中断控制器
ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。但各个半导体厂家在设计芯片时加入了自己定义的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断。外部中断控制是选择芯片的重要考虑因素(S5PV210可以通过GPIO设置FIQ和IRQ)
7 IIS接口   
     IIS接口即集成音频接口,想学习、设计音频方面的应用产品就必须考虑这个接口(S5PV210有一路IIS音频接口)。
(7)  nWAIT信号
这是一个外部总线速度控制信号。不是每个ARM芯片都提供这个信号引脚,利用这个信号与廉价的GAL芯片(Gate Array Logic,一种简单PLD器件)就可以实现符合PCMCIA标准的WLAN卡和BlueTooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片。另外,当需要扩展外部DSP协处理器时,此信号也是必需的。(这里的nWAIT信号不是特别懂。。。。。)
(8)     RTC(Realtime Clock)
RTC即实时时钟功能。当系统电源关闭时,实时时钟单元可以在后备电池的支撑下工作。它能传送一个8位的数给CPU作为BCD码的值用于STRB/LDRB的ARM操作中。提供的数包括秒、分、时、星期、日、月和年。RTC单元与外部晶振一起工作,并且能提供报警功能。
(9)      LCD控制器
有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFT LCD控制器。在学习、设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片较为适宜。(S5PV210LCD控制器的最高像素时钟是166M,所以驱动一般清晰度的视频是完全没有问题的)
(10)  PWM输出
S5PV210的PWM输出有两路,在OK210的底板上可用于控制蜂鸣器。
(11)   ADC和DAC
有些ARM芯片内置2~8位通用ADC,可用于电池检测、触摸屏和温度监测等。(S5PV210的ADC有10路,含四线电阻触摸接口)
(12)   扩展总线
大部分ARM芯片具有外部SDRAM和SRAM扩展接口,不同的芯片可扩展的芯片数量不同,外部数据总线有8位、16位或32位
(13)   时钟计数器和看门狗
一般的ARM芯片都有2~4个16位或32位时钟计数器和一个看门狗计数器。
(14)   电源管理功能
一般的ARM芯片都设有低功耗、睡眠、关闭三种模式
(15)   DMA控制器
有些ARM芯片内部集成有DMA(Direct Memory Access),可以和硬盘等外部设备高速交换数据,同时减 少数据交换时对CPU资源的占用。 另外,还可以选择的内部功能部件有:HDLC,SDLC,CD-ROM Decoder,Ethernet MAC,VGAcontroller,DC-DC。可以选择的内置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。
本篇笔记帖主要是参考《ARM芯片的应用和选型》周 洁 杨心怀,帖子质量不太高,仅作为自己的笔记吧。另外在相关的点上我加入了自己的理解,如果有错误的地方请大家不吝指教!如果还有漏掉的内容也请大神们补充,谢谢了!
最近一直在忙数学建模的事情,马上就要国赛了,试用贴一直没时间写,心中歉疚啊,等国赛完了,一定努力补上!对了,有参加了数学建模竞赛或喜欢数学建模的同学,我们可以相互交流哈!

1个回复

HelloWii 发表于 2015-9-13 09:05:13
看一看。。。
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /7 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

GMT+8, 2024-12-27 20:27 , Processed in 0.681304 second(s), Total 62, Slave 44 queries .

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表