2016年3月20日 星期日

BBB interface expansion

High speed data acquisition cannot be made possible without a customized hardware system connected to a cpu like AM335X.  In my previous article, I mentioned about GPMC interface that can be used to interface with FPGA, the customized hardware system can then be implemented by FPGA for high speed data acquisition. 
GPMC function can be multiplexed from P8/ P9 expansion headers on BBB, However some of those GPMC pins are already used by eMMC, therefore, a small modification of BBB is required.
I removed the pull-high resistors of the eMMC pins so that the pins can be multiplexed to GPMC. Linux will have to be boot from SD card since eMMc function is altered by GPMC. Get familiar to remove 0402 sized resistor. 

2016年3月17日 星期四

Parallel interface

After careful studying of AM335X datasheet and spent tremendous hours on  internet. I found a function called General Purpose Memory Controller(GPMC) by AM335X can provide excellent communication protocol to interface external devices, in my case, FPGA.
It is really not an easy task to understand all the GPMC features, I snapped the block diagram from the datasheet for a quick overview of GPMC.                               
Basically, I use GPMC address bus as my register location on FPGA and GPMC data as my register value, so every time I issue a command from AM335X to FPGA, my FPGA will receive the corresponding instruction to be decoded. 
Once I am able to activate GPMC on AM335X, I will be able to interface BBB to my Alter's DE2 development board.
            



2016年3月13日 星期日

From hardware to software

Through my careers, I had worked on different electronics engineering jobs. Each of them requires different  skills, tools technologies. I used to design electronics circuits, translate the circuits to actual printed circuit board, synthesize HDL (hardware description language) for high speed data acquisition algorithm, MCU/CPU (mciro/ central controller unit) coding for hardware system control, writing server test program on PC site.
I am particularly interested in digital logic design in FPGA and embedded system, each of the technologies serve for different purposes, e.g. I used FPGA for high speed data acquisition and DSP (digital signal processing) and MCU for hardware system control and data communication. It is not easy to used one of the above technologies to replace another one. I have been thinking connect an embedded system to FPGA so that advantages of both technologies can be combined together. So you know I have a big picture here now, connect a CPU to FPGA, so that our work can now be extended to customized peripherals.  Of course BBB is the centre of my big picture. 

2016年3月12日 星期六

Reasons for BBB

Yet, the main hardware features of BBB can be find on https://beagleboard.org/black. The reasons I love BBB to be my choice of electronics projects are:
1. Powerful hardware; the core of BBB is a ARM Cortex-A8 processor which is the most powerful embedded development board cpu I can find on market.
2. Affordable; less than $50 US, the choice for every budget tight developer.
3. Open hardware; all the hardware information (schematics, PCB) is available, easy for hardware customization.
4. Open software;  supported by various open source Linux and Android system, developers can custom the source code to fit their designs.
5. Standard C library support; so I can program BBB just like program a standard windows PC.
6. Connectivity; UART, I2C, GPIO expansion, USB, Ethernet, you name it.
7. GPIO expansion; of course very important if you want to extend BBB to your imagination, this feature is particularly important for my project.