I2C - No se puede leer la temperatura del TC74 con PIC16F887

4

La pregunta fue:

I want to read temperature from TC74 using I2C module of PIC16F887, however, in Proteus
simulation, I see noises in I2C Debugger Tool's output.

Me dijo que tenía "Transición de SCL espuria". Cualquier otra información acerca de la pregunta, como esquemas, código y captura de pantalla, se puede encontrar en las revisiones anteriores .

El problema se solucionó después de agregar un retraso de 4us después de una condición de reinicio, como se indica en la hoja de datos como:

  

START Condition Hold Time - Min: 4us

     

Tiempo de configuración de la condición de ARRANQUE (para condiciones de ARRANQUE repetidas) - Min: 4us

     

Tiempo de configuración de la condición de PARADA - Min: 4us

Eso significa que debemos siempre leer la hoja de datos a fondo primero. Supongo que la razón por la que las personas en Internet no cometen ningún error cuando no obedecen esos tiempos de espera es que su velocidad de reloj es baja y no necesitan poner un retraso en la unidad de control.

El código de trabajo y cualquier otra información de esta publicación se pueden encontrar en las revisiones anteriores de la misma. Para ver la versión final de la pregunta antes de esta reducción, simplemente vaya a esta página .

    

2 respuestas

0

El problema de la pregunta se resuelve y los detalles se pueden encontrar en la publicación misma o en la última publicación antes de la actual. Esta respuesta es solo para marcar esta pregunta como respondida para que no se rellene la lista de preguntas sin respuesta.

    
respondido por el abdullah kahraman
2

No sé qué quiere decir con "simulación de Proteus". En cualquier caso, hay algunos problemas obvios en el esquema. Primero, claramente falta un montón de conexiones, por lo que no podemos decir qué está realmente conectado. Se están moviendo los pines, por lo que debe haber poder, eso no se muestra. Eso deja la pregunta de qué más no se muestra. Y no, no digas que todo está bien conectado y no importa. En una inspección más cercana, el PIC ni siquiera tiene pines de alimentación y tierra en el esquema. Arregla todas estas cosas obvias antes de continuar.

¿Por qué los pullups de 10 kΩ? Pueden estar bien para IIC, pero limitarán la velocidad del bus. ¿Cuál es la velocidad de reloj de la IIC?

¿Qué voltaje es Vcc? ¿Cómo se está marcando el PIC? Si esto es una simulación, ¿qué hace el hardware real? ¿Qué es el bloque "I2C" en la esquina superior derecha del esquema? Si tiene un problema entre un PIC y otro dispositivo, elimine todo lo demás del bus durante la depuración.

Me doy cuenta de que esto probablemente debería haber sido un comentario, pero había mucho que pedir para encajar en un comentario.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas