| Автор |
Съобщение |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
 Проблем при програмиране на микроконтролер
Првиет на всички! Аз съм нов тук и от скоро се занимавам с микроконтролери. Имам следния проблем. При опит да запиша програмата в микроконтролера(PIC16F84A), ми се появява съобщение за грешка(при ICProg е Verify failed at address 0000h, а при PonyProg ми дава, че записа е неуспешен). Използвам универсалния програматор за микроконтролери и памети на "Млад конструктор". CP е OFF от директивата в ASM файла, транслирането е успешно, в ICProg също ми показва, че нямам отметка на Code Protection, но проблема си остава същия. Проверих 3 пъти да не съм объркал нещо при сглобяването на програматора, но грешка няма. Vpp-то му е 13.06V, Vdd - 5.03V, светодиода които индицира "Reset" светва при опит за програмиране. Просто незнам вече какъв може да е проблема, записан микроконтролер също не прочита, всичко е 3FFF. Ако вие знаете нещо по моя проблем, ще съм много благодарен да ми помогнете.
|
| Пет Дек 07, 2007 2:12 pm |
|
 |
|
IceBurn
Ранг: Минаващ
Регистриран на: Нед Яну 30, 2005 4:25 pm Мнения: 47
|
На този програматор има едно ключе, което определя типа на шината - I2C или SPI.
За PIC трябва е в позиция I2C. Погледни да не си го объркал.
|
| Пет Дек 07, 2007 2:17 pm |
|
 |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
Не, на положение I2C е. Въпреки, че пробвах и на SPI не се получава.
|
| Пет Дек 07, 2007 2:28 pm |
|
 |
|
IceBurn
Ранг: Минаващ
Регистриран на: Нед Яну 30, 2005 4:25 pm Мнения: 47
|
Може да има и проблем с времената. На ICProg за Windows XP се слага един драйвер. Има и един плъзгач, I/O delay май беше. Поиграй си с него. Също така в ICProg виж дали си настроил вярно инвертирането на сигналите (мисля че се инвертираше Din).
|
| Пет Дек 07, 2007 3:02 pm |
|
 |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
Какво по-точно имаш впредвид с това?
За I/O Delay, инвертирането на сигналите и интерфейса, играх си и с тях. Каквото ми показва като няма мокроконтролер скачен към програматора, това ми показва и като има. Като инвертирам D-in резултата при четенето на записан микроконтролер е 0000, кагото не е инвертиран е 3FFF. Драйвера за XP (ICPROG.sys) съм го поставил в директорията на програмата и съм му дал Enable от Setings=>Option=>Misc.
|
| Пет Дек 07, 2007 7:46 pm |
|
 |
|
Ки4о
Ранг: Форумен бог
Регистриран на: Съб Юли 22, 2006 9:50 pm Мнения: 1638
|
Когато четеш записан и защитен контролер - четеш 0х0000.Когато не е защитен или е изтрит - четеш нещо различно от 0х0000.Увеличи I/O Delay защото ти е бърз компютъра.За какво служи I/O Delay - виж описанието на софта.Вземи и си сглоби сам един програматор - из форума има много схеми и теми по този въпрос.Ако нещо пак не ще - питай пак 
|
| Пет Дек 07, 2007 8:24 pm |
|
 |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
ОК, благодаря ви за отделеното време. Нещо ме навежда на мисалта, че на тоя програматор не са му в ред двете интегрални схеми MAX 232 и 40106 през който преминават сигналите за данни и тактова честота (Data I2C и CLK), но просто нямам осцилокоп за да ги проверя, а и да имам незная какви трябва да са стоиностите.
|
| Пет Дек 07, 2007 11:42 pm |
|
 |
|
wolfshark
Ранг: Минаващ
Регистриран на: Пон Ное 26, 2007 11:34 pm Мнения: 95 Местоположение: Видин
|
Аз да повторя пак...  Този програматор изключва 5'те волта а чипа докато се програмира и няма проблеми.
|
| Съб Дек 08, 2007 12:02 am |
|
 |
