11-01-2013 05:20 PM - edited 11-01-2013 05:25 PM
The 6014 is evidently very intolerant of bus latency for analog outputs. From the specifications:
It only has one DMA channel available for all resources. You should explicitly set the AI task to use interrupts and the AO task to use DMA.
Even with this though, having such a non-existent FIFO is risky business. Your XP computer would likely have a different PCI host controller than your Windows 7 one which could very easily explain the difference in behavior. The 6221 will be much more tolerant of bus latency as it has an 8k FIFO and dedicated DMA channel per subsystem (max AO rate on a single channel is 833 kHz according to the spec).
Best Regards,
11-04-2013 07:55 AM - edited 11-04-2013 08:21 AM
You are my savior. This is an area where my knowledge is a bit lacking, being able to look at hardware interface specs like this and sort out what the limitations, capabilities and requirements are.
I set the AO to DMA and it worked no problems. The AI would not accept Interupts as an option though. The error that popped up told me that I had to use Input Programmed I/O and after switching to that, I was able to run both tasks simultaneously with no errors.
I do read what you are saying about FIFO and will keep that nugget in the back of my mind. May be a reason to pad the hardware budget going forward. At least I feel good about blaming the computer.
A learning moment indeed.
Addendum: This approach works but I have to generate the AI task each time. Does not appear to work with the task that is preconfigured in MAX. Not a problem really just a bit odd.
Thanks.....