View Full Version : TDC!! (time to digital converter)
ibra
- 19th November 2007, 14:09
hi..
i try to build laser rangefinder..i collected all information about transmitting,receiving operations including hardware and circuits.
but i face now a problem with interfacing, i searched and found a method which is called time-of-fly.
this method uses TDC ( time to digital converter)..which convert a period of time to adigital value ..
the problem is how to use TDC chip (TDC-GP1 ...) with pic16f877a??
any one can help me ?
hell_pk
- 20th November 2007, 06:24
Hi!
A friend of mine was doing the same project with 8051 uc. he failed & then bought a development kit for it. I also read datasheet of TDC-GP1.it shows possible interfacing with a
microcontroller.It has built in ROM & some addresses are given to read & write to.But the main problem is not reading & writing but to generate result,calibrate it & then reading is easy part.
here is link to TDC-GP1 datasheet.
http://www.acam.de/fileadmin/Download/pdf/English/DB_GP1_e.pdf
Only if experienced programmers mister_e or Bruce would be kind enough to look at it & give some suggestions and write a skeleton code for it.
hell_pk
- 23rd November 2007, 04:46
here is some code for 16F877A that will read the memory of TDC.its similar to reading an eeprom such with 4 address lines & 8 data lines.
I dont have TDC to test it so u can do it & then tell me if u succeed.
Define LCD_DREG PORTD ' Define LCD connections
Define LCD_DBIT 4
Define LCD_RSREG PORTD
Define LCD_RSBIT 2
Define LCD_EREG PORTD
Define LCD_EBIT 3
ADCON1=7
TRISB=%11111111
TRISA=%000000
PORTA=0
dat VAR byte
i VAR byte
add VAr byte
dat=0
add=0
Lcdout $fe, $80, " TDC Reader"
Pause 3000
Lcdout $fe, $1
Lcdout $fe, $80,"Addr: "
Lcdout $fe, $C0,"Data: "
while(1)
FOR i = 0 TO 15 step 1
porta=i 'CE=1,OE=1,addr=0
porta.4=0 'Chip Enable
porta.5=0 'Output Enable
pauseus 10
dat=PORTB
Lcdout $fe, $80,"Addr: "
Lcdout $fe, $80+8,#i
Lcdout $fe, $C0,"Data: "
Lcdout $fe, $C0+8," "
Lcdout $fe, $C0+8,#dat,":",hex dat
porta.4=1 'CE
porta.5=1 'OE
pause 2000
if i=15 then
Lcdout $fe, $80+8," "
i=0
endif
next i
wend
end
katsiusa
- 20th October 2010, 03:54
here is some code for 16F877A that will read the memory of TDC.its similar to reading an eeprom such with 4 address lines & 8 data lines.
I dont have TDC to test it so u can do it & then tell me if u succeed.
Define LCD_DREG PORTD ' Define LCD connections
Define LCD_DBIT 4
Define LCD_RSREG PORTD
Define LCD_RSBIT 2
Define LCD_EREG PORTD
Define LCD_EBIT 3
ADCON1=7
TRISB=%11111111
TRISA=%000000
PORTA=0
dat VAR byte
i VAR byte
add VAr byte
dat=0
add=0
Lcdout $fe, $80, " TDC Reader"
Pause 3000
Lcdout $fe, $1
Lcdout $fe, $80,"Addr: "
Lcdout $fe, $C0,"Data: "
while(1)
FOR i = 0 TO 15 step 1
porta=i 'CE=1,OE=1,addr=0
porta.4=0 'Chip Enable
porta.5=0 'Output Enable
pauseus 10
dat=PORTB
Lcdout $fe, $80,"Addr: "
Lcdout $fe, $80+8,#i
Lcdout $fe, $C0,"Data: "
Lcdout $fe, $C0+8," "
Lcdout $fe, $C0+8,#dat,":",hex dat
porta.4=1 'CE
porta.5=1 'OE
pause 2000
if i=15 then
Lcdout $fe, $80+8," "
i=0
endif
next i
wend
end
Dear everyone,
I have a TDC-GP1 chip and I made a test board to read data from TDC-GP1 chip via pic18f4550. Can you help me some experiences?
thanks!
Ioannis
- 20th October 2010, 10:46
To complete such a project you need to use optics like spliters and detectors.
Please have a look here:
http://www.acam.de/fileadmin/Download/pdf/English/AN001_e.pdf
Ioannis
Powered by vBulletin® Version 4.1.7 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.