TMS320F2812调试记录一
一、关于GPIOD0/T1CTRIP_PDPINTA引脚的使用
通过DSP 2812来控制电机时,在调试过程中遇到了一些问题,将GPIOD0/T1CTRIP_PDPINTA用作普通GIPO输出,当控制器上电后,将电机控制器起动开关打开,此时事件管理器EVA控制的6个PWM有信号输出,起动开关关闭时,事件管理器EVA控制的6个PWM无信号输出。此时不关电源,再次打开起动开关时,事件管理器EVA控制的6个PWM却无信号输出,通过仿真器读到此时起动标志位已经置为1,却没PWM信号输出。查阅得到PWM的输出与DSP的GPIOD0/T1CTRIP_PDPINTA脚有关,详见下图。
为此,屏蔽main函数中所有与GPIOD0相关的语句,重新拨动开关,恢复正常;屏蔽GPIOD0输出为0,保留GPIOD0输出为1的所有语句,重新拨动开关,恢复正常;屏蔽GPIOD0输出为1,保留GPIOD0输出为0的所有语句,重新拨动开关故障依旧。(注:这里将GPIOD0口用作通用GPIO输出口)。
以为是该引脚对应的中断未屏蔽引起的PWM模块不输出,将PDPINTA对应中断进行屏蔽,故障依旧,后面查阅资料详见下图,如果当控制器的PWM信号在输出时,如果该引脚信号是低电平时,也不会有PWM信号输出,目前还未找到一种比较好的方法,能够同时将GPIOD0用作普通GPIO口,同时又不会影响PWM的输出,该引脚在用作通用GPIO口使用时需谨慎使用。
二 、关于PWM波频率和死区时间的计算
这里一个例子来说明:
首先振荡器时钟(外部晶振时钟):是OSCCLK=30MHz;
经锁相环PLL得到CPU时钟:
SysCtrlRegs.PLLCR.bit.DIV = 0xA;
CLKIN=(OSCCLK10)/2=150 MHz;
高速时钟:
SysCtrlRegs.HISPCP.all = 0x0000;
HSPCLK=SYSCLKOUT/1=150 MHz;
事件管理器EVx采用的是高速时钟;
#define ISR_FREQUENCY 10
float32 T = 0.001/ISR_FREQUENCY;
#define SYSTEM_FREQUENCY 150
pwm1.PeriodMax = SYSTEM_FREQUENCY1000000T/2;
在这里:
EvaRegs.T1PR = p->PeriodMax;
PeriodMax保留的值即是定时器1周期中断T1PR的值。
如果想要计算的话大概可以算一下,此时T1PR的值为7500(十进制)
在此程序中,定时器1控制寄存器设置的值为0X8840
转换成二进制:1000 1000 0000 0100
时钟源选择:00 选择的是内部时钟;
输入时钟预定标因子:000
则最终提供给定时器1的时钟,
TCLK=HSPCLK/1=150MHz
计数模式选择:01连续增/减计数模式
则有连续增减计数模式的PWM计算公式:
由上可知T1PR为7500,则有PWM频率:f=301000000/(2*7500)=10KHz;
在此程序中,死区控制器寄存器DBTCONA的值为0x0AF4;
转换成二进制: 0000 1010 1111 0100
死区定时器控制器寄存器DBTCONA定义如下:
死区定时器周期:1010
即 m=10
死区定时器预定标因子:101
TCKL/32=150MHz/32
则死区时间:tBD=10*32/150=2.133us
实际测试值见下图:
TMS320F2812调试记录一相关推荐
- ROS上同时预览depth,IR,RGB 调试记录
ROS上同时预览depth,IR,RGB 调试记录 用rviz同时显示RGB,IR,DEPTH(验证设备:astraprosm,canglong2,deeyea) 1.编译libuvc库 cd lib ...
- ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值——bug调试记录
ML之回归预测:利用十(xgboost,10-1)种机器学习算法对无人驾驶汽车系统参数(2017年的data,18+2)进行回归预测值VS真实值--bug调试记录 目录 输出结果 1.增加XGBR算法 ...
- [Deepin - Pycharm调试记录] Pyinstaller索引系统库问题
Deepin - Pycharm调试记录 - Pyinstaller索引不到系统库 现象 在Pycharm的Terminal中执行Pyinstaller指令时候遇到如下报错提示 OSError: Py ...
- RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案)
RAISR-master:google图像新压缩技术RAISR的测试代码调试记录(Python实现,没接触过python的小白,内含pip install解决方案) 参考文章: (1)RAISR-ma ...
- SX1278 FSK 调试记录
SX1278 FSK 调试记录 先挖个sx1278 FSK的坑慢慢填 手中有两个SX1278模组 是安信可的产品 采用主从模式 SPI访问 MCU是STM32F107 数据格式 说明收据接收的第一步就 ...
- 松下MINAS-A6伺服电机调试记录
松下MINAS-A6伺服电机调试记录 因项目需求,进行松下MINAS-A6伺服电机调试 文章目录 松下MINAS-A6伺服电机调试记录 概述 一.手册数据 二.设备使用 1.驱动器及电机连接 2.设备 ...
- Xilinx AXI Crossbar相关调试记录
Xilinx AXI Crossbar相关调试记录 本文记录在使用Xilinx AXI Crossbar IPcore现象 ** AXI Crossbar IPcore设置如下** 使用AXI Cro ...
- android pppd参数介绍,android 3G pppd 调试记录
android 3G pppd 调试记录. 1. JAVA 部分 android/development/data/etc/apns-conf_sdk.xml ---> system/e ...
- RV1126 调试记录
RV1126 调试记录 ######################################################################################## ...
最新文章
- WindowsServer2012史记7-茴香豆的五种写法和四种”显示计算机”的方法
- linux系统中使用chattr命令的,chattr命令怎么用
- Flutter LayoutBuilder 用来获取父布局的尺寸大小
- 不可求的电脑上必备软件,你也许听过
- DVWA-CSRF-low级别
- 【OpenCV4 官方文档】机器学习概述
- 【转】什么是Online Learning
- Android中如何实现多个框,android几种不同对话框的实现方式
- android面试题分析总结
- 青岛软控为机电软一体化企业的PLM建设树立样板
- 汽车之外 这届2018CES盛会电视和语音助理也很亮眼 | CES
- MOGRT视频制作库 Premiere遮罩/转场/特效视频剪辑效果模板库预设
- 免费蹭WIFI要小心 别让你的账号“裸奔”
- 面试时如何反问面试官
- 机器学习之决策树算法ID3--参考麦子学院彭亮机器学习基础3.2决策树应用
- 百货商城销售管理系统
- 高级搜索-百度和必应
- 基于vue的可视化编程
- 【Linux】一文简单了解操作系统在硬件中的作用,解析操作系统是做什么的?
- 新概念2 课文和单词(5)
热门文章
- 智慧工地构筑数字城市:绿色环保,文明工地
- 2023最新萤火商城源码 V2.0版+全开源的
- 微型计算机转移指令,川大《微机原理与应用(1)1351》14秋在线作业1答案
- 公网SSH远程Ubuntu:安装cpolar内网穿透映射22端口 2/3
- Ubuntu 使用技巧【不断更新】
- 【vue2】ElementUI与VantUI组件库的使用详解(vue全家桶之一)
- vb外部调用autocad_利用VB与AutoCAD链接进行CAD二次开发
- 2021年,整理的iOS高频面试题及答案(总会有你需要的)
- 三星4521打印机清零及恢复中文版
- 人工智能及其应用第六版目录