MiniProg3 Device/Protocol Question

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
KaGr_1303411
Level 2
Level 2
First like received

Hello,

Is there any technical information on the MiniProg3 functionality or protocol?

I'm building a production programmer that uses Tag-Connect pins, and I'd like to be able to implement power cycling and other options in PSoC Programmer.

I'm emulating a KitProg 2_1 at the moment, which technically works, but it looks like GetProgrammerCapabilities is limited based on the USB ID.  Any attempt to change the options is denied by the PP com interface.

Emulating the MiniProg3 looks like significantly more work - it looks like it might use a FX2LP for USB, then program a FPGA.  I'm curious why the FPGA is used - given the size of the MiniProg3, I would expect the FPGA to be something small like a ICE40 UltraLite, but I don't know what that gets you that the FX2LP doesn't.

The ARM headers are expensive, and 5 pin programming headers in production products are a pain.  The Tag-Connect approach is really easy to work with, uses minimal board space, and doesn't require adding components on.  It would be nice if I could get this to support PSoC Programmer, JTAG, and voltage control too.

0 Likes
1 Solution
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

In Summary,

The design, schematic and internal implementation of the Miniprog3 is proprietary and cannot be provided. Information on how PSoC Software talks to the hardware is all about following the sequence mentioned in the programming specification. Based on the target device you an choose the corresponding programming spec under the Design Support tab in the link below:

http://www.cypress.com/products/psoc-programming-solutions

In the Appendix C of the linked document you can find the implementation of SWD Protocol: http://www.cypress.com/file/409516/download

The programming specification is generic and it is tested only on devices supported by Cypress. You can understand how programming is implemented based on your target device and it should work with your custom programmer.

For developing custom Kitprog 2 firmware you can refer to the section Developing Applications for PSoC 5LP for firmware examples in the Kitprog user guide (Link: http://www.cypress.com/file/157966/download )

Regards,

Dheeraj

View solution in original post

0 Likes
6 Replies
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

The programming specification linked below is intended for those developing their own programming systems. Based on the target device you an choose the corresponding programming spec under the Design Support tab in the link below:

http://www.cypress.com/products/psoc-programming-solutions

In the Appendix C of the linked document you can find the implementation of SWD Protocol: http://www.cypress.com/file/409516/download

The programming specification is generic and it is tested only on devices supported by Cypress. You can understand how programming is implemented based on your target device and it should work with your custom programmer. Do let us know your observations.

Regards,

Dheeraj

0 Likes

I'm familiar with those resources.  They are a good guide on how to talk to the hardware itself.

My goal, however, is to make things easier for developers.  The goal is to support PSoC Designer, not provide an alternative.

Right now, my programmer works with both PSoC Programmer and PSoC Creator.  You can hook it to a target board, hit program, and it will work.  What doesn't work are advanced features supported by both PSoC Creator and PSoC Programmer, like changing the protocol, voltage, or programming mode.

As such, I'm looking for information on how PSoC software communicates with PSoC hardware.  I like Cypress chips, and am trying to base the hardware I release around them.  I develop hardware to support older arcade equipment, and having an open-source toolchain with documented code has permitted others to develop in the Cypress ecosystem.

PSoC Programmer seems to support customized KitProg3 hardware - it has a message when it detects it:

PSoC Programmer has detected custom Miniprog3 hardware. Please refer to the kit documentation for any limitations or directions on use.

Is it possible to get information on making a customized MiniProg3, or any of the protocol or design, or even information on the PP COM internals, so that I can make a programmer that supports all the PSoC software, rather than just trying to roll everything from scratch?

0 Likes

The design, schematic and internal implementation of the Miniprog3 is proprietary and cannot be provided. Please refer to the documentation mentioned in the previous response which is the only resource available to customers to make custom programmers.

Information on how PSoC Software talks to the hardware is all about following the sequence mentioned in the programming specification.

http://www.cypress.com/products/psoc-programming-solutions

Regards,

Dheeraj

0 Likes
KaGr_1303411
Level 2
Level 2
First like received

ddka

Ok, if the MiniProg3 is propreitary, how about the KitProg?  I’ve seen it distributed on non-cypress dev boards, and there is a firmware example in the PSoC Programmer distribution for creating a KitProg2 custom firmware.

Is it acceptable to distribute a customized firmware that uses the sample project?

0 Likes

You can refer to the section Developing Applications for PSoC 5LP for firmware examples in the Kitprog user guide (Link: http://www.cypress.com/file/157966/download )

Regards,

Dheeraj

0 Likes
DheerajK_81
Moderator
Moderator
Moderator
First comment on KBA First comment on blog 5 questions asked

In Summary,

The design, schematic and internal implementation of the Miniprog3 is proprietary and cannot be provided. Information on how PSoC Software talks to the hardware is all about following the sequence mentioned in the programming specification. Based on the target device you an choose the corresponding programming spec under the Design Support tab in the link below:

http://www.cypress.com/products/psoc-programming-solutions

In the Appendix C of the linked document you can find the implementation of SWD Protocol: http://www.cypress.com/file/409516/download

The programming specification is generic and it is tested only on devices supported by Cypress. You can understand how programming is implemented based on your target device and it should work with your custom programmer.

For developing custom Kitprog 2 firmware you can refer to the section Developing Applications for PSoC 5LP for firmware examples in the Kitprog user guide (Link: http://www.cypress.com/file/157966/download )

Regards,

Dheeraj

0 Likes