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.
您好!
Q1)
我在 MATLAB 中对升压转换器进行了建模、仿真文件工作正常。
当我想创建20kHz PWM 信号时、电路板无法生成甚至合理的信号。 对于计时器周期、我使用了5000、对于 CMPA、我使用了2500。
一次、我将 GPIO32 (引脚2)连接到引脚40 (epwmA)、一次我将引脚40连接到 ADCIN0 (引脚30)。 这些都不可能成为解决方案。 令人惊讶的是、仿真从远低于0秒的时间段开始
您知道如何解决此问题吗?
Q2)
现在、还有另一个问题。 当我将电路板连接到 MATLAB 或 CCS 时、蓝色 LED (R39)会熄灭。 在对电路板进行刷写之后、它会在经过几秒钟的延迟后打开、当我再次打开 MATLAB 时、LED 会熄灭。 我不知道发生了什么。
谢谢
有趣的是、当我的电路板连接到计算机并安装驱动程序时、MATLAB 会提示"无法启动外部模式仿真、因为目标未连接"。
怎么回事?
您的代码是否能够运行、您是否能够在使用 CCS 时进行调试?
NIMA
大家好、感谢您的回复。
现在、无法刷写电路板。 我检查了驱动程序、我检查了 USB 电缆、我想我已经按照所有的说明操作了、但是在连接到计算机几秒钟后、电路板上的蓝色 LED 会熄灭。
您的 PC 是否检测到该板?
是的、可以检测到 CPU1和 CPU2。
即使在闪存之后、我也可以看到
[12/14/2020、12:12:05 PM] [成功] C28xx_CPU1:操作成功完成。
[12/14/2020、12:12:21 PM] [成功] C28xx_CPU2:操作成功完成。
但是、当我再次断开电路板的连接时、蓝色 LED 会熄灭。 有时、红色的也会关闭、但几乎一直是红色的。
我认为应该有问题。
您指的是哪种蓝色和哪种红色 LED? D6和 D10?
D9:红色:GPIO34
D10:蓝色:GPIO31
好的、Faisal、您可以在尝试通过 CCS 加载代码时发布错误吗?
如果问题是您实际上没有收到错误、并且 CCS 只是挂起、请告诉我。
NIMA
CPU2似乎有问题、因为当我尝试在 CPU2或闪存 CPU2上加载程序时、蓝色 LED 会做出响应。 但它毫无理由地关闭。
通过 CCS 在器件上加载代码时没有问题或错误。
好的、因此我可以假设您能够毫无问题地向 CPU1加载和运行代码。 在将代码加载到 CPU2时、LED 会改变状态、这只是改变状态?
NIMA
您是否在代码中使用这些 GPIO?
您能否将其配置为 GPIO 并将其拉高?
NIMA
请观看这些视频。
1-红色 LED
2-蓝色 LED
3 -两个 LED
4 -将电路板连接到 CCS 以进行闪存后(我尚未执行闪存、只是连接了电路板)。 我所期望的是、与过去一样、一行中的三个 LED 亮起、但您可以看到只有绿色和红色 LED 亮起。
我想现在发生的情况是、GPIO 默认配置为输入。 因此输入是浮动的。 它们连接到 LED 驱动器电路、并随机打开/关闭。 请将所有三个 GPIO 配置为输出、并在 CPU1代码中将它们拉至高电平。 因此、它们不应因任何外部因素而受到影响。
NIMA
这里没有外部因素。 除了 USB 电缆外、没有任何器件连接到电路板。
我该怎么做? "请将所有三个 GPIO 配置为输出、并在 CPU1代码中将它们拉至高电平。"
我知道没有"外部因素"、但当 GPIO 悬空且被用作另一个电路的输入时、它会导致另一个电路随机发生三角波。 发生什么事了。
将以下代码行添加到您的 driverlib 项目中:
//GPIO34 GPIO_setPinConfig (GPIO_34_GPIO34); GPIO_setDirectionMode (34、GPIO_DIR_MODE_OUT); GPIO_setPadConfig (34、GPIO_PIN_TYPE_STD); GPIO_setMasterCore (34、 GPIO_CORE_CPU1); GPIO_setQualificationMode (34、GPIO_QUAL_SYNC);
GPIO_writePin (34、1);
这适用于 GPIO34。 对所有 LED GPIO 执行此操作
我添加了与您提供的代码相同的代码、并将其上传到了电路板。
蓝色 LED 亮起、5秒钟后、再次熄灭。
您将 GPIO 配置为输出、当您将引脚设置为高电平时、LED 应该熄灭、是否确定要在其中下载代码?
NIMA
是的、先生。 100%确定。
我的问题是、为什么闪存后(比如复位两个 CPU)、默认配置无法上传到板上? 默认配置是、刷写电路板后、三个 LED 应亮起。
默认配置意味着什么? 如果您要刷写电路板、则驱动这些引脚的 GPIO 应该是
D1连接电源。 当电源连接到器件时、它应该一直打开。
D9、D10连接到 GPIO34和 GPIO31。 如果您希望它们是特定状态、则必须对它们进行配置。 如果您确实配置了它们、在器件闪存完成后、它们将显示程序的输出。
请检查此 e2e URL。
Kevin 曾提到:
在擦除 F2837x 器件后、当您插入电路板时、LED D1、D9和 D10应保持亮起状态。 现在、您可以对器件进行重新编程、以便从闪存或 RAM 中运行代码。
但我正在做完全相同的事情(100%相同)、这对我不起作用、只有 LED D1和 D9亮起。
Kevin Allen 您能评论一下吗?
Kevin Allen18 您能评论一下吗?
费萨尔
当您擦除 F28377D 的闪存并对电路板进行下电上电时、GPIO 会进入高阻抗状态(即它们是浮动的)。 基于这个逻辑、我之前说过的并不总是正确的。 D9和 D10可以在开/关之间切换、因为它们所驱动的 IO 是浮动的。
最棒的
Kevin
我理解您所说的话、但请允许我解释一下。
假设您已连接电路板、启动 CCS、刷写电路板、根据您的说明、LED 应亮起或熄灭。 是吗? 我的问题是 LED 指示灯熄灭、但1-2分钟后、它毫无理由地亮起。 甚至、其中没有程序。
或它打开。 它会不合理地关闭。 始终连接电路板且没有程序(CCS 或 MATLAB 正在运行)。 问题是什么?
如果您愿意、我可以拍摄一段视频、展示这是如何发生的、但我所写的是真实的故事。
复位电路板后、是否有默认配置、该电路板应遵循清零步骤并开启 D9和 D10并保持高电平? 我所说的是重置、而不是编程。
您对 ePWM 的主要问题有什么看法吗?
LAUNCHXL-F28379D:ePWM 问题- C2000微控制器论坛- C2000
微控制器- TI E2E 支持论坛
费萨尔
F2837x LaunchPad 的闪存中有用于控制 LED 的默认软件编程。 如果已擦除器件的闪存、则可以使用 CCS 对 C2000ware 中的软件进行重新编程、目录位置如下:
C:\ti\c2000Ware_3_03_00_00\device_support\f2837xd\examples\cpu1\launchxl_f28379d
[报价用户="Faisal"]您对 ePWM 的主要问题有什么想法吗?
您的原始问题是什么? 我从您的第一篇帖子中无法理解它。
最棒的
Kevin
我在 MATLAB 中仿真了一个降压转换器、我应该从 GPIO 或 ADCIN 获得20kHz 信号、因为我将小线从 PIN40 (epwm1引脚)连接到引脚2 (GPIO)或引脚30 (ADCIN)。
您可以看到、频率为零、我在示波器上看不到任何内容。
显示了电路的输出、您可以看到、我没有获得48V 输出、而是得到了完全错误的结果。 我的错误是什么? 这并不是一项困难的任务、我不确定我是否做了一些错误或电路板给了我错误的输出。
顺便说一下、我检查了路径(我的路径是:C:\ti\c2000\C2000Ware_2_00_02\device_support\f2837xd\examples\cpu1\launchxl_f28379d)、但仍然无法正确刷写电路板。 仿真上述电路后、电路板闪烁问题恰好出现。 我还没有配置从上述仿真到甚至切换 D9和/或 D10的任何内容。
对于您的 MATLAB 生成的代码、请创建一个新的线程说明您的 Matlab 代码问题、请勿提及 LED 问题、以免他们将您分配给错误的人员。 您需要具备 MATLAB 嵌入式编码器知识的人员来回答您的问题。
在您的问题标题中、请务必提及 MATLAB 和嵌入式编码器。
请关闭此主题并标记您的 LED 问题的解决方案。
NIMA
NIMA
两个 LED 的问题尚未解决。
费萨尔
我们已经介绍了 LED 行为。 我不知道你还想让我们告诉你什么。
请为您的 Matlab 相关问题创建新的 E2E 帖子、以便通知正确的专家并作出响应。
最棒的
Kevin
(1) LAUNCHXL-F28379D:ePWM 系列 MATLAB 嵌入式编码器- C2000微控制器论坛- C2000
微控制器- TI E2E 支持论坛