本人单独使用EMB1428驱动开关管,程序调试的时候发现以下几个问题:
(1)请问上电顺序很重要吗?能不能让VDDCP、VSTACK以及12V、5V、3.3V引脚同时供电,并且一直供电?
(2)我想打开第一个开关管,采用的程序执行流程是:1.使得EMB1428片选信号为低;2.发送关闭所有开关管的命令;3.将片选信号置高;4.延时1s;5.使得EMB1428片选信号为低;6.发送打开1号开关管的命令;7.将片选信号置高;8.延时1s
但是返回的数据是0x90和0x91,也就是错误代码是1001,请问这是什么原因?该如何修改错误?
Hugo Zhang:
把电路图发上来看看?
xiang cheng1:
回复 Hugo Zhang:
原理图在下面,这是一部分
EN和DONE,以及DIR和/DIR之间通过反相器连接只用来控制5节电池的开关矩阵,所以中间两个开关的驱动输出引脚直接拉低了
xiang cheng1:
回复 Hugo Zhang:
今天实验发现新问题;
(1)如果在循环里重复切换开关1和开关2,每条指令间隔时间设置为5ms,具体流程如下:1.使得EMB1428片选信号为低,延时5ms;2.发送打开1号开关管的命令,延时5ms;3.将片选信号置高,延时5ms;4.使得EMB1428片选信号为低,延时5ms;5.发送打开2号开关管的命令,延时5ms;6.将片选信号置高,延时5ms。
这时发现返回的数据还是0x90和0x91。
但是如果循环里只有打开一个开关管的命令,是可以成功返回正确数据的,但是EMB1428的驱动输出引脚没有电压(此时开关管没有焊接,仅仅测试输出引脚电平)。
(2)测试发现CEXT1和CEXT2引脚有1MHZ的方波输出,幅值大概是12V左右,请问是不是只要有方波输出就可以产生开关管驱动电压了?但是在仅打开一个开关管的实验中,并没有在EMB1428的输出引脚检测到驱动电压。
(3)手册中有说明在执行新指令的时候,会将EN引脚先置低再置高,请问新命令是不是指打开一个不同的开关管,如果重复打开同一个开关管,是不是认为这不是一个新命令,从而EN引脚电平不发生变化?
Hugo Zhang:
回复 xiang cheng1:
在EN和DONE的反相处理时,有没有加延时?即EN信号有效一段时间后,DONE信号才有效。
xiang cheng1:
回复 Hugo Zhang:
EN和DONE之间用的是反相器,器件型号是TI的SN74LVC2G14-Q1
刚才做实验发现带开关管做实验时,如果循环里只有接通第一节电池的命令,可以成功打开开关管,但是如果程序里循环切换连接不同的电池(比如循环切换1号电池和2号电池),返回的数据还是0x91和0x92
xiang cheng1:
回复 Hugo Zhang:
补充说一句,我做实验的时候,没有接电池,仅仅只是焊接了开关管,这会对实验有影响吗?
xiang cheng1:
回复 xiang cheng1:
请FAE再看一下