Об использовании драйверa ЖКИ CP2401

Один из вопросов, возникающих при проектировании устройств с батарейным питанием — это какой использовать индикатор. Знакосинтезирующие и графические ЖКИ наиболее универсальны в плане отображения различных символов. Однако, их контроллеры потребляют слишком много энергии, что в ряде случаев может быть неприемлимо в условиях длительной непрерывной работы прибора. Голые сегментные индикаторы (стекляшки) наиболее привлекательны в плане энергопотребления и могут управляться непосредственно от МК, особенно если в нем имеется контроллер ЖКИ, или от специализированных микросхем драйверов. К сожалению, распространенные 7-сегментные индикаторы не позволяют нормально отобразить большинство букв. Вот тут-то на помощь и приходят 14-сегментные ЖКИ. На них помимо цифр хорошо отображаются все буквы латинского алфавита и множество других символов.

При использовании маловыводного МК в системе для управления ЖКИ нужен контроллер. Раньше я для этого использовал микросхемы серии PCF85хх, но теперь захотелось поробовать более новую разработку фирмы Silicon Laboratories – драйверы ЖКИ CP240x. По заявлению фирмы у них рекордное потребление среди подобных драйверов – типично 2.3 мкА при неработающем интерфейсе. Микросхемы выпускаются в корпусах TQFP или QFN с числом выводов 32 или 48 и интерфейсом SPI или I2C в зависимости от модели. Я приобрел 48-выводную CP2401 в корпусе TQFP и интерфейсом I2C. Фирма снабдила микросхемы богатым функционалом. Помимо основной цели – управление ЖКИ, она еще одновременно может работать как расширитель портов ввода/вывода с обработкой прерываний при изменении состояния входов и имеется возможноть управлять нагрузочной способностью выходов, незадействованных под ЖКИ. Помимо памяти для данных ЖКИ в ней еще имеется RAM на 256 байт, RTC с гибкой системой управления и 2 таймера для нужд пользователя с системой прерываний. Если Вы когда-либо работали с МК фирмы серии C8051, то многие их блоки практически идентичны соответствующим блокам CP240x.

Блок управления ЖКИ микросхемы может тактироваться либо от часового кварца, либо от внешнего сигнала, либо от внутреннего RC генератора. При приеме данных тактирование производится от другого встроенного RC генератора на частоте до 20 мгц. В промежутках между приемом данных микросхема может работать в одном из 3 режимов сна с уменьшенным токопотреблением. Словом, все как у МК. ЖКИ, с которым я предполагал ее использовать (Varitronix VIM878) имеет 32 вывода сегментов и 4 общих для режима мультиплексирования 1:4. Мне понравилось расположение выводов микросхемы, хорошо сочетающееся с используемым ЖКИ. При монтаже микросхемы под ЖКИ на односторонней плате потребовались всего 2 проволочные перемычки, показанные синим цветом.



При этом выводы 1-16 от сегментов пришлись на верхние выводы ЖКИ, а выводы от сегментов 17-32 — на нижние. Более того, порядок этих выводов оказался такой, что для подготовки данных для ЖКИ в программе МК удалось обойтись всего одной таблицей. Для каждого отображаемого символа в этой таблице используются 2 байта, что является минимумом для такого дисплея. На плате я присоединил выводы /RST и /CLK на VDD, т.к. для ЖКИ задействован встроенный RC генератор. Таким образом, помимо линий интерфейса SCL и SDA в МК также идут выводы /INT для сигнализации готовности микросхемы и /PWR для отключения интерфейса и перевода ее в режим низкого токопотребления с работающим драйвером ЖКИ.

Типичное потребление в 2.3 мкА в таблице характеристик указано при работающим драйвере ЖКИ и повышающем преобразователе напряжения для его питания и с отключенным ЖКИ. Однако, не указано какому выходному напряжению преобразователя соответствует такое токопотребление. Кроме того, оказалось, что потребление очень сильно зависит от индицируемых символов. Интуиция подсказывала мне, что наибольшее потребление должно быть при засветке всех сегментов ЖКИ а наименьшее — при всех выключенных сегментах. Однако, тут она меня подвела и в обоих этих случаях потребление оказалось гораздо меньше, чем при индикации, скажем, единиц во всех разрядах. При питании микросхемы от 3В и напряжении преобразователя 3.2В минимальное токопотребление оказалось около 4 мкА с без ЖКИ на плате. Установка ЖКИ вносит примерно 1 мкА в токопотребление. Однако, максимальное потребление оказалось на уровне 12 мкА в зависимости от информации на ЖКИ. Режим наибольшего контраста для используемого ЖКИ оказался при bias ½.

Для индикации сколь-нибудь осмысленной информации на ЖКИ схема была дополнена сенсором температуры и влажности HIH-6131. Сенсор сидит на тех-же линиях интерфейса I2C, что и CP2401.



Компоненты C7, C8, R4, IC3, HG1 смонтированы на плате ЖКИ, показанной выше, R1, R2, C2, C3 – на плате сенсора, остальные детали на плате МК. На ней к МК еще подключен часовой кварц с конденсаторами 10 pF, но программа предусматривает работу и при его отсутствии. Для записи и чтения данных в программе МК задействован аппаратный I2C драйвер и каналы 1 и 2 DMA, соответственно. При программировании оказалось, что адреса регистров LCD0DIVH и LCD0DIVL в секции 12.4 ДШ CP240x перепутаны, однако, в Таблице 6.3 они указаны правильно – жаль, что я слишком поздно это обнаружил. Показания температуры и влажности на дисплее чередуются с периодом около 2 сек. В режиме сна МК потребляет около 8 мкА, так что среднее токопотребление всей схемы при индикации показанной информации составило порядка 20 мкА.





В архиве содержится исходник. ДШ можно найти здесь.
  • +9
  • 21 августа 2012, 22:14
  • Ser60
  • 1
Файлы в топике: CP2401.zip

Комментарии (29)

RSS свернуть / развернуть
Можно я первый???!!! :)))
поставьте пожалуйста
0
cut>*
0
Прочитал заголовок: «О круто! Наверно интересная статья, и с картинками! Будет интересно прочитать!»
«стоп, а вдруг есть еще что интерестное?»
Прокручиваю вниз и волей не волей читаю обрывки и смотрю картинки.

Под ней уже старая статья.
C остатками надежды ищу кнопку «читать далее»…
Сердце замерло… Кнопки нет…
Вся интрига, весь кайф от хорошей статьи испорчен…
Жизнь больше не имеет смысла…

мораль: используйте тэг cut! )
0
Я извинясь, если что-то не так сделал. Сегодня мой первый день на сайте и первый пост. Об'есните что такое тэг cut и как им пользоватся. Или дайте ссылку где это можно прочитать.
0
Разобрался. Wraith — извиняюсь, что испортил Вам все удовольствие.
0
Удовольствие ни капли не испортили ;)
0
это была поэтическая маленькая зарисовка) для усиления эффекта)
0
Ser60 А мне понравилось и так. Готовый проект (схема, исходник, прямая ссылка на DS). Плюс.
0
  • avatar
  • akl
  • 22 августа 2012, 07:14
Знакомый ник! И тема ваших работ.
Вы тот «американец», о котором я думаю? :)
0
  • avatar
  • ploop
  • 22 августа 2012, 08:43
ploop, похоже мы с Вами уже заочно знакомы и давно :)
0
Ну мало ли, и просто совпадения бывают :)
0
Что — то меня мучают жуткие сомнения…
Типа того, что можно было просто взять что-нибуть типа индикатора с HT1611 — HT613 (потребление не более 3 мкА, и там еще встроенные часы и таймер есть!), и не морочить себе голову с жутким пауком с кучей выводов и спецдрайвером для него, который еще найти надо. Да и — все остальное…
Стоило ли оно потраченного времени?
Нет, ну, конечно, интересно поковыряться еще с одной микросхемой. Но все равно — сколько их еще, не поковырянных. Можно было и интереснее найти…
+1
  • avatar
  • SWG
  • 22 августа 2012, 10:32
