【电路笔记 TMS320F28335DSP】McBSP 从源时钟得到 生成时钟 CLKG 帧同步信号 FSG

  • 对应于原文 Multichannel Buffered Serial Port (McBSP)的 2.5.3 Data Clock Generation。

CLKG

  • Figure 2-4. Sample Rate Generator Block Diagram
    在这里插入图片描述

  • CLKG 是采样率发生器输出的数据位时钟(Data Bit Clock),它被用来控制:

    • 数据发送/接收的时钟节奏(即每个数据位在哪个时钟边沿传输)
    • 帧同步信号 FSG 的生成时机
    • CLKG 是通过对 CLKS 进行分频得到的,具体分频系数由寄存器 CLKGDV 控制。

2.5.3 Data Clock Generation

  • 当接收/发送时钟模式设置为 1(即在引脚控制寄存器(PCR)中设置 CLK(R/X)M = 1)时,数据时钟(CLK(R/X))将由内部采样率发生器输出的时钟 CLKG 驱动。你可以为接收器和发送器选择多种数据位时钟源,包括:

  • 采样率发生器的输入时钟可以是内部时钟源,也可以是通过 CLKX、CLKR 或 CLKS 引脚 输入的专用外部时钟源
    在芯片内部,McBSP 的时钟源可通过配置系统配置模块中的 CFGCHIP3 寄存器 中的 ASYNC3_CLKSRC 位 来选择为 PLL0_SYSCLK2 或 PLL1_SYSCLK2。有关 McBSP 内部时钟源的详细信息,请参见 第 2.5.3.1 节

  • 上段提到的采样率发生器的输入时钟源(无论是内部时钟源还是专用外部时钟源),都可以通过一个可编程分频值(采样率发生器寄存器(SRGR)中的 CLKGDV 位)进行分频,以驱动 CLKG

  • 无论采样率发生器使用哪种时钟源,CLKSRG 的上升沿(见图 2-4)都会用于生成 CLKGFSG

2.5.3.1 Input Clock Source Mode: CLKSM and SCLKME 时钟源的选择
  • 采样率发生器的输入时钟信号可以从四种可选的时钟源中选择,这些时钟源由 引脚控制寄存器(PCR)中的 SCLKME 位采样率发生器寄存器(SRGR)中的 CLKSM 位 共同决定,详见 表 2-2

  • 表 2-2:使用 SCLKMECLKSM 位选择采样率发生器的输入时钟

PCR 寄存器中的 SCLKME 位SRGR 寄存器中的 CLKSM 位采样率发生器的输入时钟源
00CLKS 引脚上的外部输入时钟McBSP
01内部输入时钟(通常为 LSPCLK)
10CLKR 引脚上的外部输入时钟
11CLKX 引脚上的外部输入时钟
  • 各时钟源解释:
输入时钟源描述
McBSP 内部输入时钟通常是系统低速外设时钟(LSPCLK),即 DSP 主频的四分之一(SYSCLKOUT / 4)。这是最常用的主模式配置。
CLKS 引脚上的外部输入时钟来自 CLKS 引脚的外部时钟信号,可用于同步到其他系统的主时钟。
CLKX 引脚上的外部输入时钟使用发送时钟引脚 CLKX 上的外部时钟作为采样率发生器的输入。
CLKR 引脚上的外部输入时钟使用接收时钟引脚 CLKR 上的外部时钟作为采样率发生器的输入。
2.5.3.2 Sample Rate Generator Data Bit Clock Rate: CLKGDV 频率
  • 第一个分频阶段从输入时钟生成串行数据位时钟。该分频阶段使用一个计数器,该计数器由采样率发生器寄存器(SRGR)中的 CLKGDV 位预加载,并包含分频比值。该阶段的输出是数据位时钟,它通过采样率发生器的输出 CLKG 输出,并作为第二和第三分频阶段的输入。

  • CLKG 的频率等于采样率发生器输入时钟频率的 1/(CLKGDV + 1)。因此,采样率发生器的输入时钟频率被分频了 1 到 256 之间的某个值。所选择的 CLKGDV 值 必须确保生成的时钟满足设备数据手册中规定的时序要求和限制条件。

  • 当 CLKGDV 的值为奇数或等于 0 时,生成的 CLKG 时钟占空比为 50%。请注意:如果 CLKGDV 是奇数,表示对源时钟进行了偶数分频;如果 CLKGDV 是偶数(设为 2p),则表示对源时钟进行了奇数分频,此时高电平持续时间为 p + 1 个周期,低电平持续时间为 p 个周期。这一点在 示例 2-1、示例 2-2 和 示例 2-3 中有详细说明。

  • 这里省略示例

