ZHCU022AF July   2010  – September 2022

 

  1.   摘要 - MSP430™ 闪存器件引导加载程序 (BSL)
  2.   商标
  3. 1引言
    1. 1.1 补充在线信息
    2. 1.2 BSL 特性概览
    3. 1.3 调用 BSL
      1. 1.3.1 硬件 BSL 调用
        1. 1.3.1.1 具有共享JTAG 引脚的 MSP430 器件
          1. 1.3.1.1.1 阻止使用共享 JTAG 引脚调用BSL的因素
        2. 1.3.1.2 具有专用 JTAG 引脚的 MSP430 闪存器件
          1. 1.3.1.2.1 阻止使用专用 JTAG 引脚调用BSL的因素
        3. 1.3.1.3 带有 USB 的器件
      2. 1.3.2 软件 BSL 调用
    4. 1.4 UART 协议
    5. 1.5 USB 协议
  4. 2引导加载程序协议 - 1xx、2xx 和 4xx 系列
    1. 2.1 同步序列
    2. 2.2 命令
      1. 2.2.1 不受保护的命令
      2. 2.2.2 受密码保护的命令
    3. 2.3 编程流程
    4. 2.4 数据帧
      1. 2.4.1 数据流结构
      2. 2.4.2 校验和
      3. 2.4.3 示例序列
      4. 2.4.4 命令-详细说明
        1. 2.4.4.1  概述
        2. 2.4.4.2  RX 数据块
        3. 2.4.4.3  RX 密码
        4. 2.4.4.4  批量擦除
        5. 2.4.4.5  擦除段
        6. 2.4.4.6  擦除主存储器或者信息存储器
        7. 2.4.4.7  擦除检查
        8. 2.4.4.8  更改波特率
        9. 2.4.4.9  设置内存偏移
        10. 2.4.4.10 加载 PC
        11. 2.4.4.11 TX 数据块
        12. 2.4.4.12 TX BSL 版本
    5. 2.5 可史可法 BSL
    6. 2.6 退出 BSL
    7. 2.7 密码保护
    8. 2.8 代码保护保险丝
    9. 2.9 BSL 内部设置和资源
      1. 2.9.1 芯片识别和 BSL 版本
      2. 2.9.2 外部调用 BSL 的矢量
      3. 2.9.3 初始化状态
      4. 2.9.4 内存分配和资源
  5. 3引导加载程序协议 - F5xx 和 F6xx 系列
    1. 3.1 BSL 数据包
    2. 3.2 UART 外设接口 (PI)
      1. 3.2.1 包装器
      2. 3.2.2 缩写
      3. 3.2.3 消息
      4. 3.2.4 接口专用命令
        1. 3.2.4.1 更改波特率
    3. 3.3 I2C 外设接口
      1. 3.3.1 I2C 协议定义
      2. 3.3.2 具有字节级确认的基本协议
      3. 3.3.3 BSL 的 I2C 协议 - 从从服务器读取
      4. 3.3.4 确认 (ACK)
      5. 3.3.5 包装器
    4. 3.4 USB 外设接口
      1. 3.4.1 包装器
      2. 3.4.2 硬件要求
    5. 3.5 BSL 内核命令结构
      1. 3.5.1 缩写
      2. 3.5.2 命令说明
    6. 3.6 BSL 安全
      1. 3.6.1 受保护的命令
      2. 3.6.2 RAM 擦除
    7. 3.7 BSL 内核响应
      1. 3.7.1 缩写
      2. 3.7.2 BSL 内核消息
      3. 3.7.3 BSL 版本号
      4. 3.7.4 UART BSL 的示例序列
    8. 3.8 BSL 公共函数和 Z 区域
      1. 3.8.1 从外部应用中启动 BSL
      2. 3.8.2 返回到BSL函数描述
  6. 4引导加载程序硬件
    1. 4.1 硬件描述
      1. 4.1.1 电源
      2. 4.1.2 串行接口
        1. 4.1.2.1 电平移动
        2. 4.1.2.2 对 RST/NMI 和 TEST 或者 TCK 引脚的控制
      3. 4.1.3 目标连接器
      4. 4.1.4 部件列表
  7. 5器件和引导加载程序版本间的差异
    1. 5.1 1xx、2xx 和 4xx BSL 版本
    2. 5.2 ROM BSL 版本 1.10 的特殊考虑
    3. 5.3 1xx、2xx 和 4xx BSL 已知问题
    4. 5.4 有关MSP430F14x 器件系列 BSL的特殊说明
    5. 5.5 基于 F5xx 和 F6xx 闪存的 BSL 版本
  8. 6引导加载程序 PCB 布局建议
  9. 7修订历史记录

电平移动

带有施密特触发器特性的简单 COMS 逆变器 (IC2) 用于将 RS-232 电平(请参阅表 4-2)转变为 CMOS 电平。

表 4-2 RS-232 电平
逻辑电平RS-232 电平RS-232 电压电平
1标记-3V 至 -15V
0空格3V 至 15V

逆变器由运算放大器 IC3A 供电。该放大器允许将提供的逻辑电平调整为连接的目标应用程序所需的电平。施加到 BSL 目标连接器 (VCC_IN) 引脚 8 上的电压覆盖 IC1 和 100kΩ 串联电阻器 R11 提供的默认 3V 电平。因此,运算放大器的输出电压被拉至施加的电压 VCC_IN 。

根据所选器件系列的过压保护,过多的(如 TI 74AHC14 中)。如果保护二极管传导至 VCC,运算放大器IC3A 需要对过压进行补偿。因此,TI 推荐 74AHC14 器件,该器件会传导接地 (GND)。

为了避免过多的功耗以及保护二极管的损坏,使用串联二极管(R1,R2 和 R3)来限制输入电流。

采用运算放大器 (IC3B) 从 CMOS 电平中生成 RS-232 电平。正输入上的电平设置为 VCC/2(标称电压 1.5V)。如果负输入上的电平上升至高于这个电平,输出被拉至运算放大器的负电源(标记)。如果电平下降到低于 VCC/2 ,输出被拉至正轨(空白)。

运算放大器的正电源与稳压器的输入一样。独立电容器 (C5) 用于生成负电源电压。该电容器由引导加载程序硬件(SUB-D 连接器 J2 上的引脚 3)的接收信号充电。

在异步串行通信中,停止位和开始位的组合用于同步发送器和接收器。在数据字节输送后,停止位强制传输线路进入定义的状态,通常是逻辑 1,或RS-232 术语中的标记。这意味着当没有传输并且电容器可以充电时,传输线路电压为负。二极管被用于防止电容器传输期间放电。

在极少数情况下,发送到引导加载程序接口的数据可能包含过多的零,从而使负电源所需的电容器 C5 放电,引起接口故障。(一个可能的应变方法是以较小的数据块发送数据。)然而,在正常运行条件下,即使是包含所有零的数据也不会造成问题。