QCC512x 系统结构图
QCC512x 各子系统的功能是什么?
- 启动管理器(Boot Manager)---初始启动,深度睡眠控制器 - 运行32KHz
- 系统管理器(System Manager)---系统设置,XTAL控件,PIO分配,信任权利分配
- 蓝牙子系统(Bluetooth Subsystem)---双模式无线电通信
- 音频子系统(Audio subsystem)---双Qualcomm®Kalimba™DSP,音频硬件的所有者,硬件ANC块
- 应用程序子系统(Application subsystem)---双核, 固件处理器(SW二进制文件由Qualcomm提供),客户开发处理器,从SPI闪存设备开始执行
- 主机接口子系统(Host Interfaces Subsystem)---UART,I2C,SPI,USB
- PMU Subsystem---Dual SMPS,电池充电器(外部晶体管高达1.8A)
- PIO控制器---未来ADK计划支持
QCC512x系统哪些外设可以编程?
- 应用客户开发者处理器
- 音频可下载功能(仅限QCC512x / 3x)
QCC512x系统哪些外设不可以编程?
- 启动管理器
- System Manager -in ROM,随ADK提供补丁
- 应用程序固件 - ADK中提供的二进制映像
- 蓝牙-in ROM,随ADK提供补丁
- 音频-in ROM,随ADK提供补丁
系统有哪些时钟源?
- 无源晶振(简称晶体或谐振器,英文名是crystal,电路上简称为XTAL)仅为32MHz,为大多数操作提供准确来源
- 有源晶振(简称晶振,又叫振荡器,英文名是oscillator)一般为32KHz,短波(SW)针对XTAL进行校准,实现睡眠时,BT的定时精度
- 快速振荡器(FOSC)在XTAL之前启动使用的,是一种低功率不准确振荡器
系统如何控制时钟?
- MIB键将应用子系统时钟设置为32MHz或80MHz;
- MIB键设置默认音频子系统时钟频率(2,4,8,16,32,80,120 MHz)
- 自动控制XTAL开/关,PLL(锁相环)开/关
- 在深度睡眠模式下-XTAL和PLL关闭,SOSC用于保持定时
什么是锁相环?
锁相环路是一种反馈控制电路,它利用外部输入的参考信号控制环路内部振荡信号的频率和相位。
锁相环应用在哪些方面?
- 信号的调制和解调;
- 信号的调频和解调;
- 信号频率合成电路。
系统不同模式下有什么特征?
- 关闭---没有时钟,没有电源
- 休眠---大部分芯片都掉电,只有少量硬件和RAM保持供电,应用程序将无法运行
- 活跃---如果任务完成,CPU可能正在运行,也可能自行停止,被中断后重新启动
- 浅睡眠---子系统处于空闲状态,时钟门控关闭,子系统自动进入浅睡眠状态
- 深睡眠---主时钟停止,数字电压降低,RAM和寄存器内容被保留,但PIO控制器可以在深度睡眠中运行,Timer,外部事件,Power事件,事务桥接口可能会使深度睡眠退出。
处理器通信技术如何实现?
- HW Transaction Bus(TRB)---应用于基于块信息离散传输的子系统
- 内存管理单元(MMU)---应用于基于内存分页策略的大多数子系统
SW在此基础上构建并提供了哪些内容?
- 在MMU硬件上用于内存管理的一组API
- 处理器间通信(IPC)方案
- 连续数据流的传输方法
客户应用处理器(P1)和固件处理器(P0)之间如何进行通信?
- 通过每个方向的共享内存缓冲区和相关的中断进行通信
- 客户端到固件通常会携带陷阱请求
- 固件到客户端通常会携带陷阱响应
- 客户应用程序和其他子系统之间的通信始终通过应用程序固件处理器和提供的陷阱API进行。
两个Audio Kalimba DSP(P0 + P1)之间如何进行通信?
- 通过共享存储器和中断实现通信
- 与音频流相关的所有缓冲区都由第一个(P0)CPU管理
Boot Manager和System Manager之间如何进行通信?
- 通过共享内存和中断进行通信
- System Manager可以访问所有Boot Manager寄存器
- 客户应用程序不直接与Boot Manager通信
TRB包含哪些内容?
- 数据读写
- 子系统之间的“中断”
- 时间同步(用于深度睡眠退出)
- 消息
- 重启
- Debug命令,包括断点,读/写。