2.5.3.3 Bit Clock Polarity: CLKSP 触发边沿的类型
  • 通过在采样率发生器寄存器(SRGR)中设置 CLKSM = 0,并在引脚控制寄存器(PCR)中设置 SCLKME = 0,可以选择使用**外部时钟(CLKS)**来驱动采样率发生器的时钟分频器。在这种情况下,SRGR 寄存器中的 CLKSP 位 用于选择在 CLKS 的哪一个边沿 上生成采样率发生器的数据位时钟(CLKG)和帧同步信号(FSG)。由于 CLKG 和 FSG 是在 CLKSRG 的上升沿 生成的,因此:
    当 CLKSP = 0 时,CLKS 的上升沿 会触发 CLKG 和 FSG 的跳变;
    当 CLKSP = 1 时,CLKS 的下降沿 会触发 CLKG 和 FSG 的跳变。
2.5.3.4 Bit Clock and Frame Synchronization 决定是否让 CLKG 和帧同步信号 FSG 与外部帧同步信号(如 FSR)保持相位同步
  • 当选择使用外部时钟 CLKS 来驱动采样率发生器(即在 SRGR 寄存器中设置 CLKSM = 0,并在 PCR 寄存器中设置 SCLKME = 0)时,SRGR 寄存器中的 GSYNC 位 可用于配置 CLKG 相对于 CLKS 的时序关系

    • 当 GSYNC = 1:
      • 启用全局同步模式。每次接收到外部帧同步信号(FSR)的上升沿(或下降沿,取决于极性设置)时,会触发 CLKG 和 FSG 的重新对齐。 确保 McBSP 与外部设备(如音频编解码器)之间保持精确的时序同步。
      • CLKG 在同步后总是从高电平开始。此时,FPER(帧周期)寄存器的值不再起作用,因为帧周期由外部帧同步脉冲决定。
    • 当 GSYNC = 0:
      • 关闭全局同步。CLKG 自由运行,不受外部帧同步信号的影响。
      • 使用内部设定的 FPER 和 FWID 来生成帧同步信号 FSG。
  • 图 2-5 和 图 2-6 展示了在不同 CLKS 和 FSR 极性 配置下的这种操作行为。这些图中假设 FWID = 0,即生成的帧同步信号 FSG 的宽度为 1 个 CLKG 周期。

  • 这些图展示了当 CLKG 初始时与帧同步信号同步且 GSYNC = 1 的情况下,以及当 CLKG 与帧同步信号不同步但 GSYNC = 1 时,CLKG 的变化情况。

  • Figure 2-5. CLKG Synchronization and FSG Generation When GSYNC = 1 and CLKGDV = 1
    在这里插入图片描述

  • 下面的三个小标题是对图中元素的说明:

FSRP 的作用
  • FSRP(Frame Sync Rising Edge Polarity)
    是 McBSP 寄存器中的一个配置位,用于设置外部帧同步信号 FSR(接收帧同步)的触发边沿类型。

  • FSR(Frame Sync Receive)
    是 McBSP 接收端的帧同步输入引脚。该引脚接收来自外部设备的帧同步信号,用来标识一帧数据的开始。

FSRP 值触发边沿含义说明
0上升沿(Rising Edge)当 FSR 引脚上出现一个从低到高的跳变时,表示新的一帧开始,并触发同步机制
1下降沿(Falling Edge)当 FSR 引脚上出现一个从高到低的跳变时,表示新的一帧开始,并触发同步机制
CLKG 状态
项目CLKG (no need to resync)CLKG (needs resync)
中文含义不需要重新同步的 CLKG需要重新同步的 CLKG
描述CLKG 已与外部帧同步信号(如 FSR)对齐CLKG 尚未与帧同步信号对齐
状态说明当前处于同步模式下,数据传输稳定处于等待同步状态,尚未完成首次同步或同步丢失
行为变化CLKG 按照当前相位继续运行CLKG 将被重新对齐,从高电平开始一个新的周期
FSG 的作用
  • FSG 是 Frame Sync Generator(帧同步发生器)的缩写,是 McBSP(多通道缓冲串行端口)模块中的一个内部信号,用于生成帧同步脉冲,标识一帧数据的开始。

  • 在串行通信中(如音频、TDM 等),数据通常以“帧”为单位进行传输。每一帧包含多个数据位(如 16bit 或 32bit),帧同步信号用来告诉接收方:“新的一帧开始了”。

  • Figure 2-6. CLKG Synchronization and FSG Generation When GSYNC = 1 and CLKGDV = 3
    在这里插入图片描述

  • 当 GSYNC = 1 时,只要满足以下条件,发送器就可以与接收器同步工作:

    • FSX 被配置为由采样率发生器的帧同步信号 FSG 驱动(即在 SRGR 寄存器中设置 FSGM = 1,并在 PCR 寄存器中设置 FSXM = 1)。
    • 采样率发生器的时钟 应该驱动发送和接收的数据位时钟(即在 SPCR 寄存器中设置 CLK(R/X)M = 1)。因此,CLK(R/X) 引脚不应由其他任何时钟源驱动。
