關鍵詞:LDC1314,電感傳感器,金屬傳感器,中文手冊
【聲明:本博文參考TI官方手冊翻譯而成,旨在幫助大家快速瞭解這款芯片,如翻譯有誤歡迎評論指出,轉載需註明來源!】
以下是我對TI官方手冊的人肉翻譯,截取了其中的關鍵部分,有助於大家更好的擼底層驅動和排查硬件問題。
相關博客:【LDC1314】金屬傳感器(電感傳感器)的調試技巧
首先,是引腳位的定義與說明:
引腳 | 引腳類型 | 描述 | |
腳位 | 名稱 | ||
1 | SCL | 輸入 | IIC時鐘輸入;開漏輸出;需要電阻上拉到邏輯高電平 |
2 | SDA | 輸入/輸出 | IIC數據輸入輸出;開漏輸出;需要電阻上拉到邏輯高電平 |
3 | CLKIN | 輸入 | 外部參考時鐘輸入,如果使用芯片內部振盪器則連接到GND |
4 | ADDR | 輸入 | IIC地址選擇端;當輸入低電平則IIC地址爲0x2A;當輸入高電平則IIC地址爲0x2B;此輸入端不可懸空 |
5 | INTB | 輸出 | 可配置中斷輸出引腳;推輓輸出;無需上拉 |
6 | SD | 輸入 | 強休眠(Shutdown)輸入腳;低電平時爲一般工作狀態,高電平時進入休眠狀態;此輸入端不可懸空 |
7 | VDD | 正電源 | 正極電源(+3.3V) |
8 | GND | 負電源 | 地電位 |
9 | IN0A | 模擬 | 外部LC傳感器0 |
10 | IN0B | 模擬 | 外部LC傳感器0 |
11 | IN1A | 模擬 | 外部LC傳感器1 |
12 | IN1B | 模擬 | 外部LC傳感器1 |
13 | IN2A | 模擬 | 外部LC傳感器2 |
14 | IN2B | 模擬 | 外部LC傳感器2 |
15 | IN3A | 模擬 | 外部LC傳感器3 |
16 | IN3B | 模擬 | 外部LC傳感器3 |
17 | DAP | 固定 | 連接到地電位 |
供電部分
- 正常情況在+3.3V下工作;
- 典型工作電流 2.1mA;
- 休眠(SLEEP_MODE_EN=b1)模式最大 60uA;
- 強休眠(SD = Vdd)最大 1uA
傳感器部分
- 傳感器最大電流驅動 1.5mA(HIGH_CURRENT_DRV = 0)
- 傳感器電阻Rp = 1~100kΩ
- 高電流驅動模式(僅限通道0)最大電流 6mA(HIGH_CURRENT_DRV = 1 )
- 傳感器諧振頻率1KHz~10MHz
- 最大振幅1.8V
- 最高精度12bit
- 最大採樣率(單通道持續轉換,IIC時鐘頻率@400kHz)爲13.3ksps
- 傳感器引腳輸入電容約爲4pF
數字信號引腳部分
- INTB引腳低電平≤0.4V
- INTB引腳高電平≥2.4V
I2C通訊部分(節選)
- 時鐘頻率10kHz~400kHz
綜述
LDC1314是一種電感-數字轉換器(LDC),用於測量多個LC諧振器的諧振頻率。該裝置輸出與頻率成比例的數字值,有12位精度,測得的頻率可以換算成等效電感值,或者用來測量可導電物體的運動,內部時鐘可以減少系統功耗,外接時鐘可以改善測量噪聲,每個通道的測量轉換時都可以設置,長轉換時間可以提供更高的測量精度。對器件的配置通過 400 kbit/s 的 I2C總線配置,ADDR可選擇I2C地址,唯一必要的外部元件是旁路電容和I2C的上拉電阻。
功能塊示意圖
- 傳感器的諧振頻率爲ƒSENSOR,芯片的參考時鐘頻率爲ƒREF,測量得到的數字量 = K* (ƒSENSOR/ƒREF),K>0
- SD拉高可使芯片進入強休眠模式以降低功耗
- INTB可以被配置用來通知主機返回芯片的系統狀態改變
多通道和單通道
- LDC1314可以配置單通道持續採樣或者多通道序列採樣
- 當工作在多通道模式下,芯片會持續序列採樣被選中的多個通道;
- 當工作在單通道模式下,芯片會連續採樣被選中的通道。
可調節的轉換時間
- 轉換時間長則測量精度高,轉換時間可以設置爲3.2us~26.2ms(一個16位寄存器)
數字信號增益
- 輸出只有12位精度,但是內部信號支持通過增益設置產生16位輸出
- 傳感器啓動與故障配置
- 爲了最小化噪聲影響,傳感器開始測量應該確保在傳感器振幅穩定之後,芯片提供每個通道一個可調的的啓動時間(1.2us~26.2ms)通過 SETTLECOUNTx 寄存器
- 芯片提供一個內部濾波器,以減弱來自外部噪聲源的干擾
參考時鐘
- 芯片內部時鐘爲43MHz,如需高精度測量,請使用外部晶振
- 芯片提供數字分頻器給參考時鐘和傳感器輸入,確保頻率可以被LDC核接受,每個通道都有一個分頻器
- 更高的參考頻率提供更高的採樣精度和採樣率
傳感器電流驅動控制
- 傳感器線圈工作有損耗,需要芯片的能量注入來維持傳感器振幅恆定,芯片通過一個匹配LC振盪器頻率的交變電流提供能量
- 必須設置驅動電流大小以確保振幅在1.2V~1.8V
- 每個通道通過 IDRIVEx 寄存器可以獨立設置電流大小爲16uA~1.6mA
- 芯片也可以自主決定合適的電流等級,甚至動態的調節電流通過 RP_OVERRIDE_EN 功能
傳感器狀態監視器
- 芯片支持將傳感器狀態通過I2C接口傳出,傳出條件:
- 傳感器振幅超範圍
- 傳感器未起振
- 新轉換數據就緒
- 轉換出錯
設備功能模式
- 啓動模式
- 芯片上電,會進入休眠模式等待配置,一旦設備配置完成(設置CONFIG.SLEEP_MODE_EN = b0)將退出休眠開始轉換
- 推薦在休眠模式配置參數,配置完畢退出休眠模式
- 休眠模式
- 通過設置CONFIG.SLEEP_MODE_EN = b1 進入此模式
- 在此模式設備配置會保存,但不會開始轉換
- 設置完成後,設置CONFIG.SLEEP_MODE_EN = b0 進入工作模式,注意,第一次轉換在16384÷ƒINT(其實就是16384個轉換週期) 後開始
- 在休眠模式中讀寫寄存器均能生效,但在進入休眠模式時會清除所有轉換結果,錯誤情況,以及重新配置INTB引腳
- 一般模式
- 在此模式,芯片會按照設置重複採樣
- 強休眠模式
- SD = H 時,芯片進入強休眠模式,這是最低功耗狀態
- SD = H->L時,芯片退出強休眠模式,進入休眠模式,並將所有寄存器恢復默認值
- 允許在此模式修改ADDR引腳
- 復位
- RESET_DEV.RESET_DEV = b1 時設備復位,轉換立即停止,所有寄存器恢復默認,這個寄存器比特位永遠只會讀到0
- 編程
- 芯片通過I2C接口訪問和控制寄存器,推薦的配置過程是進入休眠模式,設置合適的寄存器值,再進入工作模式
- 轉換結果寄存器必須在工作模式讀取
寄存器地址
ADDRESS |
NAME |
DEFAULT VALUE |
DESCRIPTION |
0x00 |
DATA0 |
0x0000 |
Channel 0 Conversion Result and Error Status |
0x02 |
DATA1 |
0x0000 |
Channel 1 Conversion Result and Error Status |
0x04 |
DATA2 |
0x0000 |
Channel 2 Conversion Result and Error Status (LDC1314 only) |
0x06 |
DATA3 |
0x0000 |
Channel 3 Conversion Result and Error Status (LDC1314 only) |
0x08 |
RCOUNT0 |
0x0080 |
Reference Count setting for Channel 0 |
0x09 |
RCOUNT1 |
0x0080 |
Reference Count setting for Channel 1 |
0x0A |
RCOUNT2 |
0x0080 |
Reference Count setting for Channel 2. (LDC1314 only) |
0x0B |
RCOUNT3 |
0x0080 |
Reference Count setting for Channel 3.(LDC1314 only) |
0x0C |
OFFSET0 |
0x0000 |
Offset value for Channel 0 |
0x0D |
OFFSET1 |
0x0000 |
Offset value for Channel 1 |
0x0E |
OFFSET2 |
0x0000 |
Offset value for Channel 2 (LDC1314 only) |
0x0F |
OFFSET3 |
0x0000 |
Offset value for Channel 3 (LDC1314 only) |
0x10 |
SETTLECOUNT0 |
0x0000 |
Channel 0 Settling Reference Count |
0x11 |
SETTLECOUNT1 |
0x0000r_ |
Channel 1 Settling Reference Count |
0x12 |
SETTLECOUNT2 |
0x0000 |
Channel 2 Settling Reference Count (LDC1314 only) |
0x13 |
SETTLECOUNT3 |
0x0000 |
Channel 3 Settling Reference Count (LDC1314 only) |
0x14 |
CLOCK_DIVIDERS0 |
0x0000 |
Reference and Sensor Divider settings for Channel 0 |
0x15 |
CLOCK_DIVIDERS1 |
0x0000 |
Reference and Sensor Divider settings for Channel 1 |
0x16 |
CLOCK_DIVIDERS2 |
0x0000 |
Reference and Sensor Divider settings for Channel 2 (LDC1314 only) |
0x17 |
CLOCK_DIVIDERS3 |
0x0000 |
Reference and Sensor Divider settings for Channel 3 (LDC1314 only) |
0x18 |
STATUS |
0x0000 |
Device Status Report |
0x19 |
ERROR_CONFIG |
0x0000 |
Error Reporting Configuration |
0x1A |
CONFIG |
0x2801 |
Conversion Configuration |
0x1B |
MUX_CONFIG |
0x020F |
Channel Multiplexing Configuration |
0x1C |
RESET_DEV |
0x0000 |
Reset Device |
0x1E |
DRIVE_CURRENT0 |
0x0000 |
Channel 0 sensor current drive configuration |
0x1F |
DRIVE_CURRENT1 |
0x0000 |
Channel 1 sensor current drive configuration |
0x20 |
DRIVE_CURRENT2 |
0x0000 |
Channel 2 sensor current drive configuration (LDC1314 only) |
0x21 |
DRIVE_CURRENT3 |
0x0000 |
Channel 3 sensor current drive configuration (LDC1314 only) |
0x7E |
MANUFACTURER_ID |
0x5449 |
Manufacturer ID |
0x7F |
DEVICE_ID |
0x3054 |
Device ID |
應用與實施
時變電磁場中的導體
交變電流流過感應器(及線圈,之後都稱之爲線圈)將產生一個交變磁場,如果一個導體材料,例如一塊金屬物體,被放入線圈附近,磁場會在金屬物體表面引發渦流(環形電流)。
渦流的大小是導體距離、尺寸和材料成分的函數。渦流會產生自己的磁場,與傳感器線圈形成的原磁場相反,這種效果相當於一組變壓器(耦合電感器),其中傳感器線圈是初級繞組,物體上的渦流形成次級繞組。電感器之間的耦合是線圈感值,以及金屬物體的電阻率、距離、大小和形狀的函數。
二次繞組的阻抗可建模爲與距離相關的模型並等效到一次側(線圈)上
振盪器可以看做一個頻率選擇電路和一個閉環增益模塊的組合,只要滿足:(1)增益>1;(2)閉環相移爲2π
諧振頻率
其中
Rp是工作頻率下LC諧振器的交流並聯電阻。
傳感器激活過程
- 芯片提供兩種選擇,減少等幅震盪建立時間或減少電流以降低功耗
- SENSOR_ACTIVATE_SEL =b0 使用最大電流激發振盪,在已經配置最大電流時(IDRIVEx = b11111)沒有變化