DSP28335 sw软件触发

DSP28335 sw软件触发,第1张

对于28335的话,可以在EPWM配置模块添加下面的语句:

//adc

EPwm1RegsETSELbitSOCAEN = 1; // Enable SOC on A group

EPwm1RegsETSELbitSOCASEL = 2; // TBPRD

EPwm1RegsETPSbitSOCAPRD = 1;

这是默认EPWM1来触发AD转换(目前我程序里用的就是这个)。要想保证AD好用,你AD的初始化及相关标志位的配置也得配套设定好,光有启动语句的话照样没用

仔细看看SCICCR寄存器和SCIACR寄存器的配置情况,

看看是不是把SCIA的开了,而没有开SCIC的

再就是SCICTL寄存器的配置

把这些控制寄存器的配置都弄好了就OK了

再就是别忘了打开SCIC的时钟

慢慢调下就能通讯了

实现软件锁相环技术的方法很多,如指针归零同时调频调相[1]、多周期调节锁相原理[2]等。上述方法、

法利用DSP的捕获单元,对单相电压的过零点进行捕获,只能在电压过零点时,对相位进行校正。若在一个周期内相位发生变化,就不具有对电压相位的实时控制能力,且需使用两个捕获单元和3个定时器。提出一种基于TMS320F2812[3]的三相软件锁相环实现方法,该方法模拟硬件锁相实现原理,利用PI调节器输出的误差角频率与TMS320F2812定时器计数值的对应关系产生定时器周期中断,在中断程序中加固定角度,从而取代软件锁相复杂的积分环

  这样的问题确实挺让人头痛的,往往这种情况还不报错,非常让人郁闷。28335我没用过。如果你用的是2812我能立即给你解决了。28335的话,我给你说一下我调试的经验吧。

  1看看编译的时候有没有错误。如果有错的话,对应的去网上搜一下,往往都能找到一些方法。

  2跑个例程看看,如果例程都不能跑通的话。先查查硬件有没有问题。

  3例程跑通之后,将你的程序改小,然后将程序刷进去看看。一般就是按例程那样先一个模块一个模块的跑。如果加上某个模块不工作了,你看看有没有明显错误。如果没有,单独跑一下这个模块。如果单独可以跑的话。很有可能是cmd段分配和ccs设置的问题了。你可以试试在项目中右击,选择Properties(Alt+Enter),在如下图所示的选项卡中选择Optimization level,将其设置为off即不优化。

  4下载进去之后,再在线调一下。在main开始处打个断点试试。如果程序是跑飞的进不了main以2812为例,我建议你检查一下你的Boot ROM是不是选择的从内部启动。2812上有个引脚MP/MC(微处理器模式/微计算机模式),如果这个引脚为0说明被设置为从内部boot启动,你看一下28335有没有类似的引脚,建议你出现ram中能运行,flash中不能运行的问题时,首先检查这引脚的状态。

  5检查你的flash cmd文件,建议你先从Debug文件夹下的map文件看起。map文件是十分用于的。它包含了你编译出的所有段和定义的所有段的所有信息,包括段的起始地址、长度、使用长度和未使用长度。包括编译生成的test、cinint等段的信息,如果你发现某个段定义了但没有使用,很有可能是因为你这个段长度太小了,它放不进去就不放了。你了解一下cmd的编写对应看map文件改改看。

ps:我的版本是ccs55,工程项目以在ccs33下创建的为例。map文件部分截图如下:

以上就是关于DSP28335 s/w软件触发全部的内容,包括:DSP28335 s/w软件触发、DSP28335想用SCIc进行串行发送与PC通信、求单相锁相环SPLL程序,dsp28335等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9489542.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存