|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 9:57 pm
Комуникация с часовник PCF8583P
| Автор |
Съобщение |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
никой не говори за 2000 бройки, става дума за много по малко. а и какво като са 10000$, нали после тез машини се продават и се вземат пари от клиента? да не си ги трупа в къщи на склад?
а иначе сорса е прост:
запис: старт от 872, запис на А0, после 00 примерно и след това датата, пак 00, стоп
четене: старт, запис А0, адрес, нов старт, запис А1, четене, предаване на АСК, стоп
преди това го правих, като слагам и стоп след запис на адреса за четене, и тогана старт. така изобщо не реагира, а с междинния стоп се адресира само веднъж. като върна цикъла за повторно четене, и не отговаря
вече започнах да си мисля едни думи за тоя чип..... тът тъъъъъът
изнерви ме вече
|
| Чет Ное 02, 2006 11:08 am |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Мне
Не си прав , има места където не ти трябва режими на ниска консумация и въобще този SLEEP на процесора си е един голям БЪГ , един контролер нали консумира 5ма колко е тва, пък часовника е така направен че когато няма ток вътре си има елементарна схема която захранва броячите и кварца когато не идва ток от нормално захранване и остане само на батерия.
Дори да се направи само с контролер какво те бърка да сложиш един квадратен акумулатор 12V/4А , сметни си сам колко ще изкара без режими на ниска консумация. Просто с програма в контролера допълнително ще усложниш програмата и да не му остане време да си върши другите задачи, не че четенето на I2C e много бързо но поне ще го правиш при нужда, а и се свежда до още един 8 краков чип не до 20 чипа 
|
| Чет Ное 02, 2006 11:09 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Човече, именно щото съм реалист предложих да си го реализира по софтуерен път, и ще струва много по-евтино, отколкото това което му предлагаш. Спрял се е на часовник 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 такта изчакване след като се включи и стабилизира главния осцилатор на процесора, до подаване на управлението на програмата )
Ако на тези мои разсъждения, казаш че не съм реалист, грях ти на душата, дето се вика
Софтуерни часовници вече могат да се реализират на почти всеки по-модерен микроконтролер.
_________________ Ето аз дишам, работя, живея и програми пиша тъй както умея, с проца под вежди се гледаме строго и боря се с него доколкото мога....
|
| Чет Ное 02, 2006 11:17 am |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
При една скорошна високоотговорна разработка използвах DS3231 от този часовник по-точен не намерих и само той отговаряше на изискванията на заданието.
За копирането на данните от часовника във вътрешната РАМ се грижи самия часовник.
По въпроса за шината за управление обикновено се прави след адресиране нов старт не стоп. Но можеш да направиш и следния опит който е 100% сигурен:
- подаваш старт/ адрес на чипа/ адрес на вътрешния поинтер/ стоп
- изчакваш
- старт/ четене(запис)/ данни / стоп
Това е най-баламската процедура която няма как да не работи
Успех
забравих за ACK (NACK) съответно преди стопа
|
| Чет Ное 02, 2006 11:18 am |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
ама 872 няма само часовник да е, има да прави и други работи. не ме притеснява консумацията, няма да има слееп, нито сабуждаме. просто искам да отчитам определено време за управление на един дозаторен процес, който не е никак лесен. затова часовника го изнасям в отделен чип, за да не се занимавам с отчитане на време. ще се ползва дори изхода му за прекъсване, така че 872 ше проверява само един свой вход, и то еднократно за всеки цикъл на работа на процеса.
аз искаь да попитам дали има нещо специфично при комуникацията с тоя часовник, защото не иска да се адресира. а съм избрал него, защото ми се видя, че ще е лесен за управление, има изход, с отворен колектор за проверка на един вход на872, не ми трябва вход за батерия. и т.н. обаче ударих на камък с комуникацията
|
| Чет Ное 02, 2006 11:26 am |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
ама 872 няма само часовник да е, има да прави и други работи. не ме притеснява консумацията, няма да има слееп, нито сабуждаме. просто искам да отчитам определено време за управление на един дозаторен процес, който не е никак лесен. затова часовника го изнасям в отделен чип, за да не се занимавам с отчитане на време. ще се ползва дори изхода му за прекъсване, така че 872 ше проверява само един свой вход, и то еднократно за всеки цикъл на работа на процеса.
аз исках да попитам дали има нещо специфично при комуникацията с тоя часовник, защото не иска да се адресира. а съм избрал него, защото ми се видя, че ще е лесен за управление, има изход, с отворен колектор за проверка на един вход на872, не ми трябва вход за батерия. и т.н. обаче ударих на камък с комуникацията
|
| Чет Ное 02, 2006 11:27 am |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
С каква точност трябва да се отчита времето? И колко е максималното и минималното време, което ще се мери?
Последна промяна Gogo на Чет Ное 02, 2006 11:48 am, променена общо 1 път
|
| Чет Ное 02, 2006 11:42 am |
|
 |