2.5.3.5 Digital Loopback Mode: DLB
2.5.3.6 Receive Clock Selection: DLB, CLKRM
  • 表 2-3 展示了串口控制寄存器(SPCR)中的数字回环位(DLB)和引脚控制寄存器(PCR)中的 CLKRM 位如何共同决定接收器所使用的时钟来源。当 数字回环模式(DLB = 1) 启用时,发射器的时钟会驱动接收器。CLKRM 位用于决定 CLKR 引脚是作为输入还是输出使用。

  • 表 2-3. 接收时钟选择(Receive Clock Selection)

SPCR 中的 DLB 位PCR 中的 CLKRM 位接收时钟来源CLKR 引脚功能
00CLKR 作为外部输入时钟,经过 CLKRP 控制反相处理后用于接收输入。由外部驱动
01采样率发生器时钟(CLKG)驱动 CLKR输出。由 CLKG 驱动,并根据 CLKRP 设置是否反相后输出
10内部发送时钟(CLKX_int)驱动内部接收时钟(CLKR_int),并根据 CLKRP 设置是否反相高阻抗
11CLKX_int 驱动 CLKR_int,并根据 CLKRP 设置是否反相输出。CLKR(与 CLKX 相同)在输出前根据 CLKRP 设置被反相。
2.5.3.7 Transmit Clock Selection: CLKXM
  • 表 2-4 显示了引脚控制寄存器(PCR)中的 CLKXM 位如何选择发送时钟(transmit clock),以及 CLKX 引脚是作为输入还是输出使用。
    在这里插入图片描述
2.5.3.8 Stopping Clocks

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/907374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(25年5.28)ChatGPT Plus充值教程与实用指南:附国内外使用案例与模型排行

更多具体来源:查看原文 ChatGPT Plus 充值教程 由于国内卡无法直接充值 chatgpt,通常需要借助虚拟卡。目前咱们常用的方式是通过虚拟卡平台获取。因平台审核要求这里不细说,具体看原文。 ChatGPT Plus主要使用方向 ChatGPT Plus 提供了更…

38. 自动化测试异步开发之编写客户端异步webdriver接口类

