BMW M5 Forum and M6 Forums banner
21 - 39 of 55 Posts
Limite de linhas do Excel - Office 2013

Só por curiosidade, mas qual versão do Excel você está usando? Eu pensei que o 2010 permitia mais de 65 mil linhas, mas posso estar errado.

Enviado do Aplicativo AutoGuide.com
messex,

Não, você está certo. Não posso falar pela versão 2010, mas o Excel no Office 2013 permite 1.048.576 linhas. :greenflag:
 
Olá AWOL

Eu estava me perguntando se você continuou sua aventura canbus, o tópico aqui para abruptamente. Você pode estar morto, mas eu quero tentar ser positivo :)
Você poderia me dizer quais cores no PDC são para Can + e Can -?
Posso obtê-lo em outro lugar, como o controlador CCC?

Saudações
 
A lógica de controle de lançamento também é a mesma. A única diferença é uma animação de bandeira no KOMBI e9x. Não vejo nada nos rastreamentos de codificação e60 para DKG, mas alguns outros veem, incluindo o CIC e o EKPM.
 
Então, o primeiro teste não correu muito bem.

Aparentemente, o escudo CAN e o programa que me deram não funcionam com o Arduino Mega. O escudo CAN tem um slot micro-SD para registro, mas a configuração dos pinos é diferente para a placa Mega.

Então, corri para a Radio Shack e peguei um Arduino Uno por US$ 29,99 e os problemas foram resolvidos... pelo menos com o cartão SD.

Fiquei animado e corri para o carro para conectá-lo e começar a registrar. E adivinha? Os E60s Pre LCI não têm sinais CAN na porta OBD...

Então, agora para descobrir um lugar de fácil acesso para tocar no barramento CAN. Até agora, estou pensando no porta-malas no módulo PDC. Posso até mover o módulo PDC para fora do poço do pneu sobressalente (supondo que esteja lá nos Ms, como está nos não-Ms), como muitos caras do bimmerforums fizeram para evitar a possibilidade de um derramamento de líquido no porta-malas que o inundaria.

Postarei mais quando eu o conectar e alguns dados forem coletados.
Olá Jim,

Ao conectar ao CAN em qualquer lugar que não seja o OBD-II, certifique-se de usar a resistência de terminação adequada em sua placa transceptora. Um barramento CAN é projetado como uma "espinha dorsal" à qual os participantes se conectam. Se você for um ponto final, precisará terminar com 2 x 60 Ohms para aterramento conectados por meio de um capacitor de 10 nF. Se você estiver no 'meio' do barramento (onde você normalmente deve estar mirando), você não termina. Portanto, esteja ciente da sua posição no barramento e tente conectar 'no meio'. Caso contrário, você causa reflexos e pode ter problemas de qualidade do sinal.

Agora, no barramento CAN do atuador do acelerador e nos barramentos CAN do solenóide VANOS, você deve conectar sem terminação porque é um barramento CAN de alta velocidade ponto a ponto. Não há meio: você é ele com seu sniffer. Estes são os interessantes na minha opinião :wink, especialmente se você puder alinhar o tempo com os dados de registro. A propósito, esses transceptores específicos são fabricados pela Infineon (TLE6250G) rodando a 1 Mbit/s. Geralmente é melhor usar os mesmos transceptores no modo de escuta para obter a melhor fidelidade, mas ei, ele funcionará com um TJA1043 da NXP também, eu aposto. Qual transceptor é usado na configuração Arduino?

Não tenho certeza sobre as outras redes CAN em nossos carros e suas taxas de dados exatas. Algumas redes de alta velocidade operam a 500 kbit/s. Então, cuidado. Um osciloscópio barato é útil em tais assuntos. Eu tenho um, se necessário.

O melhor software e hardware para registro é este: CANalyzer
Mas é muito caro. É o que as montadoras usam, pois em muitos casos elas executam seu software em um Vector OS (baseado em OSEK). Eu procurei no eBay, mas nada apareceu. Surpresa, surpresa. Eu não tentei muito, devo dizer. No entanto, diga a palavra e posso ir com um conjunto de ferramentas quando as perguntas ficarem difíceis!
 
Discussion starter · #25 · (Edited)
Olá Jim,

Quando você se conectar ao CAN em qualquer lugar que não seja o OBD-II, certifique-se de usar a resistência de terminação adequada em sua placa transceptora. Um barramento CAN é projetado como uma "espinha dorsal" à qual os participantes se conectam. Se você for um ponto final, precisará terminar com 2 x 60 Ohms para o terra, conectados por meio de um capacitor de 10 nF. Se você estiver no 'meio' do barramento (onde você normalmente deveria estar mirando), você não termina. Portanto, esteja ciente da sua posição no barramento e tente se conectar 'no meio'. Caso contrário, você causará reflexos e poderá ter problemas de qualidade do sinal.