|
the_electronic_m@n
Ранг: Минаващ
Регистриран на: Пет Окт 05, 2007 8:34 pm Мнения: 76 Местоположение: Русе
|
Провери ги статично! Изтегли си datasheet -тите на двете интеграли и виж на кой крак какви сигнали трябва да се подадат. 40106 са 6 инвертиращи тригера на шмид, което ще рече, че при подаване на входа на елемента логическа нула, на изхода трябва да е логическа 1(логическа 0 е 0...0,8 волта, а логическа 1 е от 3....5)и обратно. Ако това е така определено интегралата работи. За МАХ232 е по същия начин, но тук има 2 вида буфери- приемащи и предаващи. На едните при подавана на входа на 1(5V), на изхода е около 10V и при подаване на 0 на изхода е -10V. На другите- при подаване на 1(-10V), на изхода е логическа 0(0...0,8V) и при подаване на входа на 10V на изхода е 5V. Според мен е добре да си провериш софтуерните настройки защото съм 99% сигурен че интегралките си работят. Този програматор съм го правил вече незнам колко пъти за приятели и до сега проблемите са били винаги от софтуерен характер! Дано съм ти бил полезен!УСПЕХ!!!
|
| Съб Дек 08, 2007 12:05 am |
|
 |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
Благодаря за информацията наистина е много полезна, ще проверя тея работи. Има още едно нещо което ми направи впечатление. Когато задам Enable Data Out от Hardware Check в ICProg, напрежението на извод I2C става от 3V на 3.53V. До тук добре, но не мога да си обесня защо светодиода който индицира коя шина е избрана, започва да свети малко по-силно. Това нормално ли е? Той е свързан в отделна верига към изхода на стабилизатора 78L05. Струва ми се доста странна тая работа защото Vdd-то си остава 5.03V винаги, а светодиода свети различно.
|
| Съб Дек 08, 2007 12:35 am |
|
 |
|
raven_feather
Ранг: Популярен
Регистриран на: Чет Сеп 28, 2006 4:24 pm Мнения: 320 Местоположение: Варна
|
 кабел?
А кабела към COM порта какъв е?Мъжки-женски (моя е такъв) или ...? По едно време много се бърках с тия кабели 
|
| Съб Дек 08, 2007 12:55 am |
|
 |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
Да, кабела от програматора е мъжки(RS-232). Свързан е успоредно към женския COM порт на компютъра.
|
| Съб Дек 08, 2007 1:04 am |
|
 |
|
the_electronic_m@n
Ранг: Минаващ
Регистриран на: Пет Окт 05, 2007 8:34 pm Мнения: 76 Местоположение: Русе
|
Мммдаа, това ми прилича на моите любими моменти -"всичко е направено както трябва, но не работи!" Предполагам си проверил за къси съединения,но те съветвам отново да го направиш и то по-обстойно!
|
| Съб Дек 08, 2007 1:30 am |
|
 |
|
Nikolay_90
Ранг: Минаващ
Регистриран на: Пет Дек 07, 2007 1:21 pm Мнения: 31 Местоположение: Varna
|
Да, точно в това беше проблема. Два от проводниците който свързват превключвателя за смяна на шината бяха на късо и в следствие на това постоянно имах високо ниво на извод Data I2C. Сега вече всичко е ОК и то благодарение на вас, че ме светнахте за някой работи  Успях да програмирам първия си микроконтролер.
Отново благодаря за помоща и отделеното време!
|
| Съб Дек 08, 2007 3:32 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 :))
_________________ Избийте баламите и тарикатите сами ще умрат!
Няма невъзможни работи - има много трудни работи!
----------------------------------------------------------------------------------
"Я в Москве с киркой уран найду, при такой повышенной зарплате" !
|
| Нед Дек 09, 2007 2:54 am |
|
|