添加一个新的GPIO引脚控制自定义板

⚠️
你好。。谢谢你来到论坛。令人兴奋的消息!我们现在正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有员额和帐户都已迁移。我们现在只接受新论坛的流量-请在//www.wsdof.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
8个职位/ 0个新职位
最后一篇文章
克克特林
离线
最后一次见到:3年9个月前
加入:2016-08-24 00:17
添加一个新的GPIO引脚控制自定义板

我使用DSPS外围模式作为我的基线开发环境。我的应用程序目前使用2个UARTs和GPIO端口/引脚的SPI分配如下定义:

/****************************************************************************************/
/* UART1 GPIO配置外部主机接口*/
/****************************************************************************************/

#定义GPIO_UART1_TX_PORT GPIO_PORT_0
#定义GPIO_UART1_TX_PIN GPIO_PIN_4
#定义GPIO\U UART1\U RX\U端口GPIO\U端口\U 0
#定义GPIO_UART1_RX_引脚GPIO_引脚5

/****************************************************************************************/
/*QPI CI接口的UART2 GPIO配置*/
/****************************************************************************************/

#定义GPIO_UART2_TX_PORT GPIO_PORT_1
#定义GPIO\U UART2\U TX\U引脚GPIO\U引脚2
#定义GPIO_UART2_RX_PORT GPIO_PORT_1
#定义GPIO_UART2_RX_PIN GPIO_PIN_3

/****************************************************************************************/
/*SPI闪存选项*/
/****************************************************************************************/

#定义SPI_GPIO_端口GPIO_端口0
#定义SPI_CLK_引脚GPIO_引脚0
#定义SPI_CS_PIN GPIO_PIN_1
#定义SPI_DI_PIN GPIO_PIN_6
#定义SPI_DO_引脚GPIO_引脚7

我们正在使用580 WL-CSP34包,我知道这个包只有2个可用的GPIO端口。
通过上述GPIO端口/pin分配,您对如何释放可用pin供DA使用以接入另一个设备的重置线路,以便我可以编程方式重置该设备有何建议?

谢谢,
--凯

设备:
MT_对话框
离线
最后一次见到:1个月4周前
工作人员
加入:2015-06-08 11:34
嗨,克特林,

嗨,克特林,

是的,WL-CSP34实际上只有两个可用端口端口端口0和端口1,虽然我不太理解您的问题,但您需要一个额外的GPIO引脚,以便通过外部MCU以编程方式重置580,因此,我假设您将通过sw从外部MCU检查切换GPIO引脚的状态,并发出平台重置,是这样吗?在您发布的当前配置中,您有空闲管脚(P02、P03、P10和P11,也可以使用P14/SWCLK和P15/SW_DIO-您需要小心使用这些管脚,因为它们是JTAG管脚),那么具体情况如何?

一些附加信息,如果您在特定功能中配置PIN,则不限制在不同功能中重新配置它们,例如,当您想要传输或意识到将要进行数据接收时,您可以将pin配置为UART TX/RX,完成后,您可以将pin配置为具有任何SPI功能。

谢谢你的对话

克克特林
离线
最后一次见到:3年9个月前
加入:2016-08-24 00:17
不,事实上我想要它

不,实际上我想要的是另一种方式。我希望DA MCU通过GPIO引脚复位外部设备。因此,基于我已经使用了两个UART和SPI,看起来GPIO端口1 Pin0(P1_0)或端口1 Pin1(P1_1)可以用于此目的?我说得对吗?

我还想使用MCU 16Mhz时钟来驱动我的外部设备。该时钟是否映射到580 Basic/Pro套件上的GPIO引脚之一?如果没有,我如何利用外部设备的时钟?

谢谢,
--凯

MT_对话框
离线
最后一次见到:1个月4周前
工作人员
加入:2015-06-08 11:34
嗨,克特林,

嗨,克特林,

关于时钟的映射,通过启用相应的时钟并将相应的引脚设置为输出,将XTAL或GPIO引脚上的任何时钟、XTAL16、XTAL32、RC16M_clk、RC32K和RC32K低抖动时钟分别映射到端口/引脚P05、P06、P07、P10和P11。将所选时钟输出到指定引脚,此行为仅在测试期间启用(有一个特定的隐藏寄存器将芯片置于测试模式),这意味着端口0和1的相应引脚将保留以输出时钟的测试信号(如果相应引脚配置为输出),因此,在测试模式下运行时,您将无法使用这些端口作为输出。此外,如果您打算在580上使用睡眠模式,请注意XTAL将在低功率模式下关闭。因此,我不确定这是否是一个好主意,因为您都有pin限制。

谢谢你的对话

克克特林
离线
最后一次见到:3年9个月前
加入:2016-08-24 00:17
好啊看起来我们做不到

好啊看起来我们不能指望580的时钟了。你能评论一下重置pin以确认我的想法是否正确吗?

回想我的问题:

我想要另一种方式。我希望DA MCU通过DA J4头上的GPIO引脚重置外部设备。
因此,基于我已经使用了两个UART和SPI,看起来GPIO端口1 Pin0(P1_0)或端口1 Pin1(P1_1)可以用于此目的?我说得对吗?

谢谢,
--凯

MT_对话框
离线
最后一次见到:1个月4周前
工作人员
加入:2015-06-08 11:34
嗨,克特林,

嗨,克特林,

是的,我没有看到任何问题,在这方面,你应该能够使用这些GPIO的输出驱动你的外部MCU复位。

谢谢你的对话

克克特林
离线
最后一次见到:3年9个月前
加入:2016-08-24 00:17
在DA固件代码

在GPIO的DA固件代码中,有如下功能

GPIO_ConfigurePin ()
GPIO_SetInactive ()
GPIO_SetActive()

请告诉我什么时候用哪个好吗?看一下代码,看起来GPIO_ConfigurePin()需要在初始化或启动期间调用。然后可以使用GPIO_SetActive()和GPIO_SetInactive()。我的理解对吗?

谢谢,
--凯

MT_对话框
离线
最后一次见到:1个月4周前
工作人员
加入:2015-06-08 11:34
嗨,克特林,

嗨,克特林,

是的,GPIO_ConfigurePin()用于配置管脚的功能,您也可以设置管脚的默认状态(高或低)。GPIO_SetInactive()和GPIO_SetActive()用于将管脚的状态设置为高或低。

我建议查看第10.3节中的UM-B-051 DA1458x软件平台参考.pdf,该文件记录了SDK中GPIO的驱动程序。

谢谢你的对话