创龙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

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Java中HashMap的用法详细介绍

《Java中HashMap的用法详细介绍》JavaHashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,:本文主要介绍Java中HashMap... 目录一.HashMap1.基本概念2.底层数据结构:3.HashCode和equals方法为什么重写Has