Agora, no barramento CAN do atuador do acelerador e nos barramentos CAN do solenóide VANOS, você deve se conectar sem terminação, pois é um barramento CAN de alta velocidade ponto a ponto. Não há meio: você é ele com seu sniffer. Estes são os interessantes, na minha opinião :wink, especialmente se você puder alinhar o tempo com os dados de registro. A propósito, esses transceptores específicos são fabricados pela Infineon (TLE6250G) rodando a 1 Mbit/s. Geralmente é melhor usar os mesmos transceptores no modo de escuta para obter a melhor fidelidade, mas ei, ele também funcionará com um TJA1043 da NXP, eu aposto. Qual transceptor é usado na configuração Arduino?

Não tenho certeza sobre as outras redes CAN em nossos carros e suas taxas de dados exatas. Algumas redes de alta velocidade operam a 500 kbit/s. Então, cuidado. Um osciloscópio barato é útil em tais assuntos. Eu tenho um, se necessário.

O melhor software e hardware para registro é este: CANalyzer
Mas é muito caro. É o que as montadoras usam, pois em muitos casos elas executam seu software em um Vector OS (baseado em OSEK). Eu procurei no eBay, mas nada apareceu. Surpresa surpresa. Eu não tentei muito, devo dizer. No entanto, diga a palavra e eu posso ir com um conjunto de ferramentas quando as perguntas ficarem difíceis!
Remco, fico feliz que você tenha aparecido aqui. Este foi um experimento que funcionou bem e meu objetivo final era pegar um módulo PDC sobressalente e reutilizá-lo para "monitorar" o barramento CAN como um módulo "pass-through", por assim dizer. A localização na parte traseira forneceria espaço para instalá-lo e usar os dados do barramento para sinalizar outras coisas conforme desejado em todo o carro. Uma de muitas ideias que eu nunca pareço ter tempo/prioridade para acompanhar.

No entanto, olhando para a adaptação DCT, precisamos saber exatamente o que está no barramento PT-CAN, será essencial determinar a diferença entre o tráfego em SMG e DCT.

Aqui estão as descrições do barramento que a BMW adotou:

View attachment 10_E60 Voltage Supply and Bus Systems.pdf
 
RPM bruto (não otimizado para KOMBI) está embutido no ID da mensagem K-CAN, bytes 4 e 5, como um inteiro sem sinal de 16 bits. Os IDs de mensagem K-CAN e PT-CAN são os mesmos. Essas mensagens são transmitidas aproximadamente a uma taxa de atualização média de 100 ms (enquanto em PT-CAN seria em média 10 ms). Obrigado BMW por tornar isso fácil.
 
Discussion starter · #27 ·
RPM bruto (não otimizado para KOMBI) está embutido no ID da mensagem K-CAN, bytes 4 e 5, como um inteiro sem sinal de 16 bits. Os IDs de mensagem K-CAN e PT-CAN são os mesmos. Essas mensagens são transmitidas em média a uma taxa de atualização de 100 ms (enquanto em PT-CAN seria em média 10 ms). Obrigado BMW por tornar isso fácil.
Verdadeiro para todos os ArbIds em PT-CAN, K-CAN, ByteFlight, LLS-CAN e DK-CAN. Os ArbIds são únicos e atribuídos seus números por prioridade, por isso faz sentido manter a ordem consistente.
 
Discussion starter · #30 ·
Eu postei isso no bimmerforums, mas vocês provavelmente também acharão útil. Encontrei isso enquanto cavava no tool32

Code:
0x399	Status M-Drive [2]	Status M-Drive [2]	0x12	DME1
Lista do que um monte de IDs de mensagens são e de quais módulos eles se originam. Existem alguns IDs faltando quando eu verifico em relação ao meu 535xi, então a lista está incompleta, mas ainda é muito melhor do que voar completamente às cegas.
Postagem abreviada de Terra acima para o que eu acho que a maioria está procurando aqui.

Hex ArbID para M-Drive é 0x399. Especificamente, você pode acionar o byte 1, bits 7-8.

 
O que provavelmente também interessa a vocês são as mensagens de transmissão:

