Showing posts with label design. Show all posts
Showing posts with label design. Show all posts

How to transfer Eagle PCB design to Altium Designer

Cadsoft Eagle and Altium designer are widely used PCB design software. Altium designer users often find schematic, PCB and library in Cadsoft Eagle free file format and want to import them into Altium Designer. There is one trick that converts eagle design files to altium and that is using UCL scripts. But with newer Altium Designer version starting from v14 there is inbuild import program in Altium Designer software that converts Eagle files to Altium Designer.

Eagle provides many PCB designs and tutorials for free and in this post we are going to import one such design file to altium designer to see how the process of converting eagle to altium and also view imported file to see how they look like when they are converted.

Using the import feature is straight forward. The import function is under File > Import Wizard and this brings up the window like the one below,


Clicking Next, brings up the dialog box that allows us to specify what CAD files we want to import. Here we can see Eagle Projects and Designs listed in the list which was not previously on the list. We select that option.


 After selecting that option and clicking next brings up the next window which allows us to add the Eagle schematic and PCB design files. The add button allows us to browse and select the eagle design files.

Then the next screen allows you to convert the eagle library files to altium designer library files. Since in this illustrated pcb design conversion there are no library it is left alone. But if you had eagle library files it good to convert them.


Then alitum designer reads the files for conversion.

The next window allows users to make various reports of the conversion process and specify what things to recognize such as power ports, any ports, net names and others as shown below-


The next screen allows user to specify directory where the converted design files should be saved. The default directory is the same directory as the input directory.

The conversion process starts which takes just seconds to complete. Then the conversion is completed where the user now just has to click on the Finish button.


The converted PCB file is shown below-


The schematic document and the PCB document are under the project file panel.

A glance of 3D view,

The converted schematic design is shown below.


As you can see the schematic and pcb files are very nicely and accurately transferred from Eagle to Altium Designer.

Cadsoft Eagle Free is widely used by students, electronics hobbyist and professional designers and Altium Designer is preferred for more professional PCB designs because of its features and 3D modelling capabilities. Both are very good PCB design software and both can be used for most of the electronics design work.


Read More..

Flash ADC priority encoder vhdl design

The priority encoder is useful in many application not only in digital circuit but also in the mixed circuit such as analog to digital converter(ADC). For example Flash type ADC uses priority encoder to select which of the different inputs should be sampled and encoded into digital digital bits. The following shows how Flash type ADC works first then VHDL model for the priority encoder is developed.

There are different types of ADC and one of them is Parallel Comparator ADC or Flash ADC. The Flash ADC converts analog signal to digital signal very fast compared to other types of ADC such as Dual Slope ADC or Successive Approximation Register(SAR) ADC. That is its conversion time is small. The disadvantage of Flash ADC is that if the resolution is to be increased then the number of comparator has to be increased which makes the converter bulky.

The Flash ADC can be described as being composed of 3 different constituents- the Voltage Divider Resistor(VDR) network, the Comparators(op-amp) and the priority encoder.

The VDR network is used to create voltage reference with which the input analog signal is compared using the comparator. The voltage reference points is created using same value resistor and the number of the reference points to be created is decided by the number of digital bits one wants to produce. As an example, if n=3 bits is used for the digital signal output then the number of the voltage reference point is 2^3-1= 7. Next the input analog signal which is to be converted into digital signal is done by fedding the analog signal to the inputs of the comparators. The analog signal is fed into the non-inverting terminal of the op-amp and the voltage references are connected to the inverting terminal of the op-amp. The output of those op-amp becomes high in which the input signal voltage is greater than the reference voltage. If there are 7 op-amps comparator, then the analog signal voltage becomes greater than the reference voltage starting from the 3rd op-amp then the rest of the op-amp output also becomes high. That is the 3rd, 4th, 5th, 6th and 7th op-amp output are high.

The priority encoder gives priority to that op-amp output which is first activated high, in this case the 3rd op-amp. Then the priority encoder outputs digital bits corresponding to the digit 5.

Thus one use of priority encoder is in the ADC converter. Now the following describes how a priority encoder is modelled in VHDL.



The input to the priority encoder for the 3 bits digital signal output from the ADC are the 7 outputs from the comparator(op-amps). Depending upon which output gets activated first we produce corresponding digital outputs.

Let Cinp be the input to the priority encoder and Dcode be the digital codes. Then the entity declaration of this priority encoder becomes-

