以高整合度混合信號單片機實現橋式Force Sensor應用設計
主要組件介紹
本文引用地址:http://www.j9360.com/article/201603/287847.htm(1) HY16F184 : 數據處理與運算核心,主要負責執行運算四個Force sensor的掃描數據,并且透過I2C通訊做ADC Raw Data數據輸出。
(2) ADC:HY16F184內建之模擬數字轉換器,將Force sensor所測得的電壓訊號,做模擬數字電壓訊號轉換。
(3) HDK Force Sensor :壓力傳感器,負責偵測壓力大小,并且將壓力轉換為電壓訊號。
3.2. 軟件說明
程序流程圖 :
圖7 Force sensor掃描流程圖
4. 數據規格與總結
4.1. ADC Output Rate測量
在本文中,信道掃描的方式為每一個信道都掃描四次再取平均值,所以四個信道總共會需要掃描16次,在CPU頻率設定為2MHz與ADC OSR設定為128的情況下(即ADC的數據輸出率為2560sps),每次從CH1到CH4的掃描時間總共需要花費10ms,換算頻率約為100Hz。在此條件下,如果要提升ADC的掃瞄速度,可選擇提升ADC OSR設置,但是這可能會損失了分辨率,如果選擇提升了CPU的工作頻率,也可能會造成整體消耗功率過大,在此情況下,本文建議可使用移動平均法來做數據的平均與計算,使用此方式做掃描,可以在不提升CPU功耗與ADC頻率的情況下,滿足每個通道也為取四筆值取平均的條件,把ADC Output Rate速度從100Hz提升到192Hz。移動平均法的方法為,只有第一次掃描四信道的ADC Raw Data需要完整的掃描16次,之后各個信道的掃描只需要做一次掃描,再與前面三筆舊的數據做平均值計算,不斷的遞歸更新數據。
4.2. 耗電流測量
在CPU頻率設定為2MHz與ADC OSR設定為128的情況下,使用移動平均法可以得到的ADC Output Rate為192Hz,當CPU工作電壓VDD=3V, VDDA=2.4V時候,在此情況下所測得到的耗電流約1.142mA,此為VDDA不接上HDK Force Sensor負載電路時候耗電流,如果在VDDA接上HDK Force Sensor負載時候的耗電流約為1.568mA。
4.3. 最大承受力
在ADC Gain=8,PGA=1的情況下,可以滿足最大5kg秤重,使用者可以自行修改ADC的Gain值,以滿足不同的應用。
4.4. ADC Raw Data與I2C通訊格式說明
I2C Slave Address:0x20
I2C Command:0x80
ADC Raw Data Format: S+Addr+0x80+rS+(Addr+1)+CH1Data_L+CH1Data_M+CH1Data_H+CH2Data_L+CH2Data_M+CH2Data_H+CH3Data_L+CH3Data_M+CH3Data_H+CH4Data_L+CH4Data_M+CH4Data_H+P
S: Star; Addr: Slave address; rS: repeat start; P: stop.
CH1,CH2,CH3,CH4: Force Sensor ADC Raw Data;
L: ADC Low byte; M: ADC Middle byte; H: ADC High byte;
每個信道數據(Chx)共8*3=24bit
Bit0,統一為旗標,Bit0=0b,代表為舊資料; Bit0=1b,代表為新資料;
使用者應該在Bit0=1b時,取得數據才有效.
Bit23,統一為Sign bit,
Bit23=0b,代表正數; Bit23=1b, 代表負數
評論