首页 > 其他分享 >前言与基础知识

前言与基础知识

时间:2024-11-16 21:29:36浏览次数:1  
标签:STM8 封装 前言 ST 单片机 集成电路 LINK 基础知识

前言

为什么写此文

  • STM8虽然不及STM32知名,但其可以作为学习单片机的一个起始跳板,帮助学习单片机中的各个重要概念
  • 网络上的教程多是使用库函数而非对寄存器进行配置,虽然操作方便,但不便于了解单片机的底层原理;另外很多STM8的教程在网络上较为零散,只介绍实现某个功能,不成体系;相关书籍又是“大部头”与枯燥的手册,对自学者不够方便
  • 为此我整理本人学习STM8S过程中的笔记和例程代码发布于博客园,难有错漏,望雅正!

本文内容来源

  • 本文大部分内容来自龙顺宇老师的《深入浅出STM8单片机入门、进阶与应用实例》
  • 另有潘永雄老师的《STM8S系列单片机原理与应用》作内容补充
  • 还有小部分内容来自网络

读前准备

  • 本文使用C语言对STM8S的寄存器进行配置,但并不会涉及非常难的语法,基本上只需要看本人的C语言博文前7章即可https://www.cnblogs.com/untit1ed/p/18547790
  • 准备一块STM8S系列的开发板,和ST-LINK v2
  • RM0016手册https://www.st.com/resource/en/reference_manual/CD00190271-.pdf
    这是ST官方针对STM8所出的应用手册,可以说所有的教材包含内容都来自于这本手册,使用它就可以方便地查询STM8S上所有的资源该如何配置
    在网络上可以搜索到其中文翻译版本
  • 安装IAR for STM8软件

集成电路IntegratedCircuit

什么是集成电路

  • 将电路所需的晶体管、二极管等元件及布线连接在一起,制作在半导体晶片或介质基片上,再封装到管壳内,使得整个电路在结构上是一个整体,这就是集成电路
  • 集成电路体积小,且引出线与焊点也减少,提升了电路可靠性,降低了功耗
  • 集成电路可按组成与应用领域划分类别:

集成电路的类别

  • 模拟集成电路
    • 又称线性电路,用于产生、放大、处理模拟信号
    • 模拟信号即信号数值随时间连续变化的信号
  • 数字集成电路
    • 用于产生、放大、处理数字信号
    • 数字信号即高低电平,与模拟信号的连续相对,其数值随时间离散变化
    • 一个数字系统一般由控制部件和运算部件组成,在时钟脉冲驱动下控制部件控制运算部件完成要执行的动作
  • 混合集成电路
    • 通过模拟数字转换器ADC与数字模拟转换器DAC,可以将数字电路与模拟电路相连
    • 把模拟与数字电路集成在一个单芯片上,便是混合集成电路,借此可做出ADC与DAC等器件
    • 该类芯片具备模拟信号输入输出、数字信号处理与传输等通道,信号转换与处理单元
    • 单片机芯片基本上属于混合信号集成电路

单片机

什么是单片机

  • 单片机是集成电路芯片的一种

    是将具有中央处理器CPU、随机储存器RAM、只读储存器ROM、多种I/O通道、中断系统、定时器、功能外设等资源集成到一块硅片晶圆上构成的微型计算机系统

单片机的封装

  • 封装半导体集成电路晶圆用的外壳,起到安放、固定、密封、保护芯片和增强电热性能的作用
  • 封装时晶圆上的连接焊点会用导线引到封装外壳的引脚上,这些引脚通过PCB上的导线与其它器件连接
  • STM8普遍采用LQFP封装,即薄型四方扁平式封装(Low-profile Quad Flat Package),特征是CPU芯片引脚之间距离小,引脚细
  • 了解单片机芯片所用封装有助于设计PCB时选择合适的PCB芯片封装,可通过查阅数据手册得知封装形式

