①進入ISP:發送I2C start→發送0x4C→發送0x77→發送I2C stop。 ②清除Flash(硬件清除Flash):發送I2C start→發送0x7C→發送0x68和0x00→發送0x7C→發送0x00,0x00→delay 1 s→發送I2C stop。
③清除CRC寄存器:發送I2Cstart→發送0x7c→發送0xD0→發送I2C stop。
④Flash編程:發送I2C start→發送0x7C→發送0xA0,block起始地址(0x00~0xff)→發送I2C stop→循環256次(發送I2C start→發送地址0x00→發送256字節數據→發送I2C stop)。
⑤校驗CRC:發送I2C start→發送0x7C→接收4字節CRC校驗值→與軟計算的CRC值比較。若相等,則發送I2C stop;否則,重新Flash編程。
⑥復位:發送I2C start→發送0x7C→發送0x48和0x00→發送I2C stop。
要使從設備MTV312具有ISP的功能,須添加一段程序在從設備的主應用程序中。該程序用來響應多功能口SCL和SDA(RXD,TXD)的電平變化。在執行以下程序后,MTV312進入ISP模式:

結 語
該系統的實現方法比較簡單,可以脫離PC獨立運行,同時給工廠提供更為簡單、方便的在線ISP。主設備可以在線體上對從設備進行批量編程,值得在一線工廠推廣使用。





