Khalil_yaz
-
Posts
2 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Downloads
Posts posted by Khalil_yaz
-
-
I have a setup with two Power PMACs. Both PMACs have an acc5e3. I want to configure the PMACs so that we have one master that communicates via the acc5e3 to the other acc5e3 on the second slave PMAC to control the various other cards on the slave PMAC.
I have an ACC59E3 card on the slave and I want to read the inputs from this card and process them on the Master PMAC.
What is the best way of achieving this?
I have tried using the I/O nodes but I can't seem to get the right data sent even with the right bit shift and masking.
Reading analog input through MACRO Ring
in Power PMAC
Posted
Here are the settings I'm using
on the Master PMAC:
Gate3[10].PhaseFreq=8000 Gate3[11].PhaseFreq=8000 Gate3[10].ServoClockDiv=3 Gate3[10].MacroEnableA=$0fffff00; //Activate 8x servo nodes, 6x IO nodes & 2x aux nodes Gate3[10].MacroEnableB=$1f000100; Gate3[11].MacroEnableA=$1f000000; Gate3[11].MacroEnableB=$1f000000; Gate3[10].MacroModeA=$403000; //Set Macro as master Gate3[10].MacroModeB=$1000; Gate3[11].MacroModeA=$0; Gate3[11].MacroModeB=$0; Macro.TestPeriod=10/Sys.ServoPeriod; //Macro Ring check period [servo cycles] Macro.TestMaxErrors=Macro.TestPeriod/10; //Macro maximum ring error count Macro.TestReqdSynchs=Macro.TestPeriod - Macro.TestMaxErrors; //Macro minimum sync packet count
On the second (slave) PMAC
Gate3[10].PhaseFreq=8000 Gate3[10].ServoClockDiv=3 Sys.PhaseOverServoPeriod=0.25 Sys.ServoPeriod=0.5 //Gate3[10].MacroEnableA=$0fffff00; //Activate 8x servo nodes, 6x IO nodes & 2x aux nodes //Gate3[10].MacroEnableB=$1f000100; //Gate3[11].MacroEnableA=$1f000000; //Gate3[11].MacroEnableB=$1f000000; //Gate3[10].MacroModeA=$408000; //Set Macro as slave //Gate3[10].MacroModeB=$1000; //Gate3[11].MacroModeA=$0; //Gate3[11].MacroModeB=$0; Acc5E3[10].MacroEnableA=$fbfff00 Acc5E3[10].MacroModeA=$40c000 Acc5E3[10].MacroEnableB=$1f800100 Acc5E3[10].MacroModeB=$4000 Acc5E3[11].MacroEnableA=$1f000000 Acc5E3[11].MacroModeA=$4000 Acc5E3[11].MacroEnableB=$1f000000 Acc5E3[11].MacroModeB=$4000 Macro.TestPeriod=10/Sys.ServoPeriod; // MACRO Ring Check Period [servo cycles] Macro.TestMaxErrors=Macro.TestPeriod/10; // MACRO Maximum Ring Error Count (Related to I81 in Turbo) Macro.TestReqdSynchs=Macro.TestPeriod - Macro.TestMaxErrors; // MACRO Minimum Sync Packet Count // (Related to I82 in Turbo)
I managed to send and receive single bits of data between the two PMACs using this method
ptr Test->Gate3[10].MacroOutA[6][0].8.1 //on the Slave ptr Test->Gate3[10].MacroInAA[6][0].8.1 //On the Master
This works fine but when I try to send 16bit data using the same method
ptr test_data->Gate3[10].MacroOut[6][0].8.16
I'm getting random data.
Am I missing some settings or using the Macro ring wrong?