Отговори на тема  [ 61 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5  Следваща
Комуникация с часовник PCF8583P 
Автор Съобщение
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
никой не говори за 2000 бройки, става дума за много по малко. а и какво като са 10000$, нали после тез машини се продават и се вземат пари от клиента? да не си ги трупа в къщи на склад?
а иначе сорса е прост:
запис: старт от 872, запис на А0, после 00 примерно и след това датата, пак 00, стоп
четене: старт, запис А0, адрес, нов старт, запис А1, четене, предаване на АСК, стоп
преди това го правих, като слагам и стоп след запис на адреса за четене, и тогана старт. така изобщо не реагира, а с междинния стоп се адресира само веднъж. като върна цикъла за повторно четене, и не отговаря
вече започнах да си мисля едни думи за тоя чип..... тът тъъъъъът
изнерви ме вече


Чет Ное 02, 2006 11:08 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Мне
bateAz написа:
Решението на Пирев да си прави RTC с контролера май е единственото разумно решение за машини, които могат да се вкарат в режим на ниска консумация. Идеята е да се ползва микроконтролер, за да не се правят няколко дестки платки с логически чипове ( или няколко стотици с транзистори ) и с него да се правят управления и т.н. ТОЛКОВА ](*,) ли ти е трудно да поразшириш идеята и да го натовариш и с часовник? Вероятно правиш тази система за собствено удоволствие, ама я си представи че става дума за серийно изделие? 5000 бройки по $2 са $10000 ! Кой работодадел ще те държи при такава ефективност?

Не си прав , има места където не ти трябва режими на ниска консумация и въобще този SLEEP на процесора си е един голям БЪГ , един контролер нали консумира 5ма колко е тва, пък часовника е така направен че когато няма ток вътре си има елементарна схема която захранва броячите и кварца когато не идва ток от нормално захранване и остане само на батерия.
Дори да се направи само с контролер какво те бърка да сложиш един квадратен акумулатор 12V/4А , сметни си сам колко ще изкара без режими на ниска консумация. Просто с програма в контролера допълнително ще усложниш програмата и да не му остане време да си върши другите задачи, не че четенето на I2C e много бързо но поне ще го правиш при нужда, а и се свежда до още един 8 краков чип не до 20 чипа :D :lol:


Чет Ное 02, 2006 11:09 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Фев 25, 2005 1:58 pm
Мнения: 4585
Местоположение: US
Мнение 
plameniv написа:
... това което си мислиш за да се реализира струва пари а тези сметки се отразяват на крайната цена на изделието... Бъди реалист...


Човече, именно щото съм реалист предложих да си го реализира по софтуерен път, и ще струва много по-евтино, отколкото това което му предлагаш. Спрял се е на часовник PCF с процесор PIC16F872. Такъв избор е направил, не можеш да го виниш. Ти какво му предлагаш: да се оръсва за друг тип часовник, тепърва да го разучава. Аз му предлагам евтината алтернатива: взема кварца от PCF часовника и го запоява на RC0 & RC1 И/О крачетата на PIC16F872, запоява 2 кондензатора 22pF, пуска си TMR1 да работи асинхронно, пуска си осцилатора на TMR1, 15-тина реда код на C и си решава проблема. Допълнително са му нужни 2 Шотки диода, примерно 1N5818/5819/BAT42 или каквото има подръка, за да раздели батерията от захранването на процесора. Някъде във форума съм поствал сорс на CCS C, така че дори няма и да пише, а само ще го намести кода в неговата програмка.

Начина на работа на вътрешната логика на DS часовника не е задължително да е описана в документацията, не е и нужно. Нужно е да е описан интерфейса към потребителя. Но вътрешно със сигурност се чака препълване на асинхронните броячи, след което се опресняват програмно достъпните регистри, а това става с приспиване на схемата, остават да работят само осцилатора и асинхронните броячи. Иначе каква ще е логиката целия чип да работи, няма как да се пести батерийното захранване. Ако се реализира RTC с TMR1 на PIC16F872, процесора се събужда през 1 секунда, реално на осцилоскоп гледам, че от момента на събуждането до момента на заспиване му трябва средно 1ms за да опресни часовника ( има мисля, че бяха 1024 такта изчакване след като се включи и стабилизира главния осцилатор на процесора, до подаване на управлението на програмата )

Ако на тези мои разсъждения, казаш че не съм реалист, грях ти на душата, дето се вика :wink:

Софтуерни часовници вече могат да се реализират на почти всеки по-модерен микроконтролер.

_________________
Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....


Чет Ное 02, 2006 11:17 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Авг 31, 2005 1:57 pm
Мнения: 1103
Мнение 
При една скорошна високоотговорна разработка използвах DS3231 от този часовник по-точен не намерих и само той отговаряше на изискванията на заданието.
За копирането на данните от часовника във вътрешната РАМ се грижи самия часовник.
По въпроса за шината за управление обикновено се прави след адресиране нов старт не стоп. Но можеш да направиш и следния опит който е 100% сигурен:
- подаваш старт/ адрес на чипа/ адрес на вътрешния поинтер/ стоп
- изчакваш
- старт/ четене(запис)/ данни / стоп
Това е най-баламската процедура която няма как да не работи :)
Успех

забравих за ACK (NACK) съответно преди стопа


Чет Ное 02, 2006 11:18 am
Профил WWW
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
ама 872 няма само часовник да е, има да прави и други работи. не ме притеснява консумацията, няма да има слееп, нито сабуждаме. просто искам да отчитам определено време за управление на един дозаторен процес, който не е никак лесен. затова часовника го изнасям в отделен чип, за да не се занимавам с отчитане на време. ще се ползва дори изхода му за прекъсване, така че 872 ше проверява само един свой вход, и то еднократно за всеки цикъл на работа на процеса.
аз искаь да попитам дали има нещо специфично при комуникацията с тоя часовник, защото не иска да се адресира. а съм избрал него, защото ми се видя, че ще е лесен за управление, има изход, с отворен колектор за проверка на един вход на872, не ми трябва вход за батерия. и т.н. обаче ударих на камък с комуникацията


Чет Ное 02, 2006 11:26 am
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
ама 872 няма само часовник да е, има да прави и други работи. не ме притеснява консумацията, няма да има слееп, нито сабуждаме. просто искам да отчитам определено време за управление на един дозаторен процес, който не е никак лесен. затова часовника го изнасям в отделен чип, за да не се занимавам с отчитане на време. ще се ползва дори изхода му за прекъсване, така че 872 ше проверява само един свой вход, и то еднократно за всеки цикъл на работа на процеса.
аз исках да попитам дали има нещо специфично при комуникацията с тоя часовник, защото не иска да се адресира. а съм избрал него, защото ми се видя, че ще е лесен за управление, има изход, с отворен колектор за проверка на един вход на872, не ми трябва вход за батерия. и т.н. обаче ударих на камък с комуникацията


Чет Ное 02, 2006 11:27 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
С каква точност трябва да се отчита времето? И колко е максималното и минималното време, което ще се мери?


Последна промяна Gogo на Чет Ное 02, 2006 11:48 am, променена общо 1 път



Чет Ное 02, 2006 11:42 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
ами има си особености, които са описани в дейташита. чети внимателно
ако процедурите за I2C не са ти тествани предварително, най-вероятно в тях е бъглявината. увери се, че работят с друг чип, най-добре памет, която можеш да четеш на друго устройство. чак тогава се пробвай с часовника.

няма да минеш без помнещ осцилоскоп или анализатор. на тъмно може да си убиеш седмици и пак няма да е сигурно какво си направил

от обърканото ти описание на алгоритъма
Цитат:
запис: старт от 872, запис на А0, после 00 примерно и след това датата, пак 00, стоп
четене: старт, запис А0, адрес, нов старт, запис А1, четене, предаване на АСК, стоп

имам усещането, че не си наясно с ACK. този бит се установява от SLAVE по отношение на текущата комуникация и значи, в общи линии, че може да се продължава


Чет Ное 02, 2006 11:42 am
Профил
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
ами да си кажа чесно, за пръв път работя с и2с. няма за сега на какво друго да се пробвам.
а за АСК, става дума за четене, тогава 872 не трябва ли да прати АСК на чипа?


Чет Ное 02, 2006 11:49 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Да ама не
¶ написа:
plameniv написа:
... това което си мислиш за да се реализира струва пари а тези сметки се отразяват на крайната цена на изделието... Бъди реалист...


Човече, именно щото съм реалист предложих да си го реализира по софтуерен път, и ще струва много по-евтино, отколкото това което му предлагаш. Спрял се е на часовник PCF с процесор PIC16F872. Такъв избор е направил, не можеш да го виниш. Ти какво му предлагаш: да се оръсва за друг тип часовник, тепърва да го разучава. Аз му предлагам евтината алтернатива: взема кварца от PCF часовника и го запоява на RC0 & RC1 И/О крачетата на PIC16F872, запоява 2 кондензатора 22pF, пуска си TMR1 да работи асинхронно, пуска си осцилатора на TMR1, 15-тина реда код на C и си решава проблема. Допълнително са му нужни 2 Шотки диода, примерно 1N5818/5819/BAT42 или каквото има подръка, за да раздели батерията от захранването на процесора. Някъде във форума съм поствал сорс на CCS C, така че дори няма и да пише, а само ще го намести кода в неговата програмка.

Начина на работа на вътрешната логика на DS часовника не е задължително да е описана в документацията, не е и нужно. Нужно е да е описан интерфейса към потребителя. Но вътрешно със сигурност се чака препълване на асинхронните броячи, след което се опресняват програмно достъпните регистри, а това става с приспиване на схемата, остават да работят само осцилатора и асинхронните броячи. Иначе каква ще е логиката целия чип да работи, няма как да се пести батерийното захранване. Ако се реализира RTC с TMR1 на PIC16F872, процесора се събужда през 1 секунда, реално на осцилоскоп гледам, че от момента на събуждането до момента на заспиване му трябва средно 1ms за да опресни часовника ( има мисля, че бяха 1024 такта изчакване след като се включи и стабилизира главния осцилатор на процесора, до подаване на управлението на програмата )

Ако на тези мои разсъждения, казаш че не съм реалист, грях ти на душата, дето се вика :wink:

Софтуерни часовници вече могат да се реализират на почти всеки по-модерен микроконтролер.

Мисля че спорим безсмислено , за +1ма когато работи в нормален режим никой няма да се зайграва да усложнява нещо просто и евтино.
Ти какво каза по нагоре 2 диода за захранване а да не мислиш че вътре е нещо по различно когато минава от нормално към батериино , ми къде мислиш че са тези 2 диода , точно към мястото където трябва да остане да работи и в 2-те захранвания , няма смисъл да споря , намери схемата на часовника и тогава ще говорим пак.


Чет Ное 02, 2006 11:51 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Окт 10, 2004 9:55 am
Мнения: 1718
Мнение Хм
didofen написа:
ами да си кажа чесно, за пръв път работя с и2с. няма за сега на какво друго да се пробвам.
а за АСК, става дума за четене, тогава 872 не трябва ли да прати АСК на чипа?

Може точно това да е проблема , имай на предвид че правилните времената за достъп до шината са от голямо значение.


Чет Ное 02, 2006 11:52 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Сря Авг 31, 2005 1:57 pm
Мнения: 1103
Мнение 
когато записваш в часовника той ти отговаря с АСК и процесора чете дали часовника изобщо отговаря. Когато четеш от часовника повече от 1 байт тогава процесора трябва да връща АСК на чаовника (МАСК) само след като изчетеш последния байт не връщай АСК към часовника но изчакай млако и подай стоп.

Ако си омазал работата с АСК сигналите е напълно възможно да четеш 1 байт и часовника да забива. За това частично може и да помогне да използваш старт и стоп а не втори старт. Но не е редно


Чет Ное 02, 2006 11:55 am
Профил WWW
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
Знам, че има значение за времето, ама не може един път за да адресира добре, и след това да не иска.
ето какво има пдф-а за четене:


Прикачени файлове:
4etene.jpg
4etene.jpg [ 33.76 KiB | Прегледано 1891 пъти ]
Чет Ное 02, 2006 12:05 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 24, 2005 11:41 pm
Мнения: 1049
Местоположение: Pz
Мнение 
С каква точност трябва да се отчита времето? И колко е максималното и минималното време, което ще се мери?


Чет Ное 02, 2006 12:14 pm
Профил ICQ
Ранг: Популярен
Ранг: Популярен

Регистриран на: Вто Юни 27, 2006 11:13 am
Мнения: 381
Местоположение: Варна
Мнение 
да речем примерно 5мин, дава ми 0 на изхода си на всеки 5мин, това е заложено в машината ми. ама аз първо трябва да мога за го чета и записвам по всяко време, свободно


Чет Ное 02, 2006 12:16 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 61 мнения ]  Отиди на страница Предишна  1, 2, 3, 4, 5  Следваща

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни