随着嵌入式系统技术的发展,电可擦除的Flash存储器由于具有容量大、成本低、编程方便等优点,在微控制器领域得到了广泛的应用。Flash微控制器在正常运行前必须将Flash写入用户应用程序,目前对微控制器的Flash程序存储器进行编程的方法主要有出厂固化、编程器编程、在系统编程(InSystemProgramming,ISP)和在应用编程(InApplicationprogramming,IAP)4种。
其中,出厂固化和编程器编程方法都要求微控制器在焊接前将程序写入,这显然不满足开发阶段的调试和日后升级的需要。目前比较普及的是在板可编程的ISP和IAP方法。ISP是通过微控制器的串行编程写入应用程序,需要少量的外部电路辅助实现;IAP将Flash映射为用户程序和Bootloader两个存储区,Bootloader可通过系统已有的USB、串口、SPI、I2C总线等各种通信接口,对用户程序进行更新而不需要外部电路辅助,实现更加灵活,可方便地实现程序的在线及远程升级。
在利用ATmega88微控制器开发四旋翼飞行器的无感无刷直流电机驱动器时,由于定时器PWM输出口与SPI接口存在引脚共用问题,用SPI口进行ISP编程时会使MOS管误导通而烧毁。由于驱动器中的4个ATmega88微控制器是通过I2C总线通信的,为了调试和升级方便,提出并实现了通过I2C总线对AVR微控制器进行在应用编程的方法,包括Bootloader程序、I2C总线的PC机串口模拟、上位机程序及相关的通信协议。实践证明,该方法可成功实现I2C总**多个ATmega88微控制器[1]的在线升级。
上一条:LV**14卡件
下一条:AM227M0000
【如果您还没有关注“公司名称”手机网站】