|
ДедоБоре
Ранг: Форумен бог
Регистриран на: Нед Ное 21, 2004 11:31 pm Мнения: 10088
|
ами има си особености, които са описани в дейташита. чети внимателно
ако процедурите за I2C не са ти тествани предварително, най-вероятно в тях е бъглявината. увери се, че работят с друг чип, най-добре памет, която можеш да четеш на друго устройство. чак тогава се пробвай с часовника.
няма да минеш без помнещ осцилоскоп или анализатор. на тъмно може да си убиеш седмици и пак няма да е сигурно какво си направил
от обърканото ти описание на алгоритъма
 |  |  |  | Цитат: запис: старт от 872, запис на А0, после 00 примерно и след това датата, пак 00, стоп четене: старт, запис А0, адрес, нов старт, запис А1, четене, предаване на АСК, стоп |  |  |  |  |
имам усещането, че не си наясно с ACK. този бит се установява от SLAVE по отношение на текущата комуникация и значи, в общи линии, че може да се продължава
|
| Чет Ное 02, 2006 11:42 am |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
ами да си кажа чесно, за пръв път работя с и2с. няма за сега на какво друго да се пробвам.
а за АСК, става дума за четене, тогава 872 не трябва ли да прати АСК на чипа?
|
| Чет Ное 02, 2006 11:49 am |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Да ама не
 |  |  |  | ¶ написа: Човече, именно щото съм реалист предложих да си го реализира по софтуерен път, и ще струва много по-евтино, отколкото това което му предлагаш. Спрял се е на часовник 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 такта изчакване след като се включи и стабилизира главния осцилатор на процесора, до подаване на управлението на програмата ) Ако на тези мои разсъждения, казаш че не съм реалист, грях ти на душата, дето се вика Софтуерни часовници вече могат да се реализират на почти всеки по-модерен микроконтролер. |  |  |  |  |
Мисля че спорим безсмислено , за +1ма когато работи в нормален режим никой няма да се зайграва да усложнява нещо просто и евтино.
Ти какво каза по нагоре 2 диода за захранване а да не мислиш че вътре е нещо по различно когато минава от нормално към батериино , ми къде мислиш че са тези 2 диода , точно към мястото където трябва да остане да работи и в 2-те захранвания , няма смисъл да споря , намери схемата на часовника и тогава ще говорим пак.
|
| Чет Ное 02, 2006 11:51 am |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Хм
Може точно това да е проблема , имай на предвид че правилните времената за достъп до шината са от голямо значение.
|
| Чет Ное 02, 2006 11:52 am |
|
 |
|
Edesign
Ранг: Форумен бог
Регистриран на: Сря Авг 31, 2005 1:57 pm Мнения: 1103
|
когато записваш в часовника той ти отговаря с АСК и процесора чете дали часовника изобщо отговаря. Когато четеш от часовника повече от 1 байт тогава процесора трябва да връща АСК на чаовника (МАСК) само след като изчетеш последния байт не връщай АСК към часовника но изчакай млако и подай стоп.
Ако си омазал работата с АСК сигналите е напълно възможно да четеш 1 байт и часовника да забива. За това частично може и да помогне да използваш старт и стоп а не втори старт. Но не е редно
|
| Чет Ное 02, 2006 11:55 am |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
Знам, че има значение за времето, ама не може един път за да адресира добре, и след това да не иска.
ето какво има пдф-а за четене:
|
| Чет Ное 02, 2006 12:05 pm |
|
 |
|
Gogo
Ранг: Форумен бог
Регистриран на: Чет Фев 24, 2005 11:41 pm Мнения: 1049 Местоположение: Pz
|
С каква точност трябва да се отчита времето? И колко е максималното и минималното време, което ще се мери?
|
| Чет Ное 02, 2006 12:14 pm |
|
 |
|
didofen
Ранг: Популярен
Регистриран на: Вто Юни 27, 2006 11:13 am Мнения: 381 Местоположение: Варна
|
да речем примерно 5мин, дава ми 0 на изхода си на всеки 5мин, това е заложено в машината ми. ама аз първо трябва да мога за го чета и записвам по всяко време, свободно
|
| Чет Ное 02, 2006 12:16 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 9 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|