Приветствую!!! пытаюсь прикрутить ds1302 к МК.Да что-то непонятных вещей полно. одна из них тайминги. В даташите большинство из них в наносекундах, так в студии задержки в наносекундах нет. ну и быть наверное не может у меня кварц 8 Мгц отсюда 1 такт длится 125 нс... что делают обычно с этим? вообще без задержки работать? Спасибо
Цикл ожидания пишется в пару строчек. Значения вычисляются по ассемблерным командам или подгоняются с помощью осциллографа.
В шите такие параметры как 50,60,70 нс. время 1 цикла МКна частоте 8 Мгц 125 нс...какими ассемблерными командами мне заставить МК работать быстрее?или я что-то не правильно понимаю?
Да, неправильно. Например, время предустановки линии I/O относительно активного фронта SCLK должно быть не менее 50ns при напряжении питания 5V (200ns при 2V), а на максимальное время оной никаких ограничений не накладывается. Или, момент начала обмена должен быть задержан относительно фронта CE не менее чем на 1us (4us при 2V). Всё остальное по аналогии.
Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650.
Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель.
В ДШ на стр.11 есть параметр, на который надо ориентироваться: CLK Frequency, максимальное значение которой равно 2 МГц при питании от 5 В и 0.5 МГц при питании от 2 В. Соответственно меньше может быть, больше - нет. 2 МГц равно периоду 0.5 мкс, значит половина периода (состояние 0 или 1) максимально может быть 250 нс. Но если будете "дергать" такты каждую микросекунду (0.5 МГц), 1302 также возражать не будет.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Три раза перевел Даташит в переводчике google. никак не могу прикрутить ds1302 к МК. Взял новый модуль 1302 с кварцем и батарейкой. подключил к МК. напсиал функции записи и чтения. Отправляю ему байт команды 0b10000001 на чтение. и смотрю по осциллографу че мне он пишет...так он выдает корявенькие импульсы синхронные с CSLK напряжением 2 В. Никак не могу допедрить что да как с ним общаться.Подскажите пожалуйста что я делаю не так.
Код, конечно, жуткий. Я за такой код расстреливал бы. И тебя даже не оправдывает то, что код не твой. Вроде, должно работать, хоть и такое. Реальную схему подключения покажи.
Отправляю ему байт команды 0b10000001 на чтение. и смотрю по осциллографу че мне он пишет...
Вначале проверь, что в часы пишешь - насколько диаграмма передачи соответствует таковой из даташита. Надо порыть даташит - вывод I/O с открытым коллектором или же полноценный? В том плане, что нужна ли ему подтяжка в "1".
По поводу этого я скажу,что он частично не мой. Нужно же мне как- то найти проблему.Методом исключения решил проверить рабочий код(хотя я не проверял на работоспособность его), может я сам пишу не правильно.
Добавлено after 25 minutes 5 seconds:
Цитата:
Вначале проверь, что в часы пишешь - насколько диаграмма передачи соответствует таковой из даташита.
Можете пробовать. Это писалось мной под 8051, соответственно переключений вход-выход у даты нет, поскольку порт имеет двунаправленный режим (quasi-bidirectional). Настройку портов и переключение даты добавите самостоятельно. Заголовочный файл не даю, там ничего существенного нет.
Добавлено after 13 minutes 11 seconds: Кстати, относительно изначального вопроса про скорость работы хочу заметить, что задержка в конце листинга имеет чисто формальное название. Сколько там было в реальности я не помню, а диаграмму с ЛА я выкладывал здесь.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Спасибо за код! но я боюсь меня точно расстреляют за это хотелось бы самому со своим кодом разобраться во всем. Снял диаграмму как у Вас, с подтяжкой формируются какие то импульсы вроде как...как можно проверить их достоверность? чет добавить файл с ЛА не могу
Последний раз редактировалось ROMan2947 Пт июн 30, 2017 12:46:42, всего редактировалось 1 раз.
Теперь смотрим на осциллограмму. Хотелось бы увидеть полную картинку - от выдачи сигнала CE (который ты обозвал RST на схеме - так он назывался в старом даташите! ) По твоему коду вообще нет установки сигнала CE - он как встал в "1", так и стоит там.
По схеме, надеюсь: сигнал "земля" у часов, а также "земля", "питание" и кварц у AVR не показаны лишь на схеме?
да,без них уж глупо чет ожидать)
Добавлено after 5 minutes 23 seconds:
Цитата:
По твоему коду вообще нет установки сигнала CE - он как встал в "1", так и стоит там.
Смысл моего кода, указанного выше в том, чтоб отправить команду на часы и увидеть обратную связь. ничего более. остальное уже допишем как надо.Мне нужно видеть, что часы меня слышать и отвечают. согласно даташиту я выставляю СЕ в 1 и шлю командный байт, затем перевожу ножку DATA на вход и наблюдаю по диаграмме что да как....ну и в конце main я сбрасываю ее для приличия. это не правильно?
Поясни в чем глубокий смысл обнулять передаваемый бит сразу после нарастающего фронта CLK?
в даташите на диаграмме я вижу,что: после считывания бита данных по нарастающему фронту SCLK нужно сбросить в исходное положение затем снова выставить бит...это может и лишняя операция,но на работоспособность думаю не влияет...
Добавлено after 1 minute 19 seconds:
Цитата:
Правый верхний угол окна "Options - Save capture".
я его сохранил, но на форум не идет пишет, чт о администраторы запретили добавлять файл подобного расширения
согласно даташиту я выставляю СЕ в 1 и шлю командный байт
Сравни диаграмму из даташита и свою. Там английским по белому сказано установить CE из "0" в "1" перед обменом и сбросить в "0" по окончанию. Т.е. между обменом держать в "0". Покажи на своей осциллограмме переход CE из "0" и "1" и сброс в "0" по окончанию обмена?
в даташите на диаграмме я вижу,что: после считывания бита данных по нарастающему фронту SCLK нужно сбросить в исходное положение затем снова выставить бит...
Ну-ка, ну-ка покажи где ты такое нашёл? Я вижу, что на нарастающему фронту происходит запись бита в сдвиговый регистр. А все изменения значения бита происходят только при низком уровне CLK. Мелкий совет: когда что-то не получается, то стоит сделать всё по даташиту с "точностью до секунды"(с).
Да, на время обмена CE=1, после обмена CE=0. Причем, в таташите указаны ВСЕ времена: пауза после CE=1, после CE=0 и т.д. и т.п. И эти времена необходимо выдерживать.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения