文章目录[隐藏]
韦东山老师课程学习笔记
1. GPIO和门电路
(general peripheral input/output)
1.1 输入、输出引脚、上拉电阻、三极管
GPIO用法:
① 配置引脚功能
② 输出引脚: 写值到寄存器
输入引脚: 读寄存器的值
上拉电阻:对于输入引脚可以用它来确定状态
三极管
1.2 与门、或门、非门
非门
A->B 高电平->低电平
与门
或门
只要有1都是1
1.3 中断
中断引脚:
1.有输入功能:读对应寄存器,确定引脚状态
2.可以中断CPU
2.协议类
协议类
1. 双方约定信号的协议
2. 双方满足时序的要求
2.1 UART 串口
问题:为什么要添加电平转换芯片?
① 2440->电平转换芯片之间电平状态:
0V 表示 0
3.3V 表示 1
②串口座->PC机之间电平状态:
-9V~-12V 表示 1
+9V~+12V 表示 0
两者间电平不一致,所以需要电平转换芯片来转换一下。
UART: Univeral Async Receive/Transmit 通用的异步接收/发送器
UART如何传数据:
1.2440想发数据时,让RXD0为0,保持T时间。(起始位)
2.PC感觉到RXD0从1变为0,就知道2440即将(T时间)发数据。
3.接下来发8个数据位
4.发送停止位(保持高电平一定时间)
波特率 ->时间
1/115200s 秒
2.1 IIC
上拉电阻:
让电平有一个确定的状态。
上面感觉结束信号写错了应为:SCL为高电平时,SDA从低电平变成高电平(上升沿),停止接收数据
下面是数据传输
原理:先传高位
2.3 SPI
排阻:
多个电阻排在一块。
写保护引脚:
设置为高电平时,该芯片不能被写入。(不用可以直接到电源上)
1.首先让片选引脚为低电平。
2.把指令(读/写 下图第6,7位)和地址移送出去。如果芯片地址太大8位写不下,多出来位数如下图写在指令部分A8。
2.4 NAND K9F2G08
CLE 1 传命令
ALE 1 传地址
CLE 0 && ALE 0 传数据
R/W 读/写
R/B Ready/Busy 传输完成/正在传输(忙)
发命令
:在cle下降沿时准备数据,上升沿时发送数据。
怎么设置时序?
1.看2440手册,确定能设置哪些参数
2.看外设手册,确定取值
3.计算
2.5 LCD
引脚名称 | 作用 |
---|---|
VCLK | 每来一个时钟,移动一个像素 |
HSYNIC(VLine) | 水平方向的同步信号,简称换行,像素点移动到一行末尾换另一行 (Z字行走)。 |
VSYNIC(VFrame) | 垂直方向的同步信号,换列。 |
VDO~D23 | 颜色数据 |
DE | 每data enable 数据使能 |
LED± | 背光 |
电源IO | |
EN | EN其他什么都不写默认高电平有效,nEN或者EN上面有- /EN低电平有效 |
SDRAM内存(显存地址)->LCD控制器->显存 读取数据->通过信号线传输数据在LCD上打点
3. 内存相似的接口 ram-like
n表示低电平有效
谁控制片选引脚?
CPU->地址->内存控制器->控制片选引脚输出低电平(根据下图地址范围选择对应引脚)
每个片选引脚对应的地址范围称为一个bank
1个bank是128M 2的27次方 用27个地址线 ADDR0~26
版权声明:本文为CSDN博主「ou.cs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44291381/article/details/122218459
韦东山老师课程学习笔记
1. GPIO和门电路
(general peripheral input/output)
1.1 输入、输出引脚、上拉电阻、三极管
GPIO用法:
① 配置引脚功能
② 输出引脚: 写值到寄存器
输入引脚: 读寄存器的值
上拉电阻:对于输入引脚可以用它来确定状态
三极管
1.2 与门、或门、非门
非门
A->B 高电平->低电平
与门
或门
只要有1都是1
1.3 中断
中断引脚:
1.有输入功能:读对应寄存器,确定引脚状态
2.可以中断CPU
2.协议类
协议类
1. 双方约定信号的协议
2. 双方满足时序的要求
2.1 UART 串口
问题:为什么要添加电平转换芯片?
① 2440->电平转换芯片之间电平状态:
0V 表示 0
3.3V 表示 1
②串口座->PC机之间电平状态:
-9V~-12V 表示 1
+9V~+12V 表示 0
两者间电平不一致,所以需要电平转换芯片来转换一下。
UART: Univeral Async Receive/Transmit 通用的异步接收/发送器
UART如何传数据:
1.2440想发数据时,让RXD0为0,保持T时间。(起始位)
2.PC感觉到RXD0从1变为0,就知道2440即将(T时间)发数据。
3.接下来发8个数据位
4.发送停止位(保持高电平一定时间)
波特率 ->时间
1/115200s 秒
2.1 IIC
上拉电阻:
让电平有一个确定的状态。
上面感觉结束信号写错了应为:SCL为高电平时,SDA从低电平变成高电平(上升沿),停止接收数据
下面是数据传输
原理:先传高位
2.3 SPI
排阻:
多个电阻排在一块。
写保护引脚:
设置为高电平时,该芯片不能被写入。(不用可以直接到电源上)
1.首先让片选引脚为低电平。
2.把指令(读/写 下图第6,7位)和地址移送出去。如果芯片地址太大8位写不下,多出来位数如下图写在指令部分A8。
2.4 NAND K9F2G08
CLE 1 传命令
ALE 1 传地址
CLE 0 && ALE 0 传数据
R/W 读/写
R/B Ready/Busy 传输完成/正在传输(忙)
发命令
:在cle下降沿时准备数据,上升沿时发送数据。
怎么设置时序?
1.看2440手册,确定能设置哪些参数
2.看外设手册,确定取值
3.计算
2.5 LCD
引脚名称 | 作用 |
---|---|
VCLK | 每来一个时钟,移动一个像素 |
HSYNIC(VLine) | 水平方向的同步信号,简称换行,像素点移动到一行末尾换另一行 (Z字行走)。 |
VSYNIC(VFrame) | 垂直方向的同步信号,换列。 |
VDO~D23 | 颜色数据 |
DE | 每data enable 数据使能 |
LED± | 背光 |
电源IO | |
EN | EN其他什么都不写默认高电平有效,nEN或者EN上面有- /EN低电平有效 |
SDRAM内存(显存地址)->LCD控制器->显存 读取数据->通过信号线传输数据在LCD上打点
3. 内存相似的接口 ram-like
n表示低电平有效
谁控制片选引脚?
CPU->地址->内存控制器->控制片选引脚输出低电平(根据下图地址范围选择对应引脚)
每个片选引脚对应的地址范围称为一个bank
1个bank是128M 2的27次方 用27个地址线 ADDR0~26
版权声明:本文为CSDN博主「ou.cs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44291381/article/details/122218459
暂无评论