Например TDA7294

Форум РадиоКот • Просмотр темы - DS 1302
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 10:37:13

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 37 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: DS 1302
СообщениеДобавлено: Вт июн 27, 2017 17:28:15 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Приветствую!!!
пытаюсь прикрутить ds1302 к МК.Да что-то непонятных вещей полно. одна из них тайминги. В даташите большинство из них в наносекундах, так в студии задержки в наносекундах нет. ну и быть наверное не может у меня кварц 8 Мгц отсюда 1 такт длится 125 нс... что делают обычно с этим? вообще без задержки работать? Спасибо


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Вт июн 27, 2017 19:37:31 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
одна из них тайминги. В даташите большинство из них в наносекундах
В даташите указаны минимальное и/или максимальное время.
Соответственно, нужно обеспечить все временные диаграммы в этом диапазоне.
в студии задержки в наносекундах нет
Цикл ожидания пишется в пару строчек. Значения вычисляются по ассемблерным командам или подгоняются с помощью осциллографа.
что делают обычно с этим?
Зависит от ожидаемого результата. :))
Если хочется, чтобы всё работало - стоит соблюдать даташит.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Вт июн 27, 2017 23:20:09 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
Цикл ожидания пишется в пару строчек. Значения вычисляются по ассемблерным командам или подгоняются с помощью осциллографа.

В шите такие параметры как 50,60,70 нс. время 1 цикла МКна частоте 8 Мгц 125 нс...какими ассемблерными командами мне заставить МК работать быстрее?или я что-то не правильно понимаю?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Ср июн 28, 2017 04:55:18 
Друг Кота

Карма: 64
Рейтинг сообщений: 966
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4220
Откуда: Ижевск
Рейтинг сообщения: 3
Да, неправильно.
Например, время предустановки линии I/O относительно активного фронта SCLK должно быть не менее 50ns при напряжении питания 5V (200ns при 2V), а на максимальное время оной никаких ограничений не накладывается. Или, момент начала обмена должен быть задержан относительно фронта CE не менее чем на 1us (4us при 2V). Всё остальное по аналогии.
Вложение:
timing_DS1302.PNG [35.19 KiB]
Скачиваний: 721


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Ср июн 28, 2017 10:33:35 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
В ДШ на стр.11 есть параметр, на который надо ориентироваться: CLK Frequency, максимальное значение которой равно 2 МГц при питании от 5 В и 0.5 МГц при питании от 2 В. Соответственно меньше может быть, больше - нет.
2 МГц равно периоду 0.5 мкс, значит половина периода (состояние 0 или 1) максимально может быть 250 нс. Но если будете "дергать" такты каждую микросекунду (0.5 МГц), 1302 также возражать не будет.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Чт июн 29, 2017 13:52:28 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Три раза перевел Даташит в переводчике google. никак не могу прикрутить ds1302 к МК. Взял новый модуль 1302 с кварцем и батарейкой. подключил к МК. напсиал функции записи и чтения. Отправляю ему байт команды 0b10000001 на чтение. и смотрю по осциллографу че мне он пишет...так он выдает корявенькие импульсы синхронные с CSLK напряжением 2 В. Никак не могу допедрить что да как с ним общаться.Подскажите пожалуйста что я делаю не так. :cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Чт июн 29, 2017 14:08:08 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
что я делаю не так. :cry:
Гм, вот знаешь - все штатные телепаты сейчас в отпуске, лето же. 8)
Может быть покажешь, что ты делаешь? Например, схему подключения и код работы с DS...
выдает корявенькие импульсы синхронные с CSLK напряжением 2 В.
Есть подозрение, что у тебя выход на выход замкнуты.
Ногу МК, по которой передаёшь что-то наружу, на вход-то переводишь до момента начала приема?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Чт июн 29, 2017 14:29:07 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Вот что написано
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>

#define DDR_ds1302 DDRC
#define PORT_ds1302 PORTC
#define PIN_ds1302 PINC
#define CE_ds1302 2
#define SCLK_ds1302 4
#define IO_ds1302 3

void ds1302_write(unsigned char cmd)
{

DDR_ds1302 |= (1<<CE_ds1302) | (1<<SCLK_ds1302);
PORT_ds1302 |= (1<<CE_ds1302);//E=1
_delay_us(1);
DDR_ds1302 |= (1<<IO_ds1302);//выход
for(char i=0; i<8; i++)
{
if((cmd&(1<<i)) == 1<<i)
{
PORT_ds1302 |= (1<<IO_ds1302);
}
else
{
PORT_ds1302&= ~(1<<IO_ds1302);
}
PORT_ds1302 |= (1<<SCLK_ds1302);
_delay_us(1);
PORT_ds1302 &= ~(1<<IO_ds1302);
PORT_ds1302 &= ~(1<<SCLK_ds1302);
}
}


