nb-k8体育


sx1208通信模式区别介绍
来源:利尔达科技 作者:利尔达 日期:2019-12-27 浏览量:1767

  sx1208的通信模式有两种:packet mode和continue mode,其中较为常用的模式为packet mode。


  字面理解


  ●packet为包模式,数据以一包一包的形式传输通信

  continue为连续模式,数据是连续不断的进行传输


  packet mode通信流程


  packet mode通信方式:

  1、将通信的数据存放进fifo中

  2、切换到发射模式,自动发射前导码、同步字和数据(和crc校验)

  3、接收模组在进入接收模式后,便自动检测前导码和同步字,验证正确后(可配置一定的容错率)便会将后续的数据存放进fifo。


  packet mode只需要先将数据填入fifo,切换至发送/接收模式后,便会自动发送/接收。接收完成后会产生相应的中断,便可从fifo中读取数据。

  continue mode通信流程


  在数据的处理上,continue mode不会经过fifo这个环节,发射端的模组会直接读取data引脚上的数据,然后按照时钟节拍将数据调制后发射出去。不同的是,continue是实时一位一位数据发射,而packet是整个数据先存放进fifo后再将它们一位一位发射出去。


  接收端continue mode下,数据不会存放进fifo中,但接收到的数据会按照时钟节拍表现在data引脚上,packet则是完整的接收完后,用户可从fifo中读取,continue则需要跟着时钟节拍一位一位去data引脚读取。


  dclk为continue mode的时钟节拍,每一次上升沿,模组便会将data引脚上的数据(0或1)调制发射出去,因此需要在时钟的下降沿中断产生时,变更data引脚的数据。由于该模式是一位一位实时发射,所以用户需要将数据一位一位地在下降沿中断输出到data引脚上去,直至全部数据都输出完毕。


  需要注意的是,该模式没有像packet一样有发射完成的标志,所以数据完成后,若不退出发射模式,模组会继续按照节拍将data上的数据发射出去。


  同样的道理,进入接收模式后,模组会自动解调信号并映射到data引脚上,在dclk的时钟下降沿时会更新数据,因此用户需要在时钟上升沿中断产生时去读取data引脚的数据。


  整个通信的数据内容皆由用户自行决定,因此发射端不会像packet一样会自动发送前导码和同步字等信息,用户可自定义同步条件,若不采用前导码和同步字的配置,在接收端需要时刻去读取data引脚的数据并对比是否正确。


  但若发射端先发射前导码信息和同步字信息(要与接收端寄存器配置一致),后发射数据,接收端便能产生前导码中断和同步字中断。这样再进行data引脚的数据采样,可以避免高频率的进中断读取data引脚进行数据同步。

  总结


  从二者的操作复杂度看,packet模式明显要简单的多,因此实际使用中更推荐。continue模式有更好的自定义通信状态的选择,但是需要严格的同步才能保证数据的准确性。用户可以根据需要选择相应的模式。


  相关产品:

  更多问题请咨询:林先生18067988136


  


现在就登录

物联网开发者社区

手机版

网站地图