November 08, 2024, 08:17:11 AM

PIC32-EMZ64 schematic

Started by Andrew, September 24, 2016, 01:44:38 AM

Previous topic - Next topic

Andrew

This time (2016 sept 24), there is a warning on that schematic "To be checked!!!". What it means? Any eta for that check to be done?

KeesZagers

Do you have any doubts concerning the schematic? Did you run into problems e.g. with the I/O?

I did not succeed in getting a correct connection with the CANbus. I thought it was software, but if the hardware interfacing is not conform the schematic ...

Kees

LubOlimex

It is a left-over note that the CAD designers forgot to remove. The schematic of PIC32-EMZ64 had been checked multiple times. The schematic on the web is the latest one that we use for the manufacturing of the board.

We would be adding a CAN example in the general demo archive (if nothing very important takes precedence expect it by the end of this week).

Best regards,
Lub/OLIMEX
Technical support and documentation manager at Olimex

KeesZagers

I will check your site every hour of the day  :)

JohnS

I'm dreading it using the horrible Harmony... which would mean accepting the license :(

John

KeesZagers

Someone already succeeded in getting the CANbus operational?

Kees

Heinz

Quote from: KeesZagers on October 03, 2016, 02:17:40 PM
Someone already succeeded in getting the CANbus operational?

Kees
Hello Kees,
as you know, I'm too waiting for some results here, and the promised example for end of last week

kyrk.5

Can you share your code? Maybe the problem can be found by a static analysis.

I have only one PIC32-EMZ64 with a CAN bus. So there is no way for me to try out your code (or only partially)

Heinz

Quote from: kyrk.5 on October 04, 2016, 03:11:56 PM
Can you share your code? Maybe the problem can be found by a static analysis.

I have only one PIC32-EMZ64 with a CAN bus. So there is no way for me to try out your code (or only partially)

Thanks for the Offer. May be Kees can send you something.
I'm working on a character driver for LiteBSD https://github.com/sergev/LiteBSD. It might be difficult to analyze the code without all the kernel headers.

KeesZagers

I think Olimex also has problems in getting CANbus in operational mode??? No demo yet !!!

I simply used the standard demo, which is working and changed the code for one of the switches. In the initialisation I entered the configuration for connecting CAN Tx and Rx to the right I/O pins. I can change the CAN registers. However if I request the mode going from configuration to operational and after that check if this is done, I see that the actual status is still configuration. In my earlier adventures with the MX controllers I know this is mostly caused by a wrong connection of the transceiver chip to the controller. So that is why I began to doubt the hardware configuration.

kyrk.5

Is there a listeting mode available? (I developed CAN driver some(lot :)) years ago for dsPIC) Maybe you can test if entering that mode is working.

Is it possible for you to measure the TX and RX lines betwen the PIC32 and transeever chip? Maybe there is something strange going on. What about the CAN-H and CAN-L?

Is there any special need to clear some error flag in the CAN module? I remember me something that the CAN module is sensitiv to this state transition and there are some things that must be done in order to get the transition happen.

What kind of tools do you have access? CANoe? Ossciloscope? Maybe with CAN bus decoding? Logical analysator (saleae)?

I guess I must buy a second device to be able to test the CAN...  :)

KeesZagers

Thanks for helping.
It is not possible to get the CAN module in another mode than the configuration mode. So also not Listen Only.
I think it is tricky to measure with my simple measuring instrument on these pins on the module and anyway I will measure the standard voltage because nothing is connected to the bus and I'm not trying to send any message. The same is true for the CAN Hi and CAN Lo on the other end of the transceiver.

The CAN module (all registers) are exactly the same as in the MX controllers of Microchip. I did several projects with the Duinomite modules of Olimex and I know how to configure the CAN controller.

The Duinomite Mega just has one CANport connected to an on-board transceiver. The port 2 Tx and Rx however are available on the pins D0 and D1 of the Arduino connector. So I made an Arduino extension module with an extra transceiverchip. If I configure the port 2 with the Arduino module connected I can switch the CAN 2 module from configuration to operational. If I don't have the module in place I get the same problem as I have with the PIC32-EMZ64 module. So I guess the connection of the CAN module and the transceiverchip is not right on the module.

IMHO there are two possible reasons for that:
1. The I/O pins on the MZ controller are not configured in the right way to set them up for the CAN module. As far as I read in the Microchip datasheet, this can be done any time and even changed in a program. But maybe I forget something here or I'm doing something wrong.
2. There is something wrong in the hardware. Maybe pinning is different from the schematic.

Anyway it seems to be complex also for the Bulgarian people, because they planned to have a demo program by the end of last week and now we are one week further.

Kees

KeesZagers

CAN demo? 1 week has become 3 weeks now, without any news.

Lion

Hello *,

on the Can Demo I'm interested as well.

I coming from the PIC32 Maxi Web board and on this I realized (without Harmony) a Can Bus implementation with more than 10 Can nodes - this is up and running without any issues.

Now, I would like to do the same with the EMZ64 board and I'm stumbling with Harmony on all other issues. The good thing is I have a working solution in place but I don't get the EMZ running. I switch the CAN_CTRL (RC15) pin, this is one difference to the Maxi Web and I dealing with the 120 Ohm resistor at the end of the bus (which is the 2nd difference to the Maxi Web.

Does any one ever realized a Can Bus communication with the EMZ and Harmony?

Best regards
Lion

KeesZagers

On the CAN-CTRL you have a point. I set the CAN-CTRL as an output and maybe that is not a good idea. I will further investigate this. The 120 Ohm termination resistor is not connected by default. You have to close a jumper on the board if you like to use it. Personally I hate the on-board termination resistors. In my opinion you should always use two external resistors on both ends of the bus.