纬图虚拟仪器论坛

 找回密码
 立即注册
搜索
查看: 11176|回复: 19

Stm32f105 开发板GPIO能否控制四路电源有时序的上电?

[复制链接]
发表于 2020-1-10 15:23:42 | 显示全部楼层 |阅读模式
  需要控制四路电源有时序地上电,这个F105开发板可以做到么
回复

使用道具 举报

发表于 2020-1-10 15:24:26 | 显示全部楼层
这个可以控制的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-10 15:25:54 | 显示全部楼层
lxk 发表于 2020-1-10 15:24
这个可以控制的

太好了,要求很简单,不需要高频变化,只是上电和下电的时候时间间隔可以控制,用GPIO口么
回复 支持 反对

使用道具 举报

发表于 2020-1-10 15:26:30 | 显示全部楼层
hello 发表于 2020-1-10 15:25
太好了,要求很简单,不需要高频变化,只是上电和下电的时候时间间隔可以控制,用GPIO口么

我们这个只是单纯的GPIO,你需要配合外部电路来控制四路电源有时序地上电(如继电器等)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-10 15:30:52 | 显示全部楼层
lxk 发表于 2020-1-10 15:26
我们这个只是单纯的GPIO,你需要配合外部电路来控制四路电源有时序地上电(如继电器等)

是控制MOS可以么,把MOS当开关,MOS配合外部电源,加上开发板的控制信号
回复 支持 反对

使用道具 举报

发表于 2020-1-10 15:33:33 | 显示全部楼层
hello 发表于 2020-1-10 15:30
是控制MOS可以么,把MOS当开关,MOS配合外部电源,加上开发板的控制信号

GPIO可以控制MOS的,但需要外部电路配合我们GPIO实现
回复 支持 反对

使用道具 举报

发表于 2020-1-10 15:33:38 | 显示全部楼层
hello 发表于 2020-1-10 15:30
是控制MOS可以么,把MOS当开关,MOS配合外部电源,加上开发板的控制信号

GPIO可以控制MOS的,但需要外部电路配合我们GPIO实现
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-10 15:36:19 | 显示全部楼层
lxk 发表于 2020-1-10 15:33
GPIO可以控制MOS的,但需要外部电路配合我们GPIO实现

控制MOS的时候,也需要电源帮助么,你是担心GPIO口打开MOS的驱动能力不够么,驱动能力不够的话,用个小MOS再来控制一个大MOS也行,只要开发板能够提供四路控制信号就行
回复 支持 反对

使用道具 举报

发表于 2020-1-10 15:39:33 | 显示全部楼层
hello 发表于 2020-1-10 15:36
控制MOS的时候,也需要电源帮助么,你是担心GPIO口打开MOS的驱动能力不够么,驱动能力不够的话,用个小MOS ...

在STm32中芯片GPIO相当于MOS的大概在50MA左右,3.3V的电压,你的MOS驱动电路大概是什么样的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-10 15:40:31 | 显示全部楼层
lxk 发表于 2020-1-10 15:39
在STm32中芯片GPIO相当于MOS的大概在50MA左右,3.3V的电压,你的MOS驱动电路大概是什么样的。


QQ图片20200110153126.jpg
回复 支持 反对

使用道具 举报

发表于 2020-1-10 16:06:58 | 显示全部楼层
hello 发表于 2020-1-10 15:40

参考资料:http://www.viewtool.com/index.ph ... 281-ficus-stm32f105
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-13 18:40:52 | 显示全部楼层
lxk 发表于 2020-1-10 16:06
参考资料:http://www.viewtool.com/index.php/36-2016-09-26-03-58-56/281-ficus-stm32f105

我需要的就是5个电平,从低变为高,再从高变为低,彼此时序为10微秒
回复 支持 反对

使用道具 举报

发表于 2020-1-13 18:41:08 | 显示全部楼层
本帖最后由 lxk 于 2020-1-13 18:42 编辑
hello 发表于 2020-1-13 18:40
我需要的就是5个电平,从低变为高,再从高变为低,彼此时序为10微秒

