Coder Social home page Coder Social logo

embedded-engineer's Introduction

Embedded-Engineer

嵌入式工程师成长之路

嵌入式硬件系统

嵌入式硬件系统

基本构成

  • 微处理器分冯诺依曼结构和哈弗结构。指令集分为:精简指令RISC和复杂CISC
  • 结构上二者差别前者的指令和数据存放在同一存储空间,统一编址;后者分开指令和数据,诗句的吞吐率提高了一倍
  • RISC软件复杂性高,芯片成本低,增加了代码尺寸,采用简单的寻址模式,仅允许LOAD和STORE指令存取内存。其他所有操作都基于寄存器到寄存器

总线

  • 总线可分为片内总线路AMBA,AVALON、OCP等,片外并行总线如:PCI、ISA 片外串行总线:UART、SPI、I2C、USB等
  • 片内总线取决于CPU core,片外总线选择取决于应用

AMBA 是ARM研发的一种总线规范。AHB用于高性能系统模块的连接,支持突发模式数据传输和事务分割。APB用于较低性能外设的简单连接。 AHB总线构成:

  • 主单元,只有主单元在任何时刻使用总线,AHB可以有多个主单元。
  • 从单元,可以响应读或写总线操作,主要是复杂度不够成为主单元
  • 仲裁器,用于确定控制总线哪个是主单元,以保证任何时刻只有一个主单元可以启动数据传输
  • 译码器,用于传输译码工作,提供传输过程中从单元的片选信号

AHB总线工作过程:

  • 1 地址传送阶段,只持续一个时钟周期,在HCLK的上升沿数据有效。所有的从单元都在这个上升沿来采样地址信息
  • 2 数据传输阶段,需要一个或几个时钟周期,可以通过HREADY信号来延长数据传输时间,当HREADY为低电平,就在数据传输中加入等待周期,直到高电平结束本次传输

APB主要由2部分构成:APB桥和APB从单元。

  • APB桥是APB中唯一的主单元,是AHB的从单元。
  • APB桥将系统总线AHB和APB连接起来,并执行功能:锁存地址保持有效,直到数据传输完成。
  • 译码地址并产生一个外部片选信号,每次传送只有一个片选有效
  • 写传送时驱动数据到APB
  • 读传送石驱动数据到AHB
  • 传送石产生定时触发信号到PENABLE

串行总线概述:

串行总线是指按位传送数据的通路 其连接线少,接口简单,成本低,传送距离远 点对点通信不需要select控制信号 异步通信不需要Clock时钟信号,同步总线必须要有时钟。 Data、Select和R/W可以根据协议复用同一根线 Slave不能和其他Slave直接通信,只有Master能发起一次通信

I2C总线:

  • 简单有效,接口简单,占用空间小,减少电路板的空间需求和芯片引脚数量
  • I2C总线连接到相同总线上的IC数量之首总线最大电容箱子,可达40个组件
  • 串行的8位双向数据传输速率在标准模式下可达100Kps,快速模式400kps,高速3.4Mbps
  • 支持多主控模式,具有完善的总线协议。

I2C总线构成和信号类型:

  • I2C总线是由数据线SDA和时钟线SCL构成的同步串行总线,支持双向传送。
  • CPU发出的控制信号分为地址码和控制码两部分,地址码用来选址
  • I2C总线在传送数据过程**有三种类型信号:开始信号,SCL为高电平、SDA由高电平向低电平跳变
  • 结束信号:SCL为高电平,SDA由低电平向高电平跳变,结束传送数据
  • 应答信号:接收数据的IC在接收8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据

SPI总线:一种同步串行外设接口

  • 一般使用四条线,串行时钟线SCLK
  • 主机输入/从机输出数据线MISO
  • 主机输出/从机输入数据线MOSI
  • 低电平有效的从机选择线SS

存储器

  • 主要分为主存和外存
  • 主存储器的特点是速度快,一般采用ROM、EEPROM、NorFlash、SRAM、DRAM
  • 外存是不能直接访问的存储器,价格低容量大,路SD,U盘 NandFlash等

IO接口和设备

  • 输入输出接口和设备主要包括:中断控制器、DMA、串行和并行接口 定时器,计数器,看门狗 RTC、PWM、AD/DA等

embedded-engineer's People

Contributors

lanwailan avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.