Hi,
I'm using a TMS570 MCU to read and write registers of an external device. The problem is that a single 16 bit write generates 2-3 writes. Not only to the target address, but addresses surrounding this (A0 and BA1 toggles) which is causing problems. The 2-3 writes are indicated by EMIF_nWE going low multiple times during one CS cycle. During these writes, DQM0/1, BA1 and A0 toggles. It seems like DQM0/1 are set to both high at some cycles. Thus the result is correct but with unnecessary extra write cycles. Is this expected behavior even for writes to even 16-bit addresses and could it be modified to a single write?
The device is connected as Figure 17.8b in TMS570LS31x/21x TRM and the EMIF registers are set to:
emifREG->AWCC = 0x00000000U;
emifREG->PMCR = 0x00000000U;
emifREG->CE4CFG = (0U << 31U)|
(0U << 30U)|
(2U << 26U)|
(6U << 20U)|
(1U << 17U)|
(1U << 13U)|
(12U << 7U)|
(3U << 4U)|
(3U << 2U)|
(emif_16_bit_port);
Thanks and regards
Mikael Rothin