提到接口,可能多数人会想到手机的充电口和电脑的USB口等能插线的东西,但是在电子设备内部还有一种更关键的隐形接口
那就是SPI串行外设接口。它是不用插任何线路的,但是它能在手机、智能手表、路由器等设备中的芯片之间快速传递数据
SPI到底是什么,有什么作用?
Serial Peripheral Interface
中文翻译过来就是串行外设接口,能在芯片之间传输数据
比如让心率传感器把数据传给手表处理器,让处理器把画面数据传给手机屏幕等
为什么设备离不开它?
这里用智能手表举例子吧,把它内部想象成一个小型工厂。CPU处理器是厂长,心率传感器是检测车间,屏幕是显示车间
而SPI就是各大车间之间的传送带,只在工厂内部运转,负责把各大区域需要的东西快速送达到对应的地方,而且从来不会休息
工作流程
比如你用手表测心率的时候整个过程就全靠它跑腿
心率传感器先检测出你的心跳数据,然后通过SPI把数据送给处理器,让它计算是否正常
处理器再通过它把计算结果传到屏幕上给你看见
它有四个部分组成
SCLK:是指时钟线,就是一种节拍器,设备通过这根线发送同步信号,告诉各部门按设定好的节奏传输数据,避免出现错误
MISO:是指主收从发线,负责从设备向主设备传输数据。比如心率传感器什么时候开始工作,就是通过它传输指令
MOSI:是指主发从收线,比如监控摄像头拍摄到的画面,确保数据无误后通过这根线传给路由器,然后再发送到你的手机上
SS:是指片选线,相当于筛选器。比如设备里有心率和温度两个传感器,那么如果想找其中一个干活,就得拉低对应的SS线,剩下的传感器就会暂时待命
它的优缺点是什么
优点
专做短距离和高速传输,适合屏幕和传感器这类要实时响应的场景
抗干扰比较强,数据传错的概率很低,在路由器和工业设备这些电磁干扰多的环境里也能稳定工作
缺点
只能在设备的内部短距离传输,实际使用起来的效果也就几厘米。没法像USB那样灵活的连接外部配件和大范围
而且容易冲突,比如设备里有两个CPU,可能就会相互冲突,抢夺控制权,得增加额外电路才能解决此问题