应用笔记 STM8L 和 STM8AL 入门 前言 通过描述围绕 STM8L 和 STM8AL 8- 位微控制器器件建立应用所需的最小硬件和软件环境, 本应用笔记对 STM8L 和 STM8AL 数据手册中的信息作了补充 简要介绍了主要硬件元件 对电源 模拟数字转换器 (ADC) 时钟管理 复位控制进行了详细描述 除此之外, 给出了一些硬件建议 本应用笔记还包含详细的对主要元件作了描述的参考设计原理图 STM8 开发工具和软件工具链对 STM8L STM8S STM8AL 和 STM8AF 都适用, 并且在第 8 节和第 9 节中对此有所描述 第 10 节描述了如何设置 STM8 开发环境 最后, 第 11 节提供了相关文档的清单和在线支持资源 表 1. 适用产品 产品系列 微控制器 产品料号 STM8L051/52 STM8L101 STM8L151C2/K2/G2/F2 和 STM8L151C3/K3/G3/F3 STM8L151x4, STM8L151x6, STM8L152x4, STM8L152x6 STM8L151x8,STM8L152x8,STM8L151R6,STM8L152R6,STM8L162R8, STM8L162M8 STM8AL313x, STM8AL314x, STM8AL316x, STM8AL3L4x, STM8AL3L6x 2015 年 8 月 DocID16139 Rev 1 [English Rev 5] 1/42 www.st.com
目录 AN3029 目录 1 硬件要求汇总................................................ 6 2 电源....................................................... 6 2.1 电源概述................................................... 6 2.2 主要工作电压............................................... 7 2.3 上电 / 掉电复位 (POR/PDR).................................. 8 3 模数转换器 (ADC).......................................... 9 3.1 模拟电路电源............................................... 9 3.2 模拟输入................................................... 9 4 时钟管理.................................................. 10 4.1 时钟管理概述.............................................. 10 4.2 内部时钟.................................................. 10 4.3 外部时钟.................................................. 10 4.3.1 HSE 时钟................................................ 10 4.3.2 LSE 时钟................................................ 12 5 复位控制.................................................. 14 5.1 复位管理概述.............................................. 14 5.1.1 输出特性................................................ 15 5.1.2 输入特性................................................ 15 5.2 硬件复位实现.............................................. 16 6 建议...................................................... 17 6.1 印刷电路板................................................ 17 6.2 元件位置.................................................. 17 6.3 接地和供电 (V SS V DD ).................................... 17 6.4 去耦..................................................... 17 6.5 其它信号.................................................. 18 6.6 不使用的 I/O 和特性......................................... 18 6.7 用户选项.................................................. 18 6.8 自举程序.................................................. 18 2/42 DocID16139 Rev 1 [English Rev 5]
目录 7 参考设计.................................................. 19 7.1 元件参考.................................................. 19 7.2 原理图................................................... 20 8 STM8 开发工具............................................. 21 8.1 单线接口模块 (SWIM)...................................... 21 8.1.1 SWIM 概述............................................... 21 8.1.2 SWIM 连接器引脚......................................... 22 8.1.3 硬件连接................................................ 22 8.2 STice 仿真器............................................... 23 8.2.1 STice 概述............................................... 23 8.2.2 STice 仿真配置........................................... 24 8.2.3 在线编程和调试........................................... 25 8.3 RLink 和 STLink............................................ 25 9 STM8 软件工具链........................................... 26 9.1 集成开发环境.............................................. 27 9.2 编译器................................................... 27 9.3 固件库................................................... 27 10 设置 STM8 开发环境......................................... 28 10.1 安装工具.................................................. 28 10.2 使用工具.................................................. 29 10.2.1 项目编辑................................................ 30 10.2.2 在线帮助................................................ 31 10.3 运行演示软件.............................................. 32 10.3.1 编译项目................................................ 32 10.3.2 选择正确的调试工具....................................... 33 10.3.3 连接硬件................................................ 34 10.3.4 开始调试会话............................................. 36 10.3.5 运行软件................................................ 37 10.3.6 后续操作................................................ 38 11 文档和在线帮助............................................. 39 12 修订历史.................................................. 40 DocID16139 Rev 1 [English Rev 5] 3/42 3
表格索引 AN3029 表格索引 表 1. 适用产品................................................................ 1 表 2. 元件清单............................................................... 19 表 3. SWIM 连接器引脚........................................................ 22 表 4. 文档修订历史........................................................... 40 表 5. 中文文档修订历史........................................................ 41 4/42 DocID16139 Rev 1 [English Rev 5]
图片索引 图片索引 图 1. 电源.................................................................... 7 图 2. V DD /V SS 对的典型布局..................................................... 8 图 3. 模拟输入接口............................................................ 9 图 4. HSE 时钟源............................................................. 11 图 5. 外部时钟............................................................... 12 图 6. 晶振 / 陶瓷谐振器........................................................ 13 图 7. 复位管理............................................................... 14 图 8. 输出特性............................................................... 15 图 9. 输入特性............................................................... 15 图 10. 参考设计............................................................... 20 图 11. 调试系统框图........................................................... 21 图 12. 硬件连接............................................................... 22 图 13. 连接说明............................................................... 23 图 14. STice 仿真配置......................................................... 24 图 15. 在线编程和调试.......................................................... 25 图 16. STM8 软件工具链........................................................ 26 图 17. STVD 开放示例工作区.................................................... 29 图 18. STVD MCU 编辑模式..................................................... 30 图 19. STM8 固件库在线帮助手册................................................. 31 图 20. STVD: 建立工程........................................................ 32 图 21. STVD: 选择调试工具..................................................... 33 图 22. 连接调试工具到 STM8L101-EVAL 评估板..................................... 34 图 23. 连接调试工具到 STM8L152x-EVAL 评估板.................................... 35 图 24. STVD: 开始调试会话..................................................... 36 图 25. STVD: 运行软件........................................................ 37 图 26. STM8 评估板............................................................ 38 DocID16139 Rev 1 [English Rev 5] 5/42 5
硬件要求汇总 AN3029 1 硬件要求汇总 为了围绕 STM8L 或者 STM8AL 构建应用, 应用板至少需要提供以下特性 : 电源 ( 必备 ) 时钟管理 ( 可选 ) 复位管理 ( 可选 ) 调试工具支持 : 单线接口模块 (SWIM) 连接器 ( 可选 ) 2 电源 2.1 电源概述 STM8L 或 STM8AL 的外部电源范围可以是从 1.65 V 到 3.6 V (STM8L05xxx 电源范围是 1.8 V 到 3.6 V) 对于中等容量的 STM8L15xxx 中等容量的 STM8AL31xx/STM8AL3Lxx 和高容量的具有 BOR 的 STM8L15xxx/STM8L162xx, 供电电压必须在上电时高于 1.8 V, 能够在掉电时降低至 1.65 V 一个片上电源管理系统提供了到内核逻辑的恒定数字电源, 具有正常和低功耗两种模式 这保证了逻辑电路在整个电压范围内消耗恒定的电流 它也能够检测电压降, 同时产生复位以避免异常行为 STM8L 和 STM8AL 器件提供了 : 取决于封装, 一对 (V DD /V SS ) 焊盘, 或者几对从 1.65 V 或 1.8 V 到 3.6 V(V DDx /V SSx ) 的焊盘 所有的 V DDx 和 V SSx 必须分别在相同的电位上 V DDx 引脚必须通过两个外部去耦电容连至 V DD :( 对每个 V DDx 引脚的 100 nf 陶瓷电容和一个 1 µf 钽电容或陶瓷电容 ) STM8L15xxx STM8AL31xx 和 STM8L162xx 器件还在某些封装中提供了 : 一对专门用于模拟功能引脚 V DDA /V SSA 供电的焊盘 V DDA 和 V SSA 必须分别在相同的电位上, 正如 V DD 和 V SS 那样 参考第 3 节 : 模数转换器 (ADC) 获取更多详细信息 V DDA 引脚必须连至两个外部去耦电容 ( 一个 100 nf 陶瓷电容 + 一个 1 µf 钽电容或陶瓷电容 ) 可采用更多措施过滤模拟噪声 :V DDA 可通过铁氧体磁环连至 V DD STM8L152xx STM8AL3Lxx 和 STM8L162xx 器件通过三种不同的方式管理 LCD 所需的供电电压 ( 参见图 1): 1. 如果没有使用 LCD 特性, 连接 VLCD 引脚到 V DD 2. 将加到 LCD 上的电压加到 VLCD 上 3. 连接 VLCD 引脚到一个 1µF 电容, 通过可编程 LCD 升压器使 STM8L152xx/STM8L162xx/STM8AL3Lxx 提供正确的电压 6/42 DocID16139 Rev 1 [English Rev 5]
电源 图 1. 电源 V LCD 1 μf STM8L/STM8AL V REF+ V LCD V DDA V DD 100 nf + 1 μf V REF 100 nf + 1 μf ( 1) V SSA V DD N 100 nf + 1 10 μf V DD 1/2/... /N ( 2) V SS 1/2/... /N ( 2) MS30982V1 注 : 1. 可选 : 若在 V REF+ 上施加了一个单独的外部参考电压, 则必须将一个 100 nf 和一个 1 µf 电容连至此引脚 V REF+ 连至 V DDA 或 V REF 2. N 为 V DD 和 V SS 输入数目 电容必须尽可能靠近器件电源连接 可选择在 OSCIN/OSCOUT 上放置一个晶体 / 谐振器 谐振器必须尽可能靠近 OSCIN 和 OSCOUT 引脚连接 负载电容地必须尽可能靠近 V SS 连接 2.2 主要工作电压 STM8L 和 STM8AL 器件采用 0.13 µm 工艺制作 STM8L 和 STM8AL 内核以及 I/O 外设需要不同的电源供电 实际上, STM8L 和 STM8AL 器件有一个标称目标输出为 1.8 V 的内部稳压器 DocID16139 Rev 1 [English Rev 5] 7/42 41
电源 AN3029 2.3 上电 / 掉电复位 (POR/PDR) 对主调压器和低功耗调压器的输入供电由上电 / 掉电复位电路监控 监控电压从 0.7 V 起 在电源开启时, POR/PDR 保持器件处于复位, 直到电源电压 (V DD 和 V DDA ) 达到它们指定的工作区域 必须遵守时间 t VDD[max] 的最大功率, 因为用于电源稳定的内部复位保持 ~1 ms 在开机时, 应维持一个 0.7 V 以下的预定义复位 复位释放的上限在产品数据手册的电气特性一节中定义 迟滞 (POR > PDR) 用以确保准确检测电压上升和下降 当电源电压下降到 V PDR 门限值 ( 孤立和重复的事件 ) 以下时, POR/PDR 也会产生一个复位 当 t VDD[max] 满足时, 即可保证上电期间正确的器件复位 当 V PDR < V DD < V DD[min] 时, 建议使用内部 BOR 或外部复位电路 ( 特别是对 STM8L101xx 器件 ), 以确保在掉电期间正确的器件复位 为了实现更好的电源监控, STM8L15xxx STM8L162xx STM8AL31xx 和 STM8AL3Lxx 提供了一个欠压复位 (BOR) 和可编程电源电压检测 (PVD), 用于提前检测电压降 建议 所有的引脚需要正确地连接到电源上 这些连接, 包括焊盘 线和过孔, 都应该有尽可能低的阻抗 典型情况下, 这可通过使用粗的线宽做到, 最好在多层印刷电路板 (PCB) 中使用专用供电层 此外, 每个供电电源对都应使用滤波陶瓷电容 (100nF) 和化学电容 (1..2 µf) 去耦, 它们与 STM8L/STM8AL 器件并联 这些陶瓷电容应放置在 PCB 另一侧尽可能接近或低于适当引脚的位置 其典型值为 10 nf 至 100 nf, 但准确值取决于应用需要 图 2 显示了这种 V DD /V SS 对的典型布局 图 2. V DD /V SS 对的典型布局 Via V DD Via V SS V DD V SS STM8 MS32523V1 8/42 DocID16139 Rev 1 [English Rev 5]
模数转换器 (ADC) 3 模数转换器 (ADC) 本章不适用于 STM8L101xx 器件 3.1 模拟电路电源 对于某些封装, ADC 单元具有一个独立的模拟电源电压, 它与输入引脚 V DDA 保持隔离, 这样使得 ADC 有一个非常干净的电源 该模拟电压 V DDA 应该与 V DD 引脚上的数字电源电压相同 为了滤除某些噪声, 可以在 V DD 和 V DDA 之间加入一个铁氧体磁环 该铁氧体磁环应该根据被滤除的频率进行选择 某些封装还在 V REF+ 引脚上提供了一个独立的用于 ADC 单元的外部模拟参考电压输入 这在低电压输入时提供了更好的准确性, 如下 : V REF+ 引脚可连至 V DDA 外部供电电源 若在 V REF+ 上施加了一个单独的外部参考电压, 则必须将一个 100 nf 和一个 1 µf 电容连至此引脚 若需补偿 V REF 上的峰值耗电, 当采样速度低时, 可将 1 µf 电容增加至最大 10 µf 在所有情况下, V REF+ 必须保持在 2.4 V 和 V DDA 之间 如果 V DDA 小于 2.4, V REF+ 必须等于 V DDA 在没有内部 V REF+ 引脚的器件中, 该输入内部连接到了 V DDA V REF- ( 输入, 模拟参考负极 ): 低端 / 负极参考电压内部连接至 V SSA 3.2 模拟输入 器件包含多达 28 个模拟输入通道 ( 包括四个快速通道 ), 每个通道复用一个 I/O, 每次只有一个通道被 ADC 转换 外部输入电阻 (R AIN ) 的最大值是 50 kω 如果 R AIN 小于 0.5 kω, 四个快速通道能够在最大速度 (1 MHz) 下进行转换 请参见图 3 图 3. 模拟输入接口 VDD VAIN RAIN AINx Cparasitic VT 0.6 V VT 0.6 V IL ADC RADC 12 CADC MS32530V1 更多详细信息, 请参考应用数据手册和参考手册 DocID16139 Rev 1 [English Rev 5] 9/42 41
时钟管理 AN3029 4 时钟管理 STM8L101xx 器件没有外部时钟, 因此不需要预防措施 4.1 时钟管理概述 STM8L05xxx STM8L15xxx STM8L162xx STM8AL31xx 和 STM8AL3Lxx 器件提供了一个灵活的选择内核和外设 (ADC 存储器 数字外设 ) 时钟的方式 器件具有内部和外部时钟源输入, 两者都有一个高速和低速版本 通过一个可编程预分频器, 任何上述四种时钟都可以用于 CPU 和大部分外设 I/O 可以编程作为输出时钟 (CCO), 用以输出四个时钟中的一个 ( 有或没有预分频 ) 离开 I/O 的信号代表了一个按照分频系数分频的输出时钟 (CCO) 4.2 内部时钟 STM8L 和 STM8AL 器件具有两种类型的内部时钟 : 一个频率为 16 MHz 的高速内部时钟 (HSI) 和一个频率为 38 khz 的低速内部时钟 (LSI) 复位之后, CPU 在内部 RC (HSI 时钟信号 ) 8 分频的频率下启动, 即 2 MHz 4.3 外部时钟 4.3.1 HSE 时钟 STM8L05xxx STM8L15xxx STM8L162xx STM8AL31xx 和 STM8AL3Lxx 具有两种类型的外部时钟 : 一个频率高达 16 MHz 的高速外部时钟 (HSE) 和一个频率为 32.768 khz 的低速外部时钟 (LSE) STM8L05xxx STM8L15xxx STM8L162xx STM8AL31xx 和 STM8AL3Lxx 器件可以连接到一个外部晶振或一个外部振荡器 注 : 当没有使用外部时钟时, OSCIN 和 OSCOUT 可以用作通用 I/Os 图 4 显示了外部时钟连接 外部时钟 注意 : 频率 :0 khz 16 MHz 输入迟滞 :100 mv 没有预分频器情况下, 高速时必须满足最大 45/55 % 的占空比 10/42 DocID16139 Rev 1 [English Rev 5]
时钟管理 晶振 / 陶瓷谐振器 频率范围 :1 至 16 MHz 稳定时间 : 可从 1 到 4096 周期编程 振荡器模式 : 首选基频 输出占空比 : 最大 55/45% I/O: 标准 I/O 引脚, 与 OSC IN 和 OSC OUT 复用 Cload:10 到 20 pf 驱动水平最大值 : 至少 100 µw 图 4. HSE 时钟源硬件配置 STM8 外部时钟 OSC IN OSC OUT I/O MS32524V1 晶振 / 陶瓷谐振器 (1) 1. R EXT 的值取决于晶振特性 一个 0 Ω 电阻适用于大多数振荡器, 但这不是最优的 典型值的范围为 5 至 6 R S ( 谐振串联电阻 ) 若需精调 R EXT 的值, 请参考 AN2867 (ST 微控制器振荡器设计指南 ) 负载电容 C L1 和 C L2 的值很大程度上取决于晶振类型和频率 用户可以参考晶振制造商的数据手册来选择电容 为实现最佳的振荡稳定性, C L1 和 C L2 一般具有相同的值 典型值的范围是从小于 20 pf 到 40 pf 之间 (cload:10 到 20 pf) 也需要考虑到板子版图的寄生电容, 一般在元件值上加上几 pf ( 参考 AN2867) 时钟安全系统预防任何来自 HSE 失效的 CPU 致命错误, 它可安全地切换到 HSI DocID16139 Rev 1 [English Rev 5] 11/42 41
时钟管理 AN3029 建议 4.3.2 LSE 时钟 在 PCB 布局上, 所有的连接都应该尽可能短 任何额外信号, 特别是那些可能干扰振荡器的信号, 应该使用合适的屏蔽以使其与振荡器电路的 PCB 区域保持局部隔离 低速外部时钟信号 (LSE) 有 2 个时钟源 : LSE 外部晶振 / 陶瓷谐振 ( 参见图 6) LSE 用户外部时钟 ( 参见图 6) 外部源 (LSE 旁路 ) 在此模式下, 必须提供外部时钟源 频率必须为 32.768 khz 必须使用占空比约为 50% 的外部时钟信号 ( 方波 正弦波或三角波 ) 来驱动 OSC_IN 引脚, 同时 OSC_OUT 引脚必须保持为高阻抗 ( 请参见图 5 和图 6) 图 5. 外部时钟 1. OSC32_IN 和 OSC32_OUT 引脚也可用作 GPIO, 但建议在同一应用中不要既用作 RTC 又用作 GPIO 引脚 外部晶振 / 陶瓷谐振器 (LSE 晶振 ) LSE 晶振是 32.768 khz 低速外部晶振或陶瓷谐振器 可作为实时时钟外设 (RTC) 的时钟源来提供时钟 / 日历或其它定时功能, 具有功耗低且精度高的优点 谐振器和负载电容必须尽可能地靠近振荡器的引脚, 以尽量减小输出失真和起振稳定时间 负载电容值必须根据所选振荡器的不同做适当调整 12/42 DocID16139 Rev 1 [English Rev 5]
时钟管理 图 6. 晶振 / 陶瓷谐振器 1. 为避免超过 C L1 和 C L2 的最大值 (15 pf), 强烈建议使用负载电容 C L= 7 pf 的谐振器 如需细化选择, 请参考 AN2867 (ST 微控制器振荡器设计指南 ) 中的 g mcrit 计算部分 2. OSC32_IN 和 OSC32_OUT 引脚也可用作 GPIO, 但建议在同一应用中不要既用作 RTC 又用作 GPIO 引脚 3. R EXT 的值取决于晶振特性 一个 0 Ω 电阻适用于大多数振荡器 典型值范围是 5 到 6 R S 若需精调 R EXT 的值, 请参考 AN2867 (ST 微控制器振荡器设计指南 ) DocID16139 Rev 1 [English Rev 5] 13/42 41
复位控制 AN3029 5 复位控制 5.1 复位管理概述 复位引脚是一个 3.3 V 双向 I/O 启动之后它可以由软件编程为一个通用 I/O 它的输出缓冲器包括一个 ~45 k 的上拉电阻, 驱动能力锁定为 Iol MIN = 2 ma @ 0.45 V (1.8V 到 3.6V 范围 ) 输出缓冲器简化为 n 沟道 MOSFET (NMOS) 接收器包括一个干扰滤波器 这里输出缓冲器具有 20 µs 的延迟 有很多复位源, 包括 : 通过 NRST 引脚外部复位 上电复位 (POR) 和欠压复位 (BOR): 在上电期间,POR 保持器件处于复位, 直到电源电压 (V DD 和 V DDx ) 达到 BOR 开始工作的电压水平 STM8L101xx 器件只有一个 POR 独立看门狗复位 (IWDG) 窗口看门狗 (WWDG), 同样具有软件复位 : 仅适用于 STM8L05xx STM8L15xxx STM8L162xx STM8AL31xx 和 STM8AL3Lxx SWIM 复位 : 一个连接到 SWIM 接口的外部器件可以请求 SWIM 模块生成微控制器复位 非法操作代码复位 : 如果执行的代码不与任何操作代码或字节前值相符, 就会生成一个复位 图 7 显示了一个简化功能的 I/O 复位图 图 7. 复位管理 14/42 DocID16139 Rev 1 [English Rev 5]
复位控制 5.1.1 输出特性 内部输出缓冲器上 20 ns 的脉冲持续时间保证了引脚上的有效脉冲 在有效脉冲被识别后, 可保证从 A 的下降沿开始, 引脚上有一个至少 20 µs 的脉冲 20 n 图 8. 输出特性 A Pad MS32525V1 5.1.2 输入特性 所有持续时间小于 50 ns 的脉冲都被滤除 所有具有 1/10 比例的连续 / 突发尖峰都被滤除 这意味着当一个 5 ns 间隔出现在尖峰之间时 ( 比例 1/10), 长达 50 ns 的负尖峰必然被滤除 所有持续时间大于 300 ns 的脉冲被识别为有效脉冲 图 9. 输入特性 DocID16139 Rev 1 [English Rev 5] 15/42 41
复位控制 AN3029 5.2 硬件复位实现 STM8L 和 STM8AL 不需外部复位电路即可正确上电 建议只使用一个下拉电容 ( 参见图 7) 但是通过内部电阻对下拉电容进行充电 / 放电会对器件功耗产生负面的影响 因此该电容的建议值 (100 nf) 可降至 10 nf, 以限制此功耗 在 POR 的值达到 (1.35 V 至 1.65 V) 后, STM8L101xx 复位状态释放 1 ms 在这段时间内, V DD 应该在 1.65 V 到 3.6 V 范围内 对于上电时工作在 1.8 V 以上的中等容量器件和中等以上及高容量器件 : 在达到 BOR 最小值 (~1.75 V) 后, 复位状态释放 1 ms 16/42 DocID16139 Rev 1 [English Rev 5]
建议 6 建议 6.1 印刷电路板 由于技术原因, 最好使用多层 PCB 的单独一层专用于接地 (V SS ), 另一层专用于 V DD 供电 这样可实现良好的去耦和屏蔽效果 对于很多应用, 由于经济要求不能使用此类板 在这种情况下, 最重要的特性就是确保 V SS 和电源有良好的结构 6.2 元件位置 PCB 的初始布局必须对不同的电路的电磁干扰 (EMI) 贡献进行区分 这样减少了 PCB 上的交叉耦合, 比如噪声 高电流电路 低电压电路和数字部分 6.3 接地和供电 (V SS V DD ) V SS 应该分别单独在每个模块 ( 噪声 低电平敏感和数字 ) 单点接地, 以汇集所有的接地回流 必须避免出现环, 或使环有最小面积 供电应靠近地线实现, 以最小化供电环的面积 这是因为供电环的行为类似天线, 因此它是 EMI 的主要发送者和接收者 所有无元件的 PCB 表面必须用额外的接地填充, 以创造屏蔽 ( 尤其是使用单层 PCB 时 ) 6.4 去耦 用于外部电源的标准去耦器是一个 1 µf 池电容 为了减少电流回路的面积, 补充的 100 nf 电容必须放置在尽可能靠近 V SS /V DD 宏引脚 通常情况下, 对所有敏感或者噪声信号去耦提高了电磁兼容 (EMC) 性能 有两种类型的去耦器 : 靠近元件的电容 必须要考虑所有电容在某一频率外的电感特性 如果可能, 应该将逐渐减小的电容 (0.1 0.01... µf) 并联 电感 比如尽管铁氧体磁环经常被忽略, 但它是不错的电感, 因为它具有良好的 EMI 能量分布特性, 并且没有 DC 电压损失 ( 当使用一个简单电阻时就不是这种情况 ) DocID16139 Rev 1 [English Rev 5] 17/42 41
建议 AN3029 6.5 其它信号 当设计一个应用时, 以下区域需要详细研究以提高 EMC 性能 : 噪声信号 ( 时钟 ) 敏感信号 ( 高阻 ) 暂时性干扰会永久影响用于运行过程的信号, 例如中断和握手选通信号 ( 但不是 LED 指令 ) 对于这些信号, 使用 V SS 周围接地跟踪可以提高 EMC 性能, 正如更短的长度或无噪声和敏感跟踪 ( 串扰影响 ) 那样 对于数字信号, 两个逻辑状态必须达到可能的最佳电气边界 建议使用慢速施密特触发器以消除寄生状态 6.6 不使用的 I/O 和特性 微控制器都是为多种应用设计的, 通常一个应用不会使用 100 % 的微控制器资源 为了避免不必要的功率消耗 ( 对电池供电应用特别重要 ), 同时提高 EMC 性能, 闲置时钟 计数器或 I/O 都不应浮空 I/O 应该外部强制 ( 上拉或者下拉到闲置 I/O 引脚 ), 并且不使用的功能应被 冻结 或禁用 或者, 不用的 I/O 可以编程为推挽 低, 以使它们保持在一个指定的电平, 而且不使用外部元件 但是在这种情况下, 上电期间直到 I/O 完成配置前, I/O 都没有驱动 这将导致少量额外的功耗, 同时可能不适用于在对功耗非常敏感的应用中 6.7 用户选项 STM8L 和 STM8AL 器件具有用户选项特性, 可以用来重映射或启用 / 禁用一个自动复位或低速看门狗 详情请参见产品数据手册 6.8 自举程序 STM8L05xx STM8L15xxx STM8L162xx STM8AL31xx 和 STM8AL3Lxx 器件在 ROM 存储器中集成了一个自举程序 通过这一固件, 器件存储可以通过以下接口重新编程 : 用于中等容量器件的 USART 通信接口 用于中等以上或高容量器件的 USART1 USART2 USART3 SPI1 和 SPI2 通信接口 18/42 DocID16139 Rev 1 [English Rev 5]
参考设计 7 参考设计 7.1 元件参考 表 2. 元件清单 ID 元件名称参考数量注释 1 微控制器 STM8L STM8AL 1 2 电池 1.65 V 到 3.6 V (1) 1. 1.8 V 到 3.6 V ( 对于 STM8L05xxx) 参考 STM8L 和 STM8AL 数据手册的 引脚排列和引脚描述 和 封装特性 部分, 来选择正确的封装 1 当 BOR 启用时, 最小值为 1.8 V 3 电容 1 µf n ( 去耦电容 ) 4 电容 100 nf n 陶瓷电容 ( 去耦电容 ) 下列元件可选 5 电容 10 µf 1 陶瓷电容 ( 去耦电容 ) 6 晶振 1 到 16 MHz 1-7 电容 20 到 40 pf 2 用于晶振 晶振 32 khz 1-8 电容 5 到 20 pf 2 用于晶振 铁氧体磁环 取决于被过滤的噪声 9 SWIM 连接器 4 个引脚 1 - DocID16139 Rev 1 [English Rev 5] 19/42 41
参考设计 AN3029 7.2 原理图 图 10. 参考设计 1. 如果去除了这些元件, 则必须短连接替换它们 2. 可选 : 若在 V REF+ 上施加了一个单独的外部参考电压, 则必须将一个 100 nf 和一个 1 µf 电容连至此引脚 V REF+ 连至 V DDA 或 V REF 3. 每个 VDDx 引脚一个 100 nf 陶瓷电容和一个单独的 1 µf 钽电容或陶瓷电容 20/42 DocID16139 Rev 1 [English Rev 5]
STM8 开发工具 8 STM8 开发工具 通常需要以下工具 : STVD 用于集成开发环境 STM8 C 编译器 ( 来自 Cosmic Raisonance 或 IAR) 来自意法半导体的 ST 工具套件和 STM8 固件库 STM8L101xx 标准外设库, STM8L05x/STM8L15x/STM8L16x/STM8AL31x/STM8AL3Lx 标准外设库 意法半导体的 STM8 评估板 ( 用于 STM8L101xx 的 STM8L101-EVAL 用于中等容量 STM8L15xxx 和 STM8AL31xx/STM8AL3Lxx 的 STM8L1526-EVAL 和用于高容量 STM8L15xxx/STM8L162xx 的 STM8L1528-EVAL) 如果用户使用 STM8L101-EVAL, 还需要来自 Raisonance 公司的 Rlink 和 ST-Link 或 STice-SWIM 的 HW SWIM 调试接口 调试接口 ST-LINK 包括在 STM8L1526-EVAL 和 STM8L1528-EVAL 中 STM8L-DISCOVERY 8.1 单线接口模块 (SWIM) 8.1.1 SWIM 概述 在线调试模式或在线编程模式通过一个单线硬件接口管理, 该接口基于开漏线, 具有超快存储编程特性 除了与在线调试模块耦合, SWIM 也可以进行 RAM 和外设的非侵入式读 / 写操作 这使得在线调试器非常强大, 接近全功能仿真器的性能 SWIM 引脚可以用作标准 I/O ( 具有 8 ma 能力 ), 如果用户想使用它调试, 会存在一些限制 最安全的方式是用它作为一个 PCB 上的跳线选择 更多 SWIM 协议相关信息, 请参考 STM8 SWIM 通信协议和调试模块用户手册 (UM0470) 图 11. 调试系统框图 100 KHz DBG SWIM DM STM8 RAM RC NVM MS32527V1 DocID16139 Rev 1 [English Rev 5] 21/42 41
STM8 开发工具 AN3029 8.1.2 SWIM 连接器引脚 SWIM 连接器引脚包括表 3 中描述的 4 个引脚 表 3. SWIM 连接器引脚 引脚号 Pin 1 Pin 2 Pin 3 Pin 4 引脚名称 V DD SWIM 引脚 V SS 复位 8.1.3 硬件连接 AD/ICC SWIM 图 12. 硬件连接 SWIM VDD 1 1 2 2 3 3 4 4 VDD STM8 SWIM MS32528V1 注意 : 建议将 SWIM 头尽可能靠近 STM8L/STM8AL 器件放置, 因为这样会减小任何可能由长 PCB 走线带来的信号恶化 22/42 DocID16139 Rev 1 [English Rev 5]
STM8 开发工具 8.2 STice 仿真器 8.2.1 STice 概述 STice 是一个模块化的高端仿真系统, 它通过 USB 接口连接 PC 和应用板, 而不是目标微控制器 它由免费的 STM8 工具套件支持 :IDE ST Visual Develop (STVD) 编程器 ST Visual Programmer (STVP) 和 STM8 汇编器 更多详细信息, 请参考 STM8 的 STice 仿真器 STice 具有两个不同的工作模式, 本节将介绍这两种模式 : 仿真模式 在线模式 它也可以替换 RLink 用于 SWIM 连接 图 13. 连接说明 仿真系统 :STice 仿真盒 用于 USB 电源 触发器和分析器输入的电缆连接线 用于连接应用板的 60 引脚或 120 引脚电缆连接适配器 连接连接线到 STM8L/STM8AL 微控制器封装适配器插座 用于连接适配器和 STM8L/STM8AL 微控制器的特定封装插座 DocID16139 Rev 1 [English Rev 5] 23/42 41
STM8 开发工具 AN3029 8.2.2 STice 仿真配置 在仿真配置中, STice 通过 USB 接口连接 PC 和应用板, 而不是使用的目标微控制器 连接线 : 柔性电缆 (60 引脚或 120 引脚, 取决于目标微控制器 ), 用于从 STice 到应用板传递信号 连接适配器 : 将连接线连接到用户应用板上的目标微控制器封装 适配器插座 : 焊接在应用板而不是微控制器上的插座, 同时接收连接适配器 STice 系统不包括上述附件 为了确定支持的微控制器具体需要什么, 参考 www.st.com 网站上的在线产品选择器 图 14. STice 仿真配置 ST/STM8 PC drive STice STVD STVP STice-SYSxxx MEB TEB PEB CF/FPxxx AD/xxxx AS/xxxx 24/42 DocID16139 Rev 1 [English Rev 5]
STM8 开发工具 8.2.3 在线编程和调试 在线调试 / 编程配置过程中, 当应用运行在应用板上的微控制器上时, STice 允许在微控制器上对应用进行编程和调试 STice 支持 SWIM 协议, 这使得只用一个通用 I/O 就可以在线编程和调试微控制器 在仿真和在线编程 / 调试配置中, STice 由运行在主 PC 上的 ST Visual Develop (STVD) 或 ST Visual Programmer (STVP) 集成开发环境驱动 这样提供了一个单独的简便易用的接口, 可以对高级应用构建 调试和编程特性进行完全控制 图 15. 在线编程和调试 ICD/ICP STice ICD/ICP SWIM ST 8.3 RLink 和 STLink RLink 和 STLink 调试工具可将 STM8L 评估板或任何带有 SWIM 接口的用户应用板通过 USB 连接到一个主 PC, 用于实现编程与调试 请参见第 10.3.3 节 : 连接硬件第 34 页 DocID16139 Rev 1 [English Rev 5] 25/42 41
STM8 软件工具链 AN3029 9 STM8 软件工具链 为了在 STM8L/STM8AL 器件上编写 编译和运行第一个软件, 需要下列软件工具链的组件 ( 参见图 16): 集成开发环境 编译器 固件库 ( 可选, 用于方便启动 ) 图 16. STM8 软件工具链 26/42 DocID16139 Rev 1 [English Rev 5]
STM8 软件工具链 9.1 集成开发环境 集成开发环境 ST Visual Develop (STVD) 为全程控制应用开发 ( 从构建和调试应用代码到微控制器编程 ) 提供了简便易用且高效的环境 STVD 是免费 ST 工具套件的一部分, 该套件还包括 ST Visual Programmer (STVP) 编程接口和 ST Assembler Linker 为了构建应用程序, STVD 为 ST 无缝集成了 C 和汇编语言工具链, 包括 Cosmic 和 Raisonance C 语言编译器与 ST Assembler Linker 在调试时, STVD 提供了一个集成的仿真器 ( 软件 ), 同时支持包括低成本 RLink 在线调试 / 编程器 高端 STice 仿真器和低成本 ST-LINK 工具等全套硬件工具 为了对 STM8L/STM8AL 进行应用编程, STVD 也提供了一个从微控制器存储器读取 写入和验证的接口 该接口基于 ST Visual Programmer (STVP), 适合 STVP 支持的所有目标器件和编程工具 免费的用于 STM8 的 ST 工具套件可以从意法半导体主页上获取 ( 参见 www.st.com) 9.2 编译器 STM8L/STM8AL 器件可以由一个包括在 ST 工具套件中的免费汇编工具链编程 由于内核是为了支持高级语言而优化设计, 因此建议使用 C 编译器! STM8 的 C 编译器由第三方公司 Cosmic Raisonance 和 IAR 提供 从 www.cosmic-software.com 和 www.raisonance.com 上可以获取一个能够生成高达 32 Kbytes 代码的免费 C 编译器版本 9.3 固件库 对于每个 STM8 外设, STM8 固件库就是一整套源代码示例 它是由严格的 ANSI-C 编写, 完全与 MISRA C 2004 兼容 所有的示例都可以使用四个工作区和项目定义文件, 一个用于 STVD 和 Cosmic C 编译器, 一个用于 STVD 和 raisonance 编译器, 一个用于 Raisonance 集成调试环境和编译器 (RIDE7 IDE), 一个用于 STM8 的 IAR 嵌入式工作站 (EWSTM8) 这使得用户可以在它们喜欢的开发环境中轻松载入和编译 运行在意法半导体 STM8L 评估板上的示例可以轻松地根据其它类型硬件进行移植 关于 STM8L/STM8AL 固件库的更多信息和下载, 请访问 www.st.com/mcu DocID16139 Rev 1 [English Rev 5] 27/42 41
设置 STM8 开发环境 AN3029 10 设置 STM8 开发环境 10.1 安装工具 所有软件工具都配有一个设置向导, 用于在整个安装过程中引导用户 建议按照下列顺序安装工具 : 1. C 编译器 2. ST 工具套件 3. STM8 固件库 ST-LINK 不需要在 STM8 开发环境中安装任何专用软件, 因为 ST 工具套件配有必需的驱动器 R-link 驱动器必须从以下位置单独启动 : Start/Programs/STtoolset/Setup/Install Rlink driver 28/42 DocID16139 Rev 1 [English Rev 5]
设置 STM8 开发环境 10.2 使用工具 注 : 一旦工具安装完成, ST Visual Develop (STVD) 集成开发环境就可以启动 用户可以选择新建一个新项目的工作区或者打开一个已有的工作区 如果是第一次使用 STVD, 建议从 STM8 固件库中打开一个已有的项目 即使用户不打算使用库, 已有的库项目也可以用作配置所有编译器选项的模板 在 main() 之后输入代码 STM8 固件库包括几个用于每个外设的示例和一个工作区, 工作区包括一个准备接受用户 C 代码的空白项目 它位于固件的子目录 \Project\Template ( 参见图 17) 用户可以在 STVD\Cosmic STVD\Raisonance RIDE 或 EWSTM8 之间做出选择 图 17. STVD 开放示例工作区 DocID16139 Rev 1 [English Rev 5] 29/42 41
设置 STM8 开发环境 AN3029 10.2.1 项目编辑 所有的项目源文件都可见, 同时可以编辑 ( 参见图 18) 图 18. STVD MCU 编辑模式 30/42 DocID16139 Rev 1 [English Rev 5]
设置 STM8 开发环境 10.2.2 在线帮助 在线帮助手册可以从固件安装目录里获得 ( 参见图 19), 该手册用来帮助用户理解 STM8 固件库的结构 图 19. STM8 固件库在线帮助手册 DocID16139 Rev 1 [English Rev 5] 31/42 41
设置 STM8 开发环境 AN3029 10.3 运行演示软件 10.3.1 编译项目 访问 www.st.com/mcu 查找 STM8L/STM8AL 产品 选择 STM8L1x-EVAL STM8L1526-EVAL 或 STM8L1528-EVAL 固件 打开选择的演示固件包里面所需的项目工作区 为了在 STM8 评估板上运行演示软件, 项目需要编译, 同时需要在调试会话启动之前选择正确的 HW 工具 可以使用 Build 菜单中的 Build 功能对项目进行编译 ( 参见图 20) 图 20. STVD: 建立工程 32/42 DocID16139 Rev 1 [English Rev 5]
设置 STM8 开发环境 10.3.2 选择正确的调试工具 在下面的示例中, Rlink 工具用于通过 SWIM 接口与 STM8 的板上调试模块通信 Rlink 工具可以从 Debug Instrument Settings 对话框中的 Debug Instrument Selection 选择 ( 参见图 21) 图 21. STVD: 选择调试工具 DocID16139 Rev 1 [English Rev 5] 33/42 41
设置 STM8 开发环境 AN3029 10.3.3 连接硬件 调试工具 STLink 集成在 STM8L1526-EVAL 和 STM8L1528-EVAL 板上 用户可以连接 PC 到 USB 连接器 该连接确保调试连接和供电 如果板子上的跳线不在默认位置, 请阅读评估板用户手册来选择电源和调试支持跳线 对于 STM8L101-EVAL, Rlink 工具可以通过一个标准的 USB 与 PC 连接 它还通过 USB 接口供电 在控制器这一边, 连接 STM8 评估板用的是 SWIM 接口电缆 STM8L101-EVAL 评估板由一个外部 5 V 电源供电 ( 参见图 22) 图 22. 连接调试工具到 STM8L101-EVAL 评估板 34/42 DocID16139 Rev 1 [English Rev 5]
设置 STM8 开发环境 图 23. 连接调试工具到 STM8L152x-EVAL 评估板 注意 : 在 STM8 的 Rlink 适配器板上, 必须设置 SWIM 跳线 如果在应用中 SWIM 线没有上拉, 则还要设置 ADAPT 跳线 不得设置 PW-5V 和 12MHz 跳线 DocID16139 Rev 1 [English Rev 5] 35/42 41
设置 STM8 开发环境 AN3029 10.3.4 开始调试会话 可以通过 Debug Start Debugging 命令进入调试模式 ( 参见图 24) 图 24. STVD: 开始调试会话 36/42 DocID16139 Rev 1 [English Rev 5]
设置 STM8 开发环境 10.3.5 运行软件 在进入调试模式后, 可以通过菜单 Debug Run 菜单中的运行命令启动软件 ( 参见图 25) 图 25. STVD: 运行软件 DocID16139 Rev 1 [English Rev 5] 37/42 41
设置 STM8 开发环境 AN3029 STM8 评估板上的 LCD 显示屏表明成功完成调试会话 ( 参见图 26) 图 26. STM8 评估板 10.3.6 后续操作 接着从上面描述的初始调试会话开始, STM8L/STM8AL 器件的额外外设就可以逐个开始运行 STM8L/STM8AL 器件的许多特性是由 STM8 评估板上的专用硬件支持 STM8L1x 固件库中提供了必要的软件驱动, 包括 STM8L/STM8AL 外设驱动 (USART ADC SPI) 和用于 EVAL 板模块的驱动 (LCD 串联存储 ) 38/42 DocID16139 Rev 1 [English Rev 5]
文档和在线帮助 11 文档和在线帮助 与工具使用相关的文档资源包括 : 应用 STM8L/STM8AL 数据手册 如何对 STM8L 的 Flash 程序存储器和数据 EEPROM 编程 (PM0054) STM8 CPU 编程手册 (PM0044) STM8L05xx STM8L15xx STM8L162x STM8AL31xx 和 STM8AL3Lxx 微控制器系列 (RM0031) STM8L101xx 微控制器系列 (RM0013) 工具 STM8L/STM8AL 固件库和版本说明 ( 作为帮助文件包含详细的固件库描述 ) 用于 ST 微控制器数据简介的 STice 高级仿真系统 STice 用户手册 Cosmic Raisonance 或 IAR 的 C 编译器用户手册 STM8L101-EVAL STM8L1526-EVAL 或 STM8L1528-EVAL 评估板用户手册 STM8L1x-EVAL STM8L1526-EVAL 或 STM8L1528-EVAL 固件 ST Visual Develop 指导 ( 在 ST- 工具链中作为帮助文件 ) ST Visual Develop (STVD) 用户手册 STM8 SWIM 通信协议和调试模块用户手册 (UM0470) 开发者可以利用 www.st.com 网站上的微控制器讨论区交流思想 这是寻找不同应用思路的最好的地方 除此之外, 网站还有一个关于微控制器的 FAQ 技术资料, 它提供了许多问题和解决方案 DocID16139 Rev 1 [English Rev 5] 39/42 41
修订历史 AN3029 12 修订历史 表 4. 文档修订历史 日期版本变更 2009 年 9 月 9 日 1 初始版本 16-Sep-2010 2 对于中等容量 中等以上和高容量器件, 更新了所有章节和参考 添加了 STM8L16x 器件 用 V DDx 和 V SSx 分别替换了 V DDIO 和 V SSIO 用 某些封装 替换了 48 引脚封装 添加了 IAR C 编译器 第 2.1 节 : 电源概述 : 更新了文字 图 1: 添加了注释 2: 去除 VLCD 上的 + 符号 晶振 / 陶瓷谐振器 : 添加了参考到 AN2867 第 3.2 节 : 模拟输入 : 更新了文字 第 4.3.2 节 :LSE 时钟 : 重新组织章节 第 5.1 节 : 复位管理概述 : 去掉了 电磁敏感性 (EMS) 复位 ( 只在 STM8S 系列中呈现 ) 图 7: 去掉了 EMS 复位 ; 添加了外部复位电路 第 5.2 节 : 硬件复位实现 : 添加了关于下拉电容的文本 表 2: 元件清单 : 更新了 ID 数 2 ( 电池 ) 的 评论 信息 ; 添加了 ID 数 5 ( 陶瓷电容 ) 图 10: 添加了外部复位电路和注释 1 第 9.2 节 : 编译器 : 在生成的代码中用 32 Kbytes 替换了 16 Kbytes 第 9.3 节 : 固件库 : 更新了解释工作区和项目定义文件的文本 第 10 节 : 设置 STM8 开发环境 : 去掉了引言 第 10.2 节 : 使用工具 : 添加了 EWSTM8 2011 年 3 月 7 日 2012 年 11 月 6 日 2013 年 7 月 23 日 3 4 5 图 1: 更新了图片内容和脚注 第 2.1 节 : 电源概述 : 更新了各项目内容 第 3.1 节 : 模拟电路电源 : 更新了有关 V REF+ 的内容 第 6.4 节 : 去耦 : 更新池电容的值 (1 µf, 而不是 100 µf) 图 10: 更新了图片内容和脚注 第 8 节 :STM8 开发工具 : 更新了关于 STM8L101-EVAL 的第 5 点 第 9.1 节 : 集成开发环境 : 在 STVD 支持的硬件工具清单中添加了低成本 ST-Link 工具 更新文档以包括 STM8AL 产品 增加表 1: 适用产品 (1) 添加了注释到表 2: 元件清单 更新了第 8 节 :STM8 开发工具中的参考 更新了 : 第 2.1 节 : 电源概述 第 2.3 节 : 上电 / 掉电复位 (POR/PDR) 40/42 DocID16139 Rev 1 [English Rev 5]
修订历史 表 5. 中文文档修订历史 日期版本变更 2015 年 10 月 12 日 1 中文初始版本 DocID16139 Rev 1 [English Rev 5] 41/42 41
重要通知 - 请仔细阅读 意法半导体公司及其子公司 ( ST ) 保留随时对 ST 产品和 / 或本文档进行变更 更正 增强 修改和改进的权利, 恕不另行通知 买方在订货之前应获取关于 ST 产品的最新信息 ST 产品的销售依照订单确认时的相关 ST 销售条款 买方自行负责对 ST 产品的选择和使用, ST 概不承担与应用协助或买方产品设计相关的任何责任 ST 不对任何知识产权进行任何明示或默示的授权或许可 转售的 ST 产品如有不同于此处提供的信息的规定, 将导致 ST 针对该产品授予的任何保证失效 ST 和 ST 徽标是 ST 的商标 所有其他产品或服务名称均为其各自所有者的财产 本文档中的信息取代本文档所有早期版本中提供的信息 2015 STMicroelectronics - 保留所有权利 2015 42/42 DocID16139 Rev 5