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

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
8个职位/ 0个新职位
最后发表
kqtrinh
离线
最后看到:4年3个星期前
加入: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_UART1_RX_PORT GPIO_PORT_0
#定义GPIO_UART1_RX_PIN GPIO_PIN_5

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

#定义GPIO_UART2_TX_PORT GPIO_PORT_1
#定义GPIO_UART2_TX_PIN GPIO_PIN_2
#定义GPIO_UART2_RX_PORT GPIO_PORT_1
#定义GPIO_UART2_RX_PIN GPIO_PIN_3

/****************************************************************************************/
/* SPI Flash选项*/
/****************************************************************************************/

#定义SPI_GPIO_PORT GPIO_PORT_0
#定义SPI_CLK_PIN GPIO_PIN_0
#定义SPI_CS_PIN GPIO_PIN_1
#定义SPI_DI_PIN GPIO_PIN_6
#定义SPI_DO_PIN GPIO_PIN_7

我们正在使用580 WL-CSP34包,我知道这个包只有2个可用的GPIO端口。
有了上面的GPIO端口/引脚分配,你有什么建议,在如何释放一个可用的引脚,由DA使用进入另一个设备的复位线,以便我可以编程复位该设备?

谢谢,
——潘文凯

设备:
MT_dialog
离线
最后看到:5个月6天前
工作人员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

是的,WL-CSP34确实只有两个可用端口PORT_0和PORT_1,尽管我不太明白你的问题,你想要一个额外的GPIO管脚,以便通过外部MCU以编程方式复位580,所以我认为你会切换从外部MCU的GPIO通过sw检查引脚的状态并发出平台复位,是这样吗?在你已经发布的当前配置中,你有空闲的引脚(P02, P03, P10和P11,还有P14/SWCLK和P15/SW_DIO也可以使用-你需要对这些引脚稍微小心一点,因为他们是JTAG引脚),所以到底是什么情况?

一些额外的信息,如果你在一个特定的功能配置你的引脚,没有限制重新配置他们在一个不同的功能,例如,你可以配置一个引脚作为UART TX/RX工作时,你想要发送或你意识到你将有一个数据接收,在那之后,你可以重新配置你的引脚,以拥有任何SPI功能。

由于MT_dialog

kqtrinh
离线
最后看到:4年3个星期前
加入:2016-08-24 00:17
不,实际上我想要

不,实际上我想要的是另一种方式。我希望DA MCU通过GPIO引脚复位外部设备。因此,基于我已经为两个UARTs和SPI使用的内容,看起来GPIO Port1 Pin0 (P1_0)或Port1 Pin1 (P1_1)可以用于此目的?我正确吗?

我也想使用MCU 16Mhz时钟驱动我的外部设备。这个时钟是否映射到580 Basic/Pro套件上的一个GPIO管脚?如果没有,我如何利用这个时钟作为我的外部设备?

谢谢,
——潘文凯

MT_dialog
离线
最后看到:5个月6天前
工作人员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

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

由于MT_dialog

kqtrinh
离线
最后看到:4年3个星期前
加入:2016-08-24 00:17
好的。看来我们做不到

好的。看来我们不能指望这座钟了。你能评论一下复位引脚,确认一下我的想法是否正确吗?

记得我的问题:

我想换一种方式。我想DA MCU通过DA J4头上的GPIO引脚重置外部设备。
因此,基于我已经为两个UARTs和SPI使用的内容,看起来GPIO Port1 Pin0 (P1_0)或Port1 Pin1 (P1_1)可以用于此目的?我正确吗?

谢谢,
——潘文凯

MT_dialog
离线
最后看到:5个月6天前
工作人员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

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

由于MT_dialog

kqtrinh
离线
最后看到:4年3个星期前
加入:2016-08-24 00:17
在DA固件代码

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

GPIO_ConfigurePin ()
GPIO_SetInactive ()
GPIO_SetActive ()

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

谢谢,
——潘文凯

MT_dialog
离线
最后看到:5个月6天前
工作人员
加入:2015-06-08 34
嗨kqtrinh,

嗨kqtrinh,

是的,GPIO_ConfigurePin()是配置引脚的功能,也可以设置引脚的默认状态(高或低)GPIO_SetInactive()和GPIO_SetActive()是用来设置引脚的状态高或低。

我建议看一下UM-B-051 DA1458x软件平台参考文档10.3节,其中记录了SDK中gpio的驱动程序。

由于MT_dialog