[AVR]高压并行编程---基础知识

手一抖就锁了好几片Mega16,这可是几十块钱啊...有必要造一个高压并行编程器了

一、接线方式及端口定义


                    

  • RDY/BSY 判忙标志位。(0:设备正忙 1:等待新的命令)
  • OE 输出使能位 低电平有效
  • WR 写脉冲 低电平有效
  • BS[2:1] 字节选择1(0:选择低位字节 1:选择高位字节)
  • XA[1:0] XTAL动作位
    • 00加载Flash或者EEPROM地址
    • 01加载数据
    • 10加载命令
    • 11保留
  • PAGEL 加载程序存储器和EEPROM数据页
  • DATA 双向数据/命令口
    • 0x80 芯片擦除
    • 0x40 写熔丝位
    • 0x20 写锁定位
    • 0x10 写FLASH
    • 0x11 写EEPROM
    • 0x08 读标示字节和校准字节
    • 0x04 读熔丝位及锁定位
    • 0x02 读FLash
    • 0x03 读EEPROM接线方式及端口定义

二、进入编程模式


方案一:

  1. 在 VCC 及GND 之间提供4.5 - 5.5V 的电压
  2. 将RESET 拉低,并至少改变XTAL1 电平6 次
  3. 将PAGEL,XA1,XA0,BS1全部置0
  4. 给RESET提供11.5-12.5V的电压

方案二:(使用外部晶体或RC振荡器)

  1. 将PAGEL,XA1,XA0,BS1全部置0
  2. 在VCC 与GND 间提供电压4.5 - 5.5V 同时在RESET 上提供11.5 - 12.5V 电压
  3. 等待100 ns。
  4. 对熔丝位重编程,保证外部时钟源作为系统时钟(CKSEL3:0 = 0b0000)。如果锁
    定位已编程,在改变熔丝前必须执行芯片擦除指令。
  5. 通过降低器件功率或置RESET 引脚为0b0 来退出编程模式。
  6. 然后使用方法一进入编程
posted @ 2016-07-27 13:17  CN_LHC  阅读(846)  评论(0编辑  收藏  举报