I'm using a Psoc 4200(cy8ckit-042) and a cy8ckit-026 can/lin shield and Creator V3.3 SP2.
My problem is that I can not get the CAN component working, meaning I can't even see it in the components list when I am building the project, only the LIN. In the shield's documentation it's stated that is works with the 4200 baseboard but it does not; apparently the CAN works only with the cy8ckit-044 or I am doing something wrong?
Also, it is unclear to me, can I debug the board via USB while communicating via CAN/LIN, because from what I understand from the documentation I can't because the power is coming from the shield @12V, so I should have the USB disconnected.
You cannot connect a PSoC directly to 12V, you will need a driver/receiver.
PSoC 4200 series have no Can, PSoC4 M series some members have got 2 can interfaces.
Your Creator version is a bit outdated, actual is 4.0 SP1 and 4.1 is announced. I would suggest to upgrade.
What I understand from the shield's documentation is that the shield is supposed to power the baseboard from it's 12V connection as the board is supposed to have it's power selector jumper set to 3.3V not 5V (so that it can internally lower the 12V). I am getting something wrong?
The user guide for the shield explains the power options in part 3.6.4. You can power the shield from the base board - in that case the 12V are only for the CAN bus. This mode requires the base board to be powered by 5V - which for you means USB.
The -042 board doesn't support CAN. The CY8C4245 core only supports LIN (via the SCB).
That it does not work with CAN I have figured out by now, so I am switching to LIN.
As for the powering, I still am confused. I don't want to power the baseboard from the shield, and neither the shield from the board.
So I left the J20 jumper in the air (no jumper wire), powered the shield at 12V, meanwhile the board is powered from usb so I can debug with psoc creator.
Also, as I don't want to transfer power via the LIN connection, I connected to the board (from a LIN controller) only the Tx and ground and left the J16 header in air (removed the jumper).
I can't seem to get the example project going; what am I doing wrong?
Should I connect the J20 jumper to any position if I do want to use the example project and also debug as the project is running?
I am asking because the documentation is pretty vague, incomplete I might add.
You can always look at the schematics for both the base board and the shield to figure out how the power system actually works. The user guide states which parts of the shield need a certain power rail, and where this might come from.
Ideally it should work. Please tell me how you are powering the other node? Are you connecting an analyzer ? How you are providing supply to that. When you say it is not working, what exactly it is happening ?
I am using a lin analyzer that is connected to usb and via software I generate the messages. I trust that the analyzer works correctly because with other lin devices is does work.
What is happening:
- my baseboard is powered from usb and connector J9 is selected for 5V (i am debugging with psoc creator via usb);
-shield is powered with 12v at the J12 connector, J20 has no jumper, because from what I understand from documentation if I power the board from the shield then I can't connect it to usb for debugging; I do have a jumper on J16.
What I do understand from documentation is that if I want to power the board from the shield with 5 or 12v then the J9jumper on the baseboard should be at 3.3V and that I can't have the usb connected while running that also meaning that I can't use psoc creator to debug. Did I get this right?
-from my lin analyzer I connected the Rx and GND to the corresponding pins of the J14 header.
-J15 wires are connected to the corresponding connections
I programmed the example project from the cypress website without changing the code and I did send the frames that are described in the main function of the source code.
I selected the 2.0 lin standard on both the board and the analyzer. Other than that, I brought no changes.
From what I can debug from code I'm somewhat stuck in a "frame" error, but I can't figure what causes it.
You can connect usb even if you are powering the baseboard with the shield. Thus you can debug.
Also can you confirm if the project is working fine when you select LIN2.2? Meanwhile I will try at my end.
I got the project running, and also I can debug, but I am facing some problems.
First, I tried with the example project and LIN 2.0 standard. I does not work, and in my attempt to debug I got to the conclusion I'm having a framing error, but I am not sure when to start looking for the cause, because I am only sending 1 header and 1 command (a simple message).
I tested LIN example project give at http://www.cypress.com/documentation/code-examples/ce96999-basic-lin-slave-implementation-psoc-4
with LIN 2.0. It works fine. Can you just download above example project and change it to LIN 2.0 and check once again?
I still can't get it working. I am getting a framing error even when I do a diagnose request.
As equipment I am using a Vector CANcaseXL and I generate the messages with CANoe software.
You mentioned that you are using diagnose request.
Are you trying to send diagnostic frames?
What project are you using? Is transport layer enabled in that project? Can you attach your project?
The problem here is not that it does not answer to diagnose request, but the fact that it does not respond to a normal frame, send as specified in the example. On that frame I am getting a "framing error" that I can't determine what causes it.