Das sieht dann für dich als Programmierer (fast) so aus, als wäre der
SJA1000 im Chip integriert. Du schreibst und liest RAM-Adressen.
Geschwindigkeitsvorteil wurde schon erwähnt, du musst eben nicht alles
durch die SPI quälen.
Welche Variante besser ist, kommt auf den Rest des Geräts an. Z.B. noch
andere traffic-intensive an der SPI? Andere zeitkritische Interrupts,
die dir einen guten Teil der Rechnerzeit abzwacken?
Ich habe bis jetzt noch nie nen parallelen CAN-Controller rangezwirbelt.
Entweder den MCP2515 oder, wenn Probleme absehbar waren, direkt einen MC
mit integriertem CAN. Die Auswahl ist inzwischen reichlich. Ob SJA + MC
mit Speicherinterface ne kostengünstige Lösung ist? Platz- und
routingmässig ist sie es nicht. Falls sowieso ext. RAM am Controller
nötig ist, macht es evtl. Sinn. Den SJA als einziges paralleles Bauteil
dürfte nie Sinn machen.