все-таки удалось завести i2c на плате (правда нужен небольшой патч), однако никак не могу подключить часы.
Шина работает: проверял микросхемой ds1807.
Основное подозрение на высокую частоту шины: ds1307 не умеет работать на 400 кГц.
В доках на этот чип ничего нет, в исходниках не нашел ничего, что хоть как-то смахивает на установку частоты.
Кто-нибудь знает, как ее уменьшить до 100кГц?
В драйверах я не нашел чтобы скорость i2c явно устанавливалась так что она стоит по умолчанию после сброса - 100 кГц (см стр 1131, 25.4.2 I2C Timing Register 0 Description) . Попробуйте подтяжки по 2 кОм поставить если не поставили - на плате их нет а для i2c они нужны. стр 1114 даташита
Спасибо за ответ!
Подтяжки стоят, пробовал 680, 1к, 4.7 к
со всеми шина работала...
Нашел где ставится скорость шины, стоит по умолчанию 100 кГц.
Пробовал две разных микросхемы 1307, разные кварцы (с заведомо рабочих устройств в том числе). Как я понял, 1307 чувствительна к разводке платы, а у меня макетка ;), вариантов разводки нет. Пойду куплю другие часы, от филипса. Может заработают. Заодно и GPIO расширитель.
маркировку чипа полностью приведите.
если чип на 5 вольт, то счастья не будет..
если нет батарейки, то счастья тоже не будет..
схему или фото монтажки в студию.
я такие чипы (RTC) и на плату паял, и на макетку и в воздухе проводками.. усе работало
i2c-tools что говорит?
А почему не будет???
судя по даташиту, напряжение питания 1307 составляет 5 вольт, модификаций с другим напряжением нет. Есть два DS1307 и один DS1307N. Батарейка есть, дает честные 3.2 вольта.
Монтаж тривиальный: на i2c резисторы в непосредственной близости от платы, длинна шины от разъема до чипа не более 2 см. непосредственно к ногам питания чипа припаян керамический конденсатор на 0.1 мкФ, к первой и второй ноге припаян кварц. Корпус кварца посажен на землю.
Вывод в случае DS1307 такой:
либо такой
от чего зависит - не понял
вот вывод в случае DS1807:
DS1807 читается/пишется, все ОК.
Ща купил PCF8583P, попробую его...
я на эти грабли наступал. не будет 5 вольтовый чип работать на питание 3.3в в штатном режиме. увы у ds1307 only 5V PS. ближайшая замена почти 1:1 ds1340-3.3
Ща купил PCF8583P, попробую его...
два момента:
1. чтобы рабочее - 3.3В
2. поддержана в ядре, иначе самому драйвер мастырить
update чуть поправлюсь насчет "не будет 5в чип работать"
напрямую не будет. возможна работа смешанной шины I2C через "левел-траслятор i2c"от Philips или делается на рассыпухе посредством двух полевиков
1) я питал ds1807 от 5 вольт, он работал. Уровень лог.1 у него от 0.7 Vcc, полагаю и 1307 от 5 вольт работать будет, уровень лог.1 у него 2.2 В, что укладываются в логику 3.3 В с запасом.
2) поддержка есть, только вот работать не хочет.
3) не подскажете микросхему левел-транслятора?
ps:
PCF8583P это просто часы, без батарейки купил не посмотрев :(
попробую, может хоть так заработает...
Кстати, в процессоре imx233 есть часы, но в даташите не нашел ничего касательно батарейки для них ;(
update:
попробовал PCF8583P - не работает ;(
снова подключил DS1807 - работает
мистико...
Кстати, в процессоре imx233 есть часы, но в даташите не нашел ничего касательно батарейки для них ;(
Хуже того - в корпусе LQFP нет возможности для подключения часового кварца чтобы работать в режиме энергосбережения. Так что нужны они там как русалке лыжи :(
нашел вот такой интересный документ: http://www.gaw.ru/html.cgi/txt/publ/interface/97055.htm
однако толку от него мне мало: транзисторов таких марок в наших магазинах нету.
посему завтра закажу 1340 и посмотрю что получится из этого, время пока есть...
Да простят меня модераторы: пара вопросов попутно:
1) корпус для этой платы никто не подбирал/не делал? надо 20 штук, а выпиливать лобзиком - лениво ;)
2) на разъеме расширения пины 19..22 никак не обозначены, значит ли это, что они просто в воздухе висят? я хочу их использовать для передачи аудиовыхода на дочернюю плату.
update:
1307 даже генерацию не дает. Проверял осциллографом: на выводах кварца - ничего. Хотя может щуп или сам аппарат дает лишнюю емкость и генерация срывалась, аппарат старенький, ламповый, ему уже 40 лет скоро (С1-54)...
1) я питал ds1807 от 5 вольт, он работал. Уровень лог.1 у него от 0.7 Vcc, полагаю и 1307 от 5 вольт работать будет, уровень лог.1 у него 2.2 В, что укладываются в логику 3.3 В с запасом.
т.е. вы кормили ds1807 от 5В и цепляли ее к АРМу по I2C?! есть нехилый шанс спалить пин, а то и узел в АРМе :-/
2) поддержка есть, только вот работать не хочет.
это в ядре или i2c-tools чип тоже не видят?
по адресам 0xA0-0xA4
кстати, гуано этот чип :)
бекапную батарейку не подключить и вероятно нет бита контроля питания.. видимо остается только мутить развязку с батарейкой через шоттки..
в даташите на PCF есть упоминание о конденсаторе 5-25пФ между Vdd и OSCI - без него врядли будет работать
1307 даже генерацию не дает.
и не даст. при подаче питания генератор выключен и включается записью бита в регистр
3) не подскажете микросхему левел-транслятора?
не-а, на память не помню, надо рыться у Филлипса
зы а с корпусами наверно лучше на электроникс - там есть отдельная секция форума по корпусам - промышленными и не очень..