From: Eric on 15 Feb 2010 09:03 The CAN board of my hardware platform (xPC Target Kernel) shares the same interrupt (IRQ7) with the ethernet controller. Running the Simulink model, which transmits only one CAN message, causes a communication hang-up. The ISR cannot handle the interrupt anymore and I've to restart the xPC target. What happens here? Are the interrupts coming from the ethernet controller the cause of the problem? There should only one transmit interrupt and one receive interrupt detected, because of the fact I sent only one message. Details: Communication host PC --> xPC target: ethernet Matlab R2007b CAN board (CAN port 1 - send, CAN port 2 - receive)
From: Gordon Weast on 16 Feb 2010 09:57 Eric, R2007b should handle shared interrupts fine. Something unusual must be going on. Are you using a PCI CAN board or the PC104 board? The IRQ situation is a bit different between those two. Is your model using the CAN interrupt? I suggest you contact tech support where they will ask you to provide a sample model that shows the problem. I always ask for that since it might be a configuration that we didn't hit during our testing. Trying to discover that without a broken example can be difficult. Gordon Weast xPC Target Development The MathWorks Eric wrote: > The CAN board of my hardware platform (xPC Target Kernel) shares the > same interrupt (IRQ7) with the ethernet controller. Running the Simulink > model, which transmits only one CAN message, causes a communication > hang-up. The ISR cannot handle the interrupt anymore and I've to restart > the xPC target. > > What happens here? Are the interrupts coming from the ethernet > controller the cause of the problem? There should only one transmit > interrupt and one receive interrupt detected, because of the fact I sent > only one message. > > Details: > Communication host PC --> xPC target: ethernet > Matlab R2007b > CAN board (CAN port 1 - send, CAN port 2 - receive)
From: Eric on 17 Feb 2010 05:00 Hello Gordon, Thanks for your help! I'am using a PC104 CAN board which is not supported by Matlab. So I've to write my own driver to communicate with the board. Yes, my model is using CAN interrupts. When I send a CAN message I do not see that the Transmission Complete Status bit is set in the status register (Tranmission Request bit is set). So it doesn't send anything and the communications hangs. I will contact techn support asap. Regards Eric Gordon Weast <gweast(a)mathworks.com> wrote in message <hlebot$anf$1(a)fred.mathworks.com>... > Eric, > > R2007b should handle shared interrupts fine. Something > unusual must be going on. > > Are you using a PCI CAN board or the PC104 board? The > IRQ situation is a bit different between those two. Is > your model using the CAN interrupt? > > I suggest you contact tech support where they will ask > you to provide a sample model that shows the problem. > I always ask for that since it might be a configuration > that we didn't hit during our testing. Trying to discover > that without a broken example can be difficult. > > Gordon Weast > xPC Target Development > The MathWorks > > Eric wrote: > > The CAN board of my hardware platform (xPC Target Kernel) shares the > > same interrupt (IRQ7) with the ethernet controller. Running the Simulink > > model, which transmits only one CAN message, causes a communication > > hang-up. The ISR cannot handle the interrupt anymore and I've to restart > > the xPC target. > > > > What happens here? Are the interrupts coming from the ethernet > > controller the cause of the problem? There should only one transmit > > interrupt and one receive interrupt detected, because of the fact I sent > > only one message. > > > > Details: > > Communication host PC --> xPC target: ethernet > > Matlab R2007b > > CAN board (CAN port 1 - send, CAN port 2 - receive)
|
Pages: 1 Prev: Rotate line plot Next: Error with integer pointer in mex file |