AnsweredAssumed Answered

LPC1517 Bad CAN message responses

Question asked by Greg Wilson-Lindberg on Jan 27, 2017
Latest reply on Feb 17, 2017 by Greg Wilson-Lindberg

I'm working on a system that has (currently) 10 LPC15 nodes on the CAN bus (running at 100K baud) controlled by a RaspberryPi3 & CanBerry board with CanFestival.

 

At start up of the RPi program we download a couple of hundred OD's for each node to configure the boards. At times I've gotten some strange responses from the LPC15 CAN Rom API. In the following trace taken with PCanView I get a request to write to an OD and the node responds with success, there is other traffic on the bus, and then another request comes across to write to the next OD on the board and I see 2 abort responses for the previous write.

;   Message Number 
;   |         Time Offset (ms)
;   |         |          ID (hex)
;   |         |          |     Data Length
;   |         |          |     |   Data Bytes (hex) ...
;   |         |          |     |   |
;---+--   ----+----  ----+---  +  -+ -- -- -- -- -- -- -- 
37229)    855399.2      058A  8  60 11 14 04 00 00 00 00  
37230)    855400.4      0604  8  2B 11 14 05 00 00 00 00  
37231)    855401.8      0605  8  2B 11 14 05 00 00 00 00 --- Request 
37232)    855403.0      0584  8  60 11 14 05 00 00 00 00  
37233)    855404.2      0585  8  60 11 14 05 00 00 00 00 <---Response 
37234)    855405.4      0607  8  2B 11 14 05 00 00 00 00  
37235)    855406.8      0608  8  2B 11 14 05 00 00 00 00  
37236)    855408.0      0587  8  60 11 14 05 00 00 00 00  
37237)    855409.2      0588  8  60 11 14 05 00 00 00 00  
37238)    855410.4      0609  8  2B 11 14 05 00 00 00 00  
37239)    855411.8      0601  8  2F 12 14 00 05 00 00 00  
37240)    855413.1      0589  8  60 11 14 05 00 00 00 00  
37241)    855414.3      0581  8  60 12 14 00 00 00 00 00  
37242)    855415.5      0602  8  2F 12 14 00 05 00 00 00  
37243)    855416.0      0708  1  7F  
37244)    855417.3      060A  8  2B 11 14 05 00 00 00 00  
37245)    855418.5      0582  8  60 12 14 00 00 00 00 00  
37246)    855419.7      058A  8  60 11 14 05 00 00 00 00  
37247)    855420.9      0604  8  2F 12 14 00 05 00 00 00  
37248)    855422.3      0584  8  60 12 14 00 00 00 00 00  
37249)    855423.5      0605  8  2F 12 14 00 05 00 00 00  -  New Request 
37250)    855424.1      0080  0   
37251)    855425.3      0585  8  80 11 14 05 01 00 04 05 === Abort Response for previous request 
37252)    855426.5      0585  8  80 11 14 05 01 00 04 05 === 2nd Abort Response for previous request

The error code 05040001 'Command specifier not valid', is not one that is generated by any of my code,
so must come from the LPC CAN Rom API.
And also, as can be seen, it is sent twice.

Does anybody have any idea what could cause the LPC CAN Rom API to generate this kind of response?

Outcomes