XPc target freezes on serial communication (RS 422 / Rs 232)

4 views (last 30 days)
I am experiencing random, but easily reproducible freezups of my XPc target when communicating using Quatech QSCLP-200/300 and QSC-100 PCI serial boards. Using Matlab 2009b. The XPc target becomes unresponsive (freezes screen and keyboard and stops communicating via TCP/IP and serial) at random times (somewhere between 1 and 3000 sec of simulation time).
I am running a very large aircraft simulation model (>100,000 Simulink blocks) that uses serial communication at 50 Hz in and out. The amount of data transferred is not that large at this point ( < 300 bytes ). When I run this model with serial communication blocks removed, it runs normally.
The symptomology is very subtle, and to make things worse, once I switch to using RS 232 baseboard com ports, I cannot reproduce the problem.
I tried to run the model on two different XPC boxes with similar configurations. I tried different cards, interrupt configurations, etc. Problem persists.
I am failing to reproduce the problem on a smaller model subset. I tried to extract just the com piece that does RS 422 uplink, downlink and data packaging, and the problem goes away.
I suspect some sort of PCI bus/hardware conflict that has to do with timing, but so far cannot seem to pinpoint it. I should probably also mention that I am using a PCI ethernet card and broadcasting some UDP packets out of XPC occasionally. Tried to remove it as well to eliminate the cause, but problem still persists.
Any idea how I could go about diagnosing/debugging the problem? I would love to isolate it to a smaller model subset that I can share with Mathworks tech support, but so far I cannot seem to do that. Something to do with model size.
Any thoughts are appreciated.
Nikita

Answers (2)

Sebastian
Sebastian on 7 Dec 2011
I would recommend that you get in touch with MathWorks Technical Support in order to troubleshoot the issue, even if you haven't isolated the issue to a smaller model yet. Here are some general ideas to start with:
  • See if disabling all USB support in the target machine's BIOS has some impact.
  • Try to switch off System Management Interrupts (SMI) in the BIOS or see this post on the FileExchange.
  • It seems you tried difference boards already, so I would doubt a hardware defect.

Nikita Visnevski
Nikita Visnevski on 8 Dec 2011
Migrating the model from Matlab 2009b to Matlab 2011b eliminated the problem. I ran a test overnight in 2011b and no freeze-ups happened for over 9 hours and much higher transmission rates than ever.
I would still like to understand better what was causing it and how to go about debugging problems like that in case I get another similar one.
Thanks
Nikita

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!