要求的5个电平的变化,由于时间间隔要求太少,所以是不能够通过PC端调用函数实现的,如果这5个电平的调用过程是固定的,我们可以单独增加一个函数(通过USB 转适配器来控制GPIO)来实现它的10个US(微妙)的要求。

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-13 18:43:48 | 显示全部楼层
lxk 发表于 2020-1-13 18:41
要求的5个电平的变化,由于时间间隔要求太少,所以是不能够通过PC端调用函数实现的,如果这5个电平的调用 ...

电平调用不是固定的,现在确认了一下,可能不需要这么高精度。简单说就是一个上电,下电的问题
这个单片机可以提供几路控制信号,然后中间delay时间可以精确到多少
回复 支持 反对

使用道具 举报

发表于 2020-1-13 18:44:22 | 显示全部楼层
hello 发表于 2020-1-13 18:43
电平调用不是固定的,现在确认了一下,可能不需要这么高精度。简单说就是一个上电,下电的问题
这个单片 ...

我们开发板理论上有80路,具体精确可以达到10us
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-13 18:47:26 | 显示全部楼层
lxk 发表于 2020-1-13 18:44
我们开发板理论上有80路,具体精确可以达到10us

我看这边的GPIO口比较多,可以用这一边的5个么,我要把上面那5个设置为输出,这个程序该怎么写
QQ图片20200113184712.jpg
ret = VGI_SetOutput(VGI_USBGPIO, 0, VGI_GPIO_PORTA | VGI_GPIO_PIN0 | VGI_GPIO_PIN1);
回复 支持 反对

使用道具 举报

发表于 2020-1-13 18:49:16 | 显示全部楼层
本帖最后由 lxk 于 2020-1-13 18:50 编辑
hello 发表于 2020-1-13 18:47
我看这边的GPIO口比较多,可以用这一边的5个么,我要把上面那5个设置为输出,这个程序该怎么写

ret =  ...

可以选择同一组的GPIO控制PD0~PD1 PD4~PD6
QQ图片20200113184821.png
代码可以参考这样修改
ret = VGI_SetOutput(VGI_USBGPIO, 0, VGI_GPIO_PORTD | VGI_GPIO_PIN0 | VGI_GPIO_PIN1| VGI_GPIO_PIN4 | VGI_GPIO_PIN5| VGI_GPIO_PIN6);
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-15 09:37:38 | 显示全部楼层
lxk 发表于 2020-1-13 18:49
可以选择同一组的GPIO控制PD0~PD1 PD4~PD6

代码可以参考这样修改

我首先测试的时候,运行上电程序,完成有时序地上电,然后测试,测试完成了,我再运行下电的程序完成有时序地下电。
放在一个程序里不会出现,运行新程序复位的情况,现在我的操作是上完电,我把上电程序擦除,写上下电程序,等到需要下电的时候再运行。
我遇见的问题是,我要下电的时候,还没运行有时序下电的程序前,开发板复位了
回复 支持 反对

使用道具 举报

发表于 2020-1-15 09:46:47 | 显示全部楼层
hello 发表于 2020-1-15 09:37
我首先测试的时候,运行上电程序,完成有时序地上电,然后测试,测试完成了,我再运行下电的程序完成有时 ...

使用开发板上下电分两个工程的话,会把上一次的程序擦除,我是用Ginkgo 产品的话弄了两个工程先把高电平执行,在执行低电平不会瞬间拉低
使用Ginkgo适配器 VC源码测试GPIO上下电程序:测试引脚GPIO_0,GPIO_1
测试程序: VC_USB_GPIO_Test_low.zip (13.08 MB, 下载次数: 14)
回复 支持 反对

使用道具 举报

发表于 2020-1-15 15:06:21 | 显示全部楼层
lxk 发表于 2020-1-15 09:46
使用开发板上下电分两个工程的话,会把上一次的程序擦除,我是用Ginkgo 产品的话弄了两个工程先把高电平执 ...

VS2017软件下载: vs2017.zip (1.89 MB, 下载次数: 1)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|纬图虚拟仪器

GMT+8, 2024-12-22 01:25 , Processed in 0.143180 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表