S5P6818 芯片手册 System Control 章节 理论篇

文章目录

  • [0x100] 概述
      • [0x101] 时钟频率类型概述
      • [0x102] 电源管理功能概述
  • [0x200] 时钟管理接口描述
    • [0x210] PLL (Phase Locked Loop) 锁相环
      • [0x211] 基于P/M/S值生成 Fout
      • [0x212] 设置P/M/S/K 数值
      • [0x213] 设置 SSCG_EN, SEL_PF, MFR,MRR 数值
      • [0x214] PLL 节能模式 (Power down)
      • [0x215] 更改 PLL 分频值
    • [0x220] 时钟频率汇总
      • [0x221] 主CPU 时钟
      • [0x222] 系统总线时钟(核时钟)
      • [0x223] 内存总线 (MCU) 时钟
      • [0x224] 图形进程单元 (GPU) 时钟
      • [0x225] 多函数解码 (MFC) 时钟
  • [0x300] 电源管理
      • [0x301] 电源启动顺序
      • [0x302] 待机模式(IDLE Mode)
      • [0x303] 停止模式(STOP Mode)
      • [0x304] 睡眠模式恢复(SLEEP Mode)
      • [0x305] 重置生成(Reset Generation)
  • [0x400] AXI 总线
      • [0x401] 可编程的Qos特征(ProgQoS)
      • [0x402] 仲裁规则
      • [0x403] RR规则分配

[0x100] 概述

[0x101] 时钟频率类型概述

  • 频率时钟类型 : FCLK、HCLK、PCLK、BCLK、MCLK;
  • 可编程分频器 : PDIV, MDIV, SDIV;
  • FCLK: 用于ARM CPU 核心;
  • HCLK: 用于高性能、高带宽、低延迟的片内总线 AXI bus peripherals
  • PCLK: 用于外设总线 APB bus peripherals
  • BCLK: 用于处理器系统总线 CPU system bus
  • MCLK:用于SDRAM memory

[0x102] 电源管理功能概述

  1. Reset Generation : 管理块多种类型的重置信号,比如 硬重置、软重置、GPIO 重置等;
  2. Power Up Sequence : 控制设备的启动顺序,使处理器与系统在 电源供应后更加稳定与效率;
  3. Power Down modes :减少电源消耗,不同的等级 Normal 、IDLE、STOP、SLEEP;

[0x200] 时钟管理接口描述

S5P6818 芯片手册 System Control 章节 理论篇_第1张图片

  • PLL0: 40MHz ~ 2.5 GHz 非抖动 [CPU core]
  • PLL1: 40MHz ~ 2.5 GHz 非抖动 [CPU core]
  • PLL2: 35MHz ~ 2.2 GHz 抖动
  • PLL3: 35MHz ~ 2.2 GHz 抖动

[0x210] PLL (Phase Locked Loop) 锁相环

S5P6818 芯片手册 System Control 章节 理论篇_第2张图片

[0x211] 基于P/M/S值生成 Fout

  1. Fin 和 Fout 分别是输出频率与输入频率;
  2. 参照时钟 :如果 Pre Divider Fin = 24MHz ,输出值 = Pre Divider Fin / p ,;
  3. 反馈时钟 :由 Voltage Controlled Oscillator 生成 Fvco,通过 Main DIVIDER分频 ,输出值 = Fvco/m ;
  4. 在 Phase Frequency Detector 比较上面两个数值而改变Fvco ,直至 反馈时钟 = 参照时钟 ;
  5. 将最终的 Fvco 经过 Post Scaler 分频 ,Fout = Fvco / s;
  6. PLL x = ( m x Fin)/(p x 2s) (x = 0,1,2,3, m = MDIV= [64,1023], p = PDIV= [1,63], s = SDIV= 0, 1, 2, 3);
  • 常见的 PLL稳定的数值如下:
    S5P6818 芯片手册 System Control 章节 理论篇_第3张图片

[0x212] 设置P/M/S/K 数值

  • PMSK 都是 十进制数值:p = P[5:0] , m = M[8:0], s = S[2:0], k = K[15:0]
  • 当 P/M/S 数值是 无符号整数时,K[15:0] 是一个二进制补码整数;
  • 当 RESETB为逻辑 1 时,不能设置 P[5:0] =0 , M[8:0] =0;
  • FFOUT = ((m + k/65536) FFIN)/(p x 2s)
  • 分频比率 规模表 如下:
    S5P6818 芯片手册 System Control 章节 理论篇_第4张图片

[0x213] 设置 SSCG_EN, SEL_PF, MFR,MRR 数值

  • 当 SSCG_EN =1[逻辑高] 时,启用拓频模式;
  • sel_pf = SEL_PF[1:0], mfr = MFR[7:0], mrr = MRR[5:0]
  • mrr x mfr = [512:0]
  • MF = FFIN/ p/ mfr/ 25 Hz
  • MR = mfr x mrr/ m / 26 x 100 %
  • Modulation mode 决定于 sel_pf 的设置:
    • 00: Down spread
    • 01: Up spread
    • 1x: Center spread

