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


