如何同步多個(gè)數(shù)字加速度計(jì),同步的方法有哪些?
問題描述:
當(dāng)使用多個(gè)模擬加速度計(jì)時(shí),通過同步ADC很容易同步輸出。但是當(dāng)我們有多個(gè)數(shù)字加速度計(jì)時(shí),我們?nèi)绾瓮竭@些輸出,以確保所有響應(yīng)都針對(duì)相同的脈沖時(shí)間?問題來自這樣一個(gè)事實(shí),即不可能向他們發(fā)送同時(shí)啟動(dòng)它們的沖動(dòng)......我發(fā)現(xiàn)沒有符合我需求的具有這種容量的數(shù)字加速度計(jì)。你有什么技巧可以做到這一點(diǎn)嗎?
問題回答:
使用3*ADXL372加速度計(jì)。同步所有3個(gè)加速度計(jì)很重要。為了實(shí)現(xiàn)這一點(diǎn),一直專注于使用EXT_SYNC功能。也在努力節(jié)省電量,因此一直使用FIFO來緩沖68個(gè)XYZ樣本,并使用來自加速度計(jì)之一的INT FULL信號(hào)作為CPU觸發(fā)器來讀取64個(gè)樣本(確保在FIFO中保留一些樣本作為數(shù)據(jù)表建議)。
已經(jīng)將來自3個(gè)加速度計(jì)的CS信號(hào)連接到同一個(gè)CPU端口,因此當(dāng)向它們發(fā)送初始化命令時(shí),所有3條線可以完全同時(shí)切換。
發(fā)現(xiàn)的第一個(gè)問題是每個(gè)加速度計(jì)會(huì)在不同時(shí)間開始緩沖到其FIFO。
INT0被路由到CPU,INT1和INT2只是在邏輯分析儀上監(jiān)控。這是測(cè)量開始后的第一次觸發(fā)。如您所見,每個(gè)ADXL372在不同時(shí)間發(fā)出FIFO_FULL信號(hào)。在左側(cè)跟蹤中,F(xiàn)ILTER_SETTLING時(shí)間為370毫秒,但在右側(cè)跟蹤中為10毫秒。所以正確的軌跡要好得多,但仍然不完美。
的解決方案是這樣做:
·初始化(FIFO模式、INT源等)。將FIFO閾值設(shè)置為3*32個(gè)樣本。
·開始采樣并等待INT
·在INT上,停止EXT_SYNC時(shí)鐘
·對(duì)于每個(gè)芯片,讀取FIFO中的樣本數(shù)并讀出除最后一個(gè)樣本三元組之外的所有樣本(因此每個(gè)FIFO中還剩下一個(gè)XYZ三元組)
·將FIFO閾值調(diào)整為最多3*68個(gè)樣本并恢復(fù)EXT_SYNC時(shí)鐘