TH3122 El transceptor KBus parece bloquear su propio TX

1

Estoy usando un IC de transceptor I / K-Bus de Melexis .

Este es el que tiene detección de colisiones y otras funciones que facilitan el envío y la recepción de datos desde el bus.

El bus I / K es un bus común que se usa en los BMW a partir de principios de la década de 2000 para controlar ventanas, puertas y recibir su estado (y mucho más).

Tiene un nombre de pin "SEN / STA", que es un pin bidireccional que se utiliza para detectar y controlar el estado del bus. Cuando lees este pin, muestra la lógica 0 cuando el bus está libre y la lógica 1 cuando está ocupado (por lo tanto, no debes comenzar a enviar tu mensaje). Cuando escribe en este pin, puede deshabilitar la "ruta de transmisión" (lógica 1), o puede forzar que sea libre (lógica 0).

Aunque el chip tiene muchas características geniales, no puedo usarlo para transmitir un solo mensaje al bus.

Mi esquema está aquí (probado con el cable SEN / STA eliminado también):

AquíhayunaimagendealcancedelTXquevienedelpuertoenserie(amarillo)ylalíneaBUS(púrpura).PuedeverqueelICintentainiciarlatransmisiónenlalíneaBUS,peroladetieneinmediatamente.

AquíhayunaimagendealcancedelpinSEN/STA(amarillo)yelBUS(púrpura):PuedeverqueelSEN/STAaumentadurantelatransmisiónsolicitada,locualestábien,peroNOdebedetenerlatransmisiónactual.¡ParecequeelICpiensaqueelBUSestáocupadoydetienesutransmisión!

AquíhayunaimagendealcancedelpinSEN/STA(amarillo)frentealpinserialTTLTX(púrpura):PuedeverqueelSEN/STAesaltodurantelatransmisión(unpocomástarde,lalíneaamarillabajó,similaralaimagendearriba).

Estoyusando PuTTY para enviar datos a 9600 baudios, 8N1. Esta es la especificación para el bus I / K.

Creo que la lógica del bus del TH3122 está bien, sin embargo, no debería desactivar su propia transmisión.

ACTUALIZACIÓN1

Ahora traté de forzar el SEN / STA a la lógica 0 durante el TX. Aquí están mis imágenes de alcance para esto:

BUS (amarillo), TX (púrpura), puede ver que la transmisión está deshabilitada después de cada flanco descendente del TX:

BUS(amarillo),SENSTA(púrpura),puedeverqueSENSTAsecontrolaparaquesealógico0paratodalaoperacióndetransmisióncomoseindicaenlaFigura3enlahojadedatos:

    
pregunta Daniel

1 respuesta

0

Debe forzar SEN / STA a 0 para transmitir, como lo indica claramente la hoja de datos.

También, vea la descripción de "Desconexión de constante baja". Esto significa que su línea de TX no debe mantenerse baja durante más de 3 ms. Si su protocolo necesita transmitir "0" por más tiempo, debe insertar pulsos cortos de "1" periódicamente para evitar que se desactive la transmisión.

ACTUALIZACIÓN

Estoy mirando la documentación y no tengo idea de cómo puede funcionar este cableado. Si tiene algún enlace a la especificación de K-Bus, sería útil.

El problema es que el controlador de salida es un emisor abierto PNP. Por lo tanto, sin la conexión, todo lo que puede esperar es un pequeño pico en el capacitor de entrada, exactamente lo que ve en su alcance. Al menos ahora está obteniendo esos picos en cada pulso de TX, y no hay ningún "bloqueo" como en el título.

De algunas referencias poco claras, debe haber +12 V en el bus en estado inactivo. ¿Tienes eso? Supongo que si se conectara a un verdadero autobús BMW, el coche lo detendría en alguna parte. Si haces los experimentos en tu escritorio, entonces tienes que hacerlo tú mismo. No creo que la corriente de fuga de la base del transistor al emisor pueda elevar todo el bus, a menos que tenga una docena de dispositivos conectados al bus simultáneamente.

Aquí está el circuito de acuerdo con la documentación, incluida la etapa del controlador TH3122:

ACTUALIZACIÓN2

Aquíseencuentraunapequeñacantidaddeinformación aquí : "Carga de red: resistencias de encendido en los módulos maestro y de encendido". Esto confirma mis suposiciones anteriores: debe probar su adaptador mientras está conectado al bus real o necesita una resistencia de pull-up de 1 kΩ en un bus para probar el funcionamiento del chip independiente.

ACTUALIZACIÓN 3

El regulador interno de 5V no solo genera energía para la MCU, sino que también suministra circuitos lógicos de chip y circuitos de E / S. Por lo tanto, tiene que estar habilitado para un correcto funcionamiento. Requiere todos los condensadores según la "Figura 8 - Circuito de aplicación" en la hoja de datos .

El pin EN puede estar conectado permanentemente a VS o puede ser controlado por MCU después de que MCU haya sido despertada por el tráfico del bus.

    
respondido por el Maple

Lea otras preguntas en las etiquetas