一种单线程远程网络控制SPI的实现
扫描二维码
随时随地手机看文章
许多的1 - Wire 兼容的外围设备可用,但对于那些缺乏的1 - Wire能力,图1所示电路一种方法可以实现它。显示的例子允许远程LED显示屏是由1线通过SPI兼容的显示控制器的网络控制。
SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR.外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。
SPI接口的全称是“Serial Peripheral Interface”,意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。 SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps.
图1.三个1线开关(IC1的- IC3的),三异或门(IC4的),以及相关的组件使1 - Wire网络来控制这种通过SPI外设IC5显示。
生产出的3线SPI接口由MAX7221显示控制器(低电平有效CS,DIN和CLK)的要求,1 - Wire网络地址连续三个1线开关(DS2413的)。第一个开关直接创建片选(低电平有效CS),第二个创建串行数据线直接(标准),而第三个开关与三异或门的帮助,创造了串行时钟(CLK)。
边缘检测器和一杆(IC4A - C)的结合IC2的(DATA1和资料0)的输出创造一个SPI接口的时钟信号。这种一次性时钟产生电路提高了,只需要一个1线每SPI位交易数据速率,而不是三项交易(数据,时钟低,时钟的高),将被要求如果IC2输出被用来直接作为时钟信号。
要传送数据到SPI输入,首先设置IC1的低产出。然后,传送的数据位使用以下规则:
如果目前的数据位从以前位不同,设置IC2的DATA1数据输出相应。
如果目前的数据位是一样的前一位,拨动IC3的的资料0输出相同。
该电路产生时钟脉冲,每次自动执行,并且只需要一个1 - Wire总线命令发送每个数据位。当数据传输完成后,发送一个最终的1 - Wire命令来设置IC1的输出为高。
该电路允许1 - Wire网络远程控制温度显示,但类似技术可以提供一个接口,通过I 2 C兼容的设备,以及其他的SPI ADC和DAC等外围设备。您还可以通过使用额外的DS2413的生产输出(S)的双向数据传输能力。请注意,SPI数据速率不是很快,和对周边的更新比较慢,但速度并不是很多远程监控应用的问题。