怎么看原理图


一、GPIO和门路

1.1输入、输出引脚、上拉电阻、三极管

有输出引脚、输入引脚之分
输入输出引脚怎么用?

  1. 配置引脚功能
  2. i、输入引脚:写寄存器;ii、输出引脚:读寄存器

上下拉电阻的作用
i、上拉电阻的概念:
在这里插入图片描述当“2”端为0时,不导通,“3”端的电压输出为3.3v
当“2”端为1时,导通,“3”端的电压输出为0v
总结:相当于一个反相器。
NPN三级管,P可以认为是正极的意思,“2”b端输出高电平,三极管导通

ii、下拉电阻的概念:
在这里插入图片描述
当“2”端为1时,不导通,“3”端的电压输出为0v
当“2”端为0时,导通,“3”端的电压输出为3.3v
总结:
上下拉电阻的作用是 :在三极管不导通的情况下,通过上下拉电阻,使引脚输出稳定的高电平或者低电平。
PNP三级管,N可以认为是负极的意思,“2”b端输出低电平,三极管导通

2440芯片内部的上拉电阻


1.2 门电路是什么?

非门
在这里插入图片描述总结:输入和输出的关系为,B=!A

与门
在这里插入图片描述总结:B=A1&A2,同时为高电平,B才为高电平。

或门
在这里插入图片描述总结:B=A1||A2,只要有一个为高电平,B就为高电平。

与非门,或非门
在这里插入图片描述总结:加小圆点,就是取结果的非。

1.3 中断

“INT”就是中断的意思嘛。
中断引脚的作用:

  1. 有输入功能
  2. 可以中断CPU

也可以将引脚设置为输入引脚,然后不断查询,输入引脚是否是低电平或者是高电平,引发功能函数。但是这样很浪时间。
特殊:
在2440中,即使是输出引脚,也可以读取,我们要他输出的是高电平还是低电平。stm32中也出现过这样的使用。但有些不可以,具体看芯片手册。


二、协议类

协议类的特点

  1. 你说的,别人能听懂 (双方约定信号的协议)
  2. 你的语速,要让别人接受 (双方满足时序要求)

2.1 UART

名词概念
UART——Universal Async Receive-Transmit(通用的异步收发器);
字节(byte):一个字节有8个位(bit),英文字母占一个字节,中文占2个字节。
波特率:表示一秒钟内传送多少位(bit)数据;
TXD是发送引脚;
RXD是接收引脚;
校验位:分为 奇校验,偶校验。如检查0100 0010 H中为1的位一共有几位,是奇数还是偶数。

结构示意图
在这里插入图片描述电平转换器的作用:倍增电平幅值,增强抗干扰性。2440输出的高低电平只有0V~3.3V。

UART如何传数据?
i、传送过程
2440想发送数据时,让TXD为0,保持T时间(启始位)。开始逐位传送,每位保持T时间(PC机会在0.5T的时候,检测接收位值)。传送结束时,2440要发出停止信号,让TXD为1,保持T时间(停止位)。T是通过波特率来改变的。

传输数据示意图如下
在这里插入图片描述
ii、配置串口控制器
我们通过配置串口控制器,上面的传输数据的操作,芯片就会帮我们自动做好。我们只需要将要发送的数据,告诉串口数据寄存器就行了。

2.2 I2C

名词概念
SCL:时钟线
SDA:数据线

I2C协议时序详解
AT24C02A芯片的电路图(一种I2C通讯的储存器)

在这里插入图片描述红色圈内的都是上拉电阻,默认情况下,都是将电平拉至高电平。

I2C总线设备互连图
在这里插入图片描述

  • I2C总线连接设备X,通过地址来找到某个设备。
  • 当SCL在低电平的时候,SDA可以高低电平变化;当SCL为高电平时,SDA必须保持电平不变。

I2C协议时序图
在这里插入图片描述

在这里插入图片描述

  • 一个低-高电频的变化,称为一个脉冲。
  • S:开始信号
  • 8个脉冲传8位(bit)数据。
  • 第9个脉冲信号时,2440不对SDA进行控制,转为输入引脚检测。同时,AT24C02会对SDA进行控制,使SDA由低电平变高电平。这个脉冲信号称为Ack应答信号。在第9个信号的高电平部分,由2440来检测SDA上的电平,确认有无Ack信号。
    上面是同一种协议规范,也要设置I2C控制器
  • 语速不能太快,所以要根据AT24C02能接受的速度,来设置I2C控制器。

如何寻找到I2C设备的地址?
需要找对应芯片的芯片手册,下面以AT24C02为例。
AT24C02设备地址图
在这里插入图片描述启始信号后,传8位(bit)数据,前7位是地址,最后一位是读写位,然后是Ack信号,停止信号。(只是其中一种,具体见韦东山Linux手册)

如何读写I2C设备内的数据?
需要看该I2C设备的芯片手册,下面以AT24C02的“自由读指令”为例。
在这里插入图片描述

  • Start+“设备地址(7bit),0(写操作)”+Ack+“要读的数据所在的地址”+Ack;+Start+“设备地址(7bit),1(读操作)”+Ack+“8bitDATA”+NO Ack+Stop
  • 红圈部分要继续读,可以变成Ack信号。
    同理写指令,也要看芯片手册。

2.3 SPI

