在实际应用中用到的很多带并行总线的芯片的硬件连接、读写操作都分为INTERL BUS和MOTOROLA BUS(某些文献上又叫INTERL 模式和MOTOROLA 模式)这可以在相应的芯片手册上看到,比如说MAXIM的DS12887,PHILPS的SJA1000等器件。
那么究竟什么是INTERL BUS和MOTOROLA BUS?二者又有什么区别呢?
INTERL BUS和MOTOROLA BUS实际是指微控制器外部的控制总线(配合地址、数据总线完成总线操作)主要是针对于外部的存储器或者带多个寄存器的IO设备的。其区别来源于INTERL和MOTOROLA 两家公司生产的处理器结构不同,最为典型的像在早期的PC系列处理器如INTERL的8086和MOTOROLA的MC6800以及后来的单片机系列如INTEL的8031和MOTOROLA的68HC11中皆可以看到。
通常INTERL BUS的典型组成是:
/RD:读外部设备,低电平有效
/WR:写外部设备,低电平有效
ALE:Address Lock Eable,地址锁存(下降沿有效,部分地址数据复用器件才有)
/CS:Chip-Select器件选择(片选)
ADD:地址总线
DATA:数据总线
典型控制器:
MOTOROLA BUS的典型组成是:
:Read/Write,高电平读外部设备,低电平写外部设备
AS(或VMA,/AS):Address Strobe/Valid Memory Address,地址脉冲输入(下降沿/高电平有效,部分地址数据复用器件才有)
/CS:Chip-Select,器件选择(片选)
ADD:地址总线
DATA:数据总线
典型控制器:
由此可见INTERL BUS和MOTOROLA BUS的区别是:INTERL BUS使用两根引脚的低电平信号(二者互斥)来指明读写操作,而MOTOROLA BUS则使用一根引脚高低电平来指明读写操作,二者对于地址的锁存是类似但相关引脚命名不一样。因而在使用这些器件时要注意硬件和软件上的匹配。
以下为DS12887的两种总线模式读写时序图:
MOTOROLA BUS读/写时序:
INTEL BUS写时序:
INTEL BUS读时序:
文章评论(0条评论)
登录后参与讨论