70 likes | 164 Views
SBS API vs HAL ver 01-10. SBS Radiation Test. Runs in infinite loop issuing PIO and DMA read/write commands to 8MB memory board At beginning of program the driver is configured using SBS API functions to:. Use 16-bit data transfers Set DMA threshold to 25 bytes Use Address Modifier 0x39
E N D
SBS Radiation Test • Runs in infinite loop issuing PIO and DMA read/write commands to 8MB memory board • At beginning of program the driver is configured using SBS API functions to: • Use 16-bit data transfers • Set DMA threshold to 25 bytes • Use Address Modifier 0x39 • Not to do byte swapping of words
8MB bt_write() Random 16-bits 0x???? Driver Reports Error Specific Error Reported to Screen & Log Every 200 Iterations Every Error Increments PIO Write Error Counter SBS Radiation Test • During one iteration: • PIO Access Step 1
8MB bt_read() 16-bits Read Back 0x???? Driver Reports Error Specific Error Reported to Screen & Log Every 200 Iterations Every Error Increments PIO Read Error Counter SBS Radiation Test • PIO Access Step 2
Compares Initial Random 16-bits Final 16-bits Read Back 0x???? 0x???? Data Corruption Error Reported to Screen & Log Every 200 Iterations Every Byte Error Increments PIO Data Corruption Counter SBS Radiation Test • PIO Access Step 3
Compares 8MB 8MB bt_write() bt_read() Final 100 Bytes Read Back 100 Bytes Read Back Initial Random 100 Bytes Initial Random 100 Bytes 0x???? . . 0x???? 0x???? . . 0x???? 0x???? . . 0x???? 0x???? . . 0x???? Driver Reports Error Data Corruption Driver Reports Error Specific Error Reported to Screen & Log Every 200 Iterations Specific Error Reported to Screen & Log Every 200 Iterations Error Reported to Screen & Log Every 200 Iterations Every Error Increments DMA Write Error Counter Every Byte Error Increments DMA Data Corruption Counter Every Error Increments DMA Read Error Counter SBS Radiation Test • DMA Access: SAME as PIO with 100 Bytes (over 25 Byte Threshold)
SBS Radiation Test • Every 200 Iterations, a summary is displayed on Screen & Log w/: • The amount of time the program has been running • The amount of time until the 1st PIO Error occurred • The amount of time until the 1st DMA Error occurred • A running sum of the number of PIO Write Errors • A running sum of the number of PIO Read Errors • A running sum of the number of PIO Data Corruption Errors • A running sum of the number of DMA Write Errors • A running sum of the number of DMA Read Errors • A running sum of the number of DMA Data Corruption Errors