This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在使用 controlCARD F2837x。
我需要生成 4.25µs μ s 的单个脉冲(负脉冲或正脉冲、我认为这不是问题。) 当软件需要时(通过在寄存器中写入特定值的软件触发...)
我想 ePWM 模块可以在没有任何其他干预的情况下完成它、但在我们需要脉冲时初始化并对其进行微调、但它是一个非常复杂的模块!
我没有找到任何针对我的案例的人。
是否有人可以帮助我或向我展示一个现有的可帮助我配置 ePWM 的示例?
谢谢你。
你好
我已经考虑过这个解决方案、但是我已经将在 PWM 中断(无刷电机控制)下对这个脉冲进行三角波处理。 那么、我不希望仅为了切换 GPIO 脉冲而中断此中断!
尤其是当我被说服在模块 ePWM 的帮助下硬件可以做到这一点时。 对吧?
注意:如果我想、我将不得不使用计时器(ePWM 模块)生成中断。
从这里、我认为生成中断或切换输出状态实际上与 ePWM 模块的配置相同?
谢谢你。
[引用 user="a GIR]特别是因为我相信在模块 ePWM 的帮助下、硬件可以做到这一点。 对吗?[/报价]
ePWM 脉冲序列的偏航是最方便的外设。 但您在上面提到,您需要一个***,而不是火车?
[引用 user="a GIR]我们无法在此 ePWM 中对其进行编程? 当计数器达到编程值时、没有用于切换引脚的 sibgle 计数器模式? 当然、在这种情况下、我们不能将其称为"PWM"、但"ePmw"的某些"子模块"是否可以实现?
据我所知... 您无法:) Hence 要求您在 CPU_TIMER/ePWM 中断中切换 GPIO。
好的。
实际上、下面是我的用例。
我有一个电机绝对位置电容器、它在"串行链路"上工作。
然后、我必须发出一个包含在 SCI 上发送一个字节的"请求"、然后我将在13个字节后接收以了解当前位置。
但是、物理链路是 RS-485类型。 (半双工模式)
因此、我必须生成一个信号、在发送请求期间启用 Tx 路、然后释放该信号以"侦听"响应。
我想我会做以下几点:
=>管理无刷电机的 PWM 中断:
-将 GPIO 设置为在 RS-485上以"发送模式"传递
-在 SCI 上发送一个字节
-在 SCI Tx 完成中断(我将其设置为"高"中断优先级)上、我将清除 GPIO 以在 RS-485上以"监听模式"传递。
因此、我的 PWM 中断将被 SCI Tx 结束中断抢先、因此我将接受这一点、因为我知道我只清除 GPIO、然后中断时间非常短。
我将对其进行测试。
感谢你的帮助。
注意:SCI 模块是否可以管理 RTE/CTE RS-232信号。 根据数据表、我认为不是 我是对的吗?
您可以使其与 PWM 一起工作、但它可能需要更多的周期、而不是以另一种方式工作、因为您必须使用另一个中断来关闭 PWM。
唯一的例外情况是、如果您在电路板上有另一个信号、您可以在下一个周期到来之前为 PWM 使用触发区输入。 您还可以在中断中触发脉冲、然后配置跳闸区域、以便在信号处于低电平时使 PWM 跳闸。 然后、PWM 将自身跳闸并有效地生成单个脉冲。 如果您在初始化中预配置了中断、中断可能如下所示:
启动时基计数器
延迟几个周期、以确保 PWM 为高电平
在低电平时启用 tripzone
这将防止您不得不为 GPIO 获取第二个中断。 最后,我同意最后一项通牒。 GPIO 是最简单的方法。
另一个需要注意的问题可能是使用串行通信、例如 SCI 或 SPI。 在正确的波特率下、这应该可以很好地工作。 您只需使用 TX 引脚、而在中断中、您只需发送与正确脉冲宽度对应的任何数据、例如0x0001或0x0003、以实现更长的脉冲。
此致、
Kris
你好
好的、我了解使用另一个 SCI 模块的演示思想。
谢谢
你好
对我来说、更简单的解决方案是 GPIO。
->我在发送数据之前设置 GPIO
->通过 SCI 中断传输数据时、我清除 GPIO ...
但它们在"TX empty"标志上不会中断。 所以我不知道数据是在物理上传输的 :-)
然后、我将测试第二种方法:使用另一个 SCI 控制器生成脉冲...
当多路复用器用于 SCI 时、"Inv" GPIO 是否正常工作? :我需要正脉冲,SCI 字符"0"将发送负脉冲...