创龙TMS320C6748开发板———PSC配置及GPIO介绍

2023-10-30 08:20

本文主要是介绍创龙TMS320C6748开发板———PSC配置及GPIO介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 PSC (电源和睡眠控制器)配置介绍
       TMS320C6748 Ti 公司的一款超低功耗 DSP 产品,相比其他系列 DSP 它多了 PSC 这个模块,用以管理各个外设的睡眠和唤醒,大大节约了系统功耗,下面我们具体介绍这个模块的细节以及配置。
        1 PSC 模块共有两个控制器模块,分别负责以下外设的配置。
        从上图我们可以看到 PSC 模块几乎可以控制 DSP 中所有的外设。
        也许这里大家有一个疑问, PSC0~1 Domain0~1 ,以及具体的模块好像关系很乱。下面我们绘制了这样一张图来详细说明他们的所属关系:
        实际上,只有 DSP 属于 domain1 ,其余所有模块均属于 domain0
        2 )下面我们接着介绍 PSC 能够控制各个模块进入的状态 (Enable Disable SyncReset SwRstDisable AutoSleep AutoWake) 一般我么常用的是前 4 个状态, Enable 为正常工作状态,而 Disable 状态关闭了模块时钟; SyncReset 使模块处于复位状态,时钟正常, SwRstDisable 使模块处于复位状态,并关闭了时钟。具体说明见下图所示。
        3 PSC 模块配置说明
       a.  等待 PTSTAT 中的 GOSTAT[x] 为清零, x 为当前模块所属的 domain
       b.  检查 MDSTAT[x] 中的 STAT 位是否与简要配置的状态相同,如果相同,直接返回。
       c.  清除 MDCTL[x] 中的 NEXT ( 非常重要 )
       d.  配置 MDCTL[x] 中的 NEXT 位为指定的状态。
       e.  配置 PTCMD 中的 GO[x] 位,开始转换模块状态。
       f.  等待,检查 PTSTAT 中的 GOSTAT[x] 是否清零,表示转换完成。
       g.  检查 MDSTAT[x] 中的 STAT 位是否与简要配置的状态相同。
二、 GPIO (通用输入输出)配置介绍
        本节我们主要介绍 GPIO 的输入输出控制功能,中断部分下次结合中断向量表一起说明。
        1 TMS320C6748 共有 8 Banks 16 GPIOsper Bank ,几乎所有引脚都可以配置成为 GPIO 端口。
        对于 GPIO ,我们只需关注这几个寄存器:
       DIR :方向控制寄存器,控制 GPIO 管脚是输入还是输出,其中,对应位置 0 表示该管脚为输出管脚;对应位置 1 表示该管脚为输入管脚。
       OUT_DATA :输出数据寄存器,控制管脚输出电平,其中,对应位置 0 表示该管脚输出为低电平;对应位置 1 表示该管脚输出为高电平。
       SET_DATA :设置数据寄存器,对应位置 1 表示该管脚输出为高电平,需要注意的是该寄存器写 0 无效。
       CLEAR_DATA :清除数据寄存器,对应位置 1 表示该管脚输出为低电平,需要注意的是该寄存器写 0 无效。
       IN_DATA :输入数据寄存器,注意该寄存器是只读寄存器,返回对应位输入电平。
        2 GPIO 配置说明
       a.  配置 PSC 模块,使能 GPIO 功能。
       b.  配置 PINMUX 模块,选择需要使用的管脚作为 GPIO 引脚。具体可以参看我的这篇帖子。 http://bbs.elecfans.com/forum.php?mod=viewthread&tid=516939&page=1&extra=#pid3851865
       c.  配置 DIR 方向控制寄存器。
       d.  如果配置 GPIO 为输入引脚,那么在有信号输入后可以读取 IN_DATA 寄存器以获得输入电平;如果配置 GPIO 为输出引脚,可以配置 OUT_DATA SET_DATA CLEAR_DATA 寄存器输出高 / 低电平。
三、 CCS 调试的一些经验
        以后如果我想起一些关于 CCS 调试有用的功能,会不定时在帖子最后更新,希望有助于大家的学习 ~
        大家在调试工程的时候会不会遇到工程出错,但是又找不到事那个部分出问题,一般有经验的工程师在编写子函数时都会写一些返回值,这样在调试时直接查看这些返回值就可以知道程序那里出错了。但是,这样编写效率不高,遇到多次调用子函数的情况很难知道那个部分出问题了。一般工程师们还会在程序运行时及时打印出系统运行状态,主要有两种方法,一种是基于 UART 接口的方法(我们以后结合 UART 再说),另一种是调用 printf 函数的方法。
        格式为: printf ( "hello !\r\n" );
        重要的事情说三遍,在语句的结尾一定一定要有回车符 \r 和换行符 \n
        大家可以看到在 CCS Console 里有如下的显示。

这篇关于创龙TMS320C6748开发板———PSC配置及GPIO介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/306649

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

如何在Mac上安装并配置JDK环境变量详细步骤

《如何在Mac上安装并配置JDK环境变量详细步骤》:本文主要介绍如何在Mac上安装并配置JDK环境变量详细步骤,包括下载JDK、安装JDK、配置环境变量、验证JDK配置以及可选地设置PowerSh... 目录步骤 1:下载JDK步骤 2:安装JDK步骤 3:配置环境变量1. 编辑~/.zshrc(对于zsh

售价599元起! 华为路由器X1/Pro发布 配置与区别一览

《售价599元起!华为路由器X1/Pro发布配置与区别一览》华为路由器X1/Pro发布,有朋友留言问华为路由X1和X1Pro怎么选择,关于这个问题,本期图文将对这二款路由器做了期参数对比,大家看... 华为路由 X1 系列已经正式发布并开启预售,将在 4 月 25 日 10:08 正式开售,两款产品分别为华

SQL server配置管理器找不到如何打开它

《SQLserver配置管理器找不到如何打开它》最近遇到了SQLserver配置管理器打不开的问题,尝试在开始菜单栏搜SQLServerManager无果,于是将自己找到的方法总结分享给大家,对SQ... 目录方法一:桌面图标进入方法二:运行窗口进入方法三:查找文件路径方法四:检查 SQL Server 安

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

如何配置Spring Boot中的Jackson序列化

《如何配置SpringBoot中的Jackson序列化》在开发基于SpringBoot的应用程序时,Jackson是默认的JSON序列化和反序列化工具,本文将详细介绍如何在SpringBoot中配置... 目录配置Spring Boot中的Jackson序列化1. 为什么需要自定义Jackson配置?2.

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过