Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Problem in accessing PEB20532(HDLC)

Status
Not open for further replies.

mani_cornet

Newbie level 1
Joined
Oct 30, 2008
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,318
We are facing a complicated problem in accessing PEB20532.




Problem:

We have a problem in accessing HDLC(PEB20532) register. we are able to read the registers perfectly but not able to write perfectly on the offset value of the registers.

Hardware:

We are using your PEB20532 HDLC/SDLC controller in our PMC card. It is connected to (PCI to local bus) controller PCI9054 made by PLX. PEB20532 is connected to PCI9054 in Motorola mode. PCI9054 is programmed to access 20532 in 16-bit mode. For every 32-bit access from the processor, PCI9054 will access 20532 with two 16-bit reads.

Here is the hardware configuration for 20532 ----- UDS# and LDS# are always low to indicate 16-bit access
WIDTH# is high for 16-bit access 20352 A0 is unconnected CS# is always low as is2052 the single device connected to PCI9054,

Tried solution:

1. During debug we connected CS# to PCI9054 bus busy (BB#) signal.With all the above setup, we can able to read from 20532 properly.

At this point we were not able to write the registers properly.
If we write on offset 0x0 it writes on 0x04..

DEMO :

DEFAULT register value of 20532:

CORNET=> md 80100000
80100000: 0b000000 ff070302 ff070000 00007700 ..............w.
80100010: 48021004 00000000 00000000 00000000 H...............
80100020: 00000000 7e7e7e7e 00000000 00000000 ....~~~~........
80100030: 00000000 00000000 00000000 00000000 ................
80100040: 00000000 00000000 00000000 00000000 ................
80100050: 00000000 ffff0003 00000000 00000000 ................
80100060: 54c41004 00000000 00000000 00000000 T...............
80100070: 00000000 7e7e7e7e 00000000 00000000 ....~~~~........
80100080: 00000000 00000000 00000000 00000000 ................
80100090: 00000000 00000000 00000000 00000000 ................
801000a0: 00000000 ffff0003 00000000 00000000 ................
801000b0: 00000000 00000000 00000000 00000000 ................
801000c0: 00000000 00000000 00000000 00000000 ................
801000d0: 00000000 00000000 00000000 00000000 ................
801000e0: 00000000 00000000 00000000 e0833005 ..............0.
801000f0: 00000000 00000000 00000000 00000000 ................
CORNET=>

/********************************************************************/
NOTE: we tried to access offset 0x30 but it wrote on offset 0x34.
both the offsets are R\W access.
the offsets are marked bold............
/*********************************************************************/

CORNET=> nm.w 80100030
80100030: 0000 ? 1234
80100030: 0000 ? ffff
80100030: 0000 ? n
CORNET=> md 80100000
80100000: 0b000000 ff070302 ff070000 00007700 ..............w.
80100010: 48021004 00000000 00000000 00000000 H...............
80100020: 00000000 7e7e7e7e 00000000 00000000 ....~~~~........
80100030: 00000000 ffff0000 00000000 00000000 ................
80100040: 00000000 00000000 00000000 00000000 ................
80100050: 00000000 ffff0003 00000000 00000000 ................
80100060: 54c41004 00000000 00000000 00000000 T...............
80100070: 00000000 7e7e7e7e 00000000 00000000 ....~~~~........
80100080: 00000000 00000000 00000000 00000000 ................
80100090: 00000000 00000000 00000000 00000000 ................
801000a0: 00000000 ffff0003 00000000 00000000 ................
801000b0: 00000000 00000000 00000000 00000000 ................
801000c0: 00000000 00000000 00000000 00000000 ................
801000d0: 00000000 00000000 00000000 00000000 ................
801000e0: 00000000 00000000 00000000 e0833005 ..............0.
801000f0: 00000000 00000000 00000000 00000000 ................
CORNET=>

/********************************************************************/
NOTE: we tried to access offset 0x34 but it wrote on offset 0x38.
both the offsets are R\W access.
the offsets are marked bold............
/*********************************************************************/

CORNET=> nm.w 80100034
80100034: ffff ? 1234
80100034: ffff ? n
CORNET=> md 80100000
80100000: 0b000000 ff070302 ff070000 00007700 ..............w.
80100010: 48021004 00000000 00000000 00000000 H...............
80100020: 00000000 7e7e7e7e 00000000 00000000 ....~~~~........
80100030: 00000000 ffff0000 02340000 00000000 .........4......
80100040: 00000000 00000000 00000000 00000000 ................
80100050: 00000000 ffff0003 00000000 00000000 ................
80100060: 54c41004 00000000 00000000 00000000 T...............
80100070: 00000000 7e7e7e7e 00000000 00000000 ....~~~~........
80100080: 00000000 00000000 00000000 00000000 ................
80100090: 00000000 00000000 00000000 00000000 ................
801000a0: 00000000 ffff0003 00000000 00000000 ................
801000b0: 00000000 00000000 00000000 00000000 ................
801000c0: 00000000 00000000 00000000 00000000 ................
801000d0: 00000000 00000000 00000000 00000000 ................
801000e0: 00000000 00000000 00000000 e0833005 ..............0.
801000f0: 00000000 00000000 00000000 00000000 ................
CORNET=>

2. After that we tried 8 bit access by connecting NOT(gate) of A0(9054) to LDS# and UDS# is connected directly to A0(9054).
We did this logicAs per Microprocessor interface given in data sheet of PEB20532
For this setup we were able to write the odd addresses in 8 bit and not able to write on even addresses.





While writing into 20532 registers we have the following problems.
Upper address bits a4-a7 remains unchanged and we have problem with lower address bits a0-a3
here is the hexadecimal representation of the a0-a3 values
when wrote into address 0x0 or 0x2 it is written in 0x6
when wrote into address 0x4 or 0x6 it is written in 0xa
when wrote into address 0x8 or 0xa it is written in 0xc
when wrote into address 0xc or 0xe it is written in 0x0

Reading is perfect and there are no issues with reading.

We have attached the schematics with this mail.

Please provide your feedback on the same.

We are awaiting for your reply.


Thanks and Regards


--
Manikandan
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top