Download presentation
Presentation is loading. Please wait.
Published byEthelbert Hensley Modified over 9 years ago
1
VME Access Test Program int main(int argc, long Data1, long Data, long Data2, long Data3, long a, long dw, long dv, long b, long c, long Da32, long Da1, long Da2, long Da3, long Da4, long Da5, long Da6, long Da7, long Da8, long Da9, long Da10, long Da11, long Da12, long Da13, long Da14, long Da15, long Da16, long Da17, long Da18, long Da19, long Da20, long Da21, long Da22, long Da23, long Da24, long Da25, long Da26, long Da27, long Da28, long Da29, long Da30, long Da31, char* argv[]) { Data=0; Data1=0; Data2=0; Data3=0; CVME * vme = new CVME; vme->Initialize(0, BT_DEV_A24); // In my teststand, the PCI card unit is 0. CCamac camac; camac.Init(vme); const int lut_add(0x700400); // MS MU1 Rank/Phi LUT address const int gen_add(0x700158); // MS CSR0 (general purpose R/W) const int itr_max(2000); // Maximum number of iterations int data_in(0); // input data for(int itr(0); itr<itr_max; ++itr) { // Write/Read test on the MS LUT for(int i = lut_add; i<lut_add+256; i+=2) { data_in = i-lut_add+1; vme->Write((bt_devaddr_t)i, (WORD)data_in); vme->Read( (bt_devaddr_t)i, (WORD*)&Data ); if( data_in != (int)Data ) { cout << "Fount error at itr = " << dec << itr << " " << "in:out = 0x" << hex << data_in << " : 0x" << Data << endl; } // Write/Read test on MS CSR0 data_in = itr+1; vme->Write((bt_devaddr_t)gen_add, (WORD)data_in); vme->Read( (bt_devaddr_t)gen_add, (WORD*)&Data ); if( data_in != (int)Data ) { cout << "Fount error in gen_add at itr = " << dec << itr << " " << "in:out = 0x" << hex << data_in << " : 0x" << Data << endl; } return 0; }
2
Output Logfile Fount error in gen_add at itr = 13 in:out = 0xe : 0xff Fount error in gen_add at itr = 28 in:out = 0x1d : 0xff Fount error in gen_add at itr = 29 in:out = 0x1e : 0xff Fount error in gen_add at itr = 72 in:out = 0x49 : 0xff Fount error in gen_add at itr = 73 in:out = 0x4a : 0xff Fount error in gen_add at itr = 78 in:out = 0x4f : 0xff Fount error in gen_add at itr = 80 in:out = 0x51 : 0xff Fount error in gen_add at itr = 82 in:out = 0x53 : 0xff Fount error in gen_add at itr = 87 in:out = 0x58 : 0xff Fount error in gen_add at itr = 88 in:out = 0x59 : 0xff Fount error in gen_add at itr = 90 in:out = 0x5b : 0xff Fount error in gen_add at itr = 101 in:out = 0x66 : 0xff Fount error in gen_add at itr = 111 in:out = 0x70 : 0xff Fount error in gen_add at itr = 112 in:out = 0x71 : 0xff Fount error in gen_add at itr = 129 in:out = 0x82 : 0xff Fount error in gen_add at itr = 135 in:out = 0x88 : 0xff Fount error in gen_add at itr = 167 in:out = 0xa8 : 0xff Fount error in gen_add at itr = 190 in:out = 0xbf : 0xff.
3
Done Swap the SBS VME controllers Swap the SBS PCI cards Run test programs which used to work ☺Test each board using Mike’s test-stand set up
4
Potential Location of Problem Hardware –SBS VME controller –SBS PCI card –TF backplane Software –Test program (unlikely) –SBS driver –System files
5
To Do SBS PCI card/ VME controller - Check using Mike’s PC and peripheral crate TF backplane - Check using Mike’s PCI card and VME controller Software - Scan viruses and check system files and driver
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.