собственно где «деталька»?
Вижу термометр, за что спасибо. Вижу описание что есть то и то и потребляет столько-то — дш по сути. А где же «как с этой деталькой работать»? За измеренное реальное потребление и код конечно спасибо, но как-то не то это.
Пост не про детальку, а про то какой вы делали девайс.
+1
Нормальная статья, основные данные есть, а как конкретно с ним общаться — даташит расскажет.
+1
Спасибо всем за обратную связь. SWG: интерес и доставаемость понятия субъективные. Я и копаю детальки мне интересные, одну за другой. Жаль, что наши интересы здесь не совпали. Я почитал про HT1611 и не вдохновлен, т.к. она может работать только со встроенным 7-сег индикатором и даже не все 16-ричные буквы показывает (что мне важно), а к CP240х можно можно любой индикатор подключить. angel5a: как с драйвером работать написано в ДШ, не вижу смысла его переводить. Эта заметка — пример работы с ним, которых в ДШ нет. Приведен эскиз платы, удобной и в плане разводки (весь паук имеет только 2 перемычки на односторонней ПП) и в плане программирования (минимальный объем таблицы). В дополнение к посту приведен достаточно детально прокоммнтированный исходник. Я пост и начал с описания детали и сделал упор на нее, а устройству, как приложению, посвящен лишь один последний параграф. Я его только на времянке и собрал для проверки (и уже разобрал). Данные по реальному токопотреблению в тех режимах, что я привел, отсутствуют в ДШ и могут рассматриваться как его дополнение.
0
  • avatar
  • Ser60
  • 22 августа 2012, 19:01
Лучше не писать мультиответ, а написать ответ к каждому сообщению, на которое отвечаешь. Тогда и понятнее при чтении, и авторы сообщений получат уведомление об ответе.
0
я не подписываюсь на уведомления. Но да, если комменто в топике пного, то не к своему не прочту скорее всего.
0
А почему бы и нет? Движок не особо активно спамит даже если все галочки в настройках уведомлений поставить.
0
Потому что я не ставлю целью чатится в сообществе.
Появилось время — открыл, посмотрел обновления что есть. Нет времени — тогда какая разница написал кто-то под моим комментом или нет.
А для потрындеть есть аська (или жабер у сообщества).
0
Ну, иногда ответ под комментарием появляется через значительное время, когда про топик и забыл уже.
0
>По заявлению фирмы у них рекордное потребление среди подобных драйверов – типично 2.3 мкА при неработающем интерфейсе.
Может, _рекордно низкое_?
>ДШ
-это что такое?? ТО тогда уж, если по-русски так хочется графоманить.
0
ДШ — даташит, довольно известное в этом сообществе сокращение. А вот что такое ТО?
0
техническое описание? или ТП — технический паспорт :))))
0
Кстати как правильно датащит называть? меня тоже от этого «американизма» коробит…
0
Справочный листок, вероятно. Впрочем, английский термин все равно короче (да и привычнее многим — отечественные СЛ мало кто вообще видел).
0
Varitronix VIM878 — деталька занятная. А часом не подскажете где купить и сколько такая радость стоит? Или аналоги.
0
Я ее покупал на DigiKey стоит 3.29 USD. У Varitronix есть еще и другие подобные, например VIM-808, VIM-828 с большей высотой символов. Представительство фирмы есть в России, кажется в Питере. Может с них удастся сэмплы стрясти.
0
У нас в магазинах нет даже их следа.
Плюс слишком мелкий корпус — шаг всего 0,5 мм.
0
Плюс разные микросхемы с разными интерфейсами — неинтересно.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.