fsr压力传感器spi通信

海潮机械 2023-03-12 05:06 编辑:admin 174阅读

一、spi通讯为什么需要隔离?

Spi通信需要隔离的原因如下,Spi是串行外围设备,接口是一种高速的,全双工的同步的通信总线,由于其在芯片的管脚只占用四根线,节约了芯片的管脚,同时为pcb的布局上节省空间提供了方便,出于这种简单易用的特性,许多ad转换器都以spi总线方式传输数据,在工业现场的数据采集中,由于现场情况十分复杂,各个节点之间存在很高的共模电压,容易造成spi接口无法正常工作,严重时甚至会烧毁芯片和仪器设备,因此在强干扰环境中或是高的性能要求下,就必须对spi总线各个通信节点实行电气隔离。

二、spi总线工作原理?

SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一

种同步串行接口技术,是一种高速的,全双工,同步的通信总线。

SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多

个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共

有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。

三、fsr压力传感器原理介绍?

fsr压力传感器原理:

1

先将FSR力传感器与Arduino板相连接,A0口为模拟信号输入口,其中的电阻为10千欧,但本实验中为了得到不同电阻所得到的不同压力值,将100千欧,30千欧,3千欧的电阻也连接在此电阻的地方

2

然后将Arduino板与电脑的端口相连,并且打开Arduino IDE编程器,输入以下代码读取力传感器的值:

3

点击“工具”-->"串口监视器",按压FSR传感器表面,便可以查看传感器数值

4

然后找一个电子秤,将不同的重物放到上面测出质量并且记录,本人在实验中将每个重物控制在200克叠加(即:第一个重物为200克,第二个重物为400克,第三个为600克,以此类推,一直加到10千克),方便实验。

5

每个重物的质量被记录后,将每个重物放到FSR传感器表面,等稳定后,记录传感器的压力值并记录,便可以知道FSR传感器与牛顿力值之间的关系:

以下便是本人测的10千欧电阻时,200克到10kg的传感器对应值,供大家参考和使用:

(因为此压力传感器有一定的误差,所以测的值都是一个个的范围)

6

以下是本人测的100千欧电阻时,200克到10kg的传感器对应值,供大家参考和使用:

(因为100千欧所得到值非常不明显,所以中间相同结果的值省略掉了)

7

以下是本人测的30千欧电阻时,200克到10kg的传感器对应值,供大家参考和使用

8

以下是本人测的3千欧电阻时,200克到10kg的传感器对应值,供大家参考和使用:

注意事项

因为此压力传感器有一定的误差,所以测的值都是一个个的范围

因为FSR传感器的值一直在变换,为了让实验的变量相等,本人取的压力值是15到20秒时的FSR传感器数据值

四、SPI总线的通讯协议是什么?

SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。

(1)SDO – 主设备数据输出,从设备数据输入

(2)SDI – 主设备数据输入,从设备数据输出

(3)SCLK – 时钟信号,由主设备产生

(4)CS – 从设备使能信号,由主设备控制

其中CS是控制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。

接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的原因,由SCK提供时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过 SDO线,数据在时钟上升沿或下降沿时改变,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也使用同样原理。这样,在至少8次时钟信号的改变(上沿和下沿为一次),就可以完成8位数据的传输。

要注意的是,SCK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。

在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。

最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。

AT91RM9200的SPI接口主要由4个引脚构成:SPICLK、MOSI、MISO及 /SS,其中SPICLK是整个SPI总线的公用时钟,MOSI、MISO作为主机,从机的输入输出的标志,MOSI是主机的输出,从机的输入,MISO 是主机的输入,从机的输出。/SS是从机的标志管脚,在互相通信的两个SPI总线的器件,/SS管脚的电平低的是从机,相反/SS管脚的电平高的是主机。在一个SPI通信系统中,必须有主机。SPI总线可以配置成单主单从,单主多从,互为主从。

SPI的片选可以扩充选择16个外设,这时PCS输出=NPCS,说NPCS0~3接4-16译码器,这个译码器是需要外接4-16译码器,译码器的输入为NPCS0~3,输出用于16个外设的选择。

二 SPI协议举例

SPI是一个环形总线结构,由ss(cs)、sck、sdi、sdo构成,其时序其实很简单,主要是在sck的控制下,两个双向移位寄存器进行数据交换。

假设下面的8位寄存器装的是待发送的数据10101010,上升沿发送、下降沿接收、高位先发送。

那么第一个上升沿来的时候 数据将会是sdo=1;寄存器=0101010x。下降沿到来的时候,sdi上的电平将所存到寄存器中去,那么这时寄存器=0101010sdi,这样在 8个时钟脉冲以后,两个寄存器的内容互相交换一次。这样就完成里一个spi时序。I2C总线  I2C(Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。

  1 I2C总线特点

  I2C总线最主要的优点是其简单性和有效性。由于接口直接在组件之上,因此I2C总线占用的空间非常小,减少了电路板的空间和芯片管脚的数量,降低了互联成本。总线的长度可高达25英尺,并且能够以10Kbps的最大传输速率支持40个组件。I2C总线的另一个优点是,它支持多主控(multimastering), 其中任何能够进行发送和接收的设备都可以成为主总线。一个主控能够控制信号的传输和时钟频率。当然,在任何时间点上只能有一个主控。

  2 I2C总线工作原理

  2.1 总线的构成及信号类型

  I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbps。各种被控制电路均并联在这条总线上,但就像电话机一样只有拨通各自的号码才能工作,所以每个电路和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接的每一模块电路既是主控器(或被控器),又是发送器(或接收器),这取决于它所要完成的功能。CPU发出的控制信号分为地址码和控制量两部分,地址码用来选址,即接通需要控制的电路,确定控制的种类;控制量决定该调整的类别(如对比度、亮度等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上,却彼此独立,互不相关。

  I2C总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。

  开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。

  结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。

  应答信号:接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。

五、压力传感器中的输出类型I²C、SPI,引脚SDA、SCL、MISO、SCLK、NC、SS各是什么意思?

I²C、SPI为通信中数据传输协议,即通信协议。

I²C通信中使用两个信号线SDA、SCL,分别为数据线和时钟线。

SPI通信中使用4根信号线MISI、MISO、SCLK、SS,分别为数据输入、数据输出、时钟和使能端,NC表示空脚。

六、spi通信的传输距离?

SPI通信在远距离传输中很少用到,主要因为其抗干扰能力差,可靠传输距离只有1—3m。

SPI采用的是单端非平衡的传输方式,即传输的数据位的电压电平是以公共地作为参考的.在这种传输方式中,对于已进入信号中的干扰是无法消除和减弱的.而信号在传输过程中总会受到干扰,而且距离越长干扰越严重,以致于信号传输产生错误.在这种条件下,信号传输就变得毫无意义了。