Hands On Projects With The I2C Protocol – Learn By Doing!

wYn9oNVrIO4bU3jxcz20mfAy5TDENlVY

通过使用 STM32 的嵌入式系统项目深入了解 I2C 和 GPIO 外设

最后更新 10/2019
MP4 | 视频:h264, 1280×720 | 音频:AAC,44.1 KHz
语言:英语 | 大小:1.08 GB | 时长:4h 6m

你会学到什么

  • 能够在微控制器和市场上数以千计的 I2C 设备之间建立 I2C 通信
  • 了解 OLED 显示器的工作原理并知道如何在其上显示内容
  • 深入了解如何在 STM32 Nucleo 微控制器和 Linear Technologies LTC2990 电流、电压和温度传感器之间建立 I2C 通信
  • 了解如何启用 GPIO 输入以将输入从按钮读取到微控制器
  • 了解硬件抽象层 (HAL) 库以及如何使用它们
  • 在 Cortex-M 平台上感到自信和舒适的编程应用程序
  • 阅读 I2C 从设备的数据表,了解如何使它们与微控制器主设备一起工作

要求

  • 嵌入式系统基础知识
  • 推荐使用STM32 Nucleo开发板,但不强制
  • 推荐使用 MakerMax I2C 开发板,但不强制
  • 对 ARM Cortex 处理器基础知识的基本了解

描述

欢迎参加 STM32 嵌入式系统课程:I2C 协议大师班。I2C 通信协议是微控制器用来与各种设备通信的流行协议,例如 EEPROMS 和 NVRAM、ADC 和 DAC、用于端口扩展的 I/O 接口以及一系列不同类型的传感器。本课程深入探讨 I2C 协议背后的理论、最初设计它的原因、可用的常用格式类型以及如何实现 STM32 微控制器、LTC2990 电流、电压和温度传感器与 OLED 之间的 I2C 通信展示。

我是谁?
我是 Akshay,我将担任这门课程的导师。我从小就对微控制器很着迷,现在我觉得能把它作为我的职业是幸运的。我目前为电动汽车内部的安全关键系统编写固件。凭借过去 10 多年对嵌入式系统的了解,以及在硅谷的工作,我对行业需要什么以及学生缺乏什么有了独特的见解。

课程结构
本课程分为四个部分 –
第 1 部分 – 在本部分中,您将学习 I2C 协议背后的理论以及如何有效地实施它。
第 2 部分 – 在本部分中,您将设置一个免费的开源开发环境来编程和调试 ARM Cortex 微控制器。如果您之前已经完成了我的 ARM Cortex-M 处理器基础课程,那么您可以选择跳到下一部分。
第 3 部分 – 在本部分中,您将获得有关如何为 LTC2990 温度、电流和电压传感器以及 SSD1306 OLED 显示器编写 I2C 驱动程序的实践经验。您可以将在本节中学到的知识应用到您选择的任何其他 I2C 设备中。
第 4 节 – 在本节中,您将通过专门设计的任务解锁 I2C Shield 的功能。每次分配后,我都会向您展示我的实现方法以进行比较。

本课程需要什么硬件?
本课程是围绕 ST Microelectronics 的 Nucleo 系列板创建的,我为此课程专门设计了一个适合 Nucleo 板顶部的定制板。Nucleo 板可直接从 ST Micro 购买,定制 I2C 板可在 www(dot)makermax(dot)ca 上购买,让您无需在办公桌前拥有整个电子实验室即可动手操作。尽管建议使用此硬件,但它不是强制性的。如果您选择不购买硬件,您仍然可以继续学习所有课程,因为我将向您展示我的实现。然而,最好的学习方法是自己尝试和实施。

Gain a deep understanding of the I2C and GPIO peripherals with hands on embedded systems projects using STM32

Last updated 10/2019
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.08 GB | Duration: 4h 6m

What you’ll learn

  • Be able to set up I2C communication between microcontrollers and thousands of I2C devices available in the market
  • Understand how OLED displays work and know how to display content on them
  • Gain a deep understanding of how to set up I2C communication between a STM32 Nucleo microcontroller and a Linear Technologies LTC2990 Current, Voltage and Temperature sensor
  • Understand how to enable GPIO input to read input into the microcontroller from push buttons
  • Understand Hardware Abstraction Layer (HAL) Libraries and how to use them
  • Feel confident and comfortable programming applications on the Cortex-M platform
  • Read datasheets for I2C slave devices to figure out how to make them work with a microcontroller master

Requirements

  • Basic knowledge of embedded systems
  • STM32 Nucleo development board is recommended, but not mandatory
  • MakerMax I2C development board is recommended, but not mandatory
  • Basic understanding of the ARM Cortex processor fundamentals

Description

Welcome to this course on embedded systems for STM32: I2C protocol masterclass. The I2C communication protocol is a popular protocol that microcontrollers use to talk to various devices such as EEPROMS and NVRAMs, ADCs and DACs, I/O interfaces for port expansion, and a whole array of different types of sensors. This class goes in-depth into the theory behind the I2C protocol, why it was originally designed, what types of common formats are available, and how to implement I2C communication between a STM32 microcontroller, a LTC2990 current, voltage and temperature sensor and an OLED display.

