1.GPIO和门电路
1.1 输入、输出引脚、上拉电阻、三极管
现阶段的引脚都可以同时作为输出和输入引脚,在使用时需要进行寄存器进行相应配置。
配置引脚功能为读,引脚为输入引脚;配置引脚功能为写,引脚为输出引脚。
上拉电阻(NPN三极管):作用对于输入引脚,可以用它来确定输入状态
下拉电阻(PNP三极管):开发板输出1,悬空引脚为0;开发板输出1,悬空引脚为1.
1.2 与门、或门、非门
非门:使通过的电流与输出电流相反
与门:
或门:
中断引脚:具有输入功能,同时可以中断CPU。
2.协议类
首先,遵循的原则是别人能够听懂(双方约定信号的协议);其次,不能够说的太快(双方满足时序要求)
2.1 UAR(Tuniveisal async receive/transmit)
串口传出数据的方式:TXD0传出数据到电平转化芯片(为了提高传输数据的抗干扰性,一般会增加电流范围)然后通过接口线传到电脑的RXD
同样,
异步传输:2440想发送数据时,让RXD0为0,保存Ts,PC感觉到RXD0从1变为0,就知道2440要开始发送数据。
波特率:一秒钟传输数据位个数
所以,2440和PC机在传输数据的时候必须提前约定好波特率(即为一秒钟对数据监测次数)、数据位、停止位。这些参数的设置方法是,PC使用一个现曾软件,而开发板需要在串口控制器中设置。
2.2 I2C
只有两条
2.3 SPI
数字电路的搭建过程相当于搭积木的过程,只需要将对应引脚对应即可。
通过GPIO来控制片选信号,进而确定选着对应的芯片。(另外一种方式是利用地址来确定芯片)
2.4 NAND
I0-I7既可以传数据,又可以传输地址,也有可以传输命令,这几个命令通过CLE、ALE确定这几个端口的模式。RE,WE两个引脚确定是读入输出,L/B引脚来确定nandflash是否读写完成。
发命令的过程:共4步,首先CE引脚选中片选,然后CLE变为高电平,然后IO0-7输出命令(例如WE命令),最后给一个命令。
发地址过程:同上,类比。
发送数据过程:首先选中CE,然后ALE,CLE低电平,IO0-7给出数据,WE给出一个数据
读数据过程:
2440发出的值必须满足nandflash的时序信号,这样才能正常读写nandflash。通过2440芯片手册我们可以找到nandflash控制器的寄存器,通过设置相应的脉冲的值我们可以实现上述要求。nandflash有很多的设置项,但是由于2440对应的控制寄存器是有限的,所以我们不需要对nandflash中所有的项进行设置,只需要对2440中有的寄存器进行设置即可。
这样,我们就可以总结出时序设置的步奏:
- 查看2440手册,确定需要设置的参数
- 看外设手册(即nandflash的芯片手册),确定对应参数的取值
- 计算对应参数的值
2.5 LCD
3.类似内存的接口
3.1 NOR、SDRAM、网卡
3.2 不通位宽外设的接线、访问过程
3.3 怎么确定访问地址、设置内存控制器
4.从头到尾看几个开发板的原理图