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
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: