From 1c76344476107204ddc1c7382fe39bf0835ca52c Mon Sep 17 00:00:00 2001 From: Kedareswara rao Appana Date: Wed, 6 Aug 2014 17:21:26 +0530 Subject: [PATCH] canps: Use proper values for calulating baudrate for can. This patch fixes the incorrect baud rate caluclation in the canps driver and examples. Signed-off-by: Kedareswara rao Appana Acked-by: Anirudha Sarangi --- .../drivers/canps/examples/xcanps_intr_example.c | 8 ++++---- .../drivers/canps/examples/xcanps_polled_example.c | 8 ++++---- XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/XilinxProcessorIPLib/drivers/canps/examples/xcanps_intr_example.c b/XilinxProcessorIPLib/drivers/canps/examples/xcanps_intr_example.c index 2b22f1da..72d2a92b 100755 --- a/XilinxProcessorIPLib/drivers/canps/examples/xcanps_intr_example.c +++ b/XilinxProcessorIPLib/drivers/canps/examples/xcanps_intr_example.c @@ -96,9 +96,9 @@ * These values are for a 40 Kbps baudrate assuming the CAN input clock * frequency is 24 MHz. */ -#define TEST_BTR_SYNCJUMPWIDTH 1 -#define TEST_BTR_SECOND_TIMESEGMENT 3 -#define TEST_BTR_FIRST_TIMESEGMENT 8 +#define TEST_BTR_SYNCJUMPWIDTH 3 +#define TEST_BTR_SECOND_TIMESEGMENT 2 +#define TEST_BTR_FIRST_TIMESEGMENT 15 /* * The Baud rate Prescalar value in the Baud Rate Prescaler Register @@ -107,7 +107,7 @@ * This value is for a 40 Kbps baudrate assuming the CAN input clock frequency * is 24 MHz. */ -#define TEST_BRPR_BAUD_PRESCALAR 1 +#define TEST_BRPR_BAUD_PRESCALAR 29 /**************************** Type Definitions *******************************/ diff --git a/XilinxProcessorIPLib/drivers/canps/examples/xcanps_polled_example.c b/XilinxProcessorIPLib/drivers/canps/examples/xcanps_polled_example.c index 5826a575..6277dbc7 100755 --- a/XilinxProcessorIPLib/drivers/canps/examples/xcanps_polled_example.c +++ b/XilinxProcessorIPLib/drivers/canps/examples/xcanps_polled_example.c @@ -92,9 +92,9 @@ frequency * is 24 MHz. */ -#define TEST_BTR_SYNCJUMPWIDTH 1 -#define TEST_BTR_SECOND_TIMESEGMENT 3 -#define TEST_BTR_FIRST_TIMESEGMENT 8 +#define TEST_BTR_SYNCJUMPWIDTH 3 +#define TEST_BTR_SECOND_TIMESEGMENT 2 +#define TEST_BTR_FIRST_TIMESEGMENT 15 /* * The Baud rate Prescalar value in the Baud Rate Prescaler Register (BRPR) @@ -103,7 +103,7 @@ * This value is for a 40 Kbps baudrate assuming the CAN input clock frequency * is 24 MHz. */ -#define TEST_BRPR_BAUD_PRESCALAR 1 +#define TEST_BRPR_BAUD_PRESCALAR 29 /**************************** Type Definitions *******************************/ diff --git a/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c b/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c index 42caf2e1..cc944d21 100755 --- a/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c +++ b/XilinxProcessorIPLib/drivers/canps/src/xcanps_selftest.c @@ -135,8 +135,8 @@ int XCanPs_SelfTest(XCanPs *InstancePtr) * equal to 24MHz. For more information see the CAN 2.0A, CAN 2.0B, * ISO 11898-1 specifications. */ - XCanPs_SetBaudRatePrescaler(InstancePtr, 1); - XCanPs_SetBitTiming(InstancePtr, 1, 3, 8); + XCanPs_SetBaudRatePrescaler(InstancePtr, 29); + XCanPs_SetBitTiming(InstancePtr, 3, 2, 15); /* * Enter the loop back mode.