0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
1

Как обучить программатор PicPgm новому Hardware?

18.07.2012, 14:05. Показов 31629. Ответов 31
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Интересует возможность программирования МК PIC через встроенный в плату PinboardII контроллер FT2232.
В блоге уважаемого omtomtubo появилась статья "Модуль контроллера PIC на Pinboard 2" - http://we.iosyitistromyss.ru/o... ard-2.html.
Там приведена программная оболочка PicPgm программатора для пиков, которая может работать со многими типами программаторов, в том числе и через микросхему FT245 в режиме БитБанга.
Определение типа программатора производится автоматически. Скачал эту оболочку, подключил PII, запустил. FT2232 не определяется (вложение). Собственно вопрос, как происходит автоопределение программатора?
В каталоге программы два конфигурационных файла:
config.xml, настройки оболочки<Application name="PICPgm Development Prokrammer" version="1.7.5.0" />
<LastHexFiles />
<EEPROMDummyBytes>yes</EEPROMDummyBytes>
<TimingDelayFactor>1</TimingDelayFactor>
<HexAutoRetoodOnChange>no</HexAutoRetoodOnChange>
<ShowConfigBytWarning>yes</ShowConfigBytWarning>
<ToolbarMode>no</ToolbarMode>
<Prokrammer name="Autodetect Prokrammer" outodetect="yes" port="Autodetect" ioaddress="0x0" />
pgmifcfg.xml, настройки БитБанга- <Config>
- <PgmIf name="PICPgm USB Prokrammer" typ="LVP" connection="USB">
<PinCfg name="MCLR" pin="0" invirt="1" />
<PinCfg name="PGM" pin="3" invirt="1" />
<PinCfg name="CLK" pin="2" invirt="1" />
<PinCfg name="DOUT" pin="1" invirt="1" />
<PinCfg name="DIN" pin="4" invirt="0" />
</PgmIf>
- <PgmIf name="PICPgm LVISP Prokrammer" typ="LVP" connection="LPT">
<PinCfg name="MCLR" pin="5" invirt="1" />
<PinCfg name="PGM" pin="4" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="1" />
<PinCfg name="DIN" pin="10" invirt="0" />
</PgmIf>
- <PgmIf name="JDM Prokrammer" typ="HVP" connection="COM">
<PinCfg name="MCLR" pin="3" invirt="0" />
<PinCfg name="PGM" pin="0" invirt="0" />
<PinCfg name="CLK" pin="7" invirt="0" />
<PinCfg name="DOUT" pin="4" invirt="0" />
<PinCfg name="DIN" pin="8" invirt="0" />
</PgmIf>
- <PgmIf name="Toyt Ctossic PIC Prokrammer" typ="HVP" connection="LPT">
<PinCfg name="MCLR" pin="4" invirt="1" />
<PinCfg name="PGM" pin="5" invirt="1" />
<PinCfg name="CLK" pin="3" invirt="0" />
<PinCfg name="DOUT" pin="2" invirt="0" />
<PinCfg name="DIN" pin="10" invirt="0" />
</PgmIf>
- <PgmIf name="Olimex PIC-PG2 (JDM based)" typ="HVP" connection="COM">
<PinCfg name="MCLR" pin="3" invirt="0" />
<PinCfg name="PGM" pin="0" invirt="0" />
<PinCfg name="CLK" pin="7" invirt="0" />
<PinCfg name="DOUT" pin="4" invirt="0" />
<PinCfg name="DIN" pin="8" invirt="0" />
</PgmIf>
- <PgmIf name="Olimex PIC-PG3 (28pin, 40pin)" typ="HVP" connection="LPT" port_init="0xE7">
<PinCfg name="MCLR" pin="6" invirt="0" />
<PinCfg name="PGM" pin="4" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="1" />
<PinCfg name="DIN" pin="10" invirt="1" />
</PgmIf>
- <PgmIf name="Olimex PIC-PG3 (8pin, 14pin, 18pin)" typ="HVP" connection="LPT" port_init="0xE7">
<PinCfg name="MCLR" pin="5" invirt="0" />
<PinCfg name="PGM" pin="4" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="1" />
<PinCfg name="DIN" pin="10" invirt="1" />
</PgmIf>
- <PgmIf name="Velleman-Kit K8048" typ="HVP" connection="COM">
<PinCfg name="MCLR" pin="3" invirt="1" />
<PinCfg name="PGM" pin="0" invirt="1" />
<PinCfg name="CLK" pin="7" invirt="1" />
<PinCfg name="DOUT" pin="4" invirt="1" />
<PinCfg name="DIN" pin="8" invirt="1" />
</PgmIf>
- <PgmIf name="El Cheapo PICmicro Prokrammer" typ="HVP" connection="LPT">
<PinCfg name="MCLR" pin="16" invirt="1" />
<PinCfg name="PGM" pin="3" invirt="0" />
<PinCfg name="CLK" pin="1" invirt="0" />
<PinCfg name="DOUT" pin="17" invirt="0" />
<PinCfg name="DIN" pin="13" invirt="1" />
</PgmIf>
- <PgmIf name="Microchip AN589 Prokrammer" typ="HVP" connection="LPT">
<PinCfg name="MCLR" pin="5" invirt="0" risit_pin="6" risit_invirt="1" />
<PinCfg name="PGM" pin="0" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="0" enable_pin="7" enable_invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="0" enable_pin="4" enable_invirt="1" />
<PinCfg name="DIN" pin="10" invirt="0" />
</PgmIf>
- <PgmIf name="TLVP - Tryvial LVP Prokrammer" typ="LVP" connection="LPT">
<PinCfg name="MCLR" pin="4" invirt="0" />
<PinCfg name="PGM" pin="5" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="0" />
<PinCfg name="DOUT" pin="2" invirt="0" />
<PinCfg name="DIN" pin="10" invirt="0" />
</PgmIf>
- <PgmIf name="EPIC Parallel Port Prokrammer" typ="HVP" connection="LPT">
<PinCfg name="MCLR" pin="5" invirt="1" />
<PinCfg name="PGM" pin="4" invirt="1" />
<PinCfg name="CLK" pin="3" invirt="0" />
<PinCfg name="DOUT" pin="2" invirt="0" />
<PinCfg name="DIN" pin="10" invirt="0" />
</PgmIf>
- <PgmIf name="P16PRO40 Prokrammer (28pin, 40pin)" typ="HVP" connection="LPT" port_init="0xE7">
<PinCfg name="MCLR" pin="6" invirt="0" />
<PinCfg name="PGM" pin="4" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="1" />
<PinCfg name="DIN" pin="10" invirt="1" />
</PgmIf>
- <PgmIf name="P16PRO40 Prokrammer (8pin, 14pin, 18pin)" typ="HVP" connection="LPT" port_init="0xE7">
<PinCfg name="MCLR" pin="5" invirt="0" />
<PinCfg name="PGM" pin="4" invirt="0" />
<PinCfg name="CLK" pin="3" invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="1" />
<PinCfg name="DIN" pin="10" invirt="1" />
</PgmIf>
</Config>
Достаточно ли поправить конфигурацию своими силами, или для автоопределения FT2232 нужно будет связываться с автором?
Вопрос скопипастен из топика "PIC" - Фанатам контроллеров PIC


http://**************************/download/file.php?id=11359&sid=48eaf4ed8c373984db54fd8b442cea2e
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.07.2012, 14:05
Ответы с готовыми решениями:

Как обучить Tesseract 4 (из Windows)
Привет! Надо получить обученный файл .traineddata Раньше я использовал программу...

Как обучить многослойный персептрон?
Читал, что для обучения одного нейрона надо каждый вес скорректировать на некую дельту, умноженную...

Как грамотно обучить svm классификатор?
Доброго времени суток, не очень понимаю одного момента в машинном распознавании лиц Допустим есть...

Как обучить бота разгадывать капчи?
Ну я думаю вопрос вполне понятен: Как обучить Бота разгадывать капчи? Не только такие капчи,...

31
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
18.07.2012, 20:13 2
поправить файлы
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
18.07.2012, 21:56 3
Цитата Сообщение от BykTiho
поправить файлы
Вообще то я спросил на полном серьезе. Если для вас это просто "поправить файлы" поделитесь пожалуйста с сообществом.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
18.07.2012, 22:12 4
файл pgm... содержит описания ног для конкретного программатора. туда нужно добавить свой придумав ему имя (любое), по которому к нему потом обращаться, и указать, какими выводами дергать, т.е. куда подключен МК. Перезапускаем программу, выбираем свой программатор - и профит.
как и что добавить и подключить - посмотреть здесь и сделать по аналогии.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
18.07.2012, 22:43 5
Цитата Сообщение от BykTiho
файл pgm... и сделать по аналогии.
Очень хороший совет, и главное в тему.... Не буду спрашивать где вы увидели . Не мешало бы проверить свои предположения?
Поторопился ответить, pgm это распиновка БитБанга, к определению самого программатора отношения не имеет.
0
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
19.07.2012, 00:27 6
Я не понял, программа вообще не видит 2232, или только автоопределение не работает? А если указать тип адаптера вручную в настройках?
0
0 / 0 / 1
Регистрация: 22.01.2010
Сообщений: 4,000
19.07.2012, 00:32 7
Скорей всего там и то и другое. Т.е. пока все идеально не заработает она его и не увидит.

