JSON v XML

There are a whole bunch of JSON v XML posts out there. So, I will not rehash the various arguments on which is better. However, we needed to select a file format to store configuration information. To make things convenient, we decided to use the Boost::Property_Tree library. So, this is essentially about how the Boost library performs when parsing JSON and XML. The sample JSON and XML files were obtained from the JSON examples website. After writing a simple program Read more…

Powering the Board and Connecting Ports

I continues working on the schematics this week. By now, almost all the major components in the circuit are connected. Last week I connected the Ethernet jack, SD card, and some of the microcontroller connections. This week I did the connections for the USB port power pins, FPGA I/O ports, the rest of microcontroller connections, and I researched the possibility of sharing the oscillator with two ICs. If you are interesting in reading more about the problems and the configuration Read more…

Oscillator Sharing between ICs

In our PCB, we have an FPGA, and PIC18 microcontroller. It is our intention to share one oscillator between the two ICs, hence reducing the cost, and sparing the PCB precious area. This post will discuss the problems that might occur, and what configuration we are using. Problems can occur when sharing a crystal between multiple ICs, where one IC drives the crystal and its circuit. Also, the combined capacitance of the two ICs might affect the frequency of the Read more…

CPU Architectures

Witty After experience with Witty features, I found that witty is really a good toolkit to learn how to develop web application, and to have better understanding about web. Most of the details cover from the witty HTTP client, server and etc. had been written by Sumia’s Witty and HTTP Client. Reading, reading and Understand it This is my second week at Aeste, I had been assigned task on a simulator project, to simulate a CPU. However, before reaching on that Read more…

Data2mem and BRAM

This week I have started working on initializing the block ram (BRAM) with some content. There are so many ways to initialize your memory with. You can for example directly initialize it form your HDL code. But this way is inefficient and tiresome as you have to keep changing your code whenever a change needed. Luckily Xilinix provides a tool that can be used to initialize your RAM easily. This tool is called Data2mem. By using this tool the final Read more…

Ethernet and SD-Card Connections

In the first two weeks of the project I was reading and trying to grasp the basics of PCB design and KiCAD. This week I put this knowledge into action and finally started with creating the schematics for the project. The board we are designing contains an FPGA (spartan-6), PIC18 microcontroller, SD card slot, and several I/O ports. By now, I have created the configuration connections between the FPGA and the microcontroller, SD card and Ethernet connections. So let’s talk Read more…

Internship at Aeste

This is my first week of internship in Aeste Works (M) Sdn. Bhd. I have been always thinking of internship is a good starting point for individual who does not plan further for their future yet, as it could give us the exposure to the industry that we are looking for. The internship started with the learning of the powerful source code management tool, Git. After learning Git for 2 days, I manage to familiarize with the Git tool and Read more…

Starting with Eeschema

Resuming from last week, I continued working on the PCB design for our product. Last week I talked about my experience with learning the basics of designing PCB layout. The first half of this week I studied Xilinx’s PCB design guide for the FPGA, while I focused on creating the schematic for the circuit in the other half. FPGA PCB Design Guide Spartan-6 FPGA PCB Design and Pin Planning Guide is a detailed document discussing – as the name implies Read more…

FPGA Baby Steps

In this week, I started taking my first baby steps in the world of FPGA. I spent some times trying to get myself familiarized with the new tools and concepts. In next paragraphs I’ll try to summarize what I have learned so far .. So let us get started ! What is FPGA ? FPGA stands for field programmable array. It is simply a programmable chips that can be programmed to do any digital functions. The general work flow you Read more…

Time Response and Conclusions

Following on from the problems faced during the last weeks of the project, the attempts of hacking the toy quad-copter was abandoned to allow for the completion of the project in time. It was quite clear that the envisioned system would not be successfully completed within the time scope of the project so the rest of the system was designed to accommodate all the work done on the Location Sensing (via image segmentation), the swarm algorithm modelling and the output Read more…