Posts

MIPI Video Interfaces

Recently i had an opportunity to work with the much celebrated MIPI Video interfaces , specifically MIPI CSI-2 Interface.  CSI-2 is one among the various MIPI Alliance standards , all of them are proprietary. It is meant to interface High Speed/High Resolution Cameras to mobile processors like Snapdragon. Unlike conventional video interfaces  where pixel clock is the main reference time stamp, MIPI is little bit different. To start with understanding, consider MIPI as just a data transfer protocol like UART, but obviously not simple as UART.          The beauty of MIPI lies in two main factors. 1. Low Power Consumption 2. Scalable Speed. The actual MIPI Specification talks about a lot of features that should/or may have for MIPI compatibility.  But here we can concise the spec to few points like. 1. The actual video transmission is done in High Speed State, in Differential signalling 2. The interface goes to a low power state during the...

MATLAB with RTL SDR and Xilinx FPGA devices

Just like GNU Radio in Linux, MATLAB could be used for RF decoding and analysis with RTL SDR as source. Communication tool box in MATLAB has option to add RTL-SDR support to MATLAB. Similarly MATLAB also supports Xilinx FPGAs to be used as hardware platforms for users to develop algorithms in system block level , and hence hiding many low level design design hurdles during fpga development of the same. MATLAB can work together with Xilinx System Generator for this purpose. Many DSP functions are available as xilinx blocks in MATLAB-Simulink Library http://in.mathworks.com/hardware-support/rtl-sdr.html

XMOS multicore-microcontrollers

Image
Lets go through another new trend in the ever evolving embedded systems development field. We see a huge leap in multicore processors.The number of cores extend from 2 to 16 or even more. But such a trend was never observed in micro-controllers which forms the heart of many Real time embedded systems. Such systems are self contained and are built and tested for limited but fail proof applications. A multicore environment didnt find any taste here. But as systems got complex and upgradation or adaptations become necessary within very limited time gaps, even microcontrollers needed to be flexible or more powerfull. The need for time critical embedded devices boomed up in military, aerospace, multimedia or even in consumer electronics field. Conventional microcontrollers have limitation in their I/O response time, task completion time, flexibity and peripheral support  XMOS is a fabless semiconductor startup from 2005 with the vision of configurable processing in multicore micr...

Highspeed Serial I/O

Image
Serialisation has become the order of data communication in these days. It seems like that parallel transfer is in oblivion. Nowadays, whatever new method of data transfer is introduced, it seems to work using various pairs of serial data lines in one or other form. Some of the best examples are USB, HDMI, Firewire (ieee 1394),PCIe, SATA, Ethernet, MIPI interfaces (DSI, CSI) etc.. During the old days it was considered parallel transfer could give more throughput. To some extent it was true. A parallel transfer could take a complete byte, word or quad word at a single clock to the receiving device, whereas a bit could only be transferd at a single clock edge in  a serial line. From old days itself serial transfer co-existed in form of USART, UART, SPI, I2C etc, but was limited to very small clock rates for small speed peripherals. By then, parallel method dominated for chip to chip and box transfers like ISA, SCSI, PCI, PATA IDE etc. But as clock rates increased , some problem...

Online Electronic Shops in India

Electronics hobbyists are always in need of new parts , boards, components for their Do iT Yourself (DIY) projects. The industry is overwhelmed with various vendors, products,models etc:- Sometimes we find extremely difficult to purchase an exact part number of a product here in india. So hereby its an effort to list out some of the electronics shop websites  i found useful. Most of them are very simple to use and provide good service. Payment methods vary from Online Cash payment to COD. Many websites provide free shipping if total purchase is greater than a particular amount (500 INR mostly). So it is good to check with all of them.  Below is the list.. Will be updated as per i come across some new shops..  http://in.element14.com/ http://kitsnspares.com/ http://www.rhydolabz.com/ http://www.9circuits.com/   http://www.probots.co.in/ http://www.embeddedmarket.com/ http://www.hobby2go.com/ http://www.electroncomponents.co...

Potentiometer to Web

Image
Hi all.. lets do another beautiful DIY... Goal  To read voltage from a potentiometer in real-time and display in a web page dynamically. So.. the goal seems completely dump and does no good job.But the learning curve involved will introduce into many Linux concepts, hardware setup, troubleshooting extents from micro-controller programs to html/php code. Steps 1. Continuously read from analog input of Arduino where potentiometer is connected. 2. Send the value to Raspberry Pi via UART port. 3. Raspberry Pi reads the data and appends and writes it into a file. 4. Make an Apache server run in Raspberry Pi. 5. A combination of simple html file, a php code, and ajax script together does the job of    updating the webpage with latest value from file. 6. Forward the raspberry server to internet and watch the realtime variation of pot value in webpage. Okie.. so lets get started... Hardware Setup.. Yep.. a Raspberry pi and Arduino UNO R3 connected over UART (s...

Designing with FPGA

So.. again its a bit of technology.... lets discuss.. Start Bit.... FPGAs.. or Field Programmable Grid Arrays... awesome things.. but complex to understand and start with... So a small write up like this would be nice at least for some one who is struggling to get a start with FPGA programming in Verilog/VHDL. Data bits  ..   FPGAs in its simplest form is just a Digital IC with few basic digital logic blocks arranged in repeated order along with some interconnecting fabric. So a user can rearrange or connect these blocks in different fashion to bring up any digital functionality. This rearranging can be done using a Synthesis tool  based on the User logic defined using a Hardware description Language (HDL) like VHDL/Verilog, System verilog etc..   So it is just like a bread board with fundamental digital blocks like FFs, MUXes, LUTs, Block RAMS, Shift Registers, Clock Buffers and much more. All these are at the disposal of FPGA designer for his imagination....