pennells Posted January 27, 2012 Share Posted January 27, 2012 We're having problems accessing data from the upper channels (9-16) of our ACC36E. Our board is at $B00000 so we've set up the following: AdcDemux.Address[0] = $B00000; AdcDemux.ConvertCode[0] = 0; AdcDemux.ConvertCode[1] = $400; AdcDemux.Enable = 2 AdcDemux.ResultLow[0] does contain result {Analog In #1} AdcDemux.ResultLow[1] does contain result {Analog In #5} AdcDemux.ResultHigh[0] should contain result but doesn't {Analog In #9} AdcDemux.ResultHigh[1] should contain result but doesn't {Analog In #13} We're reading a unipolar device between pins 1 & 9 using the voltage out between pins 7 & 6. Since all four connectors are the same, we moved the device around to each spot to test the values. The values for 1 and 4 are just as expected but we do not seem to get anything from 9 and 13. After setting Acc36E[1].ConvertCode=0, I also looked at Acc36E[1].ADCuLow (for #1) when the data showed ready and it was correct but Acc36E[1].ADCuHigh (for #9) again showed nothing. Did I miss a step or something? What would make the Low registers work and not the High ones? Link to comment Share on other sites More sharing options...
Richard Naddaf Posted January 30, 2012 Share Posted January 30, 2012 Per the manual documentation: - Try setting up the AdcDemux.Address[] for all the pairs you intend to use. (i.e. AdcDemux.Address[1]=$B00000) - Why is AdcDemux.ConvertCode[1] = $400? shouldn't it be =$100? If you would copy the first example settings from the manual, and only change the base address, then you should be fine: AdcDemux.Address[0] = $B00000; // ADC Pair #1 (ADC#1 & #09) AdcDemux.Address[1] = $B00000; // ADC Pair #2 (ADC#2 & #10) AdcDemux.Address[2] = $B00000; // ADC Pair #3 (ADC#3 & #11) AdcDemux.Address[3] = $B00000; // ADC Pair #4 (ADC#4 & #12) AdcDemux.Address[4] = $B00000; // ADC Pair #5 (ADC#5 & #13) AdcDemux.Address[5] = $B00000; // ADC Pair #6 (ADC#6 & #14) AdcDemux.Address[6] = $B00000; // ADC Pair #7 (ADC#7 & #15) AdcDemux.Address[7] = $B00000; // ADC Pair #8 (ADC#8 & #16) AdcDemux.ConvertCode[0]=$000; // ADC Pair #1 Unipolar AdcDemux.ConvertCode[1]=$100; // ADC Pair #2 Unipolar AdcDemux.ConvertCode[2]=$200; // ADC Pair #3 Unipolar AdcDemux.ConvertCode[3]=$300; // ADC Pair #4 Unipolar AdcDemux.ConvertCode[4]=$400; // ADC Pair #5 Unipolar AdcDemux.ConvertCode[5]=$500; // ADC Pair #6 Unipolar AdcDemux.ConvertCode[6]=$600; // ADC Pair #7 Unipolar AdcDemux.ConvertCode[7]=$700; // ADC Pair #8 Unipolar AdcDemux.Enable = 8; // Demux 8 ADC pairs Link to comment Share on other sites More sharing options...
pennells Posted January 30, 2012 Author Share Posted January 30, 2012 No, we were only testing #1, #5, #9, and #13 so we set the second convert code to $400 (for #5 and #13). #5 works correctly but we do not get #9 or #13 on the high element. We already have the base addresses set to $B00000. Even if the second convert code were wrong, the first one should have given us #9. (Forgot to mention, I already set AdcDemux.Address[1] = $B00000 as well.) When I get a chance (tomorrow), I will try setting them all as suggested but I can't see how that would make a difference. Link to comment Share on other sites More sharing options...
pennells Posted January 31, 2012 Author Share Posted January 31, 2012 So I did as you suggested and got the exact same results. The lower pair values are in the AdcDemux.ResultLow[0] and AdcDemux.ResultLow[4] registers but the high pair values are not in AdcDemux.ResultHigh[0] or AdcDemux.ResultHigh[4], they just read 0. The connections are exactly the same so the values should be within a couple of bits of each other. Link to comment Share on other sites More sharing options...
Sina.Sattari Posted January 31, 2012 Share Posted January 31, 2012 pennells, Can you please list all the boards you have in the rack and double check their address settings to be sure we don't have duplicated addresses. Regards, Link to comment Share on other sites More sharing options...
pennells Posted January 31, 2012 Author Share Posted January 31, 2012 Is there any way to find out the address of the boards without taking them out. We have 1 Acc24E3 (reported as ACC24E3[0]) in slots 1 and 2, two Acc24E2As (reported as ACC24E2A[6] and ACC24E2A[7]) in slots 3-6, and the one ACC-36E (reported as ACC36E[1] which I do know is at $B00000) in slot 8. (Assuming the Power PMAC is in slot 0). Link to comment Share on other sites More sharing options...
Sina.Sattari Posted January 31, 2012 Share Posted January 31, 2012 pennells, The accessories that you have are setup correctly since you can detect all of them on Power PMAC. Also, since you have no other IO card other than the ACC-36E, this means the ACC-36E can not be conflicting with any other board (the rest of your boards are not using expansion IO space addresses). Can you send us the Serial Number of the ACC-36E? We have to make sure that it is compatible with your Power PMAC. Link to comment Share on other sites More sharing options...
pennells Posted February 1, 2012 Author Share Posted February 1, 2012 The only thing that looks close to a serial number is the number on a bar-coded sticker which reads C00097DA. Link to comment Share on other sites More sharing options...
Sina.Sattari Posted February 1, 2012 Share Posted February 1, 2012 pennells, The bar-code is what we use as serial number. I have checked and there is an ECO required on your ACC-36E which may explain what you're seeing on Power PMAC. Do you have a Turbo UMAC so you can check the functionality of this ACC-36E? The ECO is specifically affecting the communication between the accessory and Power PMAC CPU. We can implement the ECO is you RMA the unit through your distributor or our tech support group. Link to comment Share on other sites More sharing options...
pennells Posted May 14, 2012 Author Share Posted May 14, 2012 Once I get the board back, how do I know that the ECO was implemented. The returned board (same serial number {C000097DA}) does the exact same thing as it did before I sent it away for the ECO implementation. The lower channels (0-7) work but the higher channels (8-13) do not--all AdcDemux.ResultHigh read 0. Even the ADCuHigh never changes (the ADCuLow does cycle through correctly). We appear to have found the problem. We are using the +12V/AGND to power a thermistor circuit and the +12V pins (#7) read correctly on the lower channels (actually read 15V) but are floating on the upper channels. The manual shows that the connectors are the same but they do not appear to be. Is this a known issue? Link to comment Share on other sites More sharing options...
Sina.Sattari Posted May 14, 2012 Share Posted May 14, 2012 Hi pennells, Thanks for pointing this one out. J1 Bottom and J2 Bottom connectors on ACC-36E are not connected to AGND, -12V or +12V. This is a mistake in the manual for D-Sub connector version of ACC-36E, but it is correct on terminal block version. I've initiated a corrective action on it. Link to comment Share on other sites More sharing options...
Recommended Posts