Code:
0xB5	Drehmomentanforderung EGS [9]	Torque demand EGS [9]	0x18	EGS_MECH+NAVI/EGS_MECH
0xB8	Drehmomentanforderung DKG [2]	Torque requirement DKG [2]	0x18	DKG
0xBA	Getriebedaten [20]	Transmission data [20]	0x18	SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0xBD	Drehmomentanforderung SSG [6]	Torque demand SSG [6]	0x18	SMG_M/SMG
0x1A2	Getriebedaten 2 [6]	Transmission data 2 [6]	0x18	EGS_MECH+NAVI/EGS_MECH/DKG
0x1A3	Rohdaten Längsbeschleunigung [3]	Raw data longitudinal acceleration [3]	0x18	SMG_M
0x1D2	Anzeige Getriebedaten [22]	Transmission data display [22]	0x18	SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x304	Status Gang [13]	Status Status [13]	0x18	SMG_M/SMG/EGS_MECH+NAVI/EGS_MECH/DKG
0x3B1	Getriebedaten 3 [2]	Transmission data 3 [2]	0x18	EGS_MECH/DKG
0x498	Netzwerkmanagement	Network management	0x18	DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
0x598	Dienste	services	0x18	DKG/EGS_MECH/EGS_MECH+NAVI/SMG/SMG_M
Somente 0xB8 parece ser específico para DCT, e somente 0xBD e 0x1A3 parecem ser específicos para SMG. 0xB8 e 0xBD parecem transportar a solicitação de torque, embora não esteja claro se o formato é o mesmo. 0x3B1 pode não estar presente em transmissões SMG

O próximo passo seria desmontar o MSS65, descobrir onde as mensagens CAN são tratadas e ver se já existe algum código para lidar com as mensagens específicas do DCT.
 
Postagem abreviada de Terra acima para o que eu acho que a maioria está procurando aqui.

Hex ArbID para M-Drive é 0x399. Especificamente, você pode acionar a partir do byte 1, bits 7-8.

View attachment 774593
Eu estava olhando para isso ontem à noite. Estou configurando meu simulador de mensagens CAN. Existem várias opções aqui. Eu estava pensando no byte 4, bits 5 e 4. Esta é a parte da luz M do painel da mensagem. Um 01 ou um 10 nesses bits indicará que a luz M-drive dash / HUD está LIGADA. Um 00 significa DESLIGADO. Desta forma, é agnóstico de um status ECU específico no veículo. Isso também corresponde ao rastreamento CAN que você deixou em algum lugar a montante neste tópico. Você deve ter alternado o botão M naquele experimento, pelo que pude perceber.
 
@jcolley, você tem alguma atualização sobre seu projeto? Estou tentando ativar o botão do volante M no modelo E60 não M, então se você tiver alguma dica útil para mim, agradecerei.
Mesmo que você codifique o módulo do volante para um VO M5 (presumivelmente é tudo o que é necessário), o carro ainda não saberá nada sobre esses quadros CAN.
 
Mesmo que você codifique o módulo do volante para um VO M5 (presumivelmente é tudo o que é necessário), o carro ainda não saberá nada sobre esses quadros CAN.
Bem, eu já ativei a visualização M no HUD do meu E60 não M, então eu gostaria de poder ativar/desativar essa visualização no HUD quando eu pressiono o botão M no volante. Atualmente, eu só consigo ativar/desativar essa visualização nas configurações do iDrive. Eu vi que existe a opção M drive no módulo SZL, que eu eventualmente posso ativar com a codificação NSC Expert, mas eu não sei a que mais essa opção pode estar relacionada e eu não quero causar nenhum problema com ela. Eu estava pensando que eu posso apenas obter as mensagens, que são enviadas no CAN Bus quando o botão M é pressionado e, depois de recebê-las, enviar novas mensagens para o CIC para ativar a visualização M no HUD. Isso faz sentido?
 
Bem, eu já ativei a visualização M no HUD do meu E60 não M, então eu gostaria de poder ativar/desativar essa visualização no HUD quando eu pressiono o botão M no volante. Atualmente, eu só consigo ativar/desativar essa visualização nas configurações do iDrive. Eu vi que existe a opção M drive no módulo SZL, que eu posso eventualmente ativar com a codificação NSC Expert, mas eu não sei a que mais essa opção pode estar relacionada e eu não quero causar nenhum problema com ela. Eu estava pensando que eu posso apenas pegar as mensagens, que são enviadas no CAN Bus quando o botão M é pressionado e depois de recebê-las enviar novas mensagens para o CIC para ativar a visualização M no HUD. Isso faz sentido?
K-can é configurado como um barramento serial e cada módulo vê o tráfego e ignora as coisas com as quais não se importa. Você não vai estragar as coisas se você codificar o SZL para começar a enviar os quadros m-mode-on (a única coisa que eu vi que estragou as coisas é a duplicação de mensagens 0x380 com um número de vin diferente).

