Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: dsPIC30F2020 - ID?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Stas
Сегодня пытался запустить логическую часть эл.привода на базе dsPIC30F2020. Имеем ICD2 + отлаживаемое устройство с питанием. При попытке обращения к микросхеме посредством ICD2 выдается сообщение о несовпадении ID = 0x0 (Должно быть 0x400). Все попытки записи config bit в режиме программатора проваливаются при верификации. Осциллом наблюдаю хорошую форму сигналов EMUC и EMUD. Ради хохмы на EMUD повесил Pull-up, изменился ID=0xfff. Т.е. как я понял контроллер не отвечает. Пробовал подключать EMUC и EMUD к альтернативным портам - результат без изменений. Решил бахнуть config bit на программаторе phyton chip_prog+. Самое интересное - программатор ругается на несовпадение ID для микросхемы dsPIC30F2020. Ладно, все равно решил попробовать поменять config bit - сравнение не проходит не в ISP MODE ни в классическом режиме работы програматора. Проверил на определение ID все 6 имеющихся микросхем - результат одинаков - все хреново. Кто нибудь с подобными проблемами сталкивался ?
DL36
Цитата(Stas @ Feb 26 2009, 20:00) *
Сегодня пытался запустить логическую часть эл.привода на базе dsPIC30F2020. Имеем ICD2 + отлаживаемое устройство с питанием. При попытке обращения к микросхеме посредством ICD2 выдается сообщение о несовпадении ID = 0x0 (Должно быть 0x400). Все попытки записи config bit в режиме программатора проваливаются при верификации. Осциллом наблюдаю хорошую форму сигналов EMUC и EMUD. Ради хохмы на EMUD повесил Pull-up, изменился ID=0xfff. Т.е. как я понял контроллер не отвечает. Пробовал подключать EMUC и EMUD к альтернативным портам - результат без изменений. Решил бахнуть config bit на программаторе phyton chip_prog+. Самое интересное - программатор ругается на несовпадение ID для микросхемы dsPIC30F2020. Ладно, все равно решил попробовать поменять config bit - сравнение не проходит не в ISP MODE ни в классическом режиме работы програматора. Проверил на определение ID все 6 имеющихся микросхем - результат одинаков - все хреново. Кто нибудь с подобными проблемами сталкивался ?

Довольно частая проблема при плохой связи с чипом.

Рекомендации стандартные.
- попробовать повесить на PDC, PGD кондеры до 100 пик.
- убрать все коденсаторы/диоды на сбросе
- укоротить шнур связи
- если клон, то уменьшить до нуля резисторы в цепи PDC, PGD.
- изменить точку подключения земли USB кабеля.

Если поможет переразвести плату.
Stas
Однако...
Сигналы все хорошой формы, все подключения в соответствии с документами на IDC2 (Микрочип), все земли сходятся в одной точке, длина шнура ~7 см, шнур самодельный из стандартного сетевого, при обжимке и пайке кабеля сделал чтоб сигнальные провода были свит с землей и тп и тд. Связи с чипом совсем нет. И программатор их (чипы) не берет.
Сегодня пробовал подать внешнюю частоту на вход осциллятора. При 14 МГц возрастает потребление чипа, где то ~1Вт, связи с чипом не появилось.
Пробовал осциллом расматривать сигналы программирования в chip_prog+. Сейчас ищу спецификацию на алгоритм внешнего программирования / стирания dsPIC30F.
Vlad27
Похожая проблема обсуждалась здесь
DL36
Цитата(Stas @ Feb 27 2009, 16:30) *
Однако...
Сигналы все хорошой формы, все подключения в соответствии с документами на IDC2 (Микрочип), все земли сходятся в одной точке, длина шнура ~7 см, шнур самодельный из стандартного сетевого, при обжимке и пайке кабеля сделал чтоб сигнальные провода были свит с землей и тп и тд. Связи с чипом совсем нет. И программатор их (чипы) не берет.
Сегодня пробовал подать внешнюю частоту на вход осциллятора. При 14 МГц возрастает потребление чипа, где то ~1Вт, связи с чипом не появилось.
Пробовал осциллом расматривать сигналы программирования в chip_prog+. Сейчас ищу спецификацию на алгоритм внешнего программирования / стирания dsPIC30F.

Ну у меня шнур 30 см из пачпорта, но я использую свой клон. Кстати а с другими кристаллами, например ПИС18 связь есть?
Можна рассмотреть некую последовательность на время отклика программируемого чипа. Самое высокое у старых ПИК16, меньше у ПИК18 в новых еще меньше у ПИК24.

