4.6 本章总结

数字I/O、模拟I/O、脉冲调制信号等是嵌入式系统常用的简单输入和输出接口,这些接口几乎都仅使用MCU单个I/O引脚传输信号。 单个数字I/O仅传输一个二进制位信息,常用于按钮或开关状态的侦测、通断或起停控制;连续的模拟信号必须经过AD转换为数字信号才能被内核使用, 反之内核必须借助于DA转换将寄存器中的内容转换为模拟信号;脉冲调制信号的I/O需要借助于MCU片上功能单元产生承载特定信息的调制波或解调波形获取信息, 譬如定时器单元、专用PWM信号发生器、PDM解调单元等。

比较这些接口的信息容量,数字I/O信息量最小,模拟I/O次之,脉冲调制信号所承载的信息量最大。据此,脉冲调制信号发生器和解调器最为复杂, 数字I/O接口最为简单,从本章每一节的软件编程已体会到他们的复杂度区别。

从软件编程和I/O控制角度,本章以BlueFi开源板的兼容Arduino平台的BSP设计为主线,每一节都有与所探讨的I/O接口相关的BSP代码编写, 我们不仅能够通过实践掌握每一节所涉及的I/O接口,还能掌握BSP的设计方法和C/C++应用软件的封装等。同时, 我们还使用BlueFi的Python解释器编写I/O接口应用的Python脚本程序,借助于Python的快捷性能够快速地修改、测试或体验嵌入式系统I/O接口编程应用。

通过本章的学习,我们初步掌握嵌入式系统基本I/O接口的工作原理、接口配置与设计,以及相关功能单元的工作机制和软件编程控制。 本章的绝大多数内容和相关概念都属于嵌入式系统开发及应用的基础。


本章总结如下:

  1. 数字I/O接口的配置和编程控制,了解有效电平状态、逻辑电平的电压、驱动电流等
  2. 模拟信号接口、ADC和DAC的工作原理,以及存储器映射和编程控制
  3. 脉宽调制信号发生器的组成结构和工作原理,以及PWM信号的应用和编程
  4. 频率调制信号和定时器的结构组成、配置和编程控制
  5. 脉冲调制输入信号的接口和解调原理,以及编程控制

本章虽然篇幅较大且属于嵌入式系统基本的I/O接口和编程控制,已涵盖数字I/O、模拟I/O和脉冲调制I/O等接口,但这些接口的实际应用极为丰富, 本章仅使用按钮、LED指示灯、声音输入和输出等,通过拓展阅读可以了解更多种I/O接口及应用。此外,本章还涉及C/C++语言和Python语言的编程, 建议阅读相关的参考书能够熟练地使用这些语言编写嵌入式系统软件。

本章拓展阅读:

  1. Arduino项目实战类参考书
  2. 嵌入式系统I/O接口类参考书
  3. 通过撸代码快速掌握Python语言 [1]_

参考文献:

.. [1] https://theembeddedsystem.readthedocs.io/en/latest/ca_references/learnpython_with_code.html