As chances são de que o CIC vai ignorá-los de qualquer maneira, até que você o codifique para habilitar essa funcionalidade - eu não tenho certeza se você pode habilitá-lo codificando para ativar a funcionalidade, ou recodificar todo o CIC com um VO que o tenha. Provavelmente o primeiro, no entanto, pela minha experiência as coisas do VO não fazem muita coisa.

De qualquer forma, fazer isso deve ser mais fácil do que configurar um arduino como um tipo de homem-no-meio.
 
K-can é configurado como um barramento serial e cada módulo vê o tráfego e ignora as coisas com as quais não se importa. Você não vai estragar as coisas se você codificar SZL para começar a enviar os quadros m-mode-on (a única coisa que eu vi estragar as coisas é duplicar mensagens 0x380 com um número vin diferente).

As chances são de que o CIC vai ignorá-los de qualquer maneira, até que você o codifique para habilitar essa funcionalidade - não tenho certeza se você pode habilitá-lo codificando para ativar a funcionalidade, ou recodificar todo o CIC com um VO que o tenha. Provavelmente o primeiro, no entanto, pela minha experiência as coisas do VO não fazem muita coisa.

De qualquer forma, fazer isso deve ser mais fácil do que configurar um arduino como um tipo de intermediário.
Sim, eu sei como o barramento CAN funciona. Provavelmente eu não fui claro no meu post anterior. Tenho medo de não quebrar nada, o que está funcionando bem no momento. Por exemplo, meu carro está equipado com o sistema de Aviso de Saída de Faixa, que não existe nos modelos M. Esse sistema pode ser ativado/desativado pelo botão, que fica abaixo do botão M. Se eu habilitar o modo M no SZL, posso perder a capacidade de iniciar e parar esse sistema. Este é apenas um exemplo, que posso dar, mas provavelmente pode haver alguns outros casos em que a ativação do modo M no SZL pode levar a um resultado negativo. Além disso, como você mencionou, habilitar o modo M no SZL pode não ser suficiente e eu posso precisar habilitar outras opções em outros módulos... no entanto, eu posso facilmente tentar e se o resultado não for bom o suficiente, eu posso reverter essas configurações.
E finalmente, se eu conseguir alcançar o resultado que eu quero via codificação não será tão divertido quanto alcançá-lo com Arduino :)
 
Sim, eu sei como o barramento CAN funciona. Provavelmente não fui claro no meu post anterior. Tenho medo de não quebrar nada, o que está funcionando bem no momento. Por exemplo, meu carro está equipado com um sistema de aviso de saída de faixa, que não existe nos modelos M. Esse sistema pode ser ativado/desativado pelo botão, que fica abaixo do botão M. Se eu ativar o modo M no SZL, posso perder a capacidade de iniciar e parar esse sistema. Este é apenas um exemplo, que posso dar, mas provavelmente pode haver alguns outros casos em que a ativação do modo M no SZL pode levar a um resultado negativo. Além disso, como você mencionou, ativar o modo M no SZL pode não ser suficiente e eu posso precisar ativar outras opções em outros módulos... no entanto, posso tentar facilmente e, se o resultado não for bom o suficiente, posso reverter essas configurações.
E, finalmente, se eu conseguir o resultado que quero via codificação, não será tão divertido quanto consegui-lo com Arduino :)
Err, eu acho que não vejo como você vai compelir o SZL a enviar quaisquer quadros CAN do botão M, se esse recurso não estiver codificado. IIRC, a sinalização entre os botões e o SZL é baseada em resistência, então colocar um arduino no meio disso seria uma grande dor de cabeça. Por outro lado, executar um fio separado para o botão m exigiria uma mola espiral com mais fios (volante aquecido talvez? embora você possa estar SOL com a vibração de saída de faixa no volante)
 
Olá pessoal, revivendo um tópico antigo - alguém pode compartilhar seu esboço do Arduino usado para farejar as mensagens k can? Além disso, alguém pode confirmar que resistores de terminação de 120 ohms de H e L para o terra seriam necessários ao conectar ao k can no PDC?
 
Olá pessoal, revivendo um tópico antigo - alguém pode compartilhar seu esboço Arduino usado para farejar as mensagens k can? Além disso, alguém pode confirmar que resistores de terminação de 120 ohms de H e L para o terra seriam necessários ao conectar ao k can no PDC?
Sim, essa é a terminação adequada para o K-can. Dê uma olhada no esboço do arduino aqui.

https://github.com/pavelmalik/BMWCanBridge

Deixe-me adivinhar, você quer amarrar cortes de escape no modo m? :)
 
21 - 39 of 55 Posts