Тут еще, надеюсь все питания соединены в том числе и аналоговые если есть(я не смотрел на этот) и с питанием платы все в порядке.

Так для чистоты эксперимента, я бы попробовал подпаяться прямо на проводками на линии программирования и питания и попробовать в этом варианте. Конкретно по dsPIC30F ничего сказать не могу но стоит посмотреть на линию сброса как на форму фронта так и уровень сигнала надо посмотреть. По сбросу ИСД2 выставляет свое питание от таргета либо от внутреннего преобразователя через 100 Ом. Был момент, что с ПИК18 было все в порядке а с ПИК24 связи не было в режиме отладчика хотя программирование проходило успешно.

Довольно маловероятно что все шесть dsPIC30F чипов умерли, а поскольку ИСД2 один может тут скорее проблема.
Помню сам тут бодался тяжко было, но и помочь очень тяжело.
Stas
Пиками никогда не занимался и соответственно запасов нет, заказал еще. Все питания и тд есть - не первый день замужем smile.gif. На неделе попробую логическим анализатором просмотреть алгоритм работы chip_prog+, далее думаю на патернгенераторе сделать последовательность для ввода dsPIC30F в Enhanced ICSP Mode и попадовать различные команды.
Кабель паяется прямо к контрольным точкам EMUC и EMUD возле панели с микросхемой, эти линии длинной 5 мм и более в схеме не используются. По линии MCLR кроме PULL_UP 4,7kOm пока ничего не смонтированно, после отладки ПО установится микросхема супервизора.
Есть один непонятный для меня момент. Как ICD2 работает с ресетом. Это вход или выход в режиме работы с dsPIC?
По идее вход в Enhanced ICSP Mode происходит при активном ресете с подачей 32 бит ключа, а я 0 в своем ICD2 на MCLR не видел ни в одном режиме работы.
DL36
Цитата(Stas @ Feb 28 2009, 18:09) *
Есть один непонятный для меня момент. Как ICD2 работает с ресетом. Это вход или выход в режиме работы с dsPIC?
По идее вход в Enhanced ICSP Mode происходит при активном ресете с подачей 32 бит ключа, а я 0 в своем ICD2 на MCLR не видел ни в одном режиме работы.

На ресете присутствуют три ключа
- Коммутация в ноль
- коммутация к питанию таргета, поєтому PULL_UP 4,7kOm в принципе можно исключить.
- Коммутация напряжения программирования.

При попытке конекта на MCLR должно появиться напряжение программирования и потом уходит в ноль.

Посмотрите напряжения которые измеряет ИСД2 иногда это помогает. Programmer/setting на вкладке status можно попробовать тест а на вкладке power можно посмотреть реальные напряжения.
Stas
А кто нибудь может поделиться схемой микрочиповского ICD2 ??
DL36
Цитата(Stas @ Mar 1 2009, 20:17) *
А кто нибудь может поделиться схемой микрочиповского ICD2 ??

Тут можно посмотреть одну из первых версий.
И на микрочипе приводили схему выходных буферов одного из последних вариантов.
Stas
Все. Разобрался. Плохой контакт в разъеме ICD2 по линии MCLR, хотя напряжения в Programmer/setting показывал нормально. В результате ICD2 пытался коннектится к контроллеру с MCLR=VCC. А фитоновский программатор реально dsPIC не берет, хотя в списке микросхем они есть.
DL36 - спасибо.
Сейчас бъюсь с внешним резонатором - не генерит собака.
xemul
Цитата(Stas @ Mar 2 2009, 16:23) *
А фитоновский программатор реально dsPIC не берет, хотя в списке микросхем они есть.

Скорее всего Вы пытаетесь шить внутрисхемно без адаптера ISP. У chipprog'ов небольшая нагрузочная способность по выходам (1-2 кОм на землю или Vcc по PGD/PGC они уже не тянут).
Посмотрите схемы адаптеров на сайте фитона. Они несложные, можно собрать на коленке. Или купитьsmile.gif.
Stas
Пытался шить непосредственно в колодке. Осциллографом смотрел - на MCLR 0, во все три варианта подключения PGD/PGC сигнал идет, те тактовый и данные. Что туда подается - не рассматривал.
DL36
Цитата(Stas @ Mar 2 2009, 17:23) *
Все. Разобрался. Плохой контакт в разъеме ICD2 по линии MCLR, хотя напряжения в Programmer/setting показывал нормально. В результате ICD2 пытался коннектится к контроллеру с MCLR=VCC. А фитоновский программатор реально dsPIC не берет, хотя в списке микросхем они есть.
DL36 - спасибо.
Пожалуйста smile.gif
Цитата(Stas @ Mar 2 2009, 17:23) *
Сейчас бъюсь с внешним резонатором - не генерит собака.

Просто обратите внимание
Код
   __builtin_write_OSCCONH(0x02);       // Встроенная функция С30  
   __builtin_write_OSCCONL(0x01);       // переключения генератора

Я сегодня макрос для работы с поправил поправил для С30, думаю понравиться.
Stas
Тогда еще один вопрос.
Я хочу чтоб контроллер стартовал с источником тактового сигнала HS w/PLL 32x и соответственно прошиваю конфигурационные биты ячеек FOSCSEL, FOSC. Генерации на линиях OSC1 и OSC2 я не наблюдаю (пробовал менять кварц - не помагает (14МГц)) . Насколько это правильный подход?
Или требуется стартовать в режиме с FRC (или уходить по монитору FSCM на FRC) а потом настраивать внешний осциллятор в регистре OSCCON и переключаться на него? Не нашел в даташите такого, надо пробовать...
DL36
Цитата(Stas @ Mar 3 2009, 18:04) *
Тогда еще один вопрос.
Я хочу чтоб контроллер стартовал с источником тактового сигнала HS w/PLL 32x и соответственно прошиваю конфигурационные биты ячеек FOSCSEL, FOSC. Генерации на линиях OSC1 и OSC2 я не наблюдаю (пробовал менять кварц - не помагает (14МГц)) . Насколько это правильный подход?
Или требуется стартовать в режиме с FRC (или уходить по монитору FSCM на FRC) а потом настраивать внешний осциллятор в регистре OSCCON и переключаться на него? Не нашел в даташите такого, надо пробовать...

О ds30 в этом отношении ничего сказать не могу.
Я стартую на внутреннем без ПЛЛ и затем перехожу на внешний при необходимости с ПЛЛ.
Stas
Не могу запустить внешний кварцевый осциллятор. В режиме HS primary на лапках OSC1 и OSC2 торчит постоянный уровень 0,3 В, пробовал разные типы кварцов (14МГц). В режиме FRC попробовал вывести внутренний тактовый на лапку OSC2. Самое интересное что клок выводится если назначить OSC2 как IO и соответственно не выводится если назначить как clk out.
Stas
Неделю бился с запуском внешнего кварца. Вероятно нашел даже фичу в конфигурационных битах, связанную с разрешением вывода тактовой частоты (выводил частоту ядра при настройке пина OSC2 как логический выход). Случайно прочитал ERRATA. Все встало на свои места, все хреново:
• An external crystal is not supported as an oscillator source
• The Clock Out function does not work
• RB7 cannot be used as a digital input or output
Где и как можно посмотреть ревизию используемого кристалла?
DL36
Цитата(Stas @ Mar 6 2009, 19:38) *
Где и как можно посмотреть ревизию используемого кристалла?

Например с помощью ИСД2
Connecting to MPLAB ICD 2
...Connected
ICDWarn0030: MPLAB ICD2 is about to download a new operating system. If MPLAB IDE is just starting, it will appear to "hang" at the splash screen. Please be patient. MPLAB IDE will finish it's initialization after the OS is downloaded. (Note: You may wish to select to ignore this warning in the future.)
Downloading Operating System
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to target
Target Device PIC24FJ64GA002 found, revision = Rev 0x3003
...Reading ICD Product ID
Running ICD Self Test
...Passed
...Download Operating System Succeeded
Setting Vdd source to target
Target Device PIC24FJ64GA002 found, revision = Rev 0x3003
...Reading ICD Product ID
Running ICD Self Test
...Passed

Так на всякий случай конфигурация для PIC24FJ64GA002 и переключение
Код
  Nop();Nop();Nop();Nop();Nop();
//_CONFIG2( IESO_OFF & FNOSC_FRC & FCKSM_CSECMD & OSCIOFNC_OFF & IOL1WAY_ON & I2C1SEL_SEC & POSCMOD_HS)
// FNOSC_FRC            Fast RC oscillator
// FCKSM_CSECMD         Only clock switching enabled
// POSCMOD_HS           HS oscillator
    __builtin_write_OSCCONH(0x02);        // Initiate Clock Switch to Primary
                                                        // Oscillator with PLL (NOSC=0b011)
    __builtin_write_OSCCONL(0x01);        // Start clock switching
  TimeOutTmp      = 0xFFFF;
  do
  {
    if (!(_OSWEN)) break;
   Nop();Nop();Nop();Nop();Nop();
  } while (--TimeOutTmp);
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.