Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 25.01.2018, 00:52   #1
alex_zas
Junior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 53
Сообщений: 28
Вес репутации: 137/7
alex_zas will become famous soon enoughalex_zas will become famous soon enough
По умолчанию Кто нибудь делал программатор для PIC16F18XXX?

Здравствуйте.
Некоторое количество лет назад, когда была популярна серия 16F87X, для одной из задач мне пришлось спроектировать автономный программатор, который мог на объекте прошить PIC в неком устройстве.
С тех пор пользуюсь таким программатором. Появились новые семейства 16F, пришлось модифицировать софт.
Сейчас делаю очередную модификацию для 16F18XXX. В новых алгоритмах программирования есть два режима: старый (медленный) и новый (быстрый).
В старом алгоритме на каждый адрес памяти нужно выполнить загрузку защёлки и инкремент адреса. После 32 таких итераций нужно дать команду записи блока (если в этом блоке есть непустые слова).
В новом алгоритме можно указывать произвольный адрес памяти блока и одна команда загружает защёлку и инкрементирует адрес.
Старый алгоритм работает, но медленно.
В новом алгоритме данные в память пишутся (программа выполняется) но при проверке (до выхода из режима программирования) из памяти читаются 3FFFh.
Пробовал менять биты защиты в слове конфигурации - не помогло.
Приходится при отладке использовать новый алгоритм с отключенной верификацией, а при финальной прошивке включать старый алгоритм.
Кто нибудь такое делал? Почему блокируется чтение памяти внутри режима программирования?
Заранее благодарен, Алексей
alex_zas вне форума   Ответить с цитированием
Старый 25.01.2018, 08:38   #2
Sergey57
Senior Member
 
Регистрация: 26.03.2009
Возраст: 61
Сообщений: 371
Вес репутации: 892/46
Sergey57 is a splendid one to beholdSergey57 is a splendid one to beholdSergey57 is a splendid one to beholdSergey57 is a splendid one to beholdSergey57 is a splendid one to beholdSergey57 is a splendid one to beholdSergey57 is a splendid one to behold
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

В вашем случае , чтобы разобраться как и что, надо написать программу
с простейшим действием, подключить программатор типа ПИК КИТ 3 и логический анализатор и погонять во всех режимах запись-чтение - проверка. И все ваши вопросы отпадут. Сам пользую логический анализатор 8 каналов 24 мГц. Сделал очень много удивительных открытий.
На Али 300-400 рублей.
Sergey57 вне форума   Ответить с цитированием
Старый 25.01.2018, 12:54   #3
rubel
Senior Member
 
Регистрация: 19.01.2009
Адрес: EARTH
Сообщений: 126
Вес репутации: 385/40
rubel is just really nicerubel is just really nicerubel is just really nicerubel is just really nice
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

Цитата:
Сообщение от alex_zas Посмотреть сообщение
...
Пробовал менять биты защиты в слове конфигурации - не помогло.
...
Заранее благодарен, Алексей
А у вас в алгоритме биты конфигурации пишутся до момента верификации памяти программ?
rubel вне форума   Ответить с цитированием
Старый 25.01.2018, 20:25   #4
alex_zas
Junior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 53
Сообщений: 28
Вес репутации: 137/7
alex_zas will become famous soon enoughalex_zas will become famous soon enough
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

Последовательность такая:
1. Вход в режим программирования LVP.
2. Определение типа MCU.
3. Полное стирание.
4. Запись памяти программ.
5. Запись памяти данных.
6. Проверка памяти программ.
7. Проверка памяти данных.
8. Запись данных пользователя.
9. Проверка данных пользователя.
10. Запись конфигурации.
11. Проверка конфигурации.
12. Выход из режима программирования.
alex_zas вне форума   Ответить с цитированием
Старый 26.01.2018, 09:53   #5
rubel
Senior Member
 
Регистрация: 19.01.2009
Адрес: EARTH
Сообщений: 126
Вес репутации: 385/40
rubel is just really nicerubel is just really nicerubel is just really nicerubel is just really nice
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

Ну, поскольку алгоритм соответствует даташиту, дело вовсе не в битах конфигурации (единственное, что в этом направлении можно перепроверить, что конфигурация корректно стирается на этапе BULK ERASE).
_______
Второе, куда еще можно взглянуть, это на счетчик адреса: после прошивки памяти программ перед началом верификации счетчик должен быть сброшен в 0 командой Load PC Address.
rubel вне форума   Ответить с цитированием
Старый 27.01.2018, 04:59   #6
alex_zas
Junior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 53
Сообщений: 28
Вес репутации: 137/7
alex_zas will become famous soon enoughalex_zas will become famous soon enough
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

После bulk erase конфигурация читается 0000h. Тоже странно...
alex_zas вне форума   Ответить с цитированием
Старый 27.01.2018, 08:56   #7
Guaho
Senior Member
 
Аватар для Guaho
 
Регистрация: 28.06.2013
Возраст: 46
Сообщений: 706
Вес репутации: 1432/41
Guaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud ofGuaho has much to be proud of
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

У PicKit2 есть функция автономной прошивки (и, по идее, у 3-го она тоже должна быть).
Guaho вне форума   Ответить с цитированием
Старый 27.01.2018, 12:17   #8
alex_zas
Junior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 53
Сообщений: 28
Вес репутации: 137/7
alex_zas will become famous soon enoughalex_zas will become famous soon enough
По умолчанию Re: Кто нибудь делал программатор для PIC16F18XXX?

Прошу прощения - разобрался.
Была ошибка в "новом" алгоритме.
Было сделано так:
- загрузка 32-х защёлок с инкрементом PC
- команда записи блока
А должно быть так:
- загрузка 31-й защёлки с инкрементом PC
- загрузка 1-й защёлки без инкремента PC
- команда записи блока
Всё работает.
Всем спасибо.
alex_zas вне форума   Ответить с цитированием
Ответ

Метки
pic16f18xxx, программатор


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто нибудь имеет описание, как обращаться к KEELOQовскому регистру в PIC12F635/PIC16F636? Make_Pic Продукция MICROCHIP 4 25.07.2012 12:02
SNMP из либы микрочипа кто нибудь пользовал? IgorV Cетевые протоколы и технологии 4 24.03.2012 21:50
Программатор P16PRO для pic ??? kumle Общетехнические вопросы 0 13.11.2007 00:09
LCD BC2004C посоветуйте что нибудь для начала на ассемблере Leonid_O Общетехнические вопросы 3 29.05.2007 10:15
MCP6S - что за зверь? кто нибудь юзал? ESD Общетехнические вопросы 6 01.05.2007 18:00


Часовой пояс GMT +3, время: 04:24.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot