From 4e3baf41cb11d2d02b73e24d413350ded15e9d4b Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Tue, 23 Apr 2019 14:35:07 +0200 Subject: [PATCH] ctb server: introducing 1 us delay between rd strobe and fifo read due to different clocks --- slsDetectorServers/ctbDetectorServer/Makefile | 2 +- .../bin/ctbDetectorServer_developer | Bin 165552 -> 165616 bytes .../slsDetectorFunctionList.c | 21 +++++++++++++++--- .../slsDetectorServer_defs.h | 2 +- slsSupportLib/include/versionAPI.h | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/slsDetectorServers/ctbDetectorServer/Makefile b/slsDetectorServers/ctbDetectorServer/Makefile index b26f833d1..57505e19b 100755 --- a/slsDetectorServers/ctbDetectorServer/Makefile +++ b/slsDetectorServers/ctbDetectorServer/Makefile @@ -1,7 +1,7 @@ CROSS = bfin-uclinux- CC = $(CROSS)gcc CFLAGS += -Wall -DCHIPTESTBOARDD -DSTOP_SERVER -DDEBUG1 #-DJCTB -DVERBOSEI #-DVERBOSE -LDLIBS += -lm -lstdc++ +LDLIBS += -lm -lstdc++ PROGS = ctbDetectorServer DESTDIR ?= bin diff --git a/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer b/slsDetectorServers/ctbDetectorServer/bin/ctbDetectorServer_developer index 90e50f437fbab8c0a8ee1601cb0bb53f053340a5..66a693c5907d7ceb225b24a587e7435aa3b1bf02 100755 GIT binary patch delta 51786 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 diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c index 1880a0c6a..8a7fcaab6 100755 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorFunctionList.c @@ -10,6 +10,7 @@ #include "MAX1932.h" // hv #include "INA226.h" // i2c #include "ALTERA_PLL.h" // pll +#include #ifndef VIRTUAL #include "programfpga.h" #else @@ -2351,8 +2352,14 @@ void readSample(int ns) { // read strobe to all analog fifos bus_w(addr, bus_r(addr) | DUMMY_ANLG_FIFO_RD_STRBE_MSK); bus_w(addr, bus_r(addr) & (~DUMMY_ANLG_FIFO_RD_STRBE_MSK)); - // wait as it is connected directly to fifo running on a different clock - //usleep(WAIT_TIME_FIFO_RD_STROBE); + + // wait for 1 us to latch different clocks of read and read strobe + { + int i = 0; + for (i = 0; i < WAIT_TIME_1US_FOR_LOOP_CNT; ++i) + ; + } + if (!(ns%1000)) { FILE_LOG(logDEBUG1, ("Reading sample ns:%d of %d AEmtpy:0x%x AFull:0x%x Status:0x%x\n", ns, nSamples, bus_r(FIFO_EMPTY_REG), bus_r(FIFO_FULL_REG), bus_r(STATUS_REG))); @@ -2391,6 +2398,14 @@ void readSample(int ns) { // read strobe to digital fifo bus_w(addr, bus_r(addr) | DUMMY_DGTL_FIFO_RD_STRBE_MSK); bus_w(addr, bus_r(addr) & (~DUMMY_DGTL_FIFO_RD_STRBE_MSK)); + + // wait for 1 us to latch different clocks of read and read strobe + { + int i = 0; + for (i = 0; i < WAIT_TIME_1US_FOR_LOOP_CNT; ++i) + ; + } + // wait as it is connected directly to fifo running on a different clock if (!(ns%1000)) { FILE_LOG(logDEBUG1, ("Reading sample ns:%d of %d DEmtpy:%d DFull:%d Status:0x%x\n", @@ -2399,7 +2414,7 @@ void readSample(int ns) { ((bus_r(FIFO_DIN_STATUS_REG) & FIFO_DIN_STATUS_FIFO_FULL_MSK) >> FIFO_DIN_STATUS_FIFO_FULL_OFST), bus_r(STATUS_REG))); } - + // read fifo and write it to current position of data pointer *((uint64_t*)now_ptr) = get64BitReg(FIFO_DIN_LSB_REG, FIFO_DIN_MSB_REG); now_ptr += 8; diff --git a/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h b/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h index 580f09290..71428a242 100755 --- a/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h +++ b/slsDetectorServers/ctbDetectorServer/slsDetectorServer_defs.h @@ -85,7 +85,7 @@ enum DACINDEX {D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, #define WAIT_TIME_US_STP_ACQ (100) #define WAIT_TIME_CONFIGURE_MAC (500 * 1000) #define WAIT_TIME_PATTERN_READ (10) -#define WAIT_TIME_FIFO_RD_STROBE (10) +#define WAIT_TIME_1US_FOR_LOOP_CNT (50) // around 30 is 1 us in blackfin /* MSB & LSB DEFINES */ #define MSB_OF_64_BIT_REG_OFST (32) diff --git a/slsSupportLib/include/versionAPI.h b/slsSupportLib/include/versionAPI.h index 02a42a3f0..4057ba425 100644 --- a/slsSupportLib/include/versionAPI.h +++ b/slsSupportLib/include/versionAPI.h @@ -7,4 +7,4 @@ #define APIRECEIVER 0x190405 #define APIGUI 0x190405 #define APIEIGER 0x190418 -#define APICTB 0x190418 +#define APICTB 0x190423