首页 > 应用与设计 > 工业应用 > C2837x入门指南 >

电机驱动

最新课程

热门课程

C2837x入门指南(六) — 系统初始化

欢迎回来 本章我们来讨论系统初始化 这个章节讲解的内容相对偏多 包括时钟 看门狗 通用IO 外部中断 低功耗模式 寄存器保护等 系统相关的模块 首先我们来讨论时钟 28X7X系列的时钟系统 与之前的PQ系列非常相似 它可以接受内部的两个10兆的时钟 或者外部时钟作为时钟沿 单独提供给看门狗或者系统时钟 系统时钟经过PLL锁相环 被分频得到 另外 它提供专用的GPIO73作为输出管脚 可以用于检测测试时钟是否正常 它的输入源可以来自内部时钟 辅助时钟 CPU的系统时钟 和锁相环时钟 辅助时钟源 则来自于外部时钟 或者内部时钟 都有自己独立的分频计数器 锁相环部分可以设置倍频和分频 倍频的比例 以四分之一为单位 分为整数和小数部分 从1到128 而分频只支持偶数 另外 系统时钟提供给低速的设备 还可以进一步分频 同样 值是偶数 最高到14分频 这个是2837XD 双核时钟系统 从锁相环出来的系统时钟 可以分配给各自的CPU和各自的低速通讯设备 也可以分配给对应的外设 需要注意 EPWM时钟 不能超过100兆 所以它可能需要1分频 2分频 看门狗的时钟源独立 可以来自内部或外部 CAN的时钟源比较特别 可以来自外部 或者是外设 另外 CPUtimer 可以来自不同的时钟源 包括内部外部 和系统时钟 时钟源的控制寄存器 可以有三个 可以配置各个模块的时钟选择 上电初始化以后 所以外设都默认分配个CPU1 所以CPU2需要控制任意一个外设 首先需要将外设分配给CPU2 通过CPUSELCT寄存器来配置 然后 分配给CPU2的外设 需要CPU2提供系统时钟 从而让该外设工作 同理 CPU1也需要对自己的外设做时钟处理 接下来讨论看门狗 看门狗的时钟 是独立的 所以在上电复位后独立于CPU运行 如果它的计数器溢出 将产生复位或中断 因此用户需要定时喂狗 通过清零达到寄存器不溢出的目的 在默认情况下 看门狗在13万个指令周期后 溢出 并达到复位状态 如果时钟使用内部十兆进制 对应时间是13.1毫秒 这个是看门狗的系统框图 时钟进来后 有一个固定的512分频 然后用户可以配置分频指数 经过看门狗始门位 它的8位计数器开始计数 在8位计数器抑制前 我们需要对WDK寄存器 进行0xm0xaa顺序写入的 清除寄存器 否则 看门狗技术一出 就会默认复位 或者有用户配置中断 人为写入一个错误的WDCHK的值 将会立即产生一个看门狗技术抑制事件 从而产生复位或中断 看门狗设计可以参考收据手册或者这个表格 需要注意的是 看门狗复位以后 立即开始计数 对应于10兆内部 时间是13.11毫秒 看门狗的控制寄存器非常简单 只有分频和使能位 K值是用于清楚寄存器 要求用户按顺序写入 0X55和0XAA 这表格列举的 写入0X55和0XAA 清除看门狗寄存器的示例 另外 系统控制和状态寄存器 可以设置 看门狗的中断使能 和看门狗本身使能 接下来 我们讨论GPIO 由于资源增多 28X7X的GPIO 最多支持192个 从A组到F组 所有GPIO仍然支持输入滤波功能 但在功能分配上 需要进入两个分组 一个是group分组 而个是mux分组 GPIO的系统框图 可以明确看到 首先引脚进来 是一个 内部上拉使能电路 对于可以复位为PLM功能的GPIO0到11 上拉不使能 其他GPIO上拉使能 信号进来后可以设置内部的反向 和输入滤波 在设置GPIO的功能方面 首先需要进入group分组 group mux 将会分成四组 每一组的一个将作为GPIO功能 剩下三个可以配置为外设功能 在GPIO的数据寄存器方面 建议使用GPTOGGLE进行数据的输出 GPDAT数据输入 读取 GPDIR可以设定GPIO的方向 作为输入或输出 GPIO的数据配置功能可以配置为同步 异步 和三个和六个采样点 每个采样点的时间单独配置 为系统时钟的2到510分频 GPXQSEL寄存器用于配合同步异步或三和六的采样点 而GPXCTRL寄存器用于配置具体L口配置的系统分频数 与所有外设一样 GPIO默认有CPU1控制 CPU2和CRA需要对GPIO 进行数据操作 需要GPIO的控制寄存器 Call select进行配置 在此之后 该CPU可以通过GPIOdata set clear toggle来进行数据处理 这个表格罗列了GPIO的主要寄存器 GPIO还有两个非常重要的功能 是它的输入和输出x-bar x-bar的增加丰富了GPIO的功能选择 其中input x-bar 可以选择任意一个GPIO 作为内部输入源选择 这14个输入源可以分配到外部中断 capture 和同步信号 以及EPM output x-bar 这个表格列举了14个input信号 分别对应的功能 GPIO output x-bar可以将任意一个信号或脉冲 输入到任何一个GPIO管脚上面 包括模拟寄存器的高低电平信号 PWM和capture的同步信号 ADC的SOC信号 中断信号 capture信号 西格玛的滤波信号 和input x-bar的信号 这个系统框图表格列举了32个输出源的选择 32个输出源有4个选项 所以根据各自的片选功能 可以将某个信号输入到任意一个GPIO管脚上面 同时 在输出前 还可以索存和反向 外部中断 2837XD最多支持5个外部中断 如前所示 任意一个外部中断 可以通过GPIO的input x-bar 任意选择一个GPIO作为来源 而外部中断1到3 保留了原来的16位寄存器 用于检测时间差 配置外部中断时 我们首先要使能外部中断 然后配置极性 然后通过input x-bar配置需要的GPIO口 外部中断1到5 分别使用input x-bar Input 4 5 6 13 14 作为来源 再通过配置寄存器 设置其中断和极性 计数器可应用于检测时间 低功耗模式 F 2837XD支持更多低功耗模式 包括halt 和休眠 分别对应CPU的逻辑时钟 外设时钟 看门狗时钟 以及锁相环状态组合 低功耗模式的控制寄存器 将配置芯片继续进入某个模式 以及由哪些外设或中断唤醒 唤醒源可以来自复位 A组GPIO信号 看门狗中断和其他任何中断 GPIO唤醒低功耗模式 可以支持AB组 通过GPIOPMSEL寄存器来配置 寄存器保护 新增的lock 锁住寄存器配置 寄存器 可以有效防止寄存器被误改写 一旦lock寄存器生效 所有lock住的寄存器 将不能通过软件更改 除此之外 F2837XD保留了之前 CR8x的EALLOW保护功能 它可以防止代码的非法访问 只能通过汇编语言 指令来配置 被EALLOW保护的寄存器包括device配置寄存器 flash和加密模块 PIE DMA CLA PWM和系统寄存器等等 本章节我们主要讨论了 与系统相关的模块 从时钟 看门狗 GPIO 外部中断 低功耗模式 到寄存器保护等等 接下来我们继续讨论模拟外设和控制外设