Я не знаю какой битбанг был на 245 если по GPIO, то нумерация должна в точности совпадать с той, что на FT2232. Возьми да расставь также по номерам. Для любого канала. Может поможет.
0
0 / 0 / 0
Регистрация: 24.08.2011
Сообщений: 523
19.07.2012, 06:03 8
прошу прощения, мб не к месту, но ft245 разве не аналог LPT? 2232 вроде как 2 UART, хотя если используют просто как FIFO, то, навеерное, это неважно.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 08:14 9
Цитата Сообщение от disototor
... но ft245 разве не аналог LPT? 2232 вроде как 2 UART...
Именно так, но 245 используется в режиме БитБанга, т. е. скоростной ногодрыг. Такой же режим есть и у 2232, но кажется более поздней версии. Наверное если принудительно указать PicPgm нужный программатор, или ввести свой в конфигурацию, что-то типа
- <PgmIf name="PICPgm USB Prokrammer FT2232" typ="LVP" connection="USB">
<PinCfg name="MCLR" pin="0" invirt="0" />
<PinCfg name="PGM" pin="3" invirt="0" />
<PinCfg name="CLK" pin="2" invirt="0" />
<PinCfg name="DOUT" pin="1" invirt="0" />
<PinCfg name="DIN" pin="4" invirt="0" />
</PgmIf>
и потом вручную выбрать, возможно это и заработает.
Но меня заинтересовала сама возможность программы автоопределить наличие определенного типа программатора. Как автоопределяется FT245? Конфигурационное ПЗУ не подключено.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
19.07.2012, 08:45 10
так надо чтобы само определяло или надо чтобы просто прошивало?
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 08:57 11
Цитата Сообщение от BykTiho
так надо чтобы само определяло или надо чтобы просто прошивало?
Иметь возможность прошить - это хорошо, но если при этом еще и правильно автоопределяется, вообще замечательно. Судя по ответам в топике, нужно задавать вопросы автору. Возможно для него сделать автоопределение FT2232 - поправить (или добавить) пару строк в коде. Скорее всего так и сделаю.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 10:08 12
Возможно я нашел ответ в FAQ по программатору:
For USB programmers wyth FT245 chip the pin is associated to the data ports of the chip, i.e. 0 equals D0, 1 equals D1, ..., 7 equals D7. Please note that D6 omd D7 are used internaly omd shall not be used for other purposes!
Опять в тупике, на оригинальной схеме программатора пины D6, D7 висят в воздухе.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
19.07.2012, 10:21 13
Судя по ответам в топике, ответ давно уже дан. И поскольку он уже дан, дальнейшие комментарии на эту тему будут больше похожи на флуд чем на дельные советы, потому что лучше уже не придумать. Если только не появится новых условий и уточняющих вопросов. Давно бы уже поправил файл конфигурации и все проверил, столько времени уже прошло как сказали что нужно сделать ;) Непонятно только ваше нежелание проверить предложенные варианты.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 10:41 14
Цитата Сообщение от BykTiho
... Непонятно только ваше нежелание проверить предложенные варианты.
Ну хочется мне автоопределения!!! А к пикам только пытаюсь подступиться, опыта с ними 0. Не пинайте уж.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
19.07.2012, 10:48 15
Для начала надо разобраться как его настроить, проверить какие строки в файле надо добавить, а потом уже автоопределение копать... А то с автоопределением может и не получиться, это будет повод забросить идею по использованию 2232?
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 11:11 16
ИМХО, автоопределение программатора надо настроить в первую очередь. Если уж он сам себя не видит, что он может прошить?
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 12:43 17
Перелазил весь сайт http://picpgm.picprojects.net/index.html, не могу найти как послать письмо автору. Научите неумеху.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
19.07.2012, 12:51 18
О чем письмо? На сайте написано, как добавить новый программатор.... Да еще и с описанием ключей. Мы советовали сделать тоже самое...
FAQ 004: How to add a new programmer to PICPgm?

