Contact Us

TEL: +86-755-26664885
Fax: +86-755-27898086
Address: 3/F, Yinjin Industrial Park, Liuxian 2 Road, Bao'an District, Shenzhen, Guangdong, China

Home > Blog > Content
How to program an IC for pcba board?
Jan 23, 2018

How to  program an IC for pcba board?

When we talk about programming an IC, we mean to say that we are feeding it with instructions that are defined by us and can be changed at any point of time. Now, the basic structure of any programmable IC has a section for memory. Actually, there are many types of memories, EEPROM. PROM. ROM, RAM, SRAM etc.

The code that we write in C language is either in High-Level Language or Low-Level Language. Embedded C refers to writing a code in Low level language or basic commands. Neither of the two codes is understood by any IC - because an IC is an electronic component, incapable of handling anything other than binary data 0 or 1. Even this is an apparent truth, the real truth is, it can’t handle anything except for voltages - be it discrete or analog. So, the binary data 0 or 1 is actually the voltage level 0 Volts or 5 Volts(if the reference is 5 Volts, else logic levels can be different as well) . Now the fact that we are pondering over is the process of making the IC understand the codes written in English. Here, a compiler comes into play that generates a hex-code for the high/low-level language code that we wrote. Further, this code is converted into binary equivalent 0s and 1s and thus it is purely machine level information.

The memory sections that I mentioned earlier are all made up of registers (Registers - made up of flip-flops, flip-flops - made up of logic gates, logic gates up of transistors). So, when we feed the machine level information, it is stored in the registers with varying capacity. For instance, an 8-bit register addressed at memory address 5001 stores the name of the variable “var”. The value of the variable “var” is stored in the next register available at memory address 5002, for instance “9”. Next, for an instruction that says abc = var + 5; the control word, i.e the sequence of control signals that would make the inbuilt binary adder/arithmetic circuit perform the addition operation, is generated. This control word is stored in memory address 5003. The operand 5 is stored in the next memory address.Similarly, all the lines of the code are read, the binary information is understood and stored in different registers in the memory location. This is how the embedded C code is stored in the IC. The later part of the execution of the program involves the ALU(Arithmetic and Logic Unit) of the IC retrieving information from these registers and understanding the next operation that it has to perform and the operands on which it has to perform the same.

This is the complete process of programming an IC using embedded C. The comprehensive knowledge of this complete process needs understanding basic electronics, digital electronics and computer architecture.

Previous: IC Programming – The Hidden Hurdle in Your PCBA Schedule

Next: Automatic test equipment ATE Primer