BH1750FVI это микросхема датчика освещенности (Ambient Light Sensor) с интерфейсом I2C. Эта микросхема больше всего походит для подстройки подсветки LCD и клавиатуры мобильных устройств, таких как смартфоны. BH1750FVI может детектировать уровень света в широком диапазоне, с высокой точностью (1 .. 65535 lx).
Основные функциональные возможности:
1. Интерфейс шины I2C (с поддержкой режимов скоростей fast и standard). 2. Спектральная чувствительность аппроксимирована к глазу человека. 3. Преобразование освещенности в цифровое значение. 4. Широкий диапазон и высокая разрешающая способность (1 .. 65535 lx). 5. Низкий ток потребления благодаря наличию функции выключения (power down). 6. Функция подавления пульсаций света 50 Гц / 60 Гц. 7. Входной интерфейс с уровнями логики 1.8V. 8. Не требует внешних компонентов. 9. Низкая зависимость от типа источника света: лампа накаливания, флуоресцентная лампа, галогеновая лампа, белый светодиод (LED), солнечный свет. 10. Есть возможность выбрать один из 2 адресов на шине I2C. 11. Настройка результата измерения, учитывающая влияние оптического окна (с помощью этой функции можно определять уровень освещенности от минимума 0.11 lx до максимума 100000 lx). 12. Низкая погрешность измерения (+/-20%). 13. Инфракрасное излучение очень слабо влияет на результат.
Области применения: мобильные телефоны, LCD TV, ноутбуки, портативные игровые устройства, цифровые фото- и видеокамеры, PDA, LCD дисплеи.
Absolute Maximum Ratings (предельные максимальные значения)
Параметр
Символ
Значение
Ед.
Напряжение питания
Vmax
4.5
V
Диапазон рабочих температур
Topr
-40 .. +85
℃
Диапазон температур хранения
Tstg
-40 .. +100
Максимальный ток стока SDA
Imax
7
mA
Рассеиваемая мощность
Pd
2601
мВт
Примечание 1: стеклотекстолитовая плата размером 70 мм × 70 мм × 1.6 мм. Снижение номинальной мощности (derating) выполняется из расчёта 3.47 мВт/°C при работе выше Ta = 25 °C.
Рабочие условия
Параметр
Символ
min
Typ
MAX
Ед.
Напряжение Vcc
Vcc
2.4
3.0
3.6
V
Опорное напряжение I2C
VDVI
1.65
-
Vcc
Электрические характеристики (VCC = 3.0V, DVI = 3.0V, Ta = 25℃, если не указано что-то иное)
Параметр
Символ
min
Typ
MAX
Ед.
Условия
Ток потребления
Icc1
-
120
190
µA
Ev = 100 lx1
Ток режима выключено (Powerdown)
Icc2
-
0.01
1.0
Отсутствие входного света.
Пиковая длина волны
λp
-
560
-
nm
Точность измерения
S/A
0.96
1.2
1.44
раз
Sensor out / Actual lx EV = 1000 lx1,2
Вывод сенсора в темноте (0 lx)
S0
0
0
3
count
H-Resolution Mode3
Разрешающая способность H-Resolution Mode
rHR
-
1
-
lx
Разрешающая способность L-Resolution Mode
rLR
-
4
-
Время измерения H-Resolution Mode
tHR
-
120
180
мс
Время измерения L-Resolution Mode
tLR
-
16
24
Коэффициент выхода света ламп накаливания / флюоресцентных ламп
rIF
-
1
-
раз
EV = 1000 lx
Входной уровень 'H' ADDR
VAH
0.7 * VCC
-
-
V
Входной уровень 'L' ADDR
VAL
-
-
0.3 * VCC
Входной уровень 'L' DVI
VDVL
-
-
0.4
Входной уровень 1 'H' для SCL, SDA
VIH1
0.7 * DVI
-
-
DVI ≧ 1.8V
Входной уровень 2 'H' для SCL, SDA
VIH2
1.26
-
-
1.65V ≦ DVI <1.8V
Входной уровень 1 'L' для SCL, SDA
VIL1
-
-
0.3 * DVI
DVI ≧ 1.8V
Входной уровень 2 'L' для SCL, SDA
VIL2
-
-
DVI – 1.26
1.65V ≦ DVI <1.8V
Входной ток 'H' для SCL, SDA, ADDR
IIH
-
-
10
µA
Входной ток 'L' для SCL, SDA, ADDR
IIL
-
-
10
Частота тактов I2C SCL
fSCL
-
-
400
кГц
I2C Bus Free Time4
tBUF
1.3
-
-
мкс
I2C Hold Time (repeated) START Condition5
tHDSTA
0.6
-
-
I2C Set up time for a Repeated START Condition6
tSUSTA
0.6
-
-
I2C Set up time for a Repeated STOP Condition7
tSUSTD
0.6
-
-
Время удержания данных I2C
tHDDAT
0
-
0.9
Время установки данных I2C
tSUDAT
100
-
-
нс
I2C 'L' периода тактов SCL
tLOW
1.3
-
-
мкс
I2C 'H' периода тактов SCL
tHIGH
0.6
-
-
Выходной уровень 'L' I2C SDA
VOL
0
-
0.4
V
IOL = 3 mA
Примечания:
1. В качестве источник света использовался белый светодиод (White LED). 2. Точное измеренное типовое значение результата можно поменять с помощью функции подстройки результата измерения. 3. Используйте режим H-resolution mode или H-resolution mode2, если нужны данные измерений в темноте (менее 10 lx). 4. Минимальное время, в течение которого шина I²C должна оставаться свободной (неактивной) перед началом новой передачи данных. 5. Этот параметр определяет минимальное время удержания сигнала на линии данных (SDA) в низком уровне после формирования повторного старт-условия (repeated START condition), пока линия тактирования (SCL) находится в низком уровне, прежде чем будет подан первый тактовый импульс. 6. Этот параметр определяет минимальное время установки сигнала на линии данных (SDA) до формирования повторного старт-условия (repeated START condition). 7. Этот параметр определяет минимальное время, в течение которого линия SDA должна оставаться стабильной (в состоянии низкого уровня) до того, как будет сформировано STOP-условие.
Параметрические графики диаграмм зависимостей параметров (рис. 1 .. 12) см. в оригинальном даташите [1].
DVI расшифровывается как Digital Voltage Interface. Эта аббревиатура используется также как обозначение вывода, задающего опорное напряжение для цифровых линий SDA и SCL.
Вывод DVI выполняет две ключевые функции:
1. Опорное напряжение для I²C: напряжение на этом выводе определяет логические уровни (High и Low) для линий связи SDA и SCL. Это позволяет использовать датчик с микроконтроллерами, работающими на разных напряжениях (например, 1.8V или 3.3V).
2. Асинхронный сброс (Reset): этот вывод также служит для сброса внутренних регистров датчика. Чтобы датчик корректно инициализировался после подачи питания, на выводе DVI необходимо кратковременно (минимум 1 мкс) установить низкий уровень (L, ≤ 0.4V).
Важные моменты при подключении:
● Последовательность подачи питания: напряжение на DVI должно появиться позже, чем питание VCC, чтобы обеспечить необходимый импульс сброса. ● Уровни напряжения: в рабочих характеристиках указано, что опорное напряжение (VDVI) может быть в диапазоне от 1.65 В до VCC (обычно 3.3V). Если DVI = 3.0V, то порог для высокого уровня SDA/SCL будет 0.7 * 3.0 = 2.1V, а для низкого — 0.3 * 3.0 = 0.9V.
Блок-схема BH1750FVI:
PD фотодиод с характеристикой чувствительности к спектру, аппроксимированной к человеческому глазу. AMP встроенный операционный усилитель для преобразования тока фотодиода в напряжение. ADC преобразователь АЦП для получения из напряжения 16 бит данных.
AD converter for obtainment Digital 16bit data.
Logic + I²C Interface блок вычисления освещенности и интерфейс шины I2C.
OSC внутренний генератор (типовая частота 320 кГц). Это такты CLK для внутренней логики.
Регистры I2C. Интерфейс включает в себя регистры:
Data Register → для регистрации данных освещенности (Ambient Light Data). Начальное двоичное значение регистра "0000_0000_0000_0000". Measurement Time Register → для регистрации времени измерения. Начальное значение "0100_0101".
Процедура измерения освещенности:
Примечание: команда "Power On" может быть опущена.
Набор инструкций (opcode):
Инструкция
opcode
Комментарий
Power Down
0000_0000
Неактивное состояние.
Power On
0000_0001
Ожидание команды измерения (measurement command).
Reset
0000_0111
Сброс значения регистра данных. Команда Reset не применима в режиме Power Down.
Continuously H-Resolution Mode
0001_0000
Старт измерения с разрешающей способностью 1lx. Время измерения (Measurement Time) обычно 120 мс.
Continuously H-Resolution Mode2
0001_0001
Старт измерения с разрешающей способностью 0.5lx. Время измерения обычно 120 мс.
Continuously L-Resolution Mode
0001_0011
Старт измерения с разрешающей способностью 4lx. Время измерения (Measurement Time) обычно 16 мс.
One Time H-Resolution Mode
0010_0000
Старт измерения с разрешающей способностью 1lx. Время измерения обычно 120 мс. После измерения автоматически устанавливается режим Power Down.
One Time H-Resolution Mode2
0010_0001
Старт измерения с разрешающей способностью 0.5lx. Время измерения обычно 120 мс. После измерения автоматически устанавливается режим Power Down.
One Time L-Resolution Mode
0010_0011
Старт измерения с разрешающей способностью 4lx. Время измерения обычно 16 мс. После измерения автоматически устанавливается режим Power Down.
Change Measurement time (старшие биты)
01000_MT[7,6,5]
Изменение времени измерения(*).
Change Measurement time (младшие биты)
011_MT[4,3,2,1,0]
Примечание (*): см. раздел "Подстройка результата измерения с учетом влияния оптического окна". Не вводите другой opcode.
Режимы измерения:
Режим измерения
Время измерения
Разрешающая способность
H-resolution Mode2
Типовое значение 120 мс
0.5 lx
H-resolution Mode
1 lx
L-Resolution Mode
Типовое значение 16 мс
4 lx
Рекомендуется использовать H-Resolution Mode. Время измерения (время интегрирования) в H-Resolution Mode достаточно велико, чтобы подавлять шум (включая импульсы 50 Гц / 60 Гц). H-Resolution Mode с разрешающей способностью 1 lx подходит для темноты (уровень освещенности менее 10 lx). H-resolution mode2 также подходит для детектирования темноты.
Asynchronous reset и команда Reset "0000_0111"
1) Asynchronous reset. При подаче асинхронного сброса все регистры сбрасываются. Это необходимо при последовательности подачи питания. См. ниже раздел "Тайминг последовательности нарастания напряжений VCC и DVI". Во время DVI = 'L' действует режим "выключено" (power down mode).
2) Reset command. Команда сброса сбрасывает только регистр данных освещенности (Illuminance data register, значение сброса '0'). Для сброса регистра данных освещённости не требуется специальный порядок включения питания (как, например, для вывода DVI, где нужно было подавать напряжение в определённой последовательности с задержками). Команда сброса нужна для стирания предыдущего результата измерения. Эта команда не работает в режиме power down, так что для подачи этой команды сначала переведите микросхему в режим power on.
Тайминг последовательности нарастания напряжений VCC и DVI. DVI это вывод опорного напряжения для шины I2C. И это также вывод для асинхронного сброса. Для сброса необходимо на него был подать уровень 'L'. В течение периода 'L' на выводе DVI внутреннее состояние датчика устанавливается в режим пониженного энергопотребления "выключено" (Power Down mode).
Рекомендуемая диаграмма для подачи напряжений VCC и DVI:
Диаграмма для подачи VCC и DVI, если DVI нарастает в течение 1 мкс после подачи VCC:
Линии ADDR, SDA и SCL находятся в нестабильном состоянии, если система не обеспечивает период 'L' (низкого уровня) на выводе DVI длительностью 1 мкс. В этом случае подключите к выводу ADDR резисторы (приблизительно 100 кОм), а не соединяйте его напрямую с VCC или GND, поскольку это 3-стабильный буфер, предназначенный для внутреннего тестирования.
[Примеры измерения]
Ниже приведены примеры последовательности измерения от команды записи (Write instruction) до чтения результата измерения (Read measurement result).
Пример 1, непрерывный режим H-resolution mode (ADDR = 'L').
[ ]
от Master к Slave
[ ]
от Slave к Master
① Отправка инструкции "Continuously H-resolution mode":
ST
0100011
0
Ack
00010000
Ack
SP
② Ожидание 1-го измерения режима H-resolution (max. 180 мс).
③ Чтение результата измерения.
ST
0100011
1
Ack
High Byte [ 15:8 ]
Ack
Low Byte [ 7:0 ]
~Ack
SP
Как вычисляется результат, когда старший байт данных "10000011", и младший байт данных "10010000":
(215 + 29 + 28 + 27 + 24) / 1.2 ≒ 28067 (lx)
В режиме постоянного измерения результат непрерывно обновляется (обычно с интервалом 120 мс в режиме H-resolution, 16 мс в режиме L-resolution).
Пример 2, однократное измерение в режиме L-resolution mode (ADDR = 'H').
① Отправка инструкции "One time L-resolution mode":
ST
1011100
0
Ack
00100011
Ack
SP
② Ожидание завершения измерения режима L-resolution (max. 24 мс).
③ Чтение результата измерения:
ST
1011100
1
Ack
High Byte [ 15:8 ]
Ack
Low Byte [ 7:0 ]
~Ack
SP
Как вычисляется результат, когда старший байт данных "00000001", и младший байт данных "00010000":
(28 + 24) / 1.2 ≒ 227 (lx)
При однократном измерении (One Time Measurement) датчик после завершения измерения автоматически переходит в режим пониженного энергопотребления (Power Down mode). Если требуется обновлённый результат, необходимо повторно отправить команду измерения.
Практический смысл. В BH1750FVI есть два принципиально разных подхода к измерениям:
Режим
Поведение
Continuous Measurement (непрерывное измерение)
Датчик измеряет постоянно, снова и снова, пока вы не остановите его. Данные всегда свежие. Потребление тока выше.
One Time Measurement (однократное измерение)
Датчик делает одно измерение, кладёт результат в регистр данных и уходит в Power Down. Чтобы получить новое значение — нужно снова послать команду.
Почему так сделано:
- Экономия энергии: в режиме Power Down датчик почти не потребляет ток (типично ~0.01 мкА). Это критично для батарейных устройств. - Контроль: вы сами решаете, когда делать измерение — например, раз в секунду, раз в минуту или по событию. - Точность: между измерениями датчик «отдыхает», что снижает самонагрев и дрейф.
Важное ограничение: пока датчик находится в Power Down mode, команда Reset не работает (об этом говорилось в предыдущем пункте даташита). Поэтому последовательность для нового измерения такая:
1. Отправить команду Power On (если датчик был в Power Down). 2. Отправить команду One Time Measurement (например, 0x20 для H-Resolution). 3. Подождать время измерения (обычно 120–180 мс для H-Res). 4. Прочитать 2 байта данных из регистра. 5. Датчик сам уйдёт в Power Down — можно повторить с шага 2, когда понадобится новое значение.
[Схемы подключения вывода DVI]
Вывод DVI работает как вход для асинхронного сброса. Имейте в виду, что возможно микросхема не будет работать правильно, если не было выполнено условие сброса после подачи напряжения VCC, см. выше параграф "Тайминг последовательности нарастания напряжений VCC и DVI".
В этом даташите опущено описание стандартного поведения сигналов SDA и SCL шины I2C, также опущено описание, касающееся вывода ADDR. См. выше параграф "Тайминг последовательности нарастания напряжений VCC и DVI" для информации о влиянии на ADDR последовательности подачи напряжений.
1. Сигнал DVI управляется от микроконтроллера (MCU).
2. Для DVI используется микросхема сброса (супервизор) с двухтактным выходом (push-pull).
Для DVI используется микросхема сброса (супервизор), у которой выход с открытым стоком (open drain).
3. Подача на DIV напряжения от отдельного источника питания.
Напряжение V2 должно устанавливаться с задержкой после напряжения V1 (длительность задержки 1 мкс и более), потому что необходимо выполнить условие асинхронного сброса ( 1µs or more ).
4. RC-цепочка между VCC и DVI.
Замечания по поводу RC-цепочки:
- Существует вероятность, что период сброса (1 мкс) не будет обеспечен, если питание включается при медленном нарастании напряжения VCC. - Когда VCC выключается, напряжение на DVI становится выше напряжения VCC, но разрушения микросхемы не происходит, если используются рекомендуемые номиналы (R1 = 1 кОм, C1 = 1 мкФ). - Существует вероятность, что период сброса (1 мкс) не будет обеспечен, если время ожидания после выключения VCC недостаточно велико (необходимо учитывать уровень напряжения на DVI после выключения VCC). - При проектировании приложения необходимо обеспечить период сброса 1 мкс и более после повторного включения питания.
Пример дизайна, когда RC-цепочка (C = 1 мкФ, R = 1 кОм) установлена между VCC и DVI, когда VCC=2.8V:
① Необходимо использовать источник питания, у которого время нарастания 0→2.4V VCC должно быть 100 мкс или меньше.
② Подождите 25 или больше после включения VCC (VCC меньше или равно 0.05V), потому что необходимо обеспечить условие надежного асинхронного сброса DVI (1 мкс или больше).
Замечание: при проектировании приложения необходимо обеспечить период сброса 1 мкс и более после повторного включения питания.
[Доступ по шине I2C]
1) Диаграмма времени шины I2C.
2) Адрес I2C для BH1750FVI. Существует 2 типа адреса, что определяется уровнем на выводе ADDR:
ADDR = H ( ADDR ≧ 0.7VCC ) → 1011100| ADDR = L ( ADDR ≦ 0.3VCC ) → 0100011
[ ]
от Master к Slave
[ ]
от Slave к Master
3) Формат записи. Микросхема BH1750FVI не способна принимать несколько команд без STOP. Пожалуйста, вставляйте SP (Stop condition) после каждого кода операции (opcode).
[Подстройка результата измерения с учетом влияния оптического окна]
BH1750FVI позволяет изменить чувствительность сенсора. Благодаря этой функции можно избавиться от влияния оптического окна на результат измерения. Настройка чувствительности осуществляется изменением времени измерения. Например, когда коэффициент пропускания оптического окна 50% (результат измерения уменьшается в 0.5 раз), результат действия оптического окна можно компенсировать, увеличив чувствительность сенсора в 2 раза.
Чувствительность сенсора смещается изменением значения MTreg (measurement time register). Значение MTreg должно быть увеличено в 2 раза для увеличения чуствительноти в 2 раза. Время измерения устанавливается также в 2 раза больше, когда значение MTreg увеличивается в 2 раза от своего значения по умолчанию.
Ниже показа пример увеличения чувствительности в 2 раза. Пример показан для режима H-resolution, но для других режимов измерения используется аналогичная последовательность изменения чувствительности. Значение MTreg изменяется от 0100_0101 (умолчание) до 1000_1010 (умолчание * 2).
1) Изменение старших бит MTreg:
ST
Slave Address
R/W 0
Ack
01000_100
Ack
SP
2) Изменение младших бит MTreg:
ST
Slave Address
R/W 0
Ack
011_01010
Ack
SP
3) Ввод команды измерения:
ST
Slave Address
R/W 0
Ack
0001_0000
Ack
SP
4) После 240 мс результат измерения находится в регистре данных (для режима H-resolution типовое время измерения 120 мс, однако время измерения удваивается из-за удвоения MTreg):
В следующей таблице показан диапазон изменения MTreg:
min
Typ
MAX
Изменяемый диапазон MTreg
binary
0001_1111 (чувствительность: умолчание x 0.45)
0100_0101 умолчание
1111_1110 (чувствительность: умолчание x 3.68)
decimal
31 (чувствительность: умолчание x 0.45)
69 умолчание
254 (чувствительность: умолчание x 3.68)
С помощью этой функции можно детектировать уровень освещенности 0.23lx в режиме H-resolution, и можно детектировать 0.11lx в режиме H-resolution mode2.
Приведённая ниже формула служит для расчёта освещённости, приходящейся на 1 единицу отсчёта (count). Здесь 1.2 это точность измерения, 69 это десятичное значение MTreg по умолчанию.
1.2: точность измерения 69: значение по умолчанию MTreg (десятичное) X: значение MTreg
Примеры значений единицы освещенности:
Значение MTreg
lx / count в H-resolutin mode
lx / count в H-resolution mode2
0001_1111
1.85
0.93
0100_0101
0.83
0.42
1111_1110
0.23
0.11
[H-Resolution Mode2]
Режим H-resolution mode2 обладает разрешающей способностью 0.5lx (типовое значение) resolution mode. Этот режим подходит для условий применения, когда необходимо детектировать уровни освещенности меньше чем 10 lx. Этот режим измерения поддерживает подстройку чувствительности (см. выше "Подстройка результата измерения с учетом влияния оптического окна"). В режиме H-resolution mode2 минимальный детектируемый уровень освещенности составляет 0.11 lx.
Инструкции для H-resolution mode2:
Инструкция
opcode
Комментарии
Continuously H-Resolution Mode2
0001_0001
Старт измерений с 0.5lx разрешением. Типовое время измерения 120 мс.
One Time H-Resolution Mode2
0010_0001
Старт измерений с 0.5lx разрешением. Типовое время измерения 120 мс. После измерения автоматически устанавливается режим Power Down.
Ниже показан пример последовательности измерения от инструкции записи до инструкции чтения. Используется режим непрерывного H-resolution mode2 (ADDR = 'L').
[ ]
от Master к Slave
[ ]
от Slave к Master
① Отправка инструкции "Continuously H-resolution mode2":
ST
0100011
0
Ack
00010001
Ack
SP
② Ожидание завершения первого измерения H-resolution mode2 (max. 180 мс).
③ Чтение результата измерения:
ST
0100011
1
Ack
High Byte [ 15:8 ] 214 213 212 211 210 29 28 27
Ack
Low Byte [ 7:0 ] 26 25 24 23 22 21 20 2-1
~Ack
SP
Вычисление результата, когда старший байт 00000000 и младший байт 00010010:
(23 + 20) / 1.2 ≒ 7.5 (lx)
[Назначение выводов BH1750FVI]
№
Имя
Значение
Функция
1
VCC
Напряжение питания
2
ADDR
Вход для выбора I2C адреса. ADDR = ‘H’ ( ADDR ≧ 0.7VCC ) "1011100" ADDR = 'L' ( ADDR ≦ 0.3VCC ) "0100011" ADDR Terminal разработан как буфер с 3 состояниями для внутреннего тестирования. Так что уделяйте особое внимания процедуре правильной подачи питания на VCC и DVI.
Примечание: значение внутреннего резистора 150 кОм не гарантируется.
[Размеры корпуса]
Корпус типа WSOF6I, размеры в миллиметрах:
Дизайн оптики для устройства:
[Определение первого вывода корпуса]
① 1-й вывод можно определить по его увеличенной ширине. ② 1-й вывод можно определить по метке на кристалле (die pattern). ③ Скос на корпусе находится напротив выводов 1 .. 3.
Информацию о покупке, маркировке корпуса и другую дополнительную информацию см. в оригинальном даташите [1].
[Предосторожности при использовании]
1) Предельные допустимые значения (Absolute Maximum Ratings). Превышение этих значений, таких как напряжение питания (Vmax), рабочий диапазон температур (Topr) и т. п., может повредить устройство. При этом невозможно определить тип отказа, например короткое замыкание или обрыв.
2) Напряжение GND. Выполните установку потенциала вывода GND так, чтобы он поддерживался на минимальном уровне в любом рабочем состоянии. Кроме того, убедитесь, что ни один вывод микросхемы не находится под потенциалом ниже напряжения GND, включая реальные электрические переходные процессы.
3) Короткое замыкание между выводами и неправильный монтаж. При установке микросхем на печатную плату устройства уделяйте пристальное внимание ориентации и смещению микросхем. Неправильный монтаж может вывести микросхемы из строя. Кроме того, если короткое замыкание возникает из-за попадания посторонних частиц между выводами или между выводом и питанием либо выводом GND, то микросхемы могут выйти из строя.
4) Работа в условиях сильных электромагнитных полей может привести к неправильному функционированию микросхемы.
5) Проверка (тестирование) с установкой печатной платы. При проверке печатной платы, если конденсатор подключён к низкоимпедансному выводу микросхемы, микросхема может испытывать стресс (нагрузку). Поэтому обязательно разряжайте печатную плату на каждом этапе процесса тестирования. Кроме того, чтобы установить или снять печатную плату с испытательного стенда в процессе проверки, обязательно выключите питание и только затем устанавливайте плату на стенд. После завершения проверки обязательно выключите питание и только затем снимайте плату со стенда. Кроме того, для защиты от статического электричества организуйте заземление на этапе сборки и уделяйте пристальное внимание транспортировке и хранению печатной платы.
6) Входные выводы. С точки зрения конструкции микросхемы на входах неизбежно формируются паразитные элементы. Работа паразитного элемента может вызвать помехи в работе схемы, что приводит к сбою и затем к повреждению входного вывода. Поэтому уделяйте пристальное внимание тому, чтобы не допускать неправильного обращения с входными выводами — например, не подавайте на входные выводы напряжение ниже GND. Кроме того, не подавайте напряжение на входные выводы, когда на микросхему не подано напряжение питания. Помимо этого, даже если напряжение питания подано, подавайте на входные выводы напряжение ниже напряжения питания или в пределах гарантированных значений электрических характеристик.
7) Тепловой расчёт (проектирование теплового режима). Выполняйте тепловой расчёт так, чтобы были достаточные запасы, учитывая рассеиваемую мощность (Pd) в реальных условиях эксплуатации.
8) Пыль или царапины могут повлиять на оптические характеристики устройства.
9) Пусковой ток (бросок тока). Когда питание впервые подаётся на КМОП-микросхему, возможно, что внутренняя логика окажется нестабильной и мгновенно потечёт пусковой ток (rush current). Поэтому уделите особое внимание ёмкости по питанию, проводам питания, ширине проводников GND и трассировке соединений.
10) Открытая центральная площадка на обратной стороне корпуса. На обратной стороне корпуса имеется открытая центральная площадка, но её не следует подключать ни к каким цепям. Не паяйте эту площадку, и обеспечьте отсутствие электрического контакта с ней. Устанавливайте микросхему в соответствии с размерами посадочного места (Footprint dimensions), описанными в Jisso Information для корпуса WSOF6I. Эта площадка имеет уровень GND, поэтому существует вероятность, что кристалл будет работать неправильно и возникнет большой ток.
[Тестовый проект на микроконтроллере STM32F103C8T6]
Для проверки работы датчика был создан тестовый проект Zephyr на основе библиотеки [2]. Пример опроса датчика BH1750FVI, модуль src/main.c:
intmain(void)
{ /* 1. Инициализируем пин отладочного светодиода как выход. * GPIO_OUTPUT_INACTIVE для active-low означает "погашен". */ if(!gpio_is_ready_dt(&led)){ printk("Error: LED device not ready\n"); return-ENODEV; } gpio_pin_configure_dt(&led,GPIO_OUTPUT_INACTIVE);
/* 3. Считываем результат измерения. * Библиотека возвращает "сырое" значение датчика; * освещённость в люксах = значение / 1.2. */ uint16_traw=lightSensor_meter(); uint32_tlux=((uint32_t)raw*5U)/6U;
LED(false);
printk("Illuminance: %u lx (raw %u)\n",lux,raw);
/* 4. Задержка 200 мс между опросами. */ k_msleep(200); }