PIC24f ¿Obtener señal de reloj para dispositivo externo?

0

Tengo un dispositivo de memoria externo con configuración de pin:

  1. Entrada de datos
  2. Salida de datos
  3. conexión
  4. Sistema de bloqueo
  5. DC 24V
  6. tierra

Aquí está el link

Necesito diseñar un código para comunicarme con este dispositivo.

Tengo un kit de inicio Explorer-16 con microcontrolador PIC24FJ128GA010. Por lo tanto, estaba intentando configurar un entorno de prueba para verificar el módulo antes de continuar con el diseño final.

Pero estoy atascado con pocos puntos. Podría faltar el concepto.

  1. Mi primer requisito es proporcionar una señal de reloj del sistema al dispositivo. ¿Me sugiere la mejor manera posible de obtener / generar la señal de reloj para el dispositivo?

  2. En segundo lugar, según las instrucciones del dispositivo de memoria, para iniciar la comunicación, ¿Enviar inicio / detener cmd mientras la señal del reloj es estable en estado alto? ¿Cómo puedo lograr esto?

Estoy muy atascado con estos dos puntos. Por favor, dame una mejor solución. Estoy iniciando el microcontrolador después de mucho tiempo. Así que necesito repasar. Por favor, ayúdame con cualquier información adicional.

    
pregunta skg

3 respuestas

1

Encontré la solución para el problema.

Utilicé el método de transferencia de bits I2C para resolver el problema y finalmente lo hice funcionar.

He publicado la respuesta con otra pregunta. Siga este [enlace] { I2C: no se puede leer varios bytes con el método de Bit-Banging }

    
respondido por el skg
2

No proporcionaste ninguna información de identificación sobre el dispositivo de memoria que estás usando, por lo que solo puedo responder en generalidades.

  1. Una señal de reloj suele ser solo una onda cuadrada en alguna frecuencia. En general, un ciclo de trabajo del 50% funciona para la mayoría de los sistemas, pero hay algunos sistemas que tienen requisitos únicos de ciclo de trabajo que deben cumplirse. Una onda cuadrada se puede generar de muchas maneras diferentes. No estoy familiarizado con el kit de inicio Explorer-16, pero supongo que tiene al menos un canal de salida PWM. PWM significa Modulación de ancho de pulso, que es solo un término elegante para una onda cuadrada con una frecuencia programable y un ciclo de trabajo. También puede simplemente golpear un pin de salida digital alto y bajo. Si está diseñando su propio circuito, hay componentes llamados osciladores que se ajustan con precisión para generar una onda cuadrada a una frecuencia determinada.

Lo más importante, sin embargo, es entender lo que requiere el dispositivo de memoria. El dispositivo debe especificar el nivel de voltaje, la frecuencia y el ciclo de trabajo del reloj del sistema. Esa información solo puede provenir del fabricante en forma de una hoja de datos o algo similar.

  1. La respuesta a esta pregunta es similar a la # 1. Sólo el fabricante del dispositivo de memoria puede responder a esa pregunta. No existe una definición universal de lo que es un comando "Iniciar" o "Detener". ¿Es SPI? ¿Es UART? ¿Es un protocolo serial propietario? Solo la hoja de datos tendrá esa información.

Si actualiza su pregunta para incluir qué dispositivo de memoria externa está usando, es más probable que obtenga una respuesta más específica.

    
respondido por el Dan Laks
1

Este es un dispositivo extraño. El chip interno es I2C, pero el hardware circundante separa las líneas de entrada y salida de datos para comunicarse con un PLC.

Recomiendo tratar de hablar con la bestia con un protocolo SPI, y el SCLK en el SPI debe proporcionar la funcionalidad de reloj que necesita. Dependiendo de la implementación de tus PIC, es posible que necesites ESCRIBIR 0x00 (lo que resultará en 8 tics de reloj) para hacer la lectura.

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas