请教MR32MCU的PWM的问题(附图)

[复制链接]
4643|26
 楼主| leixiaoxi 发表于 2007-5-18 13:37 | 显示全部楼层 |阅读模式
&nbsp;&nbsp;PWM调试中发现了这样一个问题,如果我通过开关把D口的0,1,2,3位置高的话,PWM则无法正常工作,4.5.6位对PWM无影响。<br />&nbsp;&nbsp;不知如果在软件里避免D口对PWM的影响。所以来此请教下。谢谢了
JerryBJ 发表于 2007-5-18 14:42 | 显示全部楼层

Fault Detection

PTD0~PTD3同时是Fault&nbsp;Detection功能的输入引脚。高电平表示有异常,因此PWM会被禁止输出。<br /><br />所以...
 楼主| leixiaoxi 发表于 2007-5-18 15:13 | 显示全部楼层

那要怎么去解决这个问题呢?

那要怎么去解决呢&nbsp;?
JerryBJ 发表于 2007-5-18 15:37 | 显示全部楼层

DISMAP

clear&nbsp;DISMAP&nbsp;register&nbsp;after&nbsp;reset.&nbsp;
 楼主| leixiaoxi 发表于 2007-5-18 15:38 | 显示全部楼层

如何禁止D口影响PWM啊?

我想禁止这个功能,怎么解决呢
gxs64 发表于 2007-5-19 16:08 | 显示全部楼层

re

5楼的意思是无论D口的状态如何,都不应该影响PWM。&nbsp;CPU为68HC908MR32.&nbsp;寄存器设置如下:&nbsp;PCTL1&nbsp;=&nbsp;0B00000011;&nbsp;FCR&nbsp;=&nbsp;0xFF;&nbsp;DISMAP&nbsp;=&nbsp;0B00000000;&nbsp;PWMOUT&nbsp;=&nbsp;0x3F;&nbsp;但经测试,还是有影响(会关闭PWM)。其中OUT&nbsp;EXT1、OUT&nbsp;EXT2、OUT&nbsp;INT1、OUT&nbsp;INT2连接到74HC244的输入口。&nbsp;<img src="https://bbs.21ic.com/upfiles/img/20075/200751916541902.jpg">
 楼主| leixiaoxi 发表于 2007-5-21 11:06 | 显示全部楼层

DISMAP = 0B00000000这个置后其中D口的PTD1对PWM还是有影响

DISMAP&nbsp;=&nbsp;0B00000000这个置后其中D口的PTD1对PWM还是有影响,其它3个就没有影响了。
 楼主| leixiaoxi 发表于 2007-5-21 15:46 | 显示全部楼层

其实我现在做下来感觉就是D口他 影响了 BANK X和BANK Y

现在在做下来感觉就是D口他&nbsp;影响了&nbsp;BANK&nbsp;X和BANK&nbsp;Y&nbsp;,在DISMAP置0时,如果我的PTD3脚置高,则PWM1,3被禁止。如果PTD1置高则PWM4.6被禁止。这样算下来好像时&nbsp;PTD3把&nbsp;bank&nbsp;x置高。PTD1把bank&nbsp;y置高了。
 楼主| leixiaoxi 发表于 2007-5-21 16:51 | 显示全部楼层

现在就是感觉D口好像不能避免影响PWM

现在就是感觉D口好像不能避免影响PWM,不知小女子这样假设有无错误?但是现在从datasheet图12-27(page139)上并没有看出D口影响BANK&nbsp;X和BANK&nbsp;Y。现在真是很郁闷,请各位大侠再次指点下!
 楼主| leixiaoxi 发表于 2007-5-22 11:11 | 显示全部楼层

怎么大侠们都不帮帮我啊?

怎么大侠们都不帮帮我啊?请大侠们帮帮小女子吧
 楼主| leixiaoxi 发表于 2007-5-23 13:45 | 显示全部楼层

re

大侠们帮帮忙哦!
xuhuadong 发表于 2007-5-23 14:26 | 显示全部楼层

没用过,刚看手册

PTD3/FAULT4–PTD0/FAULT1&nbsp;are&nbsp;special&nbsp;function&nbsp;port<br />pins&nbsp;that&nbsp;also&nbsp;serve&nbsp;as&nbsp;fault&nbsp;pins&nbsp;for&nbsp;the&nbsp;PWMMC.&nbsp;See&nbsp;Chapter&nbsp;12&nbsp;Pulse-Width&nbsp;Modulator&nbsp;for&nbsp;Motor<br />Control&nbsp;(PWMMC)&nbsp;and&nbsp;Chapter&nbsp;10&nbsp;Input/Output&nbsp;(I/O)&nbsp;Ports&nbsp;(PORTS).<br /><br />DISMAP&nbsp;=&nbsp;0B00000000,应该是关掉了,没有影响的,
 楼主| leixiaoxi 发表于 2007-5-23 14:39 | 显示全部楼层

re DISMAP = 0B00000000,应该是关掉了,没有影响的,

看手册的确是应该关掉。但是试验下来的结果却还是没有关掉呢。现在我也不知该如果去解决这个问题了呢。
xuhuadong 发表于 2007-5-23 15:01 | 显示全部楼层

把你的$20-$37的配置发出来

还需要在测试时设置ptd0-ptd1高低时打断点<br />,把pind的数据和$20-$37的数据,发过来,对分析很有用<br />硬件上可以把244去掉,直接测波形。<br /><br />软件上打断点硬仿分析$20-$37,pind<br /><br />注意:很有可能你软件有问题。把DISMAP给改掉了
 楼主| leixiaoxi 发表于 2007-5-23 15:23 | 显示全部楼层

re很有可能你软件有问题。把DISMAP给改掉了

这个就是$20-$37的数据。就是不知道为什么$20会变成11的
xuhuadong 发表于 2007-5-23 16:25 | 显示全部楼层

DISMAP只能在复位时写一次

  
xuhuadong 发表于 2007-5-23 16:40 | 显示全部楼层

pwmf?新装周期发生 ldok?没有新pwm模式 看一下pctl1

好好看一下资料,这两个位的定义<br /><br />PWMF&nbsp;—&nbsp;PWM&nbsp;Reload&nbsp;Flag<br />This&nbsp;read/write&nbsp;bit&nbsp;is&nbsp;set&nbsp;at&nbsp;the&nbsp;beginning&nbsp;of&nbsp;every&nbsp;reload&nbsp;cycle&nbsp;regardless&nbsp;of&nbsp;the&nbsp;state&nbsp;of&nbsp;the&nbsp;LDOK&nbsp;bit.<br />This&nbsp;bit&nbsp;is&nbsp;cleared&nbsp;by&nbsp;reading&nbsp;PWM&nbsp;control&nbsp;register&nbsp;1&nbsp;with&nbsp;the&nbsp;PWMF&nbsp;flag&nbsp;set,&nbsp;then&nbsp;writing&nbsp;a&nbsp;logic&nbsp;0&nbsp;to<br />PWMF.&nbsp;If&nbsp;another&nbsp;reload&nbsp;occurs&nbsp;before&nbsp;the&nbsp;clearing&nbsp;sequence&nbsp;is&nbsp;complete,&nbsp;then&nbsp;writing&nbsp;logic&nbsp;0&nbsp;to<br />PWMF&nbsp;has&nbsp;no&nbsp;effect.<br />1&nbsp;=&nbsp;New&nbsp;reload&nbsp;cycle&nbsp;began.<br />0&nbsp;=&nbsp;New&nbsp;reload&nbsp;cycle&nbsp;has&nbsp;not&nbsp;begun.<br /><br />This&nbsp;read/write&nbsp;bit&nbsp;loads&nbsp;the&nbsp;prescaler&nbsp;bits&nbsp;of&nbsp;the&nbsp;PMCTL2&nbsp;register&nbsp;and&nbsp;the&nbsp;entire&nbsp;PMMODH/L&nbsp;and<br />PWMVALH/L&nbsp;registers&nbsp;into&nbsp;a&nbsp;set&nbsp;of&nbsp;buffers.&nbsp;The&nbsp;buffered&nbsp;prescaler&nbsp;divisor,&nbsp;PWM&nbsp;counter&nbsp;modulus<br />value,&nbsp;and&nbsp;PWM&nbsp;pulse&nbsp;will&nbsp;take&nbsp;effect&nbsp;at&nbsp;the&nbsp;next&nbsp;PWM&nbsp;load.&nbsp;Set&nbsp;LDOK&nbsp;by&nbsp;reading&nbsp;it&nbsp;when&nbsp;it&nbsp;is&nbsp;logic&nbsp;0<br />and&nbsp;then&nbsp;writing&nbsp;a&nbsp;logic&nbsp;1&nbsp;to&nbsp;it.&nbsp;LDOK&nbsp;is&nbsp;automatically&nbsp;cleared&nbsp;after&nbsp;the&nbsp;new&nbsp;values&nbsp;are&nbsp;loaded&nbsp;or&nbsp;can<br />be&nbsp;manually&nbsp;cleared&nbsp;before&nbsp;a&nbsp;reload&nbsp;by&nbsp;writing&nbsp;a&nbsp;0&nbsp;to&nbsp;it.&nbsp;Reset&nbsp;clears&nbsp;LDOK.<br />1&nbsp;=&nbsp;Load&nbsp;prescaler,&nbsp;modulus,&nbsp;and&nbsp;PWM&nbsp;values.<br />0&nbsp;=&nbsp;Do&nbsp;not&nbsp;load&nbsp;new&nbsp;modulus,&nbsp;prescaler,&nbsp;and&nbsp;PWM&nbsp;values.<br /><br />
xuhuadong 发表于 2007-5-23 16:43 | 显示全部楼层

看一下位定义

  
 楼主| leixiaoxi 发表于 2007-5-23 17:13 | 显示全部楼层

re看一下位定义

非常感谢哦。我现在正在看呢
 楼主| leixiaoxi 发表于 2007-5-23 17:16 | 显示全部楼层

re:pwmf?新装周期发生 ldok?没有新pwm模式 看一下pctl1

&nbsp;程序中PCTL1&nbsp;&nbsp;=&nbsp;3;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCTL1&nbsp;&nbsp;|=&nbsp;0x02;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DISMAP&nbsp;=&nbsp;0B00000000;<br />&nbsp;&nbsp;&nbsp;&nbsp;CONFIG&nbsp;=&nbsp;&nbsp;0x91;&nbsp;&nbsp;我是这样设置的<br />PWMF我没设置。我再看看先<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

21

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部