Dear Support Team,
i have purchased a Eval Board with the NXP chip SJA1105 (OM14510-SJA1105TJP). I have different documentations about the chip. sja1005.pdf, ah1601.pdf, ah1508.pdf and um10851.pdf.
I installed the software and run different bash scripts like id.bat. It worked fine. After that i tried to create a configuration. I chose a example configuration and create it with the bash script, after that i exported the hex file to a c file, where i can see the spi messages which i should have to send.
My first question is, is there a manual where i can understand how to interpret these c file?
Yes in the documentation above there is the syntax of the messages and some of the data are reasonable but others not. For Example the generic loader format is like:
- spi write command (32 Bit)
- device id (32 Bit)
- Block id
- blocklength
- CRC
- DATA
....
- n DATA
- CRC
- ....
So i tried to interpret these file and i dont understand what happens after the first data. So the first DATA conforms to the register value´s which i find in the related .py file. But what comes after that because the next 32 Bit are not related to the next register. The value for the next register are more than 64 Bytes away. What are doing these bits between?
After that i tried to load the hex config file via the Flash Magic tool to the SJA1105 Chip. Before i do that i read the File AH1508.pdf (Chapter 6), to know how to handle the tool. I did everything what i read under Chapter 6. The tool said transfer was finished. After that i tried to read via the bash scripts the Register, to check if the configuration was successful downloaded, but no one of these scripts works, i get every time a syntax error. The error occurs because the script don´t read a correct value of the sja1105 chip. I unplugged the Voltage and restart it but i cant read anything with the bash scripts. Can you explain me why it doesn´t work anymore?
After these 2 problems i connected the SPI (MISO, MOSI, CS, CLK) from X1100 connector to one of our boards. I wrote a small c program, which reads the device id. I can execute the program from the linux system. It worked fine i read the correct device id. After that i tried to read the register 0x1 to check the configuration flags. It worked fine, but everytime i read this register the Counter (NSLOT) show me different value´s, is it normal?
The value of the "CONFIGS" symbol is set to zero = configuration invalid. After that i copied the configuration values from the converted hex file to write it via SPI. After that i read the register again and see the bits changed, but it doesnt work because the bits say i get CRC check failure in the local CRC. I am not sure why i get these error because i copied SPI message from a configuration example and dont change anything in this file. Thats why i asked above about information how to interpret these file to find the failure.
Do you know what i´m doing wrong?
Best regards
Patrick Jakob
Hello Patrick,
I received answer from my colleague:
It’s complete wrong! There is no need to flash the switch hex file via FlashMagic!!!
The AppBoard includes its own firmware.
The generated switch config file is simply downloaded via batch-call over USB.
Attached is a complete profile called Base which can be used to start.
Requires installed SJA1105 AppBoard and unzip this to folder of your choice.
Regards,
Martin
Hello Martin,
I'm new to the SJA1105 Application Board and have some questions to setup regarding your base switch configuration:
I'm executing all .bat files, but the switch gives no response to any of my pings. I can only ping the switch, when I'm setting the rotary switch to position 1.
Loading the configuration file (i think the .bat files are doing this, right?! ) on the switch is not resulting in any switch functions. Even in basic rotary switch 1 position i can't ping another device that is connected to the switch. There is no way to get data forwarded to another connected device.
My setup: Windows-pc on SJA1105 port 0, ubuntu notebook on port 3. both connected via Technica Engineering Media Converter.
Best regards
Max
Hi,
I started using the SJA1105 Application board and found the rotary switch and the switch configuration quite confusing. At position 1, 2 and 3, the switch configuration loads OK, indicated by the green General Purpose LED 1. At position 0, there is no LED lighted. At all other positions, the switch configuration doesn't load, indicated by the orange General Purpose LED 2. Every time I change a switch position, I pressed both SW1 and SW2 to reset the switch and phys.
Are all positions available for switch configuration or are they only for positions 1,2,3?
Also, is it possible to overwrite the switch configuration while the switch is at those positions?
To test this, I connected 2 PCs and ping each other, set to switch to position 1 and program a sample switch configuration .hex file by renaming it to \example_configs\test_config.hex and running \example_com\test.bat. In the switch configuration, I set ingress and egress setting of the MAC configuration table block to 0 (supposed to off the ports?). After the script completes, I reset both the switch and phys by pressing on SW1 and SW2. But I don't see any effect, the ping is still successful.
Am I doing something wrong? Please advise..
Thanks and best regards,
Chin Siong
Where I can find description of the switch hex file?
Hello Patrick,
I contacted my colleague and now I am waiting for response. I will write you back as soon as I get any feedback.
Regards,
Martin
Now i get a little bit more documentation about the chip and i understand how to interpret the c-file. So my first two questions are solved but every time i download the configuration, i get the local crc error. I calculated all local crc´s and all of them are correct, so i dont know why i get these error. It seems like the data which i send will be corrupted but i dont know why. Any hint?
Best regards,
Patrick Jakob