作为硬件 BSL 调用序列的一部分、在测试中的第一个正脉冲的长度似乎存在混淆。 在 slau550p 的图2中、它显示为 tSWB、en、数据表显示此参数的最大值为110us。 但图2上方的文本显示脉冲必须至少为 tSWB、en。 G2553数据表显示了最大 tSBW、En 为1us、但通过实际测量、BSLDEMO 输出一个15ms 脉冲。 火箭的源代码如下所示。 它似乎正试图完全匹配110 us、这并不能告诉我它是将它视为最小还是最大。
是否有人可以澄清该脉冲是否有最短或最长的长度可用于任何 MSP430器件?
如果是10 ms、这是否适用于所有情况?
/*** BSL 进入序列 /
void BSL_Invoke_sequence ()
{
/* BSL 调用序列
*
H ------ + +--++---- +
*测试 L +--- ++--+ +---
*
* H -------- + +---
* RST L +--- +
*
*
* H -------- ++--+ +---
* TCK L +--++---- +
*/
/将 RST、TST 和 TCK 引脚设置为输出
Entry_SEQ_Pdir |=(RESET_PIN + TEST_PIN + TCK_PIN);
//(0)从 RST 高电平开始、测试高电平、TCK 高
电平进入 SEQ_Pout = RESET_PIN + TEST_PIN + TCK_PIN;
_ TEST_DELAY
;_ 100US_CLUS_CYLES;_ TON_DELAY_TRY_TREM_US_TREME
(100_DELAY)(100/ TREM_US_HONSE 高电平)周期(100/ US_TREM TCK 高
入口_SEQ_pout = RESET_PIN + TCK_PIN;
__DELAY_CYCLLES (Invoke_DELAY_100US);
//(2) RST 低电平、测试低电平、TCK 高
入口_SEQ_Pout = TCK_PIN;
__DELAY_CYCLLES (Invok_DELAY_2US);
//(3) RST_TK_LOW
、TK_RELET_TRY_RELET_TRY_OUT
=_ ST_TREM_TRY_TRY_TREM_TRY_TRUT_TRY_OUT;
_ 10Q_TREM_TRY_TRUT_TRY_TRUT_TRY_TRY_TRUT_TRY_TRY_TRUT_TRY_TRUT_TRUT_TRUT_TRUT_TRY_TRY_TRY_TRUT_TRY_TR
//(5) RST 低电平、测试高电平、TCK 低
电平 entry_SEQ_pout =test_PIN;
__delay_cycles (invoke_delay_100US);
//(6) RST 高电平、测试高
电平、TCK 低电平 entry_SEQ_pout = reset_PIN + test_PIN;
__delay_cycles (invoke_100US)
//(7) RST 高电平、测试低电平、TCK 高
电平 entry_SEQ_pout = reset_PIN + TCK_PIN;
__ delay_cycles (invoke_delay_100US);
____delay_cycles (invoke_delay_100US);
//将 RST、TST 和 TCK 引脚设置为 input
_SEQ_Pdir 和= t_pin +~Ω RESET;
+Ω RESET