STM8家族

  • STM8为意法半导体的单片机产品系列,是一个8位微控制器平台,拥有8位内核

  • 其型号繁多,可以分为以下系列,同时各个系列中还区分不同的型号:

    • STM8AF

      适用于汽车电子,具备高稳定性和抗干扰特性

    • STM8AL

      适用电池供电与绿色能源等领域,有超低功耗的特性

    • STM8L

      低功耗,便携

    • STM8S

      消费级、工业和计算机市场应用

    • STM8T

      电容接近、触摸识别产品


开发环境

软件开发环境

  • 编写程序,调试软件功能,下载固件到单片机中

  • 以IAR for STM8为例,演示如何进行开发:

    1. 创建程序工程
      1. 菜单栏 - Project - Create a New Project
      2. 确认项目类别界面 - 选择项目所用语言 - OK - 选择储存位置
    2. 配置工程参数
      1. 明确使用的单片机型号

        workspace中右键当前项目 - Options - Device - 选择型号

      2. 下载调试工具

        Debugger - Driver - ST-LINK

    3. 保存工作区

      菜单栏 - File - Save Workspace As - 选择存储位置

    工程建立完毕后即可编写程序

    1. 编译

      编写完成后单击 工具栏 - Make 执行程序工程的编译和链接操作

      最终得到可下载到单片机中的固件程序

    2. 配置选项字节参数

      选项字节:一组与单片机片上资源有关的选项,用于配置硬件特性、储存器保护状态、资源外设功能等,这些字节位于特定储存器阵列中

      1. 用ST-LINK连接电脑和单片机

      2. 菜单栏 - ST-LINK - Options Bytes

        左侧Options为用户可配置的选项,右侧Value为选项配置参数

    3. 程序调试和下载

      下载:将固件程序烧录到单片机内部Flash储存器中

      调试:根据软硬件联调的实际运行结果去DeBug

      1. 按需配置选项字节后,将程序工程再次编译链接一遍
      2. 工具栏 - Download and Debug
      3. 注意,这一步需要用ST-LINK连接电脑和单片机(连接方法见下),并且如果单片机上有供电开关的话记得打开,才能烧入程序

      在程序下载完成后,将自动进入程序仿真调试界面

硬件开发环境

  • 连接外围电路,驱动功能外设,实现电气功能
开发板和最小板
  • 最小板,也叫核心板、最小系统,顾名思义,这种板只包含单片机的控制核心,其他功能都要自行连接,就好像一台只有主机的电脑,屏幕、鼠标、音响都要自己再配
  • 而一般面向初学者的开发板,已经连接上多种外设资源,比如通信模块、发光二极管、矩阵键盘等等,便于调用
  • ST-LINK是程序调试和下载的工具,用于将电脑与单片机连接起来,把上位机(写程序的电脑)所创建的程序输送到下位机(执行程序功能的单片机)
  • 它会将电脑的USB接口转为四个端口:SWIM、CLK、3V3、GND
    SWIM接口传输数据,CLK是时钟信号,3V3是电源,GND接地(可能标识有些许不同,但功能都是一样的)用四根跳线将这四个端口从ST-LINK接到单片机对应端口上即可连接电脑和单片机

仪器与参数分析

  • 一些在学习和排障过程中会用到的仪器,可以到学校实验室中借

示波器

  • 用于将电信号时变规律以可见形式显示出来
  • 测量输入信号的幅度、频率、周期等基本参数
  • 测量脉冲信号的高脉宽、低脉宽、占空比
  • 一般多用于模拟信号的观察

逻辑分析仪

  • 数据域测量设备,用于测量输入信号的逻辑门限电压

标签:STM8,封装,前言,ST,单片机,集成电路,LINK,基础知识
From: https://www.cnblogs.com/untit1ed/p/18549856

