大家一起聊聊S3C2440A Block Diagram原理图的各个部件的组成,功能......
本人是大三学生是个菜鸟,我在次说一说我对这图所了解的
MMU(Memory Management Unit)内存管理单元,它是中央处理器(CPU)中用来管理虚拟存储器、物理存储器的控制线路,同时也负责虚拟地址映射为物理地址,以及提供硬件机制的内存访问授权。
DRAM 比SRAM 集成度高、功耗低,从而成本也低,适于作大容量存储器。所以主内存通常采用DRAM,而高速缓冲存储器(Cache)则使用SRAM
AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。
AHB的相互连接采用了传统的带有主模块和从模块的共享总线,接口与互连功能分离,这对芯片上模块之间的互连具有重要意义。AMBA已不仅是一种总线,更是一种带有接口模块的互连体系。
AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。
APB主要用于低带宽的周边外设之间的连接,例如UART
PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使内存能正确的存取资料。
PLL(Phase Locked Loop)最基本的结构有4个部件组成PFD,PUMP,LOOP Filter和VCO
PFD(Phase Difference Detector)鉴相器
PUMP(Charge Pump)转唤泵
Loop Filter环路滤波器
VCO(Voltage Control Oscillator)压控震荡器
S3C2440A 处理器的输入时钟通过功耗管理后产生FCLK,HCLK,PCLK,UCLK
FCLK由ARM920T核使用
HCLK提供给AHB总线
PCLK提供给ApB总线
uclk提供给USB接口单元
UART(Universal Asynchronous Receiver/Transmitter)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。
其中"Bridge & DMA (4ch)"(桥和4通道DMA)有更多的说明吗?
该Bridge连接什么总线,有没有"南北"桥之说?
Direct Memory Access(存储器直接访问)。这是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过CPU,也不需要CPU干预。
◎停止CPU访内 ◎周期挪用方式 ◎DMA与CPU交替访内
(2)DMA的组成:
◎主存地址寄存器
◎数据数量计数器
◎DMA的控制/状态逻辑
◎DMA请求触发器
◎数据缓冲寄存器
◎中断机构
(3)DMA的传送数据的过程:由三个阶段组成
◎传送前的预处理:由CPU完成以下步骤
向DMA卡送入设备识别信号,启动设备,测试设备运行状态,送入内存地址初值,传送数据个数, DMA的功能控制信号。
◎数据传送:在DMA卡控制下自动完成
◎传送结束处理
DMA 卡上应包括通用接口卡的全部组成部分,并多出如下内容:
主存地址寄存器,传送字数计数器,DMA控制逻辑,DMA请求,DMA响应,DMA工作方式,DMA优先级及排队逻辑等
一次完整的DMA传送过程:
DMA 预处理,CPU向DMA送命令,如DMA方式,主存地址,传送的字数等,之后CPU执行原来的程序
DMA 控制在 I/O 设备与主存间交换数据:
准备一个数据, 向CPU发DMA请求,取得总线控制权,进行数据传送,修改卡上主存地址,修改字数计数器内且检查其值是否为零,不为零则继续传送,若已为零,则向 CPU发中断请求.
DMA技术的弊端:
因为DMA允许外设直接访问内存,从而形成对总线的独占。
这在实时性强的硬实时系统的嵌入式开发中将会造成中断延时过长。这在军事等系统中是不允许的。
在系统总线和外围总线之间,S2C2440A有四个DMA控制器。每个控制器可以处理四种情况:源在系统总线上,目的在外围总线上;目的在系统总线上,源在外围总线上;源和目的都在系统总线上;源和目的都在外围总线上;
该Bridge连接什么总线,有没有"南北"桥之说?我也没查到。。。。
bridge是AHB总线和APB总线之间转换,AHB主要连接高速模块,APB主要链接一些低速模块.arm核是连接在ahb总线上.具体可看arm提出的amba总线协议
现在大三就开始玩ARM9,利害啊。建议自己学着看英文datasheet,多看英文资料,对技术提高很有帮助!
中文的,英文的我都下了。。。
现在这一点一点的看,挺难的。。。
PC机里分系统总线,片内总线,局部总线,外部总线
片内总线:CPU内部
系统总线:地址总线,控制总线,数据总线
局部总线:各个芯片之间
外部总线:计算机与计算机之间的??
ARM外围总线在PC机里算哪个总线?
外部总线:计算机与计算机之间的??
ARM外围总线在PC机里算哪个总线?
这个问题我也想弄明白,那位高人来具体说一下吧
WATCHDOG,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器。然而它与我们平常所接触的定时器在作用上又有所不同。普通的定时器一般起记时作用,记时超时 (Timer Out)则引起一个中断,例如触发一个系统时钟中断。熟悉windows开发的朋友应该用过windows的Timer,windows Timer的作用与方才所讨论的定时器在功能上是相同的,只是windows Timer属于软件定时器,当windows Timer记时超时则引起App向System发送一条消息从而触发某个事件的发生。我们从以上的描述可知不论软件定时器或硬件定时器他们的作用都是在某个时间点上引起一个事件的发生,对于硬件定时器来说这个事件可能是通过中断的形式得以表现,对于软件定时器,这个事件则可以是以系统消息的形式得以表现。正如本文开头所讲的,watchdog本质上是一种定时器,那么普通定时器所拥有的特征它也应该具备,是的,当它记时超时时也会引起事件的发生,只是这个事件除了可以是系统中断外,它也可以是一个系统重起信号(Reset Signal),可以这么说吧,能发送系统重起信号的定时器我们就叫它watchdog.
2.watchdog的工作描述
当一个硬件系统开启了watchdog 功能,那么运行在这个硬件系统之上的软件必须在规定的时间间隔内向watchdog发送一个信号.这个行为简称为"喂狗"(feed dog),以免watchdog记时超时引发系统重起。
3.watchdog存在的意义是什么?
你可能会问watchdog存在的意义是什么?开启了watchdog之后软件必须定时向它发信息,这不是麻烦又耗费资源的行为吗?其实这个行为很重要,这个行为是软件向硬件报告自身运行状态的一中手法。一个软件运行良好,那么它应该可以在规定的时间间隔内向watchdog发送信息,这等同于软件每隔一段时间就告诉硬件:“嘿,哥们,我在好好的跑着呢,你放心吧。”,若软件由于某个不当的操作而进入死循环(也就是俗称的死机),则他无法向 watchdog发送信息了,watchdog将发生记时超时,从而引起硬件重起。如果没有watchdog的存在,程序已经死掉了,但我们的用户还一头雾水,以为系统正在进行大规模的运算而进行耐心的等待
LZ对未知问题在网上找答案,这一点做的很对的。支持!