FPGA realiza comunicación en serie, cómo programar la adaptación de la velocidad en baudios
En primer lugar, esta tecnología se puede dividir en dos categorías en términos de necesidad técnica:
Primero, el extremo receptor tiene una frecuencia operativa fija y utiliza una comunicación de velocidad de baudios típica. Los programadores prefieren esta situación, ya sea para calcular medidas o comparar tablas, es relativamente simple.
Entonces, el método de implementación técnica también se puede dividir en dos categorías:
Primero, con caracteres de sincronización independientes. Cuando se utiliza la comunicación en serie, primero se debe realizar la operación de sincronización, es decir, el extremo receptor ajusta la velocidad en baudios comparando la diferencia entre los caracteres recibidos y los caracteres de sincronización, o calcula la velocidad en baudios midiendo el ancho de bits de los caracteres de sincronización con un temporizador.
2. No existe ningún carácter de sincronización independiente. Es decir, la comunicación directa es posible independientemente de la velocidad en baudios. Generalmente hay dos situaciones aquí. 1. Los caracteres iniciales de los comandos de comunicación son fijos. Por ejemplo, algunos módulos de mensajes cortos utilizan el conjunto de comandos AT. Aunque es un comando, tiene un efecto de sincronización, pero requiere que la velocidad en baudios sea. ajustado antes de que llegue el comando real, el juicio debe ser rápido y preciso. 2. Los caracteres aleatorios pueden sincronizar la velocidad en baudios. Este método se describe en el artículo de Zhou Ligong. En este caso, en realidad existen restricciones: es decir, el último dígito del carácter debe ser 0 y los caracteres de sincronización solo pueden ser caracteres independientes y no pueden haber caracteres consecutivos.
Ningún método es universal y cada método tiene su propio ámbito de uso. Cabe decir que la comparación de caracteres es relativamente simple, rápida pero tiene un rango aplicable pequeño, y es fácil de interrumpir el procesamiento. La medición del temporizador es más problemática, pero tiene un rango aplicable pobre y debe ser procesada por el programa principal. Los diseños sin caracteres de sincronización independientes, como el módulo SMS, normalmente admiten una velocidad de baudios limitada.
Bajo la guía de esta teoría, creo que la programación específica puede referirse a los dos tipos siguientes:
1. Fuente de reloj de oscilación RC, el programa principal detecta el puerto IO-RXD. y utiliza un temporizador para calcular la velocidad en baudios. La subdivisión puede considerar a. usar caracteres de sincronización, b. usar cualquier código ASCII.
2. Fuente de reloj de frecuencia fija, solo admite velocidad de baudios típica limitada. Para la subdivisión, considere a. El uso repetido de caracteres de sincronización para ampliar el rango de velocidad en baudios admitido b.