Отговори на тема  [ 18 мнения ]  Отиди на страница 1, 2  Следваща
Предварителен запис в PIC 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение Предварителен запис в PIC
Мисля, че някой беше писал по въпроса, ама пак ще питам.
Начи купих си PIC16F874A-I/P, 16F872-I/SP и 12F675-I/P и тоя път за разнообразие реших да ги прочета първо, преди да ги записвам с каквото и да било. Първите два имаха записани само нули (за третия не съм сигурен) - така ли пристигат винаги?
После - за 675 разбрах че трябва да се гледа калибрацията на осцилатора, преди да се изтрива процесора. Има ли някакви други информации предварително записани (за който и да е от трите)?

ID и на трите изглеждаше изтрит (3FFF-3FFF...)

Програматора ми е ProPIC2 :oops: , самоделка


Чет Дек 29, 2005 7:51 pm
Профил
Ранг: Напреднал
Ранг: Напреднал

Регистриран на: Нед Авг 14, 2005 1:08 pm
Мнения: 433
Местоположение: Казанлък
Мнение 
Така пристигат пълни с 0000000000000


Чет Дек 29, 2005 10:46 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
само за информация как в при AVR:
калибровъчните константи са записани в отделен вид памет (подобно на флеша и ЕЕ) и не могат да се променят (или поне атмел не дават командите за това :wink: )

недостатък е, че тази памет е невидима от процесора при нормална работа. затова при програмиране трябва да се изчете и да се запише на някакво видимо място (флеш или ЕЕ), от което процесора след ресет да си я изчете и да я запише в регистъра на осцилатора. но предимството е, че можеш да правиш всякакви простотии с паметите на чипа без да изтриеш коефициентите.


Чет Дек 29, 2005 11:10 pm
Профил
Ранг: Почетен член
Ранг: Почетен член
Аватар

Регистриран на: Пет Авг 19, 2005 11:38 am
Мнения: 978
Местоположение: Europe -> BG
Мнение 
ДедоБоре написа:
само за информация как в при AVR:
_cut_


Според мен не е извън темата, даже е полезна информация :) , особено за хора "не виждали" AVR ;) :)

_________________
един факт :-)
Съжалявам , че исках да помогна ...


Чет Дек 29, 2005 11:25 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
А какви са тези калибровачни константи?


Чет Дек 29, 2005 11:52 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Не знам как са на AVR, Муторола има данни за: точната стойност на честотата на вградения RC генератор при три различни температури и две захранващи напрежения за 8 различни коефициена ( общо 48 числа ), точната стойност на VRef за три температури, точните стойности на праговете на Voltage Supervisor и още нещо - някъде към 180 байта беше. тези числа се записват в контролера след тест в завода и позволяват да се правят масови устройства без външни кварцови генератори и други скъпотии.


Пет Дек 30, 2005 12:00 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
8O не очаквах точно ти да питаш...

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

понеже при производството нещата варират, производителя е любезен да свърши горната работата във фабриката. въпроса е къде да се запише константата. някои произовдители я записват в ЕЕ и може по невнимание да я изтриеш и тогава трябва да си я търсиш сам.

някои микроконтролери при ресет си четат сами калибровъчните констатни в зависимост от избраната честота и си ги записват сами където трябва.

ще допълня батето:
кварцовете са едни от най-лесно дефектиращите чаркове при механично въздействие

ОБАЧЕ :!:
използването на вътрешен осцилатор за стабилна тайм-база е немислимо. стига най-много за асинхронна комуникация и то на ниски скорости (<=19200, дори <=9600). ако се изисква точен тайминг си трябва кварц, няма начин. отделно, вътрешния осцилатор е доста нестабилен в температурния диапазор (все пак е достатъчно стабилен за работа на 9600 от 0 до +50). ако се мери температурата, може да се коригира константата софтуерно, ама не го виждам в ценово отношение (кварц+2 пина равни ли са на термистор+1 пин?)


Пет Дек 30, 2005 12:16 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 12:32 pm
Мнения: 8382
Местоположение: София
Мнение 
При AVR-а само тая константа ли е?


Пет Дек 30, 2005 12:32 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Сеп 26, 2004 4:11 pm
Мнения: 3750
Местоположение: София
Мнение 
Дедо Боре, обикновено се ползва термосензаора в кристала на контролера ( звучи много шик, ама всъщност става дума за един банален диод ). Неговите показания също са описани в константите. Така че не се губи нищо като хардурни ресурси.
Считам, че това е добра практика на производителите. А за точността на вътрешния генератор си прав - става за асинхронна комуникация. Според мен независимо от скоростта. Става и за други неотговорни работи. За RTC определено не става.


