SEQ+SSC + 512 EEProm problem writing sequences

hello.
finaly have SEQ sofware (thanks to Beth and James :wink: )
but :frowning:
have created one sequence for test, exported project for SSC32+eeprom,
in GP Seq part of SEQ i see eeprom chip found and all seems to be ok.
eeprom is erasing fine with FF and 00. reading after that also without any trouble.
but when trying to load my EEP file have an error message like on screen

s60.radikal.ru/i167/1103/ad/15108ed1c680t.jpg

no matters how to upload data (mean via hex or regular ā€œnice lookingā€ uploader) result is same.
what is interesting:address of the error is $00120 and sequence start address is $00100 so some bytes goes to EEPom and actually later i can read it (with error reading at same $00120)
EEProm chip is AT24C512 from Atmel

attaching EEP file too

any ideas?
moj hex.rar (5.23 KB)

I wonder, is the SSC compatible with the 512 EEProm? My 10 second look at the specs looks like it has a different page size than the 256 EEPromā€¦
Of course I may be completely barking up the wrong treeā€¦

iirc the SSC-32 does not access all of the 512, just half of it.

well at the project export point it says SSC32 +EEPROM 256/512 so iā€™m assuming it supports.
organization of memory is same N words X 8 bytes. page size for 24LC256 is 64. for at24c512 didnā€™t found in datasheet but yes seems to be 128 bytes per page. but can it be the reason? :unamused:

PS hex editor of SEQ uses pagewrite too? :unamused:

PPS James: does it mean 24LC256 in socket should solve the problem?

any ideas? :unamused:

From the SSC-32 GP manualā€¦

The EEW and EER commands are used to write and read external EEPROM data. In order for these commands to be used, an EEPROM chip must be installed in the 8-pin socket on the SSC-32. The chip used for testing is a Microchip 24LC256-I/P which has 32768 bytes of storage. Other I2C serial EEPROMs with comparable pinout should work, but have not been tested.

I also have a request to Mike to see if he can clarify it more. Little more time. :wink:

I know we have used the 24LC512-I/P in the SSC-32 before.

oki doki, i have some other plans for near future so can wait a bit.
Thanks James.

The SSC-32 should work with 64K EEPROMs. The page size of 128 bytes should not be an issue. I did see one thing in the AT24C512 datasheet that might cause a problem. In the AC Characteristics table, the write time is given as ā€œ10 or 5ā€ milliseconds max. There is a footnote that says that the 5 ms number only applies to the ā€œAā€ parts, otherwise the 10ms number applies. (This is true of the Atmel AT24C256 as well.) The Microchip EEPROMs (25LC256 and 24LC512) have a 5ms write time for all parts. The SSC-32 times writes using the 5ms figure, so if the write time takes longer than 5ms then the next page might fail to write correctly.

Mike (SSC-32 developer)

hmm that makes a bit sense.
Mike could you please explain possible reason why it always crashes at address 120? iā€™ve tried couple of times.
other thing: if i put 24LC512 from microchip not atmel will SSC be able to use full size of it?

From Jimā€™s earlier response

So if it were me, I would probably try to pick up one of the Microchip 256ā€¦

Kurt

Kurt: yeap, but it doesnā€™t mean that 512 will not work.

anyway iā€™ll try to get 24LC256 and se what happen

My guess would be that the write of 32 bytes at address 100 took longer than 5ms, causing the subsequent write to address 120 to fail. If this theory is correct, then you should be able to issue a successful write to address 120 using the raw EEW command.

I donā€™t think there is anything in the SSC-32 that would prevent it from using the addresses beyond 32K, but I didnā€™t test that range. Also, I am not sure if there is a limitation on the PC side in Visual Sequencer.

If you install the Microchip 24LC512, you can test the >32K range by doing an EEW at 0x7FE0 and 0xFFE0 (write different data to each), then do an EER to confirm that the correct data is read from each. IIRC, in the 24LC256, the addresses wrap around, so writing to 0xFFE0 will change the value at 0x7FE0.

Mike

have installed 24LC256 I/P from microchip no change. erasing ok, but error writing at address 120. :cry:
firmware 2.04GP

