1、接口协议介绍
8080并行接口,也称为8080并口协议,是由Intel公司设计的一种并行、异步、半双工通信协议。该接口在扩展方面及数据传输方面具有一定的优越性,因此,尽管8080微处理器已经被逐渐淘汰,但8080的并行总线协议仍然被广泛应用于各种需要高速、近距离接口和传输方式的场景中,如CPU扩展外部的RAM和ROM,LCD、打印机等设备。
在8080并行接口中,主要的信号线包括:
- CS(片选信号):用于选中要进行通信的设备。如果有多个设备连接在同一个8080接口上,可以使用译码器通过地址进行访问。
- D/I(命令/数据标志):用于区分传输的是命令还是数据。当D/I为0时,表示传输的是读写命令;当D/I为1时,表示传输的是读写数据。
- WR(写入数据控制信号):用于控制写入操作。当WR为0时,表示准备写入数据;当WR上升沿到来时,数据将被写入设备。
- RD(读取数据控制信号):用于控制读取操作。当RD为0时,表示准备读取数据;在RD上升沿到来时,数据将被从设备中读取出来。
- RST(复位线):用于复位整个接口电路。当RST为低电平时,接口电路将被复位到初始状态。
- D[7: 0]: 8 位双向数据线。
8080并行接口的时序操作主要包括起始信号、地址线传输、控制信号传输、数据线传输、状态确认和结束信号等步骤。通过这些步骤,可以实现计算机与外部设备之间的数据传输,从而实现各种输入输出操作。
8080 并口读/写的过程为:先根据要写入/读取的数据的类型,设置 DC 为高(数据) /低(命令),然后拉低片选,选中 SSD1306,接着我们根据是读数据,还是要写数据置 RD/WR为低,然后:
在 RD 的上升沿, 使数据锁存到数据线(D[7: 0])上;
在 WR 的上升沿,使数据写入到 SSD1306 里面;
在 8080 方式下读数据操作的时候,我们有时候(例如读显存的时候)需要一个假读命(Dummy Read),以使得微控制器的操作频率和显存的操作频率相匹配。在读取真正的数据之前,由一个的假读的过程。这里的假读,其实就是第一个读到的字节丢弃不要,从第二个开始,才是我们真正要读的数据。
一个典型的读显存的时序图,如图 17.1.5 所示:
可以看到,在发送了列地址之后,开始读数据,第一个是 Dummy Read,也就是假读,我们从第二个开始,才算是真正有效的数据。