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

2 次查看(过去 30 天)
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

回答(2 个)

Sebastian
Sebastian 2011-12-7
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 2011-12-8
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

类别

Help CenterFile Exchange 中查找有关 Multicore Processor Targets 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by