Selenium异步浏览器操作实现原理深度解析 一、AsyncBrowser类核心结构 1.1 类定义与启动方法 class AsyncBrowser(Command):@classmethodasync def start(cls, remote_driver_server: str

国芯思辰| 霍尔电流传感器AH811为蓄电池负载检测系统安全护航

在电动车、储能电站、不间断电源(UPS)等设备中,蓄电池作为关键的储能单元,其运行状态直接关系到设备的稳定性和使用寿命。而准确监测蓄电池的负载情况,是保障其安全、高效运行的关键。霍尔电流传感器 AH811凭借独特的技…

[Java恶补day8] 3. 无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。 示例 2: 输入: s “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “…

kafka学习笔记(三、消费者Consumer使用教程——从指定位置消费)

1.简介 Kafka的poll()方法消费无法精准的掌握其消费的起始位置,auto.offset.reset参数也只能在比较粗粒度的指定消费方式。更细粒度的消费方式kafka提供了seek()方法可以指定位移消费允许消费者从特定位置(如固定偏移量、时间戳或分区首尾)开…

【JS进阶】JavaScript 中 this 值的确定规则

JavaScript 中 this 值的确定规则 1. 默认绑定(独立函数调用) 当函数作为普通函数调用时,this 指向全局对象(浏览器中是 window,Node.js 中是 global),严格模式下是 undefined。 function sh…

【凌智视觉模块】rv1106 部署 pp-humseg 模型

人像分割简介 ❀ 凌智视觉模块 是一款基于rv1106芯片开发的视觉模块,专注于视觉模型部署与开发。 人像分割是一种基于计算机视觉的技术,通过深度学习算法精准识别图像或视频中的人物主体,将其与背景进行像素级分离。该技术可实时运行于移动端…

wangeditor富文本编辑器+vue3粘贴内容样式处理

又是一个风格和日立的上午,某只菜鸟高高兴兴的骑着小电驴去上班,本着上班只要不迟到的理念飞速前行(迟到扣钱啊~),高高兴兴的行走在路上。来到工位刚拴上我的绳子组长就开始滴滴俺,顿时我心中大感不妙&…

实测,大模型谁更懂数据可视化?

大家好,我是 Ai 学习的老章 看论文时,经常看到漂亮的图表,很多不知道是用什么工具绘制的,或者很想复刻类似图表。 实测,大模型 LaTeX 公式识别,出乎预料 前文,我用 Kimi、Qwen-3-235B-A22B、…

深度学习-梯度消失和梯度爆炸

梯度消失 在某些神经网络中,随着网络深度的增加,梯度在隐藏层反向传播时倾向于变小,这就意味着,前面隐藏层中的神经元要比后面的学习起来更慢,这种现象就叫做“梯度消失”; 梯度爆炸 如果我们进行一些特殊…

Go 语言基础 2 Func,流程控制

更多个人笔记见: github个人笔记仓库 gitee 个人笔记仓库 个人学习,学习过程中还会不断补充~ (后续会更新在github上) 文章目录 Func 函数函数栈概念 函数表示类型 Anonymous func 匿名函数closure 闭包基础示例http利…

【Linux 学习计划】-- 倒计时、进度条小程序

目录 \r 、\n、fflush 倒计时 进度条 进度条进阶版 结语 \r 、\n、fflush 首先我们先来认识这三个东西,这将会是我们接下来两个小程序的重点之一 首先是我们的老演员\n,也就是回车加换行 这里面其实包含了两个操作,一个叫做回车&…

从零实现wss通信示例(WebSocket SSL)

客户端和服务端代码框架跟上一篇一致,仅增加了ssl的证书部分用于加密通信,明文通信(ws协议)见上一篇【https://blog.csdn.net/suoxd123/article/details/148093934】 1. 证书创建 1. 安装openssl 【官网地址】:https://slproweb.com/products/Win32OpenSSL.html 1.2 …

mysql 索引失效有哪些

InnoDB存储引擎根据索引类型不同,分为聚簇索引和二级索引 聚簇索引:叶子节点存放的是实际数据 二级索引:存放的是主键值,不是实际数据 1.对索引使用左或者左右模糊匹配 select * from t_user where name like %林‘&#xff1b…

LabVIEW通用测控平台设计

基于 LabVIEW 图形化编程环境,设计了一套适用于工业自动化、科研测试领域的通用测控平台。通过整合研华、NI等品牌硬件,实现多类型数据采集、实时控制及可视化管理。平台采用模块化架构,支持硬件灵活扩展,解决了传统测控系统开发周…

华为OD机试真题——智能驾驶(2025A卷:200分)Java/python/JavaScript/C/C++/GO最佳实现

2025 A卷 200分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

速卖通,国际站测评补单,如何平衡效率和安全

测评能够帮助卖家让平台更喜欢自己的产品,给予更好排名的同时也让后续进入店铺的买家更容易认可自己的产品。这是进行真实交易后形成的评价,而不是通过机器软件生成,形成虚拟数据后,那种刷评形式产生的评论。它符合任何电商平台的…

学习路之PHP--easyswoole3.3入门及文件热加载

学习路之PHP--easyswoole入门 一、框架说明二、常用命令三、文件热加载 一、框架说明 目录结构 目录结构 project 项目部署目录 ├─App 应用目录(可以有多个) │ ├─HttpController 控制器目录 │ │ └─Index.php …

设计模式26——解释器模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 解释器模式(Interp…

第三届宁波技能大赛网络安全赛项样题

2025 第三届宁波技能大赛网络安全赛项样题 模块A: 网络安全事件响应、数字取证调查和应用安全任务一:应急响应任务二:操作系统取证任务三:网络数据包分析任务四:代码审计 模块B:CTF 夺旗-攻击模块C:CTF 夺旗-防御需要环境培训可以私信博主!!!…