| Автор |
Съобщение |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 PIC12F675 - code protection
Май го скапах този PIC.
Записвам програмата и след проверка ми дава грешка на адрес 0000. При четене всичко е нула и има отметки на CP и CPD.
Дали случайно не съм задействал защитите срещу запис?
Иначе съм сложил в програмата __CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT и гледам да внимавам CP и CPD да не са отметнати в ICProg (1.05C).
Доколкото разбрах, ако това е така - няма възможност за презапис.
И защо по-дяволите MPLAB 7.01 игнорира bsf STATUS,RP0 та се налага да слагам errorlevel -302 ; suppress message 302 from list file - виждам в Нета, че и други го правят, но никой не обяснява защо именно.
Нов съм с PIC-овете и се надявам по-опитните да дадат едно рамо.
По-добра (безплатна или поне евтина) алтернатива на MPLAB и/или ICProg? Програматорът ми е по сериен порт с MAX232 и независимо захранване.
Благодаря!
Последна промяна Desert Leo на Пет Фев 11, 2005 7:41 pm, променена общо 1 път
|
| Пет Фев 11, 2005 12:19 pm |
|
 |
|
StiV
Ранг: Ориентиран
Регистриран на: Съб Фев 05, 2005 10:58 pm Мнения: 284 Местоположение: Varna
|
Първо провери дали правилно си поставил чипа. Например в Ic-Prog - View/Device Position.
След това провери нивата в програматора от Settings/Hardware Check. Ако всичко е наред, трябва да работи. Изтрий чипа и го запиши наново. MPLAB е достатъчно добра алтернатива 
|
| Пет Фев 11, 2005 1:44 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Чипа е поставен правилно - проверих го.
Settings/Hardware Check обаче показа проблем.
Без да поставям чип в програматора при проверката на Data out, Clock и MCLR се появяват съответните нива - 5V за първите две и 12.5V за последното. Когато, обаче чипа е в програматора при проверка на Data out и Clock напрежението еколо 1.3V.
Интересното е, че в схемата която управлява PIC-а тези два извода не са още свързани и висят свободно, т. е. няма как да са били повредени.
Включих за проба един PIC16F627 и всичко е О.К.
Май наистина е изпушил. Жалко!
|
| Пет Фев 11, 2005 2:48 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Не се отказвай  Това за теста в IC-Prog малко го бъркаш...Когато си поставил чипа на програматора, може да те излъже теста, т.е. първо включи MCLR, тогава вече можеш да тестваш DataOut и CLK. Освен това провери дали като ти е включен DataOut се появява нещо на DataIn. Ако не се появява проблема ти е в програматора!
|
| Пет Фев 11, 2005 3:14 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Пак същото се получи: MKLR=12.7V, Enable Data out не променя Data in. Напреженията на Data out и Clock са пак същите - около 0.13V без значение дали MKLR е включен или не.
Какво може да му бъде на програматора - при изваден чип нивата си ги има. Това е проверка дали хардуера подава необходимите нива.
|
| Пет Фев 11, 2005 3:54 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Пак същото се получи: MKLR=12.7V, Enable Data out не променя Data in. Напреженията на Data out и Clock са пак същите - около 0.13V без значение дали MKLR е включен или не.
Какво може да му бъде на програматора - при изваден чип нивата си ги има. Това е проверка дали хардуера подава необходимите нива.
|
| Пет Фев 11, 2005 3:55 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Абе я му провери SCL или SDA на контролера да не са окъсили към GND-то му... Това със DataIn го пробвай без контролер.
|
| Пет Фев 11, 2005 4:10 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
Без контролер DataOut включва DataIn.
Няма изгледи за късо между данни, клок и масата - вече казах, че напрежението при проверката на хардуера е 0.13V. Данните и клока идват съм контролера от изходи на 40106.
Направих и такава проба на контролера - подавам 5V на Vdd и към изводите за данни и клок - няма понижаване на напрежението. Значи ясно не е късо. Следва да я видя тая 40106.
За мен е важно да разбера какво стана. Важно е и програматора да е в ред. Ще го прежаля този PIC - цената му не е висока, но по-важно е проблема да се осмисли и да не се повтаря. Предполагам, че няма да е последния насила загробен контролер от мен.
|
| Пет Фев 11, 2005 6:27 pm |
|
 |
|
Desert Leo
Ранг: Форумен бог
Регистриран на: Чет Фев 10, 2005 3:25 pm Мнения: 5677 Местоположение: София
|
 Еврика-а-а-а-а-а!!!
Благодаря на всички отзовали се за помощта и подкрепата и най-вече за съвета да не отписвам чипа.
Загубих един ден, но научих важни неща - значи денът не е минал напразно!
Помогна ми WinPic [/url]http://www.qsl.net/dl4yhf/winpic/[url] с опцията Bulk Erase. Изтри чипа въпреки защитите! Това е невъзможно с ICProg.
Сега провелката на хардуера дава необходимите нива.
От радост се разбързах и затворих WinPic. Калибровката на вътрешния генератор я знам - 70 (3470 в последния адрес) - тук проблеми няма, bandgapа е 0х3000. Какво представлява той - прага на сработване на Brown-out detectа ли?
Защото в дейташийта дават праг мин 2.025V и макс 2.175V без типична стойност, два бита са четири нива - 00=2.025V, 01=2.075V, 10=2.125V и 11=2.175V.
|
| Пет Фев 11, 2005 8:00 pm |
|
|