Who am I?
I’m Akshay, and I’ll be your instructor for this course. I have been fascinated with micro controllers since I was a child, and now I consider it lucky to have it as my profession. I currently write firmware for safety critical systems that go inside electric cars. With my knowledge of embedded systems over the past 10+ years, and working in Silicon Valley, I have gained a unique insight into what the industry needs and what the students are lacking.

Course Structure
The course is divided into four sections –
Section 1 – In this section you will learn the theory behind the I2C protocol and how to implement it effectively.
Section 2 – In this section you will set up a free and open source development environment to program and debug ARM Cortex microcontrollers. If you have previously completed my course on the Foundations of ARM Cortex-M processors, then you may choose to skip to the next section.
Section 3 – In this section you will get hands-on experience on how to write the I2C drivers for the LTC2990 temperature, current and voltage sensor and the SSD1306 OLED display. You can take the knowledge learned in this section and apply it to any other I2C device of your choosing.
Section 4 – In this section you will unlock features of the I2C Shield with specially designed assignments. After each assignment I will show you my method of implementation for comparison.

What hardware is needed for this course?
This course is created around the Nucleo series of boards from ST Microelectronics and I have designed, specifically for this course a custom board that fits on top of the Nucleo board. The Nucleo board is available for purchase directly from ST Micro and the custom I2C board can be purchased on www(dot)makermax(dot)ca to allow you to get hands-on without having a whole electronics lab at your desk. Although this hardware is recommended, it is not mandatory. If you choose not to buy the hardware, you will still be able to follow along through all the lectures as I will show you my implementation. The best way to learn however, is to try and implement it yourself. If you have further questions on the hardware or anything else, send me a message! I would be more than happy to help you.

Overview

Section 1: Introduction

Lecture 1 Before we get started!

Lecture 2 Course Introduction

Section 2: I2C Protocol Theory

Lecture 3 Section 1 Introduction

Lecture 4 I2C Protocol Primer

Lecture 5 I2C Connections

Lecture 6 Calculation of Pull-up Resistance

Lecture 7 Guidelines

Lecture 8 Effects of bus capacitance

Lecture 9 Commonly used I2C Formats

Lecture 10 Course reference documents

Lecture 11 LTC2990 Read Protocol Analysis

Lecture 12 About the hardware

Lecture 13 Purchasing the hardware

Section 3: Development Environment – Atollic

Lecture 14 Alternate Development Environment Setup and Exercises

Lecture 15 Alternate Development Environment Handout

Section 4: Hands-on lab sessions

Lecture 16 Section 3 Introduction

Lecture 17 Installing STCubeMx

Lecture 18 Setting up the STCubeMx Project to work with MakerMax I2C Shield

Lecture 19 Writing the I2C Read Driver for LTC2990

Lecture 20 Using the I2C Driver to read the supply voltage from LTC2990 slave

Lecture 21 Using I2C Write to configure the LTC2990

Lecture 22 Writing the I2C Driver for SSD1306 controller

Section 5: Unlocking the full potential of the I2C shield

Lecture 23 Section 4 Introduction

Lecture 24 Challenge 1 – Unlocking real time temperature sensing

Lecture 25 Challenge 1 Solution – Unlocking real time temperature sensing

Lecture 26 Improving the OLED display

Lecture 27 Configuring the LTC2990 Control Register

Lecture 28 Challenge 2 – Unlocking potentiometer analog input

Lecture 29 Challenge 2 solution – Unlocking potentiometer analog input

Lecture 30 Challenge 3 – Unlocking processor current sensing

Lecture 31 Challenge 3 solution – Unlocking processor current sensing

Lecture 32 Challenge 4 – Unlocking push button digital input

Lecture 33 Challenge 4 solution – Unlocking push button digital input

Section 6: Closing Notes

Lecture 34 Guidelines

Lecture 35 Congratulations and Thank you!

Section 7: Setting up the development environment (optional)

Lecture 36 Section 2 Introduction

Lecture 37 Setting up the virtual machine

Lecture 38 Setting up Linux OS on the virtual machine

Lecture 39 Setting up the Eclipse development environment

Lecture 40 Setting up the development toolchain

Lecture 41 Creating a blinky project

Lecture 42 Setting up the open source debugger (Part 1 of 2)

Lecture 43 Setting up the open source debugger (Part 2 of 2)

Lecture 44 Running the blinky project

Lecture 45 FAQ and Troubleshooting

An embedded systems enthusiast, professional or student who wants to explore the peripherals of a microcontroller,If you wish to master the I2C communication protocol,If you wish to gain a deep understanding of the GPIO peripheral,Already been working with ARM Cortex microcontrollers and want to gain a deeper understanding of the processor’s peripherals

资源下载此资源仅限VIP下载,请先
本站资源仅限VIP会员下载点击购买VIP会员

原创文章,作者:steven,如若转载,请注明出处:https://rr3d.cn/35393.html

赞 (0)
steven的头像steven
上一篇 2022年7月11日
下一篇 2022年7月11日

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部