Week3: PIC18 Schematic (cont’d) and Using a Raspberry Pi for SPI Testing

Last time, we faced the challenge of designing the circuit and hardware interfaces of our Spartan-6/PIC18 board. This week, we return for more work on the schematics and shift focus to a different aspect of our project: writing the firmware for the PIC18. My colleague, Jia Xien, has been busy working on SD cards and establishing the TCP/IP stack on the PIC18, but I will be trying to configure the device as an SPI slave, so our projects are quite Read more…

Week 04 – Modifying the HTTP Source Code

It turns out that the TCP/IP MDD Demo given by Microchip is not that useful. It mainly redefined all the functions to open webpages stored in SD cards instead. They did not modify the part where the original used to upload a file.But a file named “FileSystem.c” is particularly useful because it shows that which MPFS-related functions should be replaced with which FSIO-related functions. As a conclusion, I did not use the TCP/IP MDD Demo and put my focus back Read more…

Week 01: Introduction->Tutorials (Git, Git Flow, C)

That’s RIGHT! I am the daring kid who asked for a medical leave on my first day of work! As an advice to all other interns or future-interns, never do what I have done! Despite of all the terrible things happening on my first day, I did carry on my internship and unbelievably, I have survived the first week. Basically, the first week was more about learning and understanding tools that will greatly assist me in implementing my tasks during Read more…

11- Initializing Block RAMs using DATA2MEM

I’m still working on how to initialize Block RAMs using DATA2MEM software. I have managed to produce a bit file with initialized RAMs. What’s left is to write a linker script to suit our addressing space, write a C file to blink the LEDs using GPIOs and finally get this working on the board. In this post I will give a step by step guide regarding using DATA2MEM starting from the initial system design to the production of a BIT Read more…

Week 1000

“Welcome to Galois Field F(2m) where elements are made up and carry doesn’t matter” If this sounds familiar you should probably turn off TV sometimes (or youtube).   Nothing much was happening this week, I mostly spent it struggling with understanding and at later stage designing the ECDSA module. Man, that was quite a lot of algebra… and fun. Because it’s not so popular topic (you know it when wikipedia starts to be insufficient) I had to dig through a Read more…

W04- (cont) Basic Pocessor Class

This week wasn’t very productive on the first few days as I can say. Has been working on source code that is to build a basic processor class in Java. Although the name of it is so called a BASIC processor class but unfortunately it isn’t 100% fall on the “basic” category for me. The fact that implementing the knowledge of microprocessor into source code format getting me confuse from time to time and I couldn’t clear out bugs that appeared. Read more…

Week 5: Wrong path taken

My task for this week is to determine the interface of the remoteproc framework. As shameful as I could be, I still couldn’t figure out the interface and what is needed to make the framework runs. After some discussions with my supervisor, I was told that my work method was all wrong. I’ve been reading too much the Linux source codes and obviously this is going to take forever because Linux is very complicated and it is impossible for a Read more…

10- SOC

My new task is to design the SOC for the current product that we are working on. However, before getting to the actual design there is few tasks that need to be done first. Last week the task was to connect the AEMB2 processor to two block RAMS, one for data the other for instructions. In addition, a gpio is to be connected as well. Connecting the instruction RAM was pretty forward. The GPIO and the data RAM both connect Read more…

Week 03 – TCP/IP Stack, MMC Cards, TCP/IP MDD Demo & SD Card Not Detected by Computer

The PICDEM.NET 2 has a stand-alone Ethernet controller, ENC28J60 but the project is not going to use that stand-alone Ethernet controller. The project will use the Ethernet driver for the PIC18F97J60, which is the ETH97J60. It is interesting to note that the PICDEM.NET 2 has two Integrated Connector Modules (ICMs), one for the PIC18F97J60 and one for the ENC28J60. For this project I will be only using the first one. The source code for the TCP/IP Stack Demo Application is Read more…

Week2: PIC18 Schematic, SPI Bus and ICSP Header

After some more thought and discussion with my supervisor, it was decided that we should program the Spartan-6 FPGA using the Slave Serial method. This would be slightly easier to implement and is closer to the original design brief, which is to have a master PIC18 and slave Spartan-6 during configuration. However, given the considerable overlap between Slave Serial and SPI configuration pins, there is still some room for changes at a later date if necessary. This week, my task Read more…