Base64-Encoded CRC16-Included Uploading

Last week, I was only able to verify that the CRC16 feature in the SD card is working. The data will only be written into the SD card when the CRC16 given is correct. If the CRC16 isn’t correct, the SD card will not contain the data in the respective sector and a CRC error will be returned from the SD card and the writing process cannot be continued. The CRC is hardcoded within the code to send the same Read more

System on Chip

Compared to my work the title might be a little too fancy but hopefully our switches will evolve from simple switches to a smart interconnect between the processor and all other system components. Do you remember the second version of the accelerator switch I talked about in my previous blog post? It turned out it’s not a good choice. The reason is that in my implementation I inferred a tri-state buffer inside the design. However, tri-states should only be connected Read more

How big is thy Bitstream?

It was an up and down week of sorts. It didn’t start off but as the week wore on and with some crucial help/advice from the supervisor and colleague, the desired task was achieved, although it is yet to see if it was the best solution to the problem at hand. One important aspect of problem solving that was picked up during the week was the fact that the objective must be clear to be able to solve any problems. Read more

Plans to Integrate the Base64 Decoder and Activating the CRC in the SD Card

The reason why the Base64 decoder is not working is because the buffer for storing the bit is a bit too short, I changed the buffer into a 32 bits variable so it can store all the 24 bits. After that I found that the if condition which will split the 24 bits into 3 8-bits bytes is not working, I then changed the condition from detecting the the 25th bit which indicates that 24 bits had been shifted into Read more

Web Interface

this week was quite an interesting one I got familiar with my work place. I made some new friends with whom I shared a meal or two together. As for my studies I read through the Webtool Kit tutorials and references , and I managed to code my first project using WT kit. My project is a simple form that takes the user data ,and prompt him/her to send a message to the customer service of our company. At first, Read more

I2C core and accelerators switch

The I2C core made a lot of progress this week. While I was hoping last week not to use a FSM in my slave I couldn’t resist the temptation. My slave have a FSM and is almost 95% ready. The hardest part is the acknowledge part. Not only that the slave need to send acknowledge when the master is writing to it but has to receive acknowledge when it’s writing to the master. Each acknowledge signal has it’s own meaning. Read more

Text Area Input and Base64 Decoder

My next task would be to work on making the HTTP to upload the data in data-form instead of file form. I had the text field input integrated with my current HTTP code so I tried to upload a 350KB file with it. It turns out that the upload is not working. My supervisor then told me to change the input from text field into text area. I then looked up the internet for information on the text area. I Read more

Deeper into the realm of SD cards

After scratching the surface into the world of SD cards and how they store data, almost all of the week was spent into trying to figure out as much as possible about the abilities of these storage devices. Admittedly, I was led astray by my own curiosity about the File system on the SD card and wasted a lot of time troubleshooting and studying up on something that is not relevant to what we are trying to do. Promptly I Read more

SD Card Inactive State

During the process of trying to write my own MDD stack, I found a comment in the code given by Microchip. It states: //Check if all attempts failed and we timed out. Normally, this won’t happen, //unless maybe the SD card was busy, because it was previously performing a //read or write operation, when it was interrupted by the microcontroller getting //reset or power cycled, without also resetting or power cycling the SD card. //In this case, the SD card Read more

I2C core

I2C is the last IO device going into our system, for now. I2C is more complicated than both UART and SPI. It’s complication is due to it’s ability to have many masters and slaves on the same bus. Moreover, having only one bidirectional line(SDA)  for data transfer adds to it’s design complexity. The latest specification for I2C from NXP should be your main source for learning about I2C. I2c online guides like this and this can be very helpful. While Read more