可在I2C突发读取的DA1469x SNC?

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有的帖子和账号已经迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
6个帖子/ 0新
最后一篇
seof2000
离线
最后见到:6个月1天前
加入:2019年11月6日06:41
可在I2C突发读取的DA1469x SNC?

你好
我想读通过SNC在DA1469x +传感器环境传感器信息。

通过SNC读2个字节是成功的。
然而,读取传感器的FIFO时,它似乎并不正确读取。
(当读取一次,它试图从最小56个字节读出到最大2800个字节)

看着用示波器波形,看来传感器侧在发送FIFO数据到da1469x。

可在I2C突发读取的DA1469x SNC?
是否有SNC在I2C通信的任何限制?
是否有任何SNC I2C突发读取的例子吗?

我使用SDK_10.0.10.118

请告诉我。

谢谢。

设备:
PM_DIALOG.
离线
最后见到:1天2小时前
工作人员
加入:2018-02-08 11:03
嗨seof2000,

嗨seof2000,

谢谢你的问题在线。能否请您查看我们的DA1469x I2C模板传感器节点控制器从DA1469x支持网站SW实例?你按照这个教程?

有在da1469x_snc_i2c_template_sample_code \ DOC路径的自述文件。

关于突发读取,让我检查一下。

谢谢,PM_DIALOG.

seof2000
离线
最后见到:6个月1天前
加入:2019年11月6日06:41

我是参照教程写的。

读取通过SNC的I2C传感器的芯片ID,我已验证我使用SNC_i2c_write()和SNC_i2c_read()读取芯片ID。

但是,从传感器读取FIFO数据时,它仅读出错误的值。当FIFO数据从示波器读取,它看起来像被从传感器传输的数据。

另外,在其中不使用SNC的模式,有效的值是由读取传感器读取的FIFO通过I2C通信数据。

附上与传感器进行通信时当前使用代码的I2C格式和部分。
请让我知道,如果有什么不妥。

/ **************************************************************************** /
_SNC_RETAINED static uint32_t cmd_arry[5] = {0};
_SNC_RETAINED静态uint32_t的* p_cmd_arry =&cmd_arry [0];

_SNC_RETAINED静态uint32_t的snc_rxbuf [10] = {0};
_SNC_RETAINED静态uint32_t的* snc_p_rxbuf =&snc_rxbuf [0];

_SNC_RETAINED静态uint32_t的snc_fifo [2048] = {0};
_SNC_RETAINED静态uint32_t的* snc_p_fifo =&snc_fifo [0];

......

空隙init_snc(无效)
{
......
cfg.pdc_evt_pr = AD_SNC_PDC_EVT_PR_0;
cfg.ucode_pr = AD_SNC_UCODE_PR_1;
cfg.cb = _snc_read_cb;

cfg.pdc_entry = HW_PDC_LUT_ENTRY_VAL(HW_PDC_TRIG_SELECT_MASTER,HW_PDC_PERIPH_TRIG_ID_MASTERONLY,
HW_PDC_MASTER_SNC,
HW_PDC_LUT_ENTRY_EN_XTAL |HW_PDC_LUT_ENTRY_EN_COM |
HW_PDC_LUT_ENTRY_EN_PER | HW_PDC_LUT_ENTRY_EN_TMR);

ucode_ctx = SNC_UCODE_CTX (ucode_snc_collect_samples);
ucode_snc_init();
ucode_id = ad_snc_ucode_register(CFG,ucode_ctx);
ad_snc_ucode_enable(ucode_id);

ad_snc_pdc_set_pending(snc_ucode_id);
}

SNC_UCODE_BLOCK_DEF(ucode_snc_collect_samples){
......

来自传感器/ *读芯片ID * /
/* write addr, idexs */
SENIS_assign(DA(&p_cmd_arry),cmd_arry [0]);
SNC_i2c_open(I2C_DEV);
SENIS_assign(DA(cmd_arry [0]),0×41);
SENIS_assign(DA(cmd_arry&[1]),0×00);
SENIS_assign (da (&cmd_arry [2]), 0 xff);
SNC_MUTEX_LOCK (&snc_mutex);
SNC_i2c_write(I2C_DEV,IA(&p_cmd_arry),3,SNC_HW_I2C_FLAG_ADD_STOP);
SNC_MUTEX_UNLOCK(&snc_mutex);
SNC_i2c_close (I2C_DEV);
SENIS_del_ms(wait_delay);

/ *读芯片ID * /
SENIS_assign(DA(&snc_p_rxbuf),snc_rxbuf [0]);
SNC_i2c_open(I2C_DEV);
SNC_MUTEX_LOCK (&snc_mutex);
SNC_i2c_read(I2C_DEV,IA(&snc_p_rxbuf),2,SNC_HW_I2C_FLAG_ADD_STOP);
SNC_MUTEX_UNLOCK(&snc_mutex);
SNC_i2c_close (I2C_DEV);

......

/*从传感器读取fifo数据*/
/* write addr, idexs */
SENIS_assign(DA(&p_cmd_arry),cmd_arry [0]);
SNC_i2c_open(I2C_DEV);
SENIS_assign(DA(cmd_arry [0]),0×12);
SENIS_assign(DA(cmd_arry&[1]),0×01);
SNC_MUTEX_LOCK (&snc_mutex);
SNC_i2c_write(I2C_DEV,IA(&p_cmd_arry),2,SNC_HW_I2C_FLAG_ADD_STOP);
SNC_MUTEX_UNLOCK(&snc_mutex);
SNC_i2c_close (I2C_DEV);
SENIS_del_ms(wait_delay);

/ *读芯片ID * /
SENIS_assign(DA(&snc_p_fifo),snc_fifo [0]);
SNC_i2c_open(I2C_DEV);
SNC_MUTEX_LOCK (&snc_mutex);
SNC_i2c_read(I2C_DEV, ia(&snc_p_fifo), da(&len), SNC_HW_I2C_FLAG_ADD_STOP);// len == 56 ~2700
SNC_MUTEX_UNLOCK(&snc_mutex);
SNC_i2c_close (I2C_DEV);

......
}

/ *获取RX,从FIFO数据SNC * /
Void get_snc_data(uint32_t * rxbuf, uint32_t * fifo)
{
snc_mutex_SNC_lock(&snc_mutex);
的memcpy(RXBUF,snc_rxbuf,的sizeof(snc_rxbuf));
的memcpy(FIFO,snc_fifo,的sizeof(uint32_t的)* LEN);// LEN == 56〜2700
snc_mutex_SNC_unlock(&snc_mutex);
}
/ **************************************************************************** /

谢谢。

附件:
seof2000
离线
最后见到:6个月1天前
加入:2019年11月6日06:41

此外,可在I2C点射DA1469x SNC写?

请告诉我。

谢谢。

PM_DIALOG.
离线
最后见到:1天2小时前
工作人员
加入:2018-02-08 11:03
嗨seof2000,

嗨seof2000,

让我检查一下,我会回来给你。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后见到:1天2小时前
工作人员
加入:2018-02-08 11:03
嗨apdobaj

嗨seof2000,

感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请在https://www.dialog-seminile.com/support.

我们将修复bug /优化搜索和标记在未来的日子里。

这张票已经被移植于://www.wsdof.com/雷电竞官网登录products/bluetooth-low-energy?post_id=11443#tab-support_tab_content

对于延迟道歉 - 我的新论坛线程上尽快升级您的内部问题,并为您作出回复。

谢谢,PM_DIALOG.