欢迎回来 本章我们来讨论系统初始化

这个章节讲解的内容相对偏多

包括时钟 看门狗 通用IO 外部中断 低功耗模式 寄存器保护等

系统相关的模块

首先我们来讨论时钟

28X7X系列的时钟系统 与之前的PQ系列非常相似

它可以接受内部的两个10兆的时钟

或者外部时钟作为时钟沿

单独提供给看门狗或者系统时钟

系统时钟经过PLL锁相环

被分频得到 另外 它提供专用的GPIO73作为输出管脚

可以用于检测测试时钟是否正常

它的输入源可以来自内部时钟 辅助时钟

CPU的系统时钟 和锁相环时钟

辅助时钟源 则来自于外部时钟

或者内部时钟 都有自己独立的分频计数器

锁相环部分可以设置倍频和分频

倍频的比例 以四分之一为单位

分为整数和小数部分

从1到128

而分频只支持偶数

另外 系统时钟提供给低速的设备

还可以进一步分频

同样 值是偶数 最高到14分频

这个是2837XD 双核时钟系统

从锁相环出来的系统时钟 可以分配给各自的CPU和各自的低速通讯设备

也可以分配给对应的外设

需要注意 EPWM时钟 不能超过100兆

所以它可能需要1分频 2分频

看门狗的时钟源独立

可以来自内部或外部

CAN的时钟源比较特别 可以来自外部

或者是外设

另外 CPUtimer 可以来自不同的时钟源

包括内部外部 和系统时钟

时钟源的控制寄存器 可以有三个

可以配置各个模块的时钟选择

上电初始化以后

所以外设都默认分配个CPU1

所以CPU2需要控制任意一个外设

首先需要将外设分配给CPU2

通过CPUSELCT寄存器来配置

然后 分配给CPU2的外设

需要CPU2提供系统时钟

从而让该外设工作

同理 CPU1也需要对自己的外设做时钟处理

接下来讨论看门狗

看门狗的时钟

是独立的 所以在上电复位后独立于CPU运行

如果它的计数器溢出 将产生复位或中断

因此用户需要定时喂狗

通过清零达到寄存器不溢出的目的

在默认情况下 看门狗在13万个指令周期后

溢出 并达到复位状态

如果时钟使用内部十兆进制

对应时间是13.1毫秒

这个是看门狗的系统框图

时钟进来后 有一个固定的512分频

然后用户可以配置分频指数

经过看门狗始门位

它的8位计数器开始计数

在8位计数器抑制前 我们需要对WDK寄存器

进行0xm0xaa顺序写入的

清除寄存器

否则 看门狗技术一出 就会默认复位

或者有用户配置中断

