欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1042|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

BH45B1225驅(qū)動24位Delta-Sigma ADC

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:277903 發(fā)表于 2026-2-1 16:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
BH45B1225 是一款高性價比的 24 位 Delta-Sigma ADC,集成可編程增益放大器(PGA,1~128 倍)、12 位 DAC、溫度傳感器和多路輸入通道(4 路單端 / 2 路差分)。支持內(nèi)部 1.25V 基準(zhǔn)電壓,通過 I2C 接口配置,數(shù)據(jù)速率可調(diào)(5~1600Hz),適用于精密測量、傳感器采集、工業(yè)控制等場景。

開源地址:https://github.com/createskyblue/BH45B1225
論壇下載(不保證是最新的版本): BH45B1225-main.7z (3.22 MB, 下載次數(shù): 0)


移植
實現(xiàn) 3 個函數(shù):
  1. // 寫 - data 格式: [寄存器地址][數(shù)據(jù)...]
  2. int bh45b1225_i2c_write(uint8_t dev_addr, const uint8_t *data, uint16_t len) {
  3.     return HAL_I2C_Master_Transmit(&hi2c1, dev_addr, data, len, 1000);
  4. }

  5. // 讀
  6. int bh45b1225_i2c_read(uint8_t dev_addr, uint8_t reg, uint8_t *data, uint16_t len) {
  7.     if (HAL_I2C_Master_Transmit(&hi2c1, dev_addr, ®, 1, 1000) != HAL_OK) return -1;
  8.     return HAL_I2C_Master_Receive(&hi2c1, dev_addr, data, len, 1000);
  9. }

  10. // 延時
  11. void bh45b1225_delay_ms(uint32_t ms) {
  12.     HAL_Delay(ms);
  13. }
復(fù)制代碼

使用

  1. bh45b1225_dev_t sensor;

  2. // 初始化(8位地址,如 0xD0)
  3. bh45b1225_init(&sensor, 0xD0, bh45b1225_i2c_write, bh45b1225_i2c_read, bh45b1225_delay_ms);

  4. // 配置差分輸入 (AN0-AN1)
  5. bh45b1225_set_input_channel(&sensor, BH45B1225_IN1_AN0, BH45B1225_IN2_AN1);
  6. bh45b1225_reset_adc_filter(&sensor);
  7. bh45b1225_start_conversion(&sensor);

  8. // 讀取
  9. while (1) {
  10.     bool complete;
  11.     if (bh45b1225_check_eoc(&sensor, &complete) == 0 && complete) {
  12.         int32_t raw;
  13.         bh45b1225_read_data(&sensor, &raw);
  14.         bh45b1225_clear_eoc(&sensor);

  15.         float voltage = bh45b1225_code_to_voltage(raw, 1.241f, 1.0f);
  16.     }
  17. }
復(fù)制代碼
API基礎(chǔ)函數(shù)
函數(shù)
功能
bh45b1225_init()初始化設(shè)備
bh45b1225_set_vcm()使能/除能 VCM
bh45b1225_set_vref_source()設(shè)置 ADC 參考電壓源 (內(nèi)部/外部)
輸入與增益配置
函數(shù)
功能
bh45b1225_set_input_channel()配置輸入通道 (IN1/IN2)
bh45b1225_set_inx_polarity()通過 INX 位交換輸入極性
bh45b1225_set_pga_gain()設(shè)置 PGA 總增益 (1~128)
時鐘與振蕩器
函數(shù)
功能
bh45b1225_enable_hirc()使能 HIRC 內(nèi)部振蕩器
bh45b1225_check_hirc_stable()檢查 HIRC 振蕩器是否穩(wěn)定
ADC 配置
函數(shù)
功能
bh45b1225_set_data_rate()設(shè)置 ADC 輸出數(shù)據(jù)速率 (5~1600Hz)
bh45b1225_set_adc_mode()設(shè)置 ADC 工作模式 (正常/休眠/掉電)
bh45b1225_set_vref_buffer()使能/除能參考電壓緩存
ADC 操作
函數(shù)
功能
bh45b1225_reset_adc_filter()復(fù)位 ADC 濾波器
bh45b1225_set_data_latch()使能/除能數(shù)據(jù)鎖存
bh45b1225_start_conversion()啟動 ADC 轉(zhuǎn)換
bh45b1225_check_eoc()檢查轉(zhuǎn)換是否完成
bh45b1225_read_data()讀取 24 位 ADC 結(jié)果
bh45b1225_clear_eoc()清除 EOC 標(biāo)志
DAC 操作
函數(shù)
功能
bh45b1225_set_dac_enable()使能/除能 DAC
bh45b1225_set_dac_vref()設(shè)置 DAC 參考電壓源 (AVDD/VCM)
bh45b1225_set_dac_output()設(shè)置 DAC 輸出值 (12 位, 0-4095)
工具函
函數(shù)
功能
bh45b1225_code_to_voltage()將 ADC 碼轉(zhuǎn)換為電壓
高級配置(謹(jǐn)慎使用
函數(shù)
功能
bh45b1225_set_pwrc_opt()設(shè)置 PWRC 優(yōu)化位
bh45b1225_set_adcte()設(shè)置 ADC 測試配置寄存器
bh45b1225_set_filter_mode()設(shè)置 ADC 濾波器模式 (FLMS)
bh45b1225_set_osr()設(shè)置 ADC 過采樣率 (OSR)
bh45b1225_set_clock_div()設(shè)置 ADC 時鐘分頻





評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表