Autor Tema: PROBLEMA CON TRANSMISON A TRAVES DEL SPI DEL DSPIC 3014  (Leído 2720 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado andysabbath

  • PIC10
  • *
  • Mensajes: 18
PROBLEMA CON TRANSMISON A TRAVES DEL SPI DEL DSPIC 3014
« en: 30 de Julio de 2008, 20:56:04 »

hola señores del foro

ante todo agradezco el que ustedes me puedan ayudar en las solucion del siguiente problema.

estoy tratando de transmitir desde un DSPIC30F3014 con oscilador externo de cristal de 4MHZ, datos hacia un convertidor digital analogo (D/A AD5764 de analog devices), estoy intentando mandar datos de 16 bits a traves del pin SDO, con el circuito aun desacoplado, pero mirando la salida en un osciloscopio, este no me muestra nada  a la salida mas que una linea en cero volt.. Me paso entonces a mirar con el osciloscopio la señal de reloj SCLK e igualmente me meustra una linea continua en cero volt. si la amplio en la escala de volt. me muestra es mucho ruido.

no entiendo entonces la situacion, les escibo entonces el codigo de la trasmison hecho en MPLAB, con su respectva explicacion para determinar dodne puede ser el error

transmision1:
         mov contador,W2; **** se mueve a W2 el contebidod e datos a enviar
                                                BCLR IFS0,#8;**** clareo la bandfera de interrupcion
         BCLR IEC0,#8;*** deshabilito la interrupcion
         mov #0x077F,W0,***mueve el literal a W0
         mov W0,SPI1CON; configuro el SPICON en modo maestro, trans. 16bits preesacalado y
                                                                             prim  y  sec. a 1:1
                                                mov #0x8000,W0,;*** habilito el modulo con SPIEN=1
         mov W0,SPI1STAT
         mov W2,SPI1BUF;***muevo los datos a SPIBUF
lead:                      BTSS SPI1STAT,#1;***verifico el estado del buffer
         bra lead
         BCLR IFS0,#8 ;*** clareo bandera de interrupcion           
         return ; **retirna al llamado



como pueden ver señores , hago todo lo que especifica la guia del modulo, pero no se a que se debe el no funcionamiento del mismo. agradezco su colaboracion

anexo ahora el codigo completo, ya que la señal de dato proviene de un contador ascendente descendente



.equ _p30F3014,1
.include "p30F3014.inc"


.global _main
.global contador
.section .data 
    contador: .hword 0x0000
   
.section .text

retardo:       mov #0x00FF,W3
tres:      mov #0x0052,W2
dos:      mov #0x002F,W1
uno:      dec W1,W1
      bra NZ,uno
      dec W2,W2
      bra NZ,dos
      dec W3,W3            
      bra NZ,tres            
      return

transmision1:
         mov contador,W2
         BCLR IFS0,#8
         BCLR IEC0,#8
         mov #0x077F,W0
         mov W0,SPI1CON
                                                mov #0x8000,W0
         mov W0,SPI1STAT
         mov W2,SPI1BUF
lead:                      BTSS SPI1STAT,#1
         bra lead
         BCLR IFS0,#8           
         return


 _main:
             mov #0xFFFF,W0
             mov W0,ADPCFG                       
             CLR TRISB
          CLR PORTB
          CLR TRISD
          CLR PORTD            
          CLR contador
          BCLR PORTD,#0
         
ascendente:                                BSET PORTD,#1
           mov contador,W0
                                          mov W0,PORTB
          call retardo             
                                                 call transmision1
          inc contador
                                                 mov contador,W0                
           mov #0xFFFF,W1
                                                 cpseq W1,W0         
          goto ascendente       
                                                 goto descendente
descendente: 
          mov contador, W0
                                          mov W0,PORTB
                                                 call transmision1      
          dec contador
                                                 mov contador,W0
                         mov #0x0000,W1
                                    cpseq W1,W0
          goto descendente
                       goto ascendente
.end

MIL GRACIAS COMPAÑEROS

Desconectado tincho_a

  • PIC10
  • *
  • Mensajes: 14
Re: PROBLEMA CON TRANSMISON A TRAVES DEL SPI DEL DSPIC 3014
« Respuesta #1 en: 08 de Mayo de 2012, 11:28:17 »
estoy tranajando con un 3013 y tengo el mismo problema, lo pudiste solucionar??


 

anything