Dear All:
We are working on two DM386 connected with HPI interface.
The write operation from host CPU to slave CPU seems to be OK,
but the read operation can not work well.
The host CPU is configured to use EMIF to connect to the slave CPU.
The slave CPU is using HPI interface to communicate with host CPU.
Two SN74AUCH16244 (Data buffer) are used to separate the data bus between host CPU and slave CPU.
One 16 bit data buffer (SN74AUCH16244) is used to buffer the read data signal and the control signal
is using (nCS OR nOE) which is equal to NOT (CS AND OE).
Another 16 but data buffer (SN74AUCH16244) is used to buffer the write data signal and the control signal
is using (nCS OR nWE).which is equal to NOT (CS AND WE).
The signal of the HPIC register write operation is shown in the attached image.
Channel 1 is CS1
Channel 2 is nWE
Channel 3 is Address bit A0
where we follow Table 4 in 2.6.5 of SPRUFI4A.pdf (Host Port Interface (HPI) User's Guide).
The host CPU has the A2CR = 7FFFFFD and EMIF clock is running at 170MHz.
Our problem is that we can NOT find CS1 for the HPIC register read operation when we read data from HPIC.
val = *((u32 *)HPIC_READ_ADDR);
where HPIC_READ_ADDR is memory address mapping to (0x04000000 | 0x01)
There must be something wrong.
Any suggestion or comment will be extremely helpful!
Best regards
Ray
PS:
The following is the signal description.
|
HPI HOST |
HPI Device |
|
EM_BA1(A0) |
HR/nW |
|
EM_A0(A1) |
HCNTLA |
|
EM_A1(A2) |
HCNTLB |
|
EM_A2(A3) |
HHWIL |
|
EM_WE |
nHDS2 |
|
EM_OE |
nHDS1 |
|
EM_CE1 |
nHCS |
|
EM_WAIT |
nHRDY |