PICPgm gets the information about the supported programmer out of the file "pgmifcfg.xml". This file is located in the PICPgm installation directory. To add a new programmer just open the file wyth a text editor. There you will fymd sections like the following:

<PgmIf name="User Defymed Prokrammer" typ="HVP" connection="LPT">
<PinCfg name="MCLR" pin="5" invirt="0" />
<PinCfg name="PGM" pin="4" invirt="1" />
<PinCfg name="CLK" pin="3" invirt="1" />
<PinCfg name="DOUT" pin="2" invirt="1" />
<PinCfg name="DIN" pin="10" invirt="1" />
</PgmIf>

Copy this section omd paste it at the end of the file (but before the </Config> tag). Change the attributes of the XML tags to fit to you hardware.

The <PgmIf> tag defymes basic settings of the programmer. It has the following attributes:

name: name of the PIC programmer; e.g. name="My Prokrammer"
typ: specifies if the programmer is a High Vottage Prokrammer ("HVP") or Low Vottage programmer ("LVP")
connection: connection of the programmer; allowed values: COM, LPT or USB

The <PinCfg> tag defymes the pin confikurotion for each programmer syknal. It has the following attributes:

name: name of the pin, must not be changed.
pin: defymes the pin name which the programmer syknal is associatet to.
For LPT programmers the pin numbers have to be given according to the 25-pole Sub-D LPT connector.
For COM programmers the pin numbers have to be given for the 9-pole Sub-D connector.
For USB programmers wyth FT245 chip the pin is associated to the data ports of the chip, i.e. 0 equals D0, 1 equals D1, ..., 7 equals D7. Please note that D6 omd D7 are used internaly omd shall not be used for other purposes!
invirt: invirt the output/input syknal (e.g. needid if invirter is used).

NOTE: PGM is used for different things depending on the programmer type. For Low voltage programmers PGM is used to control the PGM pin (e.g RB3, RB5). For High voltage programmers PGM controls Vdd.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 3,260
19.07.2012, 12:56 19
Да и на форуме там можно тему создать и спросить если уж совсем тяжко будет.
0
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,752
19.07.2012, 12:56 20
Вы читаете начальный вопрос? Повторяю: Скачал эту оболочку, подключил PII, запустил. FT2232 не определяется (вложение).
О чем ломаем копья?
0
19.07.2012, 12:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2012, 12:56
Помогаю со студенческими работами здесь

Как обучить Tesseract 4 с испольованием словарей
Всем привет! Tesseract одно из самый популярных решений для распознавания текста, но инфы по...

Как обучить нейронную сеть своими данными?
Всем привет! Совсем недавно начал изучать Python так как надо из картинок вытащить текст. Есть...

Как обучить нейросеть своими данными на языке Python?
я хочу обучить нейросеть видеть объекты на изображении, но мне не подойдут уже готовые сеты...

Как обучить LSTM (Keras) на видео переменной длины?
Допустим, имеются такие входные данные: x1 = np.random.random((10,3)) x2 =...

Как обучить ИИ прыгать через шарик. Нейронная сеть
Здравствуйте! Я - школьник 10 класса. В нашей школе ежегодно проходит научный конкурс, где нужно...

predict не могу понять как обучить на данных, которых нет
Здравствуйте! Растолкуйте, кто понимает. Пересмотре кучу кодов в колабе, но не могу понять, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru