如何看懂原理图

Jiaying888168的博客_狗炜别叫我打游戏_CSDN博客

​​​​​​(19条消息) 如何看懂原理图_Jiaying888168的博客-CSDN博客_原理图怎么看的懂1.https://blog.csdn.net/Jiaying888168/article/details/99654761

2.【文末福利】手把手教您学会PADS Logic原理图设计(一)_零件 (sohu.com)

原理图分类

1、GPIO(general peripheral input output)和门电路

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

1.2 与门、或门、非门

上拉电阻结合三极管

此时2440输出0,三极管不导通,输出1,三极管导通。

此时如果在上拉电阻下面接个LED灯,另外一端接3.3v,当输出1时LED亮

上拉电阻结合输入引脚

如果按键不接上拉电阻,那么在按键没有按下的情况下,2440读的电平是未知的。无法确定其状态。

接入上拉电阻,当没有按下时,2440引脚读到的是高电平,当按下时,输入引脚读到的是低电平。

总结:上拉电阻结合输入功能,可以确定其状态。

2、协议类

2.1 串口

2.2 IIC

2.3 SPI

2.4 NAND

2.5 LCD

串口(universal async receive transmit)

协议:双方要有共同的语言,这样你说什么我才能知道。另外还要有时序同步,你说的太快,我也听不清楚。

串口时序图

平时,串口发送线是高电平的,当要向串口发送消息时,拉低串口发送线(起始位),此时PC端发现RX接收线由高电平变为低电平,那么PC端就知道串口即将有数据发送。那么PC端等待多久开始接收数据呢。这就需要双方在发送和接收前进行约定,这些约定就是串口波特率、数据位、停止位、奇偶校验位等。发完起始位,开始发送8位的数据,例如A:0x41,刚好8bit,同时PC机接收到的就是0x41;发完数据后,至少拉高一个T的时间(停止位),这个T跟波特率有关。

如果在发送数据之前都要人工操作这些时序,估计会疯掉。

2440中就有一个串口控制器,只要把串口的参数填写好,将要发送的数据发送到对应的寄存器,控制器就会自动产生这些时序,将数据发送出去。

一般只需要三条线---发送线,接受线,地线

特点用途:串行异步通信,双方时钟不用一样,只需要设置波特率等信息。适合单片机与单片机通信。但是串口通信慢,波特率9600bps,也就是说每秒只能传输9600bit,相当于每秒传输1.2KB。spi可以达到5MHZ,也就是说每秒5000000bit,相当于每秒传输610KB

i2c总线

同样双方也要遵循一定的协议,还有时间。时钟是发送方给定的。一般为主机

接线:主机的sck接从机的sck,sda接从机的sda

时序图

同样也是需要起始位信号的,在时钟线保持高电平的状态下,数据线由高拉低,接收方就知道即将由数据产生。每次传输的也是8bit数据,在时钟线高电平时,数据线的数据必须保持稳定,因为此时接收方将采集此时数据线上的电平,这也表明数据只能在时钟线低电平下改变,当8bit数据传输完毕后,时钟线保持高电平,数据线由低变为高电平,发出停止信号。

i2c还有一个ack信号,主机在发完8bit之后,就不驱动总线了,由从机将数据线拉低,此时主机探测到数据线变为低电平,就知道从机已经接收完毕了。一般,i2c数据线和时钟线都会接一个上拉电阻,2440没有驱动时,总线自然就变为高电平。

i2c可以接多个外设,当要使用该外设时,需要先发送对应设备的地址,选中该设备。

特点用途:可以寻址,可以在一条总线上挂载多个设备,相比于spi线更少,特别是在挂载多个设备时。

spi总线

同样双方也要遵循一定的协议,还有时间。时钟是发送方给定的。一般为主机

接线:主机的sck接从机的sck,mosi接从机的miso,io口接ss

在与从机通信之前,主机需要通过片选引脚选中该芯片,然后通过mosi发送数据给从机,每次可以传输8bits,也可以通过miso接收从机的数据,是一个全双工同步的通信协议。

一般spi用作读写存储芯片,在读之前都需要先发送spi芯片手册给定的指令,再发送读取地址,再接收数据。写的话,也是需要发出写指令,发出地址,再发出写的数据。

时序图

原理图

