This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS0914: spi and eeprom

Part Number: TMS570LS0914
Other Parts Discussed in Thread: HALCOGEN

Hi team,

My customer recently used spi to read and write data to eeprom, mcu is tms570ls0914, eeprom is m95160

There are many questions he wants to know.

1 What is the difference between reading and writing to the status register  and reading the Memory Array ?

2 When reading and writing to the memory array, the data format is 8-bit read/write command + 16-bit address + 8-bit data. How to determine the 16-bit address bit?

3 In the user's guide, the write enable command should be added before each write.
Does this write enable command must be added before the write command or we need to write a separate command? 

Please help.

  • Hello Susan,

    I am studying the EEPROM datasheet, and will give feedback soon.

  • Hello Susan,

    1. The SPI Charlen should be configured as 8-bit. It is 16-bit by default. If the SPI driver is generated through the HALCOGen, please modify the driver for 8-bit TX and RX.

    2. Please enable the SPI CSHOLD. The EEPROM (m95x) requires the chip select signal to be held continuously active during several consecutive data word transfers (instruction, status, etc).

    3. Please use the same clock polarity for both EEPROM and MCU. The EEPROM only support two mode: CPOL=0, CPHA=0; or CPOL=1, SPHA=1

    4. The different between reading status and write status: The instruction (1st byte transfer) for read status is 0000_0101b, but the instruction for writing status register is 0000_0001b. the instruction for reading/writing  memory are 0000_0011b, and 0000_0010b.

    5. When reading memory array, you need send the address[15:8] first, then address[7:0]. but keep the CS LOW (CSHOLD is set to 1)

    6. The EEPROM requires that the Write Enable Latch (WEL) bit must be set prior to each WRITE and WRSR instruction. The only way to do this is to send a Write Enable instruction to the device.

    --Write ENable --> Instruction --> Address --> Data