Пет Дек 30, 2005 12:48 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Ное 21, 2004 11:31 pm
Мнения: 10088
Мнение 
скапах си линукската емулация и нямам акробат, та чета в една хартия за tiny.
регистъра се казва OSCCAL, прочети какво пише за него.
калибровачните байтове се четат с SPIS инструкция 00111000 хххххххх 000000bb
в по-новите чипове, особено в тези за возила (ATmega48/88/168), може да има повече числа. потърси

абе човека питаше как е при пиковете...
взел си е една шепа чипове и иска малко да разтуши в къщи, щото му е писнало от армове.
ние го емнахме - константи, температурни таблици...


Пет Дек 30, 2005 12:51 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение Re: Предварителен запис в PIC
ex-man написа:
Мисля, че някой беше писал по въпроса, ама пак ще питам.
Начи купих си PIC16F874A-I/P, 16F872-I/SP и 12F675-I/P и тоя път за разнообразие реших да ги прочета първо, преди да ги записвам с каквото и да било. Първите два имаха записани само нули (за третия не съм сигурен) - така ли пристигат винаги?
После - за 675 разбрах че трябва да се гледа калибрацията на осцилатора, преди да се изтрива процесора. Има ли някакви други информации предварително записани (за който и да е от трите)?

ID и на трите изглеждаше изтрит (3FFF-3FFF...)

Програматора ми е ProPIC2 :oops: , самоделка


Според мен имаш малък някакъв проблем с програматора, досега всички PIC които съм ползвал с OSCCAL винаги са били заводски програмирани. Ако случайно си затрил OSCCAL при писане или изтриване, напиши на адреса му RETLW <стойността>, при мене в 90% от случаите е 0х34C8 (RETLW C8) или нещо близко. В ID на процесорите нищо не трябва да пише, оставен е да си тъпчеш разни чексуми, в 12ките обаче нямаш достъп до ID от самия процесор, можеш да го четеш/пишеш само отвън.


Пет Дек 30, 2005 1:59 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 6:20 pm
Мнения: 3532
Мнение 
12-ката се чете нормално - в смисъл има си константа някаква за осцилатора. Останалите байтове са нули.

Абе нещо не мога да се сетя ама като че ли някой беше споменал, че ревизията на ПИК се записвала нейде извътре (щот на корпуса сигурно няма място :axe: ) или се бъркам...


Пет Дек 30, 2005 8:02 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Съб Сеп 17, 2005 11:12 pm
Мнения: 95
Местоположение: Shumen
Мнение 
абе и според мен човека има проблем с програматора, още не ми се е случвало, нов ч4ип да доиде с 00000000. Ако не се лъжа, трябва да е с fffffffffffffff пълен....ИЛИ? А и ако затрие калибрациите, да прочете в описанието на чипа каде в паметта трябва да стоят, и просто да запише нняква стоиност, не помня то4но как беше, ама тоя "проблем" го имах вече са 12Ф509, и процесора си ба4ка...проблема идава, ако на чове4еца му трябва точност...там ве4е както спомена някои....тестване и променяне на константата която може да е от 00 до FF, нее много :)


Съб Дек 31, 2005 12:58 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Окт 07, 2004 1:22 pm
Мнения: 1949
Местоположение: София
Мнение 
Ами в 12-ките има едно Device-ID интересно що не мога да го намеря в момента в PDF-a, сигурно е заради онез бутилки алкохол дето стоят на масата ми от снощи :lol: Но такова ID със сигурност има, доказателството, WinPIC800 разпознава PIC12F675, 683, 629 и други които сложа на цокъла :)


Пон Яну 02, 2006 4:32 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пон Сеп 27, 2004 9:22 am
Мнения: 15501
Местоположение: София
Мнение 
заводското ID е нейде около конфиг байтовете. Има го, представлява индентификационен байт за типа процесор + ревизия.

_________________
"Да еба и шибаната държава" мислеше си Гошо, докато се опитваше да улучи кофата за боклук от балкона на осмия етаж.


Вто Яну 03, 2006 10:26 am
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 18 мнения ]  Отиди на страница 1, 2  Следваща

Кой е на линия

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


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

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