并口线:2、并行接口、协议和相关芯片介绍(8080、8060)

目录

前言

并行接口

8080并行接口

1、8080起源

2、8080接口线

3、接口芯片(重点介绍SSD1306)

3.1、8255A接口芯片        

3.2、ST 7920接口芯片

3.3、SSD1306接口芯片

6800并行接口

1、6800起源

2、6800接口线 

3、接口芯片

8080和6800接口的区别

参考资料:


前言

        在学习嵌入式开发过程中串行接口较多比如UART、SPI、I2C等;但是并行接口确并不常见,在学习OLED和LCD显示时接触到了8080、8060并行接口机器协议,所以有必要专门写一篇博客进行说明。

本篇博文,引用了部分其他博文的内容,关于参考资料的连接后面会给出。这里重点讲解8080接口的起源、接口方式与协议、常用的接口芯片。

并行接口

请百度百科作为参考

微机原理中也有相关描述可以参考

        在微机系统内,如系统部件之间的数据传送大多数使用并行数据传送方式。并行数据每一位都对应独立的传输线路,所以数据传送速度块,但是线路多,一般只用于较短距离传送。因此在嵌入式开发中芯片的外部接口多为串行接口,然而由于显示屏中要求刷新速率高,所以OLED和LCD显示屏中依然会用到8080或8060并行接口进行通信。

        对于接口芯片作为控制数据的输入输出模式、输入输出数据缓存、数据传送的状态。

        8080和8060接口,其实并不是专用于LCD的接口,而是由早期的处理器发展而来的,用于CPU与外部的数据的快速传输(CPU外扩RAM、ROM),后来也被用于LCD和打印机数据传输领域。 

8080并行接口

1、8080起源

        1974年,英特尔推出了 第二款8 位的处理器Intel 8080,它是Intel 8008的后继产品,但是8080 还在其指令集中添加了一些 16 位操作,可以使用16位地址总线,使其能够访问64KB的内存,它的指令集比 8008 增强了不少。

 维基百科:https://en.wikipedia.org/wiki/Intel_8080 

由于8080的成功,为后面的处理器兼容性/扩展存储奠定了基础,也影响到了32/64位的X86架构处理器。

2、8080接口线

        虽然8080微处理器已经被时代逐渐淘汰,但是由于于8080的并行总线协议,在扩展方面及数据传输方面的优越性被保留了下来。很多追求高速,近距离的接口和传输方式依然使8080总线,比如CPU扩展外部的RAM和ROM,LCD、打印机等广泛使用。

  • CS: 片选信号——(如果有多片可接译码器,通过地址进行访问)
  • WR:写入数据控制信号——(连接CPU的RD或IOR)
  • RD: 读取数据控制信号——(连接CPU的WR或IOW)
  • D[7:0]:8 位双向数据线——(连接CPU数据总线)
  • RST(RES):复位线——(连接系统总线RESET)
  • D/I(DC):命令/数据标志(0,读写命令;1,读写数据)

这里通过接口芯片来对接口线传输的时序操作进行说明。

3、接口芯片(重点介绍SSD1306)

3.1、8255A接口芯片        

        Intel8255A是一种通用的可编程并行接口I/O接口芯片,又称为“可编程外设接口芯片”,可与CPU同外设连接,具有3个独立的8位并行输入/输出端口。

 关于8255A芯片的详细介绍大家可以去看微机原理的相关章节或者直接参考其手册。

3.2、ST 7920接口芯片

        ST 7920是经典的LCD12864液晶显示屏的控制芯片,5V驱动,带背光,内置128个字符(8x16)点阵显示RAM(GDRAM),外部CPU可以采用并行或者串行两种控制方式。这里只对并行控制进行简要说明。

3.3、SSD1306接口芯片

        SSD1306接口芯片是OLED(0.96寸)显示屏的控制芯片,芯片内部嵌入了对比度控制器、显示RAM(GRAM)和晶振,因此减少了外部器件和功耗,有256级亮度控制,三种接口可以选择:6800/8080并口,I2C和SPI接串口,这里只对8080并口进行介绍。

  • 结构框图 

  •  读写的过程
  • 先根据要写入/读取的数据的类型,设置 DC(D/I)为高(数据)/低(命令);
  • 拉低片选,选中 SSD1306,接着我们根据是读数据,还是要写数据置 RD/WR为低;
  • 在 RD 的上升沿, 使数据锁存到数据线(D[7:0])上;
  • 在 WR 的上升沿,使数据写入到 SSD1306 里面;
  •         在 8080 方式下读数据操作的时候,我们有时候(例如读显存的时候)需要一个假读命 (Dummy Read),以使得微控制器的操作频率和显存的操作频率相匹配。在读取真正的数据之 前,由一个的假读的过程。这里的假读,其实就是第一个读到的字节丢弃不要,从第二个开始,才是我们真正要读的数据。

           还有其他接口芯片,比如ILI9341,这里不进行介绍了,有兴趣的可以去查阅相关手册

    6800并行接口

    1、6800起源

            6800(“六八百”)是摩托罗拉于 1974 年设计并首次制造的8 位微处理器。MC6800 微处理器是 M6800 微机系统的一部分,该系统还包括串行和并行接口IC、RAM、ROM和其他支持筹码。一个重要的设计特点是,当大多数其他微处理器需要三个电压时,M6800 系列 IC 只需要一个 5 伏电源。M6800 微机系统于 1974 年 3 月发布,并于当年年底全面投产。

     维基百科:https://en.wikipedia.org/wiki/Motorola_6800

            由于8080和6800是同时期的产物,所以其接口差别并不是很大,只是接口线有略微的差别。

    2、6800接口线 

     RES、DB0~7、D/I、CS信号线与8080都一样,6800将WR、RD管脚变为了,E:允许信号(多片组合时,可有多条允许信号线),R/W读写控制(1:读,0:写)

    3、接口芯片

            上面的接口芯片有部分也支持6800接口方式,如SSD1603接口芯片,这里不做过多介绍,详细请参考其手册。        

    8080和6800接口的区别

    • 8080 是通过 “读使能(RE)” 和 “写使能(WE)” 两条控制线进行读写操作;
    • 6800 是通过 “总使能(E)” 和 “读写选择(W/R)” 两条控制线进行读写操作。

    以上是最明显的差异,当然还有一些小的差异等更多细节在配置的时候才会清楚。

    参考资料:

    通信教程 | 8080和6800通信接口的区别_strongerHuang的博客-CSDN博客

     第八章 并行通信和串行通信 - 百度文库

     SSD1306-OLED驱动芯片中文手册.pdf-全文可读

    8080并口总线驱动详解_LeeSincere521的博客-CSDN博客_8080并口 

    相关推荐

    相关文章