![](/UpLoadFiless/Article/gdpic/2008-08/20080819133956950.jpg)
②清除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。主设备可以在线体上对从设备进行批量编程,值得在一线工厂推广使用。