Conversation
Comments on the
|
|
All the changes you've requested have been made. Please look to |
npetersen2
left a comment
There was a problem hiding this comment.
@psinha25 thanks for making the changes -- looking good!
For the CAN bit timings, see this helpful website: http://www.bittiming.can-wiki.info/
Let's make the default bit rate be 500kbps and adhere to CANOpen specs.
|
@npetersen2 I've updated the default values in |
|
@psinha25 can you confirm the CAN peripheral can operate at 200MHz clock? If I recall, it was limited to the 10s of MHz nominally. |
|
@npetersen2 Does the AMDC not operate at a 200 MHz clock? Given that, the baud rate prescalar and bit timing register are set with the specific defaults to create 500 kbps. |
|
Correct, the main FPGA clock domain is 200Mhz, however, I believe there is a separate clock which runs the CAN peripheral
…________________________________
From: Prasoon Sinha ***@***.***>
Sent: Thursday, April 29, 2021 10:16:59 PM
To: Severson-Group/AMDC-Firmware ***@***.***>
Cc: Nathan Petersen ***@***.***>; Mention ***@***.***>
Subject: Re: [Severson-Group/AMDC-Firmware] CAN REV-A Firmware (#193)
@npetersen2<https://github.com/npetersen2> Does the AMDC not operate at a 200 MHz clock? Given that, the baud rate prescalar and bit timing register are set with the specific defaults to create 500 kbps.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#193 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AEZ4CHQ5APAF4X4GJFECYATTLIOKXANCNFSM43R4ESLQ>.
|
|
@npetersen2 Ah interesting. I read through the clock section for the CAN peripheral in the Zynq-7000 Reference Manual and understand what you are saying now. I've updated the defaults in |
|
@psinha25 great, thanks for the updates |
This PR is to merge the CAN REV-A board's IP and firmware into develop. This PR contains the necessary IP block and user application firmware to drive the CAN expansion board. Specifically, it contains:
sdk/bare/common/drv/can.h.sdk/bare/common/usr/can/cmd/cmd_can.candsdk/bare/common/usr/can/task_can.c.Originally, a Xilinx provided CAN IP block was going to be used. Due to licensing issues, a bitstream couldn't be generated with this IP block. Thus, given that there are two CAN peripherals baked into the silicon of the Zync-7000 SoC, these peripherals are used and routed to the GPIO expansion ports via EMIO.
Documentation about the CAN drivers can be found here.