Autor Tema: dsPIC30F4012  (Leído 1647 veces)

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

Desconectado juanma.pic

  • PIC10
  • *
  • Mensajes: 2
dsPIC30F4012
« en: 24 de Octubre de 2016, 09:08:29 »
Hola a todos.

Soy estudiante de electrónica y actualmente estoy realizando un proyecto con el PIC dsPIC30F4012 que consiste en controlar dos motores y varios diodos LEDs. La primera placa a realizar es un prototipo por lo que necesito incluir los pines ICSP para el depurador en la misma placa. Al controlar bastantes LEDs me quedé corto de pines por lo que decidí utilizar un expansor de I/O digitales (concretamente el MCP23017) controlado por I2C.

El problema que tengo ahora es que me he fijado en que el I2C comparte pines en el PIC con el ICSP, por lo que mi duda es si habría alguna forma de cambiar de pines al I2C al igual que se puede con la UART (aunque ya he mirado y por lo que creo no se puede) o si no entran en conflicto el depurador con el I2C. O sino, si habría otra solución que no fuese cambiar el hardware si es posible.

Saludos y muchas gracias de antemano.

Desconectado colotron

  • PIC12
  • **
  • Mensajes: 73
    • Canal de YouTube
Re:dsPIC30F4012
« Respuesta #1 en: 24 de Octubre de 2016, 12:32:15 »
Hola Juanma, a ver si puedo aportar algo útil...

Hola a todos.

...dsPIC30F4012... controlar dos motores y varios diodos LEDs. La primera placa a realizar es un prototipo por lo que necesito incluir los pines ICSP para el depurador en la misma placa...

El problema que tengo ahora es que me he fijado en que el I2C comparte pines en el PIC con el ICSP, por lo que mi duda es si habría alguna forma de cambiar de pines al I2C al igual que se puede con la UART (aunque ya he mirado y por lo que creo no se puede) o si no entran en conflicto el depurador con el I2C. O sino, si habría otra solución que no fuese cambiar el hardware si es posible.
...

Claro... me parece que lo último que mencionás es lo más factible. Sin haber visto en nada la hoja de datos, me animo a decir que si tenes un esclavo I2C conectado a los pines de depuración del micro, puede haber problemas si el esclavo intenta responder (tomar control de la línea de datos) mientras estás depurando.

Entonces diría que lo más sencillo es usar jumpers, los tendrías que cambiar de posición cada vez que quieras programar/depurar, y además tampoco podrías depurar la parte del programa que utilice el/los esclavo/s I2C.
Por eso mismo tal vez usar jumpers no te sirve de nada (porque precisas usar el expansor a la vez que depuras el programa).

Supongo que estás usando la versión del micro con empaquetado DIP/DIL/through hole no?, o es una smd?.
Las patas para programar/depurar serían PGC+PGD.
Ah no... pgc + pgd para programar, emuc y emud para depurar...

Tal vez podrías programar con pgc y pgd (jumpers para seleccionar conector de programación/esclavo i2c), y para depurar usar un par de pines emu ya sea alternativa 1/2/3.
Al usar distintos pines para depurar que para programar vas a tener que usar un conector de 7 pines como dice en la sección 21.7 de la hoja de datos, página 153:
http://ww1.microchip.com/downloads/en/devicedoc/70135C.pdf

No veo que haya un registro del pic para configurar la selección del par de pines emu, pero en esa sección dice que se selecciona del mplab ide. Quizás no hace falta configurar nada del lado del pic.

Bueno, hasta ahí llego, no tengo una solución exacta pero es lo que hay :)
Saludos.

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:dsPIC30F4012
« Respuesta #2 en: 24 de Octubre de 2016, 12:42:08 »
Esta nota de aplicación te puede ayudar:

http://ww1.microchip.com/downloads/en/DeviceDoc/93003A.pdf

Parece que no te queda otra mas que poner jumpers como te sugirieron.

Saludos!
Luis.