MICD
F.A.Q.
Часто
задаваемые вопросы.
v1.06
(обновлено 10.03.2006)
Чем отличается MICD,
предлагаемый вами от фирменного
MPLAB-ICD?
Чем
можно заменить кварц Y1 частотой 3,6864
МГц?
Возможно
ли на данном отладчике работать с
PIC16C84/PIC16F84, вроде по регистрам они
совместимы?
Как
мне отладить программу для
PIC16C84/PIC16F84?
Какую
функцию выполняет светодиод D1?
Почему
для связи с модулем MPLAB-ICD вы
используете и линию RB3, ведь при
отладке режим LVP не используется?
Для
чего в фирменном MPLAB-ICD нужен Header и
можно ли без него обойтись?
Почему
так долго происходит Reset и можно ли
это ускорить?
Я
запрограммировал порт PORTE
кристалла PIC16F877 на вывод, однако
после записи в него любых данных
порт содержит 0's.
Как
можно восстановить прошивку
микроконтроллера модуля MICD (MPLAB-ICD)?
Как
запустить микроконтроллер PIC16F876
автономно, без отладчика MICD?
Вопрос: Чем отличается MICD,
предлагаемый вами от фирменного
MPLAB-ICD?
Ответ: Модуль MICD является
улучшенным схемотехническим
аналогом фирменного Модуля MPLAB-ICD,
работает и поддерживается как
фирменный MPLAB-ICD и может
использовать его прошивку (firmware). В
отличие от фирменного MPLAB-ICD, модуль
MICD может питаться двумя способами:
В остальном различий между MPLAB-ICD и MICD нет.
Вопрос: Чем можно заменить
кварц Y1 частотой 3,6864 МГц?
Ответ: Теоретически, частоту
кварца Y1 на плате модуля MPLAB-ICD
изменять более +/- 5% нежелательно,
т.к. при этом "уползут"
временные характеристики сигналов
COM-порта (RS232).
Практически проверена и получена
устойчивая работоспособность с
кварцами: 3,579МГц и 3,84МГц. При
частоте кварца 4,0 Мгц добиться
работоспособности не удалось.
Вопрос: Возможно ли на данном
отладчике работать с PIC16C84/PIC16F84,
вроде по регистрам они совместимы?
Ответ: Нет, т.к. ICD (In-Circuit-Debugging)
реализована только в кристаллах
PIC16F870, PIC16F871, PIC16F872, PIC16F873, PIC16F874, PIC16F876,
PIC16F877.
Вопрос: Как мне отладить программу
для PIC16C84/PIC16F84?
Ответ: Следует использовать
любой кристалл из списка: PIC16F870(28pin),
PIC16F871(40pin), PIC16F872(28pin), PIC16F873(28pin),
PIC16F874(40pin), PIC16F876(28pin), PIC16F877(40pin). При
этом кристалл рекомендуется
разместить на отдельной плате -
переходнике, а к схеме подключать
только используемые выводы. На
плате - переходнике можно также
установить несколько светодиодов,
подключаемых к свободным выводам PIC
на которые можно выводить
какую-либо информацию при отладке.
После отладки программных модулей
и программы - ее с минимальными
изменениями можно перенести на
кристалл PIC16C84/PIC16F84.
Вопрос: Какую функцию выполняет
светодиод D1?
Ответ: Светодиод показывает
наличие напряжение питания, и
наличие/отсутствие связи модуля
MPLAB-ICD с компьютером. Замечено также,
что светодиод является источником
опорного напряжения для
микроконтроллера модуля. Прямое
напряжение на светодиоде должно
составлять +2,0В.
Вопрос: Почему для связи с
модулем MPLAB-ICD вы используете и
линию RB3, ведь при отладке режим LVP
не используется? В связи с этим,
могу ли я использовать эту линию по
своему усмотрению?
Ответ: Бесспорно эту линию (RB3)
можно вообще не подключать, и
использовать по своему усмотрению,
и это было проверено практически.
Вероятно, в фирменном модуле MPLAB-ICD
эта линия осталась подключенной и
"забытой" после попыток
реализовать протокол Low-Voltage Programming
через этот вывод. Возможно, в
будущем он будет реализован.
Вопрос: Для чего в фирменном
MPLAB-ICD нужен Header и можно ли без него
обойтись?
Ответ: Header в фирменном
устройстве - требуется для замены PIC
в процессе отладки устройства без
пайки, простым включением его в
панель вместо отлаживаемого PIC. По
сути, Header - это PIC, вынесенный на
небольшую внешнюю плату и
включаемый в панельку для PIC
отлаживаемого устройства. В
условиях России изготовление этого
Header(а) станет "золотым"
поэтому, применяется
непосредственное подключение к
плате отлаживаемого устройства 6-ти
проводного отладочного шлейфа. В
остальном отличий нет.
Вопрос: Почему так долго происходит
Reset и можно ли это ускорить?
Ответ: В фирменном MPLAB-ICD при
частоте кварца отлаживаемого
устройства 4МГц, сброс происходит в
течение 7...10 секунд. При отладке
программы это немного утомляет.
Между тем время сброса можно легко
сократить до 3...4 секунд увеличив
суммарную емкость в
преобразователе напряжения до 320
мкФ и более (Конденсаторы C10 и C11 по
схеме www.5v.ru или ex: http://u1.chat.ru). На
платах версии 1.0 оптимально
устанавливать связку: C10 = 220,0х25v, C11 =
100,0х25v.
Вопрос: Я запрограммировал порт PORTE
кристалла PIC16F877 на вывод, однако
после записи в него любых данных
порт содержит 0's.
Ответ: После сброса выводы
портов PORTE и PORTA, имеющие функцию ADC
переведены в режим ADC. Это сделано
для уменьшения воздействия на
аналоговые цепи, возможно
подключенные к этим выводам.
Обратитесь к описанию регистра ADCON1
(для PIC16F877) и выберите требуемый
режим для этих выводов.
Вопрос: Как можно восстановить
прошивку микроконтроллера модуля
MICD (MPLAB-ICD)?
Ответ: Для этого необходим
программатор.
1. Вынимаем микроконтроллер PIC16F876 из
панельки модуля отладчика.
2. Вставляем в панель программатора.
3. Загружаем файл отсюда
(разархивировать не забудьте): http://www.5v.ru/zip/mpl876.zip
4. Записываем в микроконтроллер.
5. Вынимаем микроконтроллер из
панельки программатора.
6. Вставляем в панель модуля.
7. Подключаем разъём COM-порта и
питание.
8. Проверяем.
9. Если всё корректно - можем
обновить (download) прошивку до версии
v2.40.01 из этого файла http://www.5v.ru/zip/icd24001.zip
Вопрос: После программирования и
перехода к режиму отладки, все
работает прекрасно. Но попытка
запустить схему с отключенным
внутрисхемным отладчиком MICD,
приводит к тому, что схема или не
работает, или запускается после
прикосновения к контроллеру, и
работает крайне неустойчиво. Если
ту-же программу записываю на
программаторе другого типа
(пробовал несколько) - все в порядке.
Исключал из программы nop, который,
как пишут нужен для работы
отладчика, из слова конфигурации
исключал режим отладки - без
изменений.
Ответ: Здесь: http://www.5v.ru/led1.htm, последнюю стройчку в
пункте 14, изменить на: "Enable Debug
Mode" - нет.