[0x214] PLL 节能模式 (Power down)

  • 定义: 如果PLL非用于系统时钟时,支持进入节能模式,此模式PLL使用最小电源消耗的;
  • PLL0 一般是不能进入节能模式的;
  • 操作:PLL 进入节能模式,需要向(CLKMODEREG0.PLLPWDN1)中 写入 ‘1’;

[0x215] 更改 PLL 分频值

  • 更改PLL 输出频率之前,应该检查内存控制器的运行状态(start/stop);
  • 当设置重置(PLLSETREG0, PLLSETREG1)到需求的数值时,应该将(PWRMODE.CHGPLL)写入‘1’,来更新PLL;
  • 更新锁定时钟 :当改变 PLL 分频值且没有稳定时,电源管理和时钟控制器将阻塞时钟供应到内部控制器的所需时间;
  • 锁定时间超后,block 状态 = STOP MODE 时,内部控制器将获取新的时钟频率;

[0x220] 时钟频率汇总

  • 这五种时钟的最小频率不受PLL 限制;
  • F(BCLK) = 2 x F(PCLK) : BCLK 频率必须是 PCLK 频率的2倍;
    S5P6818 芯片手册 System Control 章节 理论篇_第5张图片

[0x221] 主CPU 时钟

  • FCLKCPU0 是 s5p6818 主CPU的时钟频率,推荐 PLL0 做、初始频率;
  • FCLKCPU0 和 HCLKCPU0 是不能相同的,注意不要超过 HCLKCPU0 设置频率上限;
  • CLKMODEREG0 : 选择 不同的PLL 提供时钟频率初始值;
  • CPU 核时钟 = FCLKCPU0 = CLKMODEREG0 / CLKDIV_FCLKCPU0;
  • AXI总线时钟 = HCLKCPU0 = CLKMODEREG0 / CLKDIV_FCLKCPU0 / CLKDIV_HCLKCPU0;
    S5P6818 芯片手册 System Control 章节 理论篇_第6张图片
  • 推荐 CPU 时钟频率:
    S5P6818 芯片手册 System Control 章节 理论篇_第7张图片

[0x222] 系统总线时钟(核时钟)

  • PCLK : 用于 CPU 基于I/O 的方式,访问 SOC 上被激活的块时钟频率;
  • BCLK : 用于 系统总线时钟,通常 BCLK = 2 x PCLK ,所以 CLKDIV_PCLK = 2;
    S5P6818 芯片手册 System Control 章节 理论篇_第8张图片
  • 最大频率 数值
    在这里插入图片描述

[0x223] 内存总线 (MCU) 时钟

  • MDCLK : MCLK : MBCLK : MPCLK = 4 : 4 : 2 : 1;
    S5P6818 芯片手册 System Control 章节 理论篇_第9张图片
  • 内存时钟推荐数值
    在这里插入图片描述

[0x224] 图形进程单元 (GPU) 时钟

  • GPU核心时钟,GR3DPCLK 是保留寄存器;
    S5P6818 芯片手册 System Control 章节 理论篇_第10张图片
  • 推荐GPU频率数值
    在这里插入图片描述

[0x225] 多函数解码 (MFC) 时钟

  • MPEGBCLK:多函数解码 (MFC) 时钟;
  • MPEGPCLK :MFC 模块外设时钟;
    S5P6818 芯片手册 System Control 章节 理论篇_第11张图片在这里插入图片描述

[0x300] 电源管理

S5P6818 芯片手册 System Control 章节 理论篇_第12张图片

[0x301] 电源启动顺序

  1. nBATF :标识电源错误或者未准备就绪,如果为 LOW(低电平),则为错误;
  2. 电源启动时 nBATF =Low ,等待 nBATF = High ,POR(电源启动重置状态);
  3. 等待 600 us后,PLL0 和 PLL1 稳定状态 Stable PLL0 & PLL1 ;
  4. 进入 Normal 模式;
  5. CPU 请求进入停止模式 (STOP),等待唤醒(WAKE UP);
  6. 等待 60ms后,晶振稳定状态 Stable X-tal ;
  7. 等待 600 us后,PLL0 和 PLL1 稳定状态 Stable PLL0 & PLL1;
  8. 唤醒完毕,进入 Normal 模式;
    S5P6818 芯片手册 System Control 章节 理论篇_第13张图片

[0x302] 待机模式(IDLE Mode)

  • 待机唤醒源 :GPIOInterrupt, Alive GPIO Interrupt, External Interrupt and RTC Interrupt
  • 进入待机模式前需要设置唤醒源,否则不能恢复正常模式;
  • 启用待机模式:寄存器 PWRMODE.IDLE = 1;
  • 待机模式特性:不提供CPU时钟,电源和PLL操作正常提供;
  • 发生唤醒源中断后,立即进入正常模式;