总结:对于通信协议,首先要遵循时钟,对于串口,双方要设置波特率,对于iic和spi单片机要根据外接芯片的最大时钟频率设置对应的时钟。其次还需要知道双发约定的数据格式,需要注意的就是最高有效位先发还是低位先发。对于iic和spi还需要根据芯片手册,找到对应数据格式,因为这两种通信协议往往是操作存储器,需要涉及到芯片大小,还有寻址的问题。

NAND FLASH

原理图

从原理图看出NAND FLASH没有地址的,那么如何作为一个存储芯片,如何访问它的地址呢。又如何读写数据呢。

既然nand可以支持读写操作。并且跟2440连接的只有7根线。根据nand芯片手册可以解决以下存在以下问题:

1、什么时候发命令

CLE线为高电平表示发命令

2、什么时候发地址

ALE线为高电平表示发地址

3、什么时候发数据

CLE、ALE都为低电平时表示发送数据

4、什么时候可以进行写数据

WE为低电平表示可以写数据

5、什么时候可以进行读操作

RE为低电平表示可以读数据

6、如何选中该芯片进行操作

CE线为低电平时表示选中

7、写数据时,如何得知已经写完毕

读取R/B状态引脚,高电平表示准备就绪,低电平表示正在工作

知道引脚后,如何将这些引脚组合起来,实现功能

这时候,就需要时序图加持了。

发命令时序:

首先2440将CE拉低选中该nandflash,接着将CLE拉高,将命令放到io线上,此时再拉高we写信号线,nandflash就会去读取命令值。

发地址时序:

同样也需要选中芯片,然后将地址数据放到io线上,等待we写信号的上升沿到达,nand将地址信息读入寄存器。这里需要注意的是,nandflash需要发送行地址和列地址才能操作地址,行地址一般对应page地址。

写数据时序:

首先还是拉低ce,io准备好数据,在写信号的上升沿来临时将数据写到nand flash

这些时序图对于时间也是有要求的,一般是由控制器来控制这些时序的。

TACLS表示拉高CLE多长时间后,才能拉低we,对应nandflash芯片手册的写命令,TACLS对应于tcls-twp,通过查找时序要求后,发现两个的值都是12ns,也就是说TACLS可以设置为最小值,以此类推,其他参数设置也是由芯片时序决定的。

LCD

1、LCD工作基本条件

首先,LCD要有工作电压吧,好,先给它供电,让芯片内部工作;其实,要想让LCD发光显示,还要给它额外的背光电源。

2、显示原理

LCD控制器根据控制信号,不断的从显存地址中取出数据,送给电子枪,电子枪将颜色值,打入LCD屏中。

3、引脚接口

了解了LCD大致的工作原理后,需要进一步明白LCD芯片有哪些个引脚,这样才能跟cpu搭积木。这一步需要看LCD芯片手册,还需要根据原理图,明白每个引脚是连接到cpu哪些个引脚上的。这一步是为了能找到控制LCD芯片的引脚。

有时,在引脚命名上,并不一定完全一样,例如现在连接DE连接在VM上,直接去LCD芯片里面寻找,可以得到这是一个数据使能引脚,熟悉LCD知道,这个引脚可以决定电子枪移动时是否取值。

有时在原理图上,芯片上的引脚名称可能在LCD芯片上没有对应,此时应该找到它的连接对象,也许就可以找到关联,例如引脚8,NC连接VLINE,在LCD上芯片上并没有找到对应功能引脚,但是通过寻找连接引脚,VLINE是HSYNC,在LCD芯片找到这是LCD的水平同步信号引脚

以此类推,可以将所有引脚的功能搞明白。

4、时序图

有了上面的基础,也知道引脚的连接,那么接下来,就需要将这些引脚统一管理起来,让它们可以协同完成LCD的显示工作。时序图就是规定LCD控制器与LCD通信的协议。什么时候发什么信号,维持多久,这些都是时序图来规定的。

可以大致看出来每个Vsync信号有多个Hsync信号,也就是显示所有行。一个Hsync信号可以显示一行数据。其中一些时间参数,像thb表示一个水平信号发出后,需要等待多长时间后才可以使能数据引脚。

5、配置LCD控制器

同样在2440的芯片手册上,也应该对应有相应的时序图,所有的时序参数都是需要根据LCD芯片所规定的参数进行设置,有时外设规定的时序是ns单位,但是LCD控制器中设置的是MHZ单位,这就需要做换算处理。

对于LCD的设置需要注意下面几个点:

1、时钟,这个关乎LCD的脉冲

2、一行像素点的个数

3、行数
 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值