人为写入一个错误的WDCHK的值

将会立即产生一个看门狗技术抑制事件

从而产生复位或中断

看门狗设计可以参考收据手册或者这个表格

需要注意的是 看门狗复位以后

立即开始计数 对应于10兆内部

时间是13.11毫秒

看门狗的控制寄存器非常简单

只有分频和使能位

K值是用于清楚寄存器

要求用户按顺序写入

0X55和0XAA 这表格列举的

写入0X55和0XAA 清除看门狗寄存器的示例

另外 系统控制和状态寄存器 可以设置

看门狗的中断使能 和看门狗本身使能

接下来 我们讨论GPIO

由于资源增多 28X7X的GPIO 最多支持192个 从A组到F组

所有GPIO仍然支持输入滤波功能

但在功能分配上 需要进入两个分组

一个是group分组 而个是mux分组

GPIO的系统框图 可以明确看到

首先引脚进来 是一个 内部上拉使能电路

对于可以复位为PLM功能的GPIO0到11

上拉不使能

其他GPIO上拉使能

信号进来后可以设置内部的反向

和输入滤波

在设置GPIO的功能方面 首先需要进入group分组

group mux 将会分成四组

每一组的一个将作为GPIO功能

剩下三个可以配置为外设功能

在GPIO的数据寄存器方面

建议使用GPTOGGLE进行数据的输出

GPDAT数据输入 读取

GPDIR可以设定GPIO的方向

作为输入或输出

GPIO的数据配置功能可以配置为同步 异步

和三个和六个采样点

每个采样点的时间单独配置

为系统时钟的2到510分频

GPXQSEL寄存器用于配合同步异步或三和六的采样点

而GPXCTRL寄存器用于配置具体L口配置的系统分频数

与所有外设一样 GPIO默认有CPU1控制

CPU2和CRA需要对GPIO 进行数据操作

需要GPIO的控制寄存器

Call select进行配置

在此之后 该CPU可以通过GPIOdata

set clear toggle来进行数据处理

这个表格罗列了GPIO的主要寄存器

GPIO还有两个非常重要的功能

是它的输入和输出x-bar

x-bar的增加丰富了GPIO的功能选择

其中input x-bar 可以选择任意一个GPIO

作为内部输入源选择

这14个输入源可以分配到外部中断 capture

和同步信号 以及EPM output x-bar

这个表格列举了14个input信号

分别对应的功能

GPIO output x-bar可以将任意一个信号或脉冲

输入到任何一个GPIO管脚上面

包括模拟寄存器的高低电平信号

PWM和capture的同步信号

ADC的SOC信号 中断信号

capture信号 西格玛的滤波信号

和input x-bar的信号

这个系统框图表格列举了32个输出源的选择

32个输出源有4个选项

所以根据各自的片选功能

可以将某个信号输入到任意一个GPIO管脚上面

同时 在输出前 还可以索存和反向

外部中断 2837XD最多支持5个外部中断

如前所示 任意一个外部中断 可以通过GPIO的input x-bar

任意选择一个GPIO作为来源

而外部中断1到3 保留了原来的16位寄存器

用于检测时间差

配置外部中断时 我们首先要使能外部中断

然后配置极性

然后通过input x-bar配置需要的GPIO口

外部中断1到5 分别使用input x-bar

Input 4 5 6 13 14 作为来源

再通过配置寄存器

设置其中断和极性

计数器可应用于检测时间

低功耗模式 F 2837XD支持更多低功耗模式

包括halt 和休眠

分别对应CPU的逻辑时钟 外设时钟 看门狗时钟

以及锁相环状态组合

低功耗模式的控制寄存器 将配置芯片继续进入某个模式

以及由哪些外设或中断唤醒

唤醒源可以来自复位 A组GPIO信号

看门狗中断和其他任何中断

GPIO唤醒低功耗模式 可以支持AB组

通过GPIOPMSEL寄存器来配置

寄存器保护

新增的lock 锁住寄存器配置

寄存器 可以有效防止寄存器被误改写

一旦lock寄存器生效

所有lock住的寄存器 将不能通过软件更改

除此之外 F2837XD保留了之前 CR8x的EALLOW保护功能

它可以防止代码的非法访问 只能通过汇编语言

指令来配置

被EALLOW保护的寄存器包括device配置寄存器

flash和加密模块 PIE

DMA CLA PWM和系统寄存器等等

本章节我们主要讨论了 与系统相关的模块

从时钟 看门狗 GPIO 外部中断

低功耗模式 到寄存器保护等等

接下来我们继续讨论模拟外设和控制外设

视频报错
手机看
扫码用手机观看
收藏本课程

视频简介

C2837x入门指南(六) — 系统初始化

所属课程:C2837x入门指南 发布时间:2016.06.06 视频集数:28 本节视频时长:00:11:41
C2837x概述;芯片架构; 开发环境;外设寄存器操作;复位和中断;系统初始化;模拟子系统 ADC DAC CMP SDFM;控制类外设PWM CAP QEP。
TI培训小程序