相关文章

  • 操作系统4-基础知识判断题2
    25.引入当前目录是为了减少启动磁盘的次数√(当前目录可以放入内存) 26.文件目录必须常驻内存X解答:不一定。27.在文件系统中,打开文件是指创建一个文件控制块X解答:在文件系统中,“打开文件”并不直接等同于创建一个文件控制块,而是指对一个已经存在或正在创建的文件进......
  • DDR内存基础知识和带宽测试
    一、DDR基础知识1.几个频率(1)核心频率:真实运行频率。(2)倍增系数:DDR通过数据预取技术放大速率,每代ddr倍率是固定的,ddr=2,ddr2=4,ddr3=8,ddr4=8,ddr5=16(3)有效频率;厂商标注的频率,可以理解为数据传输速率。厂商也想逐步淡化其它频率的概念,只让我们记住有效频率。其实......
  • Chromium源码分析一:基础知识
    目录Webkit、chromium、Googlechrome各模块结构图进程模型代码结构我的衣食父母基于Chromium实现小程序功能,现在已经开发维护代码一年多了,抽时间对公开的知识做个笔记总结。本文内容源于《WebKit技术内幕》Webkit、chromium、GooglechromeWebKit是一个开源的浏览器引擎,包含......
  • JAVA部分基础知识点(四)【持续更新】
    1.方法重写当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称、参数列表一样的方法,去覆善父类的这个方法,这就是方法重写。【注意:重写后,方法的访问,Java会遵循就近原则】方法重写的其它注意事项:重写小技巧:使用Override注解,他可以指定java......
  • 【网络云计算】2024第46周周考-磁盘管理的基础知识-RAID篇
    文章目录1、画出各个RAID的结构图,6句话说明优点和缺点,以及磁盘可用率和坏盘数量,磁盘总的数量2、写出TCP五层模型以及对应的常用协议【网络云计算】2024第46周周考-磁盘管理的基础知识-RAID篇1、画出各个RAID的结构图,6句话说明优点和缺点,以及磁盘可用率和坏盘数量,磁......
  • HBase基础知识分享(二)
    HBase的Split机制Region的分裂策略HBase中的Region存储的是一张表的数据。当Region中的数据条数过多时,会直接影响查询效率,过大的Region会被拆分为两个Region,HMaster会将这些分裂的Region分配到不同的RegionServer上,最终达到负载均衡的目的,这是HBase的一个优点。常见的Region分......
  • 从0搭建一个FIFO模块-01(基础知识)
    1.FIFO介绍基本概念FIFO(FirstIn,FirstOut)是一种常用的数据结构,用于存储和处理数据。它的工作原理与排队的顺序类似,遵循"先进先出"的原则。即,第一个进入FIFO的数据会是第一个被取出的数据。在FPGA设计中,可以使用AM作为FIFO的存储单元,再通过控制逻辑来管理读写操作和指针......
  • mysql基础知识2
    登录mysql数据库注:文中mysql版本为8.0而并非5.7使用命令行登录在操作系统中打开命令行工具/或使用xshell等ssh登录使用命令行登录数据库:根据所使用的数据库类型,输入相应的命令行登录命令。mysql-u[用户名]-p[密码]-P3306-h[数据库地址]-u用户名-p密码-P端口-h......
  • mysql基础知识(3)
    MySQL中有哪些重要的日志文件?错误日志:记录MySQL服务器运行过程中的错误信息。查询日志(GeneralLog):记录数据库执行的所有命令。慢查询日志:记录执行时间超过预设阈值的查询语句。redolog(重做日志):用于在系统崩溃时恢复未提交的数据。undolog(回滚日志):用于事务回滚时恢复数......
  • mysql基础知识
    sql语句类型及用途:Ddl:建表改表删表删数据【保留表结构】Dql:查询where,groupby,orderby,joinDml:新增修改删除数据Dcl:新增删除用户对数据库权限事务ACID特性简介原子性(Atomicity)事务被视为一个不可分割的最小单位,它要么完全执行,要么完全不执行。一致性(Consi......