i am unable to install software tdc 7200 eval board(snac068e). when i try to install this software i says how do you want open this file.
please help me regarding this issue as soon as possible.
thanks
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
i am unable to install software tdc 7200 eval board(snac068e). when i try to install this software i says how do you want open this file.
please help me regarding this issue as soon as possible.
thanks
thanks for replying. i have installed software.
now my second problem is that i want to communicate tdc7200 evalution board with arduino instead of your MSP430 Touch pad.i have made a c code on arduino software using spi interfacing. but i am unable tor read registers of tdc7200 it shows zero values in registers.
plz help me to solve regarding this issuue. i am pasting my c code below.
//Add the SPI library so we can communicate with the TDC7200 Device #include <SPI.h> //Assign the Chip Select signal to pin 10. const int CS=10; //arduino pin (output)---------------cs----6(J2) TDC 7200 Eval Board pin //static const uint8_t MOSI=11; //arduino pin (output)---------------DIN----12(J2) TDC 7200 Eval Board pin //static const uint8_t MISO=12; //arduino pin (input)---------------DOUT----14(J2) TDC 7200 Eval Board pin //static const uint8_t SCK = 13; //arduino pin (output)---------------SCLK----13(J1) TDC 7200 Eval Board pin const int ENABLE=9; //arduino pin (output)---------------ENABLE----3(J1) TDC 7200 Eval Board pin const int TRIG=8; //arduino pin (input) ---------------TRIG----4(J2) TDC 7200 Eval Board pin const int INT=7; //arduino pin (input)---------------INT----16(J2) TDC 7200 Eval Board pin const int reset_pin=6; //reset pin const int START=5; const int STOP_=4; const byte READ = 0b00000000; // tdc7200's (auto increment=0+read=0) command const byte WRITE = 0b01000000; // tdc7200's (auto increment=0+write=1) command long int CLOCKperiod = 8000000; float TOF; float calCount; unsigned int CALIBRATION2_PERIODS =2; char values; int CALIBRATION1_Data_Received; int CALIBRATION2_Data_Received; int TIME1; float norm_LSB; //---------------------------------ADDRESS ASSIGNMENT OF TDC 7200 REGISTERS------------------------------------------------------------------------------------------------- char CONFIG1_address = 0x00; //Address of Configuration Register1 char CONFIG2_address = 0x01; //Address of Configuration Register2 char INT_STATUS_address = 0x02; //Address of INT_STATUS char INT_MASK_address = 0x03; //Address of INT_MASK char TIME1_address = 0x10; //Address of TIME1 Register char CALIBRATION1_address = 0x1B; //Address of CALIBRATION1 Register char CALIBRATION2_address = 0x1C; //Address of CALIBRATION2 Register //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void setup() { //Initiate an SPI communication instance. SPI.begin(); //Configure the SPI connection for the ADXL345. SPI.setDataMode(SPI_MODE1); //Create a serial connection to display the data on the terminal. Serial.begin(115200); //Set up the Chip Select pin to be an output from the Arduino. --------------------OUTPUT SIGNALS FROM ARDUINO-------------------------------------------------------------------- pinMode(CS, OUTPUT); // pinMode(MOSI, OUTPUT); //pinMode(SCK, OUTPUT); pinMode(reset_pin, OUTPUT); pinMode(START, OUTPUT); pinMode(STOP, OUTPUT); pinMode(ENABLE, OUTPUT); //------------------------------------------------------------------------------------------------------------------------------------------------------- // pinMode(MISO, INPUT); //----------------------------------------- INPUT SIGNALS TO ARDUINO ------------------------------------------------------------------------------------------ pinMode(TRIG, INPUT); pinMode(INT, INPUT); //---------------------------------------------------------------------------------------------------------------------------------------------------------- //Before communication starts, the Chip Select pin needs to be set high. digitalWrite(CS, HIGH); digitalWrite(reset_pin,HIGH); digitalWrite(ENABLE,HIGH); //---------------------------------initial settings of registers------------------------------------------------------------------------------------------------------------------- //Put the Configuration Register1 in measurement mode1 with no effect on measurement writeRegister(CONFIG1_address, 0x00); //Put the Configuration Register2 in measuring 2 CLOCK periods, Measurement Cycle only, Single Stop writeRegister(CONFIG2_address, 0x00); //Configuration Register2 settings //Put the Interrupt Status Register in Measurement has completed, Measurement has started (START signal received), Interrupt detected – New Measurement has been completed writeRegister(INT_STATUS_address, 0x19); //Interrupt Status Register settings //Put the Interrupt mask Register in New Measurement Interrupt enabled writeRegister(INT_MASK_address, 0x01); //Interrupt mask Register settings reset(); } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- //------------------------------------------------resetting tdc7200 device------------------------------------------------------------------------------------------------------------ void reset() { digitalWrite(reset_pin,HIGH); digitalWrite(ENABLE,HIGH); writeRegister(CONFIG1_address, 0x00); writeRegister(CONFIG2_address, 0x00); writeRegister(INT_STATUS_address, 0x19); writeRegister(INT_MASK_address, 0x01); } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- void loop() { digitalWrite(ENABLE,LOW); // 1. After powering up the device, the EN pin needs to be low //Put the Configuration Register1 in measurement mode1 with Start New Measurement. writeRegister(CONFIG1_address, 0x01); // 3. After the start new measurement bit START_MEAS has been set in the CONFIG1 register if (digitalRead (TRIG)==HIGH) //TDC7200generates a trigger signal on the TRIGG pin { digitalWrite(START,HIGH); //the TDC7200 enables the START pin and waits to receive the START pulse edge. digitalWrite(START,LOW); } if (digitalRead(INT)==LOW) //TDC will signal to the MCU via interrupt (INTB pin) that there are new measurement results waiting in the registers. { CALIBRATION1_Data_Received = readRegister(0x1B, 3); CALIBRATION2_Data_Received = readRegister(0x1C, 3 ); TIME1= readRegister(0x10, 3); //Print the results to the terminal. Serial.println(CALIBRATION1_Data_Received, DEC); Serial.println(CALIBRATION1_Data_Received, DEC); Serial.println(CALIBRATION2_Data_Received, DEC); Serial.println(TIME1, DEC); } //------------------------------------------------------------time of flight (TOF)calculation of tdc7200------------------------------------------------------------------------------------- calCount = (CALIBRATION2_Data_Received-CALIBRATION1_Data_Received)/(CALIBRATION2_PERIODS -1); norm_LSB = 1/(CLOCKperiod*calCount); TOF = (TIME1)*(norm_LSB); Serial.println(calCount); Serial.println(norm_LSB); Serial.println(TOF); } //------------------------------------------------Read from registers of tdc7200--------------------------------------------------------------------------------------------------------- unsigned int readRegister(byte thisRegister, int bytesToRead) { byte inByte = 0; // incoming byte from the SPI unsigned int result = 0; // result to return // tdc7200 expects the register name in the upper 6 bits of the byte. So shift the bits left by two bits: // thisRegister = thisRegister << 2; // now combine the address and the command byte (auto increment bit and Read=0)into one byte byte dataToSend = thisRegister | READ; // take the chip select low to select the device: digitalWrite(CS, LOW); // send the device the register you want to read: SPI.transfer(dataToSend); // send a value of 0 to read the first byte returned: result = SPI.transfer(0x00); // decrement the number of bytes left to read: bytesToRead--; // if you still have another byte to read: if (bytesToRead > 0) { // shift the first byte left, then get the second byte: result = result << 8; inByte = SPI.transfer(0x00); // combine the byte you just got with the previous one: result = result | inByte; // decrement the number of bytes left to read: bytesToRead--; } // take the chip select high to de-select: digitalWrite(CS, HIGH); // return the result: return (result); } //------------------------------------------------------------------------------------------------------------------------------------------------------------------------ //--------------------------------------------This function will write a value to a register on the tdc7200 device-------------------------------------------------------- void writeRegister(byte thisRegister, byte thisValue) { //tdc7200 expects the register address in the upper 6 bits // of the byte. So shift the bits left by two bits: // thisRegister = thisRegister << 2; // now combine the register address and the command byte (auto increment bit and write=1)into one byte: byte dataToSend = thisRegister | WRITE; // take the chip select low to select the device: digitalWrite(CS, LOW); SPI.transfer(dataToSend); //Send register location SPI.transfer(thisValue); //Send value to record into register // take the chip select high to de-select: digitalWrite(CS, HIGH); } //----------------------------------------------------------------------------------------------------------------------------------------------------------------------
thanks for replying me. i will send you snap shot soon. i am giving tdc7200 eval board 3.3 V from arduino.
now today i am trying to connect your MSP430 launch padwith tdc7200 eval board. but com port is not detecting. iam sending you a snap shot of this.MSP430 snap shot.docx
hi Vishy,
can you tell me if i am measuring time between start to multiple stop pulses. if after coming my first stop pulse if there comes returns spurious pulse in between second stop pulse. tell me how i will know this is spurious pulse and how to remove this spurious pulse. and how will i get output signals after start and stop pulses. please reply as soon as possible.
thanks for replying me. i have already posted my arduino spi code. i am able to write registers using spi from arduino to tdc 7200. and viewed these signals on scopes. but i am unable to read spi registers. it sends only zero. plz help me how to read spi registers.
thanks
I had used the same code but when i unmask MOSI and MISO i'm getting an error which shows redefinition error and also while i let the program dump on to my arduino board and run it i'm able to see the output with an unknown script on serial monitor.Would you please help me out to resolve my problem
I am trying to use the GP22 Time to Digital coverter . In can anyone tell how this code works means will it send any signal to TDC to start the counter ,Stop. How to send a signal to laser and TDC to start the pulse using this code please help me
I want to implement this can anyone say how to use this code