//вызываем после записи байта данных в часы
void ds1302_end_write_data()
{
PORT_ds1302 &= ~(1<<CE_ds1302);
}


char ds1302_read()
{
char readbyte;
char i;
char readbyte=0;
DDR_ds1302 &= ~(1<<IO_ds1302);
for(int i=0;i<8;i++)
{
PORT_ds1302 |= 1<<SCLK_ds1302;
if((PIN_ds1302 & (1<<IO_ds1302))==0)
{
readbyte &= ~(1<<i);
}
else
{
readbyte |= 1<<i;
}
_delay_us(1);
PORT_ds1302 &= ~(1<<SCLK_ds1302);
_delay_us(1);
}
PORT_ds1302 &= ~(1<<CE_ds1302);
_delay_us(1);
return 0;
}



int main(void)
{
DDR_ds1302|=((1<<CE_ds1302)|(1<<IO_ds1302)|(1<<SCLK_ds1302));
PORT_ds1302&=~((1<<CE_ds1302)|(1<<IO_ds1302)|(1<<SCLK_ds1302));

DDRC=0xFF;
PORTC=0x00;

ds1302_write(0x81);
DDR_ds1302 &= ~(1<<IO_ds1302);

for(int x=0;x<8:x++)
{
PORT_ds1302 |= 1<<SCLK_ds1302;
_delay_us(1);
PORT_ds1302&=~(1<<SCLK_ds1302);
_delay_us(1);
}

}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Чт июн 29, 2017 19:28:01 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
Вот что написано
Код, конечно, жуткий. Я за такой код расстреливал бы. И тебя даже не оправдывает то, что код не твой. :kill:
Вроде, должно работать, хоть и такое.
Реальную схему подключения покажи.
Отправляю ему байт команды 0b10000001 на чтение. и смотрю по осциллографу че мне он пишет...
Вначале проверь, что в часы пишешь - насколько диаграмма передачи соответствует таковой из даташита.
Надо порыть даташит - вывод I/O с открытым коллектором или же полноценный? В том плане, что нужна ли ему подтяжка в "1".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 09:01:39 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
И тебя даже не оправдывает то, что код не твой
По поводу этого я скажу,что он частично не мой. Нужно же мне как- то найти проблему.Методом исключения решил проверить рабочий код(хотя я не проверял на работоспособность его), может я сам пишу не правильно.

Добавлено after 25 minutes 5 seconds:
Цитата:
Вначале проверь, что в часы пишешь - насколько диаграмма передачи соответствует таковой из даташита.

Начнем сначала: вот мой код:

#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#define DDR_ds1302 DDRC
#define PORT_ds1302 PORTC
#define PIN_ds1302 PINC
#define CE 2
#define SCLK 3
#define DATA 4


void WRITE_ds1302(int comdata)
{
PORT_ds1302|=1<<CE;
DDR_ds1302|=1<<DATA; //на выход
for(char i=0;i<8;i++)
{
if((comdata&(1<<i)))
{
PORT_ds1302|=1<<DATA;
}
else
{
PORT_ds1302&=~(1<<DATA);
}

PORT_ds1302|=1<<SCLK;
PORT_ds1302&=~(1<<DATA);
PORT_ds1302&=~(1<<SCLK);
}
}

void see(void)
{
//PORT_ds1302|=1<<DATA;
for(char i=0;i<8;i++)
{
PORT_ds1302|=1<<SCLK;
_delay_us(1);
PORT_ds1302&=~(1<<SCLK);
_delay_us(1);
}
}
int main(void)
{
DDR_ds1302=0xFF;
PORT_ds1302&=~0xFF;

WRITE_ds1302(0x83);
DDR_ds1302&=~(1<<DATA);
see();
PORT_ds1302&=~(1<<CE);
}

[img][img]http://img.radiokot.ru/files/112412/thumbnail/1b9x8qvtp9.jpg[/img][/img]
[img][img]http://img.radiokot.ru/files/112412/thumbnail/1b9x4cmrpm.jpg[/img][/img]


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 09:46:52 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
Можете пробовать.
Это писалось мной под 8051, соответственно переключений вход-выход у даты нет, поскольку порт имеет двунаправленный режим (quasi-bidirectional). Настройку портов и переключение даты добавите самостоятельно.
Заголовочный файл не даю, там ничего существенного нет.
Спойлер
Код:
// DS1302 RTC IC

#include "ds1302.h"

unsigned char readbyte (void)
{
  unsigned char b, i = 8;
 
  while (i)
  {
    b >>= 1;
    DS_SCLK = 0;
    _nop_();
    if (DS_IO) b |= 0x80; // set bit
        else  b &= 0x7F; // clear bit
    i--;
    if (i) DS_SCLK = 1;
    _nop_();
  }
  return b;
}

