RE: TI-H: Protocall...


[Prev][Next][Index][Thread]

RE: TI-H: Protocall...



Hi Grant!

I have used National's LMX2325 digital PLL.  It controls a VCO from 100MHz to 2.5 GHz.  I used a COP8SAC720 uController to load it.  It uses a crystal oscillator as a reference then upconverts it to whatever frequency you want.  I have attached the assembly source code for the COP8.  It just sends the R counter, N counter, and prescalar values.  Most cell phones have discrete VCO's to save money, but Varil, Alps, and Murata make high quality, low phase noise VCO's.  National Semi will be coming out with some soon as well.

For the high data rates, you will need to phase modulate a very high frequency.  Few people have access to equipment that can measure those signals, but the LMX2325 has a lock detect and divider output so you can check the operation with normal equipment.  Let me know if you need more info on National Semi products (note the nsc in my email address).

Mike


;=========================================================================
;
;                               2325.ASM
;                           Rev 0.1, March 1998
;
;                         by:  Mike Leister
;                              National Semiconductor                            
;
	.CHIP  8SAC
	.SECT  Main,ROM,ABS=0
;
;
;DECLARATIONS:
;	  
	PORTLD = 0xD0         ; PORTL Data Reg       
	PORTLC = 0xD1         ; PORTL Config Reg
	 PORTL = 0xD2         ; PORTL Register (Input Only)
;	  
	PORTGD = 0xD4         ; PORTG Data Reg
	PORTGC = 0xD5         ; PORTG Config Reg
	 PORTG = 0xD6         ; PORTG Register (Input Only)
;
;	   
;	    
	PORTCC = 0xD9         ; PORTC Config Reg
	PORTCD = 0xD8         ; PORTC Data Reg
	 PORTC = 0xDA         ; PORTC Register (Input Only)
;	 
	 PORTD = 0xDC         ; PORTD Register (Output Only)
;
	 CNTRL = 0xEE         ; CONTROL Register
	   PSW = 0xEF         ; Processor Status Word
;
	    R0 = 0xF0         ; LB 
	    R1 = 0xF1         ; LB 
	    R2 = 0xF2         ; LB 
	    R3 = 0xF3         ; LB 
	    R4 = 0xF4         ; LB 
	    R5 = 0xF5         ; LB 
	    R6 = 0xF6         ; LB 
	    R7 = 0xF7         ; LB 
	    R8 = 0xF8         ; LB 
	    R9 = 0xF9         ; LB 
	    RA = 0xFA         ; LB 
	    RB = 0xFB         ; LB 
;
	  SIOR = 0xE9         ; Microwire Register 
	STKPTR = 0xFD         ; Stack Pointer
;
;
;=========================================================================
;
; SETUP CONTROL REGISTERS, PORTS, INTERRUPTS, ETC.
;
;
START:    
;
SETUP:    
;
	  LD STKPTR, #0x2F      ; Initialize Stack Pointer
          LD CNTRL, #0x09       ; CNTRL = 0000 1011
	  LD PORTCC, #0x0B      ; PORT_C I/O ==>  (0000 1011) IIII OIOO
	  LD PORTCD, #0x0A      ;                  0000 1010
;				;
          LD PORTGC, #0x3E      ;*** PORT_G I/O ==>  (0011 1110) IIOO OOOI
          LD PORTGD, #0x7C      ;    Init.to ==>      
;				;
	  LD PORTLC, #0xFF      ; PORT_L I/O ==> (1111 0000) OOOO IIII
	  LD PORTLD, #0x00
;
;-------------------------------------------------------------------------
;
HERE:	  RBIT 0, PORTLD	;
;
	  LD A, #0x00		;
	  JSR uWire		;
	  LD A, #0x00		;
	  JSR uWire		;
	  LD A, #0x33		;
	  JSR uWire		;
;
	  SBIT 0, PORTLD	;LE Pulse
	  JSR DELAY		;
	  RBIT 0, PORTLD	;
;
	  LD A, #0x00		;
	  JSR uWire		;
	  LD A, #0x46		;
	  JSR uWire		;
	  LD A, #0x28		;
	  JSR uWire		;
;
	  SBIT 0, PORTLD	;LE Pulse
	  JSR DELAY		;
	  RBIT 0, PORTLD	;
;
	  JMP HERE
;
;-------------------------------------------------------------------------    
;	  Subroutine to Delay 
;
DELAY:	  LD R0, #0x05
PAUSE:	  LD R1, #0x05
DLOOP:	  DRSZ R1
	  JMP DLOOP
	  DRSZ R0
	  JMP PAUSE
	  RET
;
;-------------------------------------------------------------------------
;	  Subroutine to send data from A to the uWire Port
;
uWire:	  LD B, #SIOR		;Load B with uWire Register Address
	  X A, [B]		;Put the data from A into uWire register
	  RBIT 5, PORTGD	;Force CLK Low
	  SBIT 3, CNTRL		;Enable uWire mode
	  SBIT 2, PSW		;Set Busy, initiate transfer
SSB:	  IFBIT 2, PSW		;Transfer Complete?
	  JMP SSB		;Keep checking
	  RET			;Go back to calling program
;
;=========================================================================
	  .END START   



-----Original Message-----
From:	Grant Stockly [SMTP:gussie@alaska.net]
Sent:	Monday, April 27, 1998 6:04 PM
To:	ti-hardware@lists.ticalc.org
Subject:	TI-H: Protocall...


Someone asked me how I plan to make it work...

When on a serial cable, when you transmit a letter, a start bit and a
following 8 bits are sent...  The modulator and demodulator just converts
this data into an analogue signal.

When sending a one, the digital value 255 is applied to a DAC (digital to
analogue converter).

When sending a zero, the digital value 0 is applied to an ADC (analogue to
digital converter).

When reading signals, if the analogue value converted into digital
information reads 64 or higher, its a one.  If its lower, its a zero...
This may be changed to a one being a minimal of 128, but thats later...

That modulates the signal...  I'm hoping to find DAC and ADCs that have an
8bit interface instead of a cheep serial connection since the serial ones
are quite a bit slower (1usec compared to 250nsec)...

Any suggestions?  I'm going to try to find info on what frequency and how
cel phones operate...  I want to know the power, frequency, and how data is
transfered between them...  Like some chips used...  I'm going to national
semi tonight to find some info...


>You seem to have a bit of a problem with Grant Stockly. Personlly, I don't
>care about that. However, i would appricate it if you would quit making such

And I don't care if Jon gets insulted...  :P  <jk>


Warning
Could not process part with given Content-Type: application/ms-tnef