有4根线,MOSI,MISO,CLK,CS。同步全双工。
SPI协议简单的说:每来一个时钟,逐位输出,同时逐位输入。
名词解释
shift:逐位移位
MSB:最高位(bit)
LSB:最低位(bit)
MOSI:Master Output Slave Input 主机输出,从机输入
MISO:主机输出,从机输出
CLK:时钟脉冲线
CS:片选线
1Kbit=1024bit
1M=1024K
有X根线,能表示的地址有2x个。

2440如何连接SPI设备?
需要读该SPI设备的数据手册DATD SHEET,进行连接。
某SPI设备芯片手册管脚定义名称及作用
在这里插入图片描述 2440与SPI设备的连接图
在这里插入图片描述
2440如何通过SPI协议传输数据给某SPI设备?
需要看该SPI设备芯片手册中的读写指令,例如Memory Array存储芯片的READ指令
在这里插入图片描述前8个脉冲,MOSI发送一个“A8指令(instruction)+1”,给D。在下一个8个脉冲周期,再发送一个8bit的数据地址给D,O发送8bit数据给MISO。
芯片手册中的Address range bits 表,表示了数据地址的范围。有X根线(位),能表示的地址有2x个。
同理“写操作”
如何配置SPI控制?
通过SPI设备(从机)芯片手册的要求,配置SPI控制器,自动进行时序。例如时钟的频率是多少?

2.4 NAND FLASH(K9F2G08)

看K9F2G08芯片手册,该芯片有IO0 ~ 7,用于传输数据;同时通过2个不同的线的置位(00,01,10),来控制IO0 ~ 7,传送的是“命令”,“地址”还是“数据”。还有一些其他的引脚如片选CE引脚,具体看芯片手册的 pin name | function
名词概念
1G=210M=1024M
1M=210K=1024K
1K=210bit=1024bit
1byte=8bit

芯片手册中重要的几项

  • 引脚的功能定义
pin namepin function
xxxxxxxxxxxx
  • 命令的时序图(如Address Latch Cycle)
    K9F2G08的选择写地址控制,写地址命令时序图
    在这里插入图片描述
  • 时序的间隔数据,如twp的时间间隔是多少,要看K9F2G08芯片手册的规定的最小时间。然后才去配置2440的Nand控制器,怎么配置2440,看2440的芯片手册中Nand控制器的章节。
    2440与K9F2G08连接示意图:

在这里插入图片描述
怎么设置2440的时序

  1. 看2440手册,确定能设置哪些参数(什么含义)。
  2. 看外设手册,确定取值
  3. 计算

2.5 LCD

LDC中有两种电源控制,一种控制LCD是否工作,一种控制LCD背光灯是否打开。
名词解释
VCLK:视频频率,电子枪移动的速度
HSYNC:水平同步信号,控制两行之间怎么换行
VSYNC:垂直同步信号,控制末行怎么跳会到首行
VD0~VD23:RGB色数
DE:DATA ENable,“1”从2440中取DATA,打颜色,电子枪移动;“0”不取DATA,不显示,移动
nEN, EN ‾ \overline{\text{EN}} EN,/EN:都表示低电平有效。
Invert:反转

LCD原理图:
在这里插入图片描述
LCD手册中的连接示意图:
在这里插入图片描述
2440与LCD连接示意图:
在这里插入图片描述设置2440中的LCD控制器,配置参数

总结

引脚对接
看2440芯片手册
看LCD芯片手册
计算
A
原理图接线
B
协议
时序
弄清楚2440能配置哪些值和含意
弄清楚这些值取什么值
写入2440寄存器
  • a.看原理图:2440和外接的芯片引脚对接即可
  • b.弄清楚接口的协议:数据怎么传输?各引脚怎么配合?
  • c.设置时序:2440发出的各个信号,要让外接的芯片能反应得过来
  • c.1看2440手册弄清楚能设置哪些参数,这些参数的含义(以CLK为单位)
  • c.2看外设芯片手册,弄清楚这些参数的取值范围(以秒为单位)
  • c.3根据c.1、c.2计算2440的寄存器取值

通过上面C.1、C.2、C.3来配置2440控制寄存器

以水平同步信号HSYNC为例,如下图
第一步:看2440手册中 TFT LCD 控制的部分,能清楚能设置哪些参数,这些参数的含义(以CLK为单位)
2240
2440与LCD连接示意图:
详解:先HSYNC脉冲信号,保持“HSPW+1”时间,等待“HBPD+1”时间,VD开始传输数据,数据传输的时间(位数),由“HQZVAL-1”控制。传输完成后,休息“HFPO+1”时间。可以继续执行下一次相同的操作。

第二步:看LCD手册中,确定这些参数的值(以秒为单位)
i.先确定CLK的值(将秒转换成CLK,再带入2440中确实值)
ii.再确定其他参数
iii.再确定脉冲极性是否相同。
LCD

三、 类似内存的接口 ram-like

问1:地址线、数据线上接有众多设备,怎么做到只访问其中一个而避免其余的影响?
答1:每一个芯片都有单独的片选引脚,访问他之前先设置片选引脚为低电平:其他芯片的片选引脚为高电平
问2:片选引脚是否需要我们手工来设置片选引脚?
答2:不需要,CPU访问某个地址时,CPU发出地址信号给“内存控制器”
,内存控制器根据改地址决定让哪一个片选引脚输出低电平。

3.1 NOR,SDRAM,网卡

名词解释
CS:片选 Chip Select

3.2 不同位宽外设的接线、访问过程

3.3 怎么确定访问地址、设置内存控制器

四、从头到尾看几个开发板的原理图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值