void writebyte (unsigned char b)
{
  unsigned char i = 8;
 
  while (i)
   {
    DS_SCLK = 0;
    DS_IO = (b & 1);
    DS_SCLK = 1;
    b >>= 1;
    i--;
   }
}

unsigned char ds_readbyte(unsigned char addr)
{
// ds1302 single-byte read
   unsigned char b;

   DS_CE = 0;
   DS_SCLK = 0;
   DS_CE = 1;
  delay1us();
  writebyte(addr);  // send command
  b = readbyte();   // read byte
   return b;
}

void ds_writebyte(unsigned char addr, unsigned char dta)
{
// ds1302 single-byte write

   DS_CE = 0;
   DS_SCLK = 0;
   DS_CE = 1;
  delay1us();
  writebyte(addr);  // send command
  writebyte(dta);   // send data
}

void ds_readburst(void)
{
// ds1302 burst-read 8 bytes into array
   unsigned char i;
 
   DS_CE = 0;
   DS_SCLK = 0;
   DS_CE = 1;
  delay1us();
  writebyte(0xBF);  // send cmd byte
// Read on falling edge.
   for (i=0; i < 9; i++) // Shift bytes
   {
      ds_rtc[i] = readbyte(); // read
    if (i < 8) DS_SCLK = 1; // If not the last byte, otherwise DS_SCLK remains low.
   }
   DS_CE = 0;
  DS_SCLK = 0;
  DS_IO = 0;
}

void ds_writeburst(void)
{
// ds1302 burst-write 8 bytes into array
  unsigned char b, i;
 
  b = 0xBE;
   DS_CE = 0;
   DS_SCLK = 0;
   DS_CE = 1;
  delay1us();
  writebyte(b);   // send cmd byte
  for (i = 0; i < 8; i++) // Shift bytes
  {
    writebyte(ds_rtc[i]); // write bytes
  }
  DS_CE = 0;
  DS_SCLK = 0;
  DS_IO = 0;
}
//++++++++++++++++++++
// Common functions
//++++++++++++++++++++
void ds_init()
{
   unsigned char b;

// Ток заряда может изменяться от большего к меньшему значениями
//  A5h, A6h, A7h, A9h, AAh, ABh, либо отключен записью нуля.
  if (ds_readbyte(0x8F)) ds_writebyte(0x8E,0);    // Clear Write Protection bit if it&#39;s set.
   if (ds_readbyte(0x91)) ds_writebyte(0x90,0); // Trickle charger off.
  b = ds_readbyte(0x81);
   if (b & 0x80) ds_writebyte(0x80, (b & 0x7F)); // clear "Clock Halt" bit.
  b = ds_readbyte(0x85);
  if (b & 0x80) ds_writebyte(0x84, (b & 0x7F)); // Set 24 hour mode.
}

void ds_reset_clock()   // reset date, time
{
  ds_writebyte(0x80, 0x00); // Clock halt off
   ds_writebyte(0x82, 0x00); // 00 minutes
   ds_writebyte(0x84, 0x07); // 07 hours
  ds_writebyte(0x86, 0x01); // 01
   ds_writebyte(0x88, 0x01); // January
  ds_writebyte(0x8A, 0x05); // Friday
  ds_writebyte(0x8C, 0x16); // 2016
  ds_writebyte(0x8E, 0x00); // Write protect off
  ds_writebyte(0x90, 0x00); // Trickle charger off
}

void delay1us (void)      //@11.0592MHz
{
   _nop_();
}


Добавлено after 13 minutes 11 seconds:
Кстати, относительно изначального вопроса про скорость работы хочу заметить, что задержка в конце листинга имеет чисто формальное название. Сколько там было в реальности я не помню, а диаграмму с ЛА я выкладывал здесь.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 11:58:26 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
Можете пробовать.

Спасибо за код! но я боюсь меня точно расстреляют за это :tea: хотелось бы самому со своим кодом разобраться во всем.
Снял диаграмму как у Вас, с подтяжкой формируются какие то импульсы вроде как...как можно проверить их достоверность? чет добавить файл с ЛА не могу
Изображение


Последний раз редактировалось ROMan2947 Пт июн 30, 2017 12:46:42, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 12:26:56 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
Начнем сначала: вот мой код:
Теперь смотрим на осциллограмму.
Хотелось бы увидеть полную картинку - от выдачи сигнала CE (который ты обозвал RST на схеме - так он назывался в старом даташите! :)) )
По твоему коду вообще нет установки сигнала CE - он как встал в "1", так и стоит там.
PORT_ds1302|=1<<SCLK;
PORT_ds1302&=~(1<<DATA);
PORT_ds1302&=~(1<<SCLK);
Поясни в чем глубокий смысл обнулять передаваемый бит сразу после нарастающего фронта CLK?
И сравни с примером функции передачи данных от Zhuk72.