[0x303] 停止模式(STOP Mode)

  • 待机唤醒源 :RTC Interrupt, AliveGPIO Interrupt;
  • 进入停止模式前需要将内存从 DRAM 模式转换到 Self Refresh模式,防止内存数据丢失;
  • 启用停止模式:寄存器 PWRMODE.STOP = 1;
  • 停止模式特性:只提供电源管理 和 RTC 时钟,不提供其他块的时钟,包括 ARM 核心、PLL、XTI等;
  • 发生唤醒源中断后,立即进入IDLE模式,经过70ms后PLL0 和 PLL1 稳定状态时,将进入正常模式;

[0x304] 睡眠模式恢复(SLEEP Mode)

  • 设置中断源为GPIO 清除终端抑制位(GPIOINTPEND REG);
    • 如GPIO作为中断源,设置触发条件(GPIOWAKEUPRISEENB 或者 GPIOWAKEUPFALLENB REG);
    • 如GPIO作为中断源,关闭重置使能 (GPIORSTENB REG);
    • 如GPIO作为中断源,启用唤醒事件 (GPIOWAKEUPENB REG);
  • 设置中断源为RTC,清除终端抑制位 (INTPEND REG);
    • 如RTC作为中断源,设置触发条件 (RTCWKENB REG);
    • 如RTC作为中断源,启用唤醒事件 (RTCWAKEUPENB REG);
  • 启用接受中断 (INTENB REG);
  • 启用节能模式 (PWRMODE);
  • 等待唤醒事件发生后,从STOP/IDLE 模式唤醒,进入正常模式并清除之前的中断抑制;
    S5P6818 芯片手册 System Control 章节 理论篇_第14张图片

[0x305] 重置生成(Reset Generation)

  • 电源管理主要的时钟: RTC时钟(32.768KHz),且最先开始振幅;
  • Power On Reset :除了 NGRESETOUT开始振辐,需要 tRESETOUT = 200ms,其他都可以设置为 0ms;
  • Sleep Mode Wakeup :除了 NGRESETOUT开始振辐,需要 tRESETOUT = 200ms,其他都可以设置为 0ms;
  • Power off sequence :不需要等待任何时间,可以直接停止;
  • Software Reset :软重置不需要时间稳定时钟,先将 (SWRSTENB) 置位,后置位 (PWRMODE.SWRST);
  • GPIO Reset :置位(GPIORSTENB),定义Active GPIO重置源特性;
  • Watchdog Reset :主要用于操作错误与未知状态的重启恢复;
    S5P6818 芯片手册 System Control 章节 理论篇_第15张图片

[0x400] AXI 总线

S5P6818 芯片手册 System Control 章节 理论篇_第16张图片

[0x401] 可编程的Qos特征(ProgQoS)

  • Qos 只关注未处理事项的数量,如果超过了事先指定的阈值(MI),将只允许来自指定来源的处理事项;
  • 未处理事项阈值存储于 (QoS tidemark Register);
  • 限制处理事项标识存储于 (QoS access control Register);
  • 如果未处理事项的数值大于或者等于(QoS tidemark Register),只处理 (QoS access control Register)从端口标识的事项;
  • 如果未处理事项的数值,小于 (QoS tidemark Register)数值,对于AXI 计算是没有影响的;
  • 建议分配低MI号。这种方法与循环优先级方案很好地对齐,因为需要QoS支持的MI通常是那些可以被认为是高级从属的;

[0x402] 仲裁规则

  1. 对于 可编程的RR 规则、固定的RR规则,可以分别配置不同的MI值;
  2. AW和AR 通道 是分开仲裁于APB可编程端口,并配置标识,MI值是允许在不同SI中累计这两种读写任务;
  3. 一个仲裁决定不会在当前循环生效,arbitration mechanism registers的仲裁 指挥应用于子循环;
  4. 如果没有SI有效,则仲裁器采用默认仲裁,默认仲裁,仲裁必须在有活动SI时发生;

[0x403] RR规则分配

  1. 基于 插槽数 、分配的SI、事务数量等分配循环方式;
  2. 每个连接的SI必须至少有一个插槽,最多可以有32个插槽。
  3. 通过为SI分配多个时隙,您可以平均分配对从时隙的访问权限。
  4. 如果适当地订购了插槽,这也可以减少保证授权之前的最长时间。
  5. 可以从APB编程接口询问与时隙相关联的SI,并且如果选择可编程RR方案则可以改变SI。
  6. 每当仲裁被授予活动SI时,时隙被旋转,使得当前处于最高优先级位置的时隙变为最低,并且所有其他时隙移动到更高优先级但保持其相对顺序。
  7. 如果SI是最高优先级的活动SI,但不是最高优先级接口,则它继续赢得仲裁,直到它成为最高优先级接口;
  8. 由于仲裁值已注册,当前周期中进行的仲裁决策将在下一个周期中生效;
    S5P6818 芯片手册 System Control 章节 理论篇_第17张图片

你可能感兴趣的:(一段冲动学习经历)