entity priority_encoder is
    port(
    Cinp : in std_logic_vector(7 downto 0);
    Dcode : out std_logic_vector(2 downto 0)
    );
end priority_encoder;

Next we need to create the architecture for the priority encoder. The following is the VHDL code for the flash type ADC priority encoder:

architecture priority_encoder_arch of priority_encoder is
begin
Dcode <= "111" when (Cinp(7)=1) else
"110" when (Cinp(6)=1) else
"101" when (Cinp(5)=1) else
"100" when (Cinp(4)=1) else
"011" when (Cinp(3)=1) else
"010" when (Cinp(2)=1) else
"001" when (Cinp(1)=1) else
"000"; 
end priority_encoder_arch;
Read More..

How to design a code converter using VHDL

Code converter finds application in digital system design and in this blog it is shown how to design a code converter using VHDL. There are many instances that requires code conversion for example in communication system encoding. For example binary to excess 3 code or binary to gray code or gray code to excess 3 code.

The conversion of codes from one to another can be done in different ways. One way is to construct state diagram. Another way is simply to use case statements or if-then-elsif or select statements. There may be also other ways.

Here it is shown how case statement and select statement can be using to convert binary code to excess 3 code.

The first thing to know is what and how they need to converted. 4bit excess 3 code is obtained by adding 0011 to the 4 bit binary value.

It is helpful to construct a truth table for the conversion.


There are 16 codes listed above, but here only 8 codes will be illustrated as this is enough to illustrate how to implement the conversion.

Let x and y be the input and output respectively, that is x is the binary 4 bit input and y is the 4 bit excess 3 code output.

So the entity declaration would look this,

entity code_converter is
    port(
    x : in std_logic_vector(3 downto 0);
    y : out std_logic_vector(3 downto 0)
    )
end code_converter;

Now to the question of How to design a code converter using VHDL?

First it is shown how select statement can be used to do the code conversion. The architecture for the code converter using the select statment is as follows,

architecture Select_RTL of code_converter is

begin
        with x select
        y <= "0011" when "0000",
        "0100" when "0001",
        "0101" when "0010",
        "0110" when "0011",
        "0111" when "0100",
        "1000" when "0101",
        "1001" when "0110",
        "1010"    when "0111",
        "XXXX" when others;
               
end Select_RTL;

Now the same code conversion can be achieved using case statement as follows,

architecture Case_RTL of code_converter is

begin
    process (x)
    begin
        case x is
            when "0000" => y <= "0011";
            when "0001"    => y <= "0100";
            when "0010"    => y <= "0101";
            when "0011" => y <= "0110";
            when "0100" => y <= "0111";
            when "0101" => y <= "1000";
            when "0110" => y <= "1001";
            when "0111" => y <= "1010";
            when others => y <= "XXXX";
        end case;
       
    end process;
end Case_RTL;

Yet there is another method that can be used to implement this conversion. It is much simpler than the above two methods.

architecture add_RTL of code_converter is

signal y_int : integer;

begin
    y_int <= to_integer(unsigned(x)) + 3;
    y <= std_logic_vector(to_unsigned(y_int,4));

end add_RTL;

In this method, the input binary x was converted to integer and 3 was added to it. The result was converted back to binary bits.

See the tutorial- http://appliedelectronicsengineering.blogspot.com/2014/10/how-to-convert-stdlogicvector-to.html to see how to convert between different data types.

So in this way we can use different methods to design a code converted using VHDL.
Read More..

Microstrip Antenna Design Handbook by Ramesh Garg

 Microstrip antenna is becoming essential part of electronics devices. Microstrip antenna are nowadays used in every electronics products due to simplicity of incorporating them into the electronics PCB. The Microstrip Antenna Design Handbook by Ramesh Garg explains the design, model design, analysis, simulation and fabrication of such antenna. Download the pdf ebook from the link below-

http://www.filefactory.com/file/cct1tqlodf9/bhartia.pdf



What are contained within the book?

The book is essentially meant for antenna designers, engineers and scientists. It explains questions like what are the advantages of Microstrip antenna and what are the limitation of Microstrip antenna? What are the various types of antenna? such as Patch antenna, printed dipole antenna, slot antenna and others. What are the feeding techniques, coaxial feeds, coplanar feeds, aperture coupled feed etc.
It also explaines the integration of microstrip antenna with electronics circuits. Antenna array design is also discussed.

Another antenna design book is the Microstrip Patch Antenna: A Designer Guide

See tutorials on design of Microstrip Patch Antenna

Read More..