По схеме, надеюсь: сигнал "земля" у часов, а также "земля", "питание" и кварц у AVR не показаны лишь на схеме?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 12:54:44 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
По схеме, надеюсь: сигнал "земля" у часов, а также "земля", "питание" и кварц у AVR не показаны лишь на схеме?

да,без них уж глупо чет ожидать)

Добавлено after 5 minutes 23 seconds:
Цитата:
По твоему коду вообще нет установки сигнала CE - он как встал в "1", так и стоит там.


Смысл моего кода, указанного выше в том, чтоб отправить команду на часы и увидеть обратную связь. ничего более. остальное уже допишем как надо.Мне нужно видеть, что часы меня слышать и отвечают. согласно даташиту я выставляю СЕ в 1 и шлю командный байт, затем перевожу ножку DATA на вход и наблюдаю по диаграмме что да как....ну и в конце main я сбрасываю ее для приличия. это не правильно?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 13:01:47 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
чет добавить файл с ЛА не могу

Правый верхний угол окна "Options - Save capture".

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 13:06:02 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
Поясни в чем глубокий смысл обнулять передаваемый бит сразу после нарастающего фронта CLK?

в даташите на диаграмме я вижу,что: после считывания бита данных по нарастающему фронту SCLK нужно сбросить в исходное положение затем снова выставить бит...это может и лишняя операция,но на работоспособность думаю не влияет...

Добавлено after 1 minute 19 seconds:
Цитата:
Правый верхний угол окна "Options - Save capture".
я его сохранил, но на форум не идет пишет, чт о администраторы запретили добавлять файл подобного расширения


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 13:13:03 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
zip/rar, иначе никак.

Смотрю на свой код и не пойму за каким чертом я делал эти проверки последнего бита :D
Просто неохота опять в это возвращаться и сравнивать с ДШ.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 13:17:04 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
согласно даташиту я выставляю СЕ в 1 и шлю командный байт
Сравни диаграмму из даташита и свою.
Там английским по белому сказано установить CE из "0" в "1" перед обменом и сбросить в "0" по окончанию. Т.е. между обменом держать в "0".
Покажи на своей осциллограмме переход CE из "0" и "1" и сброс в "0" по окончанию обмена?
в даташите на диаграмме я вижу,что: после считывания бита данных по нарастающему фронту SCLK нужно сбросить в исходное положение затем снова выставить бит...
Ну-ка, ну-ка покажи где ты такое нашёл?
Я вижу, что на нарастающему фронту происходит запись бита в сдвиговый регистр. А все изменения значения бита происходят только при низком уровне CLK.
Мелкий совет: когда что-то не получается, то стоит сделать всё по даташиту с "точностью до секунды"(с).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 13:37:05 
Грызет канифоль
Аватар пользователя

Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Сб янв 23, 2016 00:59:59
Сообщений: 287
Откуда: Чебоксары
Рейтинг сообщения: 0
Цитата:
zip/rar, иначе никак.


Добавлено after 3 minutes 1 second:
Цитата:
Покажи на своей осциллограмме переход CE из "0" и "1" и сброс в "0" по окончанию обмена?

Изображение

Добавлено after 11 minutes 3 seconds:
Цитата:
Там английским по белому сказано установить CE из "0" в "1" перед обменом и сбросить в "0" по окончанию. Т.е. между обменом держать в "0".

в том то и дело что на английском)) кажется я въезжаю.мне нужно после комбайта СE 0 и снова все сначала да? тогла что за импульсы мне шлют часы?МУСОР?


Вложения:
пекпм 2 MHz, 6 M Samples [58].rar [699 байт]
Скачиваний: 277
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: DS 1302
СообщениеДобавлено: Пт июн 30, 2017 13:43:46 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
Вот сейчас видно - и передача "туда" и ответ "обратно".
в том то и дело что на английском))
В этом деле увы - необходимо умение читать технический английский...
нужно после комбайта СE 0 и снова все сначала да?
Да, на время обмена CE=1, после обмена CE=0. Причем, в таташите указаны ВСЕ времена: пауза после CE=1, после CE=0 и т.д. и т.п.
И эти времена необходимо выдерживать.
тогла что за импульсы мне шлют часы?МУСОР?
Сейчас я вижу, что часы тебе отвечают. И отвечают значением "минуты".

Теперь реши загадку, почему передача байта в часы у тебя с каждым тактом всё медленнее. :))


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y