想知道通常所说的三总线即地址、数据、控制总线在arm上都是哪些接口?
1、而通过arm去控制外设,比如aic31,控制是i2c,数据是什么呢?(通常)地址总线又是什么呢?
2、arm上一般都有哪些总线接口?(可以指定具体型号)
------解决方案--------------------
数据和地址总线一般是一起出现的,以便于操作外部的可并行读写数据的总线设备,常见的Flash,硬盘,网卡芯片等。
控制总线其实一般指内部的,而常说的I2C,SPI之类的叫控制接口,一般不称为“控制总线”,不过这是种叫法,没有绝对的。
ARM7一般不进行数据地址总线扩展,只有少数的有,NXP的LPC系列,ST的STR7系列,Atmel的AT91ASM,都只有一款可以扩展外部SRAM和NOR FLASH。而Samsung的s3c44B0,比较特殊,可以扩展SDRAM和NAND。
ARM9一般都是有数据地址总线扩展的,可以操作外部RAM,SDRAM,DDR SDRAM甚至DDR2 SDRAM,及NOR、NAND FLASH,CF Card,硬盘等。
控制接口,
I2C,有SCL,SDA两根信号线,SCL由主(HOST)产生控制时序,从(Device)地址、读、写命令、数据都从SDA线上产生。
SPI有三根信号线:CLK MISO MOSI,CLK是主(Master)产生的控制时序,主发出的控制命令、写出的数据在MOSI(主出从入)线上产生,主希望读取的数据在MISO(主入从出)上产生。
1-Wire,单线接口(Maxim专利),最最容易见到的是DS18B20,3-pin温度检测芯片。按照严格的时序,在1根信号线上进行读写控制、数据传输。
至于串口,USB这些更通用的就不多说了。
控制接口是没有地址、数据总线的说法的,这三者不同。
------解决方案--------------------
ARM本身的总线是AHB和APB这样的总线,通常并不会扩展到片外来。扩展到片外的总线都是片内增加的桥,包括SDRAM控制器、静态存储控制器等等。I2C也属于桥扩展出来的。
------解决方案--------------------
桥就是一个逻辑器件,将一种总线转换成另外一种总线的协议。就相当于PC的南桥和北桥把高速的处理器总线转换成慢速的外设总线一个道理