Author Topic: DS2401 помош  (Read 936 times)

Offline Goce

  • Стручњак
  • ***
  • Posts: 366
  • Gender: Male
DS2401 помош
« Opened on 25.01.2010, Monday, 19:12:38 »
DS2401 е 8 bit CRC code  48 bit serial number кој јас сакам да го заменам со  PIC кој ке генерира ваков код и на кој ке можам да го менувам кодот коа ке посакам ако има некој идеа ке му бидам многу благодарен.

Offline BorceBT

  • Топ Експерт
  • *****
  • Posts: 1826
  • Gender: Male
    • www.trajkovski.net
Одг: DS2401 помош
« Reply #1 on 25.01.2010, Monday, 19:30:57 »
Гледам дека комуникацијата према микроконтролерот е со 16.3KBPs. Не би требало да е сложено да се направи софтверска имплементација на 1-Wire Net протоколот на Dallas во некој PIC12C508. Значи да се направи контролерот да биде Slave: Да чека наредби исти како DS2401 и да одговара на наредбите со однапред испрограмирани одговори (немора да генерираш одговори во реално време туку можеш да си направип процедура (подпрограма) што ќе дава некој фиксен одговор кој ќе го менуваш во кодот). Ако сакаш да е пофлексибилно ќе ставиш PIC12F627 кој има EEPROM и ќе го напишеш саканиот одговор (број) во EEPROM-от и кодот ќе го чита од EEPROM-от и ќе го праќа на излезниот пин.

Datasheet за овој дел:

Code: [Select]
http://www.digchip.com/data/280/280-16225-0-DS2401.pdf
Внатре ги има наредбите опишани на кои одговара овој дел и линк кон 1-Wire Net протоколот на Dallas (мораш да го прочиташ тој сепак да видиш како комуницира на физичко ниво).

Жалам што немам време да ти го испрограмирам за тебе кодот ќе мора да се снајдеш сам, ако заглавиш пиши ќе пробаме да ти помогнеме тука што сме членовите.
Никогаш неможеш да знаеш се, но секогаш можеш да знаеш повеќе.

Offline Goce

  • Стручњак
  • ***
  • Posts: 366
  • Gender: Male
Одг: DS2401 помош
« Reply #2 on 25.01.2010, Monday, 19:51:42 (Edited 26.01.2010, Tuesday, 23:29:15) »
Фала многу не ми текна да побарам Datasheet за овој дел значи има иста комуникација како DS1820 1-Wire тогаш битребало да се снајдам.

Post Merge: [time]26 Јануари 2010, 22:13:09[/time]
Имам два микроконтролера еден ги чита податочите од DS2401  а другиот е тој што сакам да го заменам со DS2401  микро контролерот кој го чита податоците од DS2401 работи одлично коа ке приклучам далас а кога ке го приклучам другиот микро контролер кој сакам да го заменам за DS2401 некад ке проработи а некад не ме зеза пробав со 16ф627А со оваа програма

cmcon=7

b1 var byte

DQ   VAR Portb.6


main:
b1 = 0
owin DQ,0,[b1]
if b1 = $33 then labela
goto main


labela:
owout DQ,1,[$01]

owout DQ,1,[$00,$00,$00,$08,$C3,$C5]

owout DQ,1,[$cd]

goto main

end 

само многу ми е чудно како може постојано да прака некој податоци кога не е приклучен со другиот микроконтролер само пинот RB6 е со Pull up отпорник 4К7 на 5волти

Offline BorceBT

  • Топ Експерт
  • *****
  • Posts: 1826
  • Gender: Male
    • www.trajkovski.net
Одг: DS2401 помош
« Reply #3 on 28.01.2010, Thursday, 02:29:50 »
Хммм. Прво околу програмата. Значи проблемот со некористење на асемблер е евидентен баш во вакви „сигналоидни“ апликации, имено немаш контрола врз брзината на извршување на кој било дел од кодот и не знаеш на колку kbps работиш :) Затоа можеби некогаш работи а некогаш не. А ова последното со комуникацијава... мора некако да е поврзано, неможе преку напојувањето да има комуникација не се толку луди од големите корпорации ваљда :)
Никогаш неможеш да знаеш се, но секогаш можеш да знаеш повеќе.

Offline Goce

  • Стручњак
  • ***
  • Posts: 366
  • Gender: Male
Одг: DS2401 помош
« Reply #4 on 29.01.2010, Friday, 01:06:22 »
Асемблерот знам дека е најдобар за програмирање ама не го знам баш најдобро и затоа програмирам PIC BASIC во оваа прогама што ја имам напишано имам заборавено некој работи кој што се исто така доста битни прво пред да почне да го прака кодот пикот кој е master кој го чита кодот му прака reset имплус кој трае минумум 480 us a коа ке го прими пикот кој е Slave замена за DS2401 чека 15-60 us и му прака на Materot Presence импулс и после кога master-от ке му прати 33h slave-от му го прака кодот
за брзината на пракање си во право тоа е проблемот како што можам да забележам на осцилокоп DS2401 со поголема брзина ги прака податоците од пикот што го користам во замена на DS2401 јас пробувам со кристал од 4 MGh сакам да пробам со поголема фрквенција на кристал со што ке се зголеми брзината на пракање на податоците.

За комуникацијата не се одвива преку напојувањето дали јас не сум ојаснил убаво или погрешно си ме сватил што сакам да кажам на DATA пинот во овој случај Portb.6 се става pull up отпорник од 4К7 на плусот од напојувањето а бидејки имамав заборавено некој инструкции во почетокот на програмата пикот Slave пракаше некој податоци безврска и коа не е приклучен со Master -от сега тоа е во ред си мислам дека остана уште брзината на пракање на податоците


Offline BorceBT

  • Топ Експерт
  • *****
  • Posts: 1826
  • Gender: Male
    • www.trajkovski.net
Одг: DS2401 помош
« Reply #5 on 29.01.2010, Friday, 02:04:41 »
За брзината на праќање пробај со кристал со различни фрекфенции (мислам дека PIC дизајниран за 4MHz без проблем ќе издржи и дупло поголема работна фрекфенција, така да може тоа да те спаси).
Никогаш неможеш да знаеш се, но секогаш можеш да знаеш повеќе.