tried to write in different address. same 20 bytes written and error.
other interesting thing - later i cant read eeprom. it drops an error read at address 120 until i completely erase

any other ideas guys? may be 4,7kOhm pullup on SCL SDA line a bit too much or too less?

PS itā€™s something wrong in address 120 in EEP file. i changed only that line to all 00 and write was done correctly
but EEP file was generated from SEQ :confused: what the case ?

PPS found which one cause problem.
in original EEP have following

00120;E8;11;03;E8;12;03;E8;14;03;E8;15;03;E8;16;03;E8
if change to
00120;E8;00;03;E8;12;03;E8;14;03;E8;15;03;E8;16;03;E8
write is ok. whatā€™s that???

may be screen help
s50.radikal.ru/i128/1103/05/7755dcd7a4a6t.jpg

Ok so itā€™s not the SSC-32. We will need you to post the file exactly as it is generated from SEQ. Then we will have Laurent take a look at it.

ok. it is in rar in first topic

Hello TheZacharius,

I have tested your file ā€œmoj hex.EEPā€ on a 24LC512 using firmware ā€œSSC32-V2.04GPā€
all is working fine here.
Sequencer is fully tested with 24LC512 and 24LC256, so itā€™s not the problem.

Seq writes 32 bytes blocks using ā€œEEWā€ command then it performs an ā€œEERā€ command and grab the 32 bytes from the Com port
to see if the block written is matching with the same block read (anyway EER is required after an EEW to make sure EEW is complete and will accept another EEW command)

I think itā€™s a communication problem, see the timeout form to increase timeout values (read ones)

dealing with an EEPROM needs a good communication system, the best is a serial cable,
then an USB to serial (i know USB is serial too anyway, when i say ā€œserialā€ i mean ā€œRS232 DB9 serialā€)

and the worst is Wifi plug

i bet you are using an USB to Serial cable, try to increase the timeout values (main form->timeouts button in the ā€œComā€ box)
try :
Read interval : 40
Read Total Constant : 20
Read Total Multiplier : 20
or more
it should fix the problem

hello Laureatus
ok, but why if i change this byte to something different problem dissapears?
i can read and write complete sequence without any trouble.
timeouts changes doesnt make sense to me here but i will try. iā€™m using prolific usb to serial at 115200 bps and as far didnt found any issue with it.

When you change only one byte then press ā€œWriteā€ it writes only the 32 bytes block that contains this byte,
so itā€™s a 32 bytes write + a 32 bytes read to see if itā€™s matching, so itā€™s fast and use just a bit of COM port bandwidth.
but when you load an EEP file then click ā€œwriteā€ it writes all the memory,
with a 24LC512 it writes and reads 2048 X 32 bytes blocks, it looks like it hangs after 8 X 32 bytes blocks on your PC

In my opinion thereā€™s 90% chance to be a timeout issue, and 10% chance to be a COM port FIFO buffer issue
if itā€™s a fifo buffer issue, makes sure the device driver is correctly installed, then try to check thru hardware manager if COM port FIFO buffers are enable and large enough.

The error message is poping up if the EEPROM bytes are not matching the ones that should have been written
==> OR if it canā€™t read 32 bytes thru the COM port before the end of timeouts (if 31 bytes only are read it pops up the error message)
ā€¦and i bet the EEPROM is not damaged

FIFO buffer are high - 14 both. tried play with timeouts - no success
but
did very simple test - create a copy of original EEP then open it in notepad, changed this fail byte to 00 and save it. then erased EEProm and tried to load that copy and all fine. but original file do not want to go. :imp:

what else it could be? OS regional setting (have Russian everywhere but OS original is EN) ? ASCII different encoding or :confused: (in that case its seems to be a SEQ problem)

EEProm is like piece of paper i should be able to write whatever there.

BTW i didnt found another 11 byte in sequence in EEP file :unamused:
BBTW : all of that happen with 24LC256 from microchip

PS: tried to change regional setup to US. reexport files (no diffence in contains) and have same shiā€¦ my EEP dont wanna go to eeprom with byte 11 at address 121 but with other have no problem :imp: