Tag Archives: st-micro

Evaluation of circuit tree with a stm32f407 microcontroller board -Part2

Design Goal

Time for another test of capability. These tests help us check the hardware compiler performance to a actual built commercial board. Some of the items for us to check are:

  1. How closer are we able to design the board with respect to requirements?
  2. Is there any possibility of optimization among circuit tree outputs?
  3. What is the board cost compared to the comparison board?
  4. Circuit Tree designs would be different than the designed board. How do we verify the design?

Olimex board

This time we compare the capability of circuit tree with another commercial board in the market available from olimex. It is a great open source hardware board available at a competitive price with great support from olimex.

Let us again pick the requirement of the board from site :

  1. STM32F407ZGT6 microcontroller
  2. JTAG connector with ARM 2×10 pin layout for programming/debugging
  3. Ethernet 100Mbit
  4. UEXT connector (UEXT is a board to board connector which supports three serial communication interfaces – I2C, SPI and RS232. There is also 3.3V line and GND.)
  5. USB host
  6. USB OTG
  7. SD-card
  8. Input DC DC power supply which allows operation from 6-16VDC source
  9. Power and user LEDs
  10. Reset and user buttons
  11. 4 full 20-pin Ports with the external memory bus for add-on modules
  12. Arduino platform with unsoldered headers
  13. 4 rubber pads for the mount holes
  14. PCB: FR-4, 1.5 mm (0.062″), soldermask, silkscreen component print
  15. Dimensions: 101.6 x 86mm (4 x 3.4″)
  16. Boards costs 40USD in quantity of unit 1 as per olimex.

Requirement entry in Circuit Tree

Let us add this requirement on circuit tree requirement editor:

Step 1:

We add requirements in the tool by adding spi, i2c and other buses to a UEXT connector. Similarily for the Arduino connector the spi and uart bus signals are routed to the connectors. We additionally add the GPIO connector having close to 11 pins. Additional interfaces such as ethernet with lan8710, usb type AB port with esd protection, sd card and jtag ports are added as per the snapshots below.

Requirement_editor-1

Requirement_editor-1

 

 

 

 

 

 

 

Requirement_editor-2

Requirement_editor-2

 

Requirement_editor-3

Requirement_editor-3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Step 2:

Circuit Tree hardware compiler next finds the controller which can support these function. Circuit Tree returns close to 186 parts. We have option to select STM32F407ZGT6 or STM32F407ZET6 with several other parts. We choose STM32F407ZET6 as olimex schematic has this part designed into it.

processor_selection

processor_selection

 

 

 

 

 

 

 

 

Step3:

We next select power of 6V to 14V as required in the requirement and get the schematic design generated in a minutes time. You would notice that the BOM cost derived from Octopart comes to USD 51. The pdf, bom and eagle schematic design is available at link

schematic-final

schematic-final

 

 

 

 

 

 

 

 

 

Step4:

We select a board size of 130mm x64 mm.

placement_file

placement_file

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Step5:

Output placement file is shown below with the constraint that all components be placed on the top side of the board. The red color denotes the placement of the component on the top side of the board. We need to work more on the board by adding the constraints to the board footprints. The arduino connectors are misplaced in the picture below. Files are uploaded at link

placement_with_details

placement_with_details

 

 

 

 

 

 

 

Comparison between two designs:

  1. SDHC section visual check: Circuit tree auto creates processor symbol based on the bus sections and adds them to the connector page. All pins of the connector and the processor pins are the same for sections stated below:
micro sd check

micro sd interface check

 

 

 

 

 

 

 

 

 

  1. JTAG section visual check:
Jtag connection visual chec

Jtag connection visual check

 

 

 

 

 

 

 

  1. USB section visual check: Two usb otg ports are compared. The connector pinouts, vbus generators and esd connections can be checked in the schematic.
usb_otg_sch

usb_otg_sch

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Ethernet RMII section: Comparison of lan8710 and STM32F407ZET6 connections are done. All controllers pins are the same except for the PG11 which in case of circuit tree schematic is PB11 which is correct as per pin mux.
ethernet_schematic

lan8710 ethernet schematic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. UEXT connector connections: The connections of the controller pins and the UEXT assignment is different than allocated. The connector pin definition is also different than the one desired.
UEXT_connector_connections

UEXT_connector_connections

 

 

 

 

 

 

 

 

 

 

Differences

  1. Other differences:
    1. Power, clock and reset generation is different in circuit tree. It shows that circuit tree can generates it own power supply connections based on what it calculates the extremes.
    2. Some of BOM parts selected by circuit tree are high is cost. One of the examples being integrated magnetics which cost close to usd 10. We would address this concern once we have sufficient parts in the library which would provide value range to the user.
    3. Arduino connectors are not compared as the pin assignment and gpio connections are not as per connector requirements even though the muxing from controller is correct. In the next release we would have new feature to change the connector pin outs.
    4. IFC pin connections failed as circuit tree does not generate a connection where it observes conflict of IO’s. The commercial schematic uses jumpers to isolate segments which we can also support at a later date.
    5. The placement of the design was not the same as the olimex board. We are in process of improving the constraint addition which would  help to create more custom designs.

It was a long post with visual comparison of the two boards. Write back to us at info@circuit-tree.com with your feature requests and suggestions.

Ten quick reasons to use circuit tree in your next embedded PCB board design

1. Save Design Time and Cost by quickly creating automatic schematic and pcb placement design with any of the 1000 processors or micro-controllers. We dont store any circuit board designs and all design are auto generated on the fly. Get the most intelligent component placement recommendation for the board.

Circuit-tree-designs3


 

2. Wide range of processors and micro-controller parts from Texas-intrument, Nvidia, St micro, Atmel or NXP.

supported_semiconductor_vendors


 

3. Export your design creations to popular Cadence orcad , Mentor pads, Eagle and Altium for further customisations. Designs remain yours forever.

pcb-vendors2


 

4. Quick Product cost estimate. Get real time cost from octopart and PCB house for the pcb cost.

bill of material excel sheet generated from octopart

bill of material excel sheet generated from octopart


 

5. Support for variety of board form factors such as Computer on Module, System on Module and Various form factor boards.

various-periphearl


 

6. Large peripheral library along with growing list of components. Change components on the fly for the design and get a new design created in 60 seconds.


 

7. Assured quality. We go the extra mile to ensure that the designs generated are correct.

 


 

8. We value your Privacy. We don’t sell personal information to another site.


 

9. Growing Artificial Design Engine that grows with every user interaction and part addition in library. artificial-intelligence-in-embedded-pcb-design


 

10. Site has been created by engineers for engineers.


 

Short Introduction to Circuit tree

Circuit tree is a circuit board design software application having intelligence of a hardware engineer to create embedded circuit board designs. It features more than 1000+ processors and controllers along with extended hardware peripheral library.

Here is a introduction video to circuit tree:

To start building your circuit board design now click on Access Tool. For help/guidance needed with embedded hardware design write to us at info@circuit-tree.com


 

Evaluation of circuit tree with a stm32f407 microcontroller board

Here is another capability test we wanted to conduct with the latest set of features. These tests help us check the limits to which we can test our engine check in addition to check the usability of the application.

We choose a stm32f407 reference design from STMicroelectronics for comparison as it is a complex board and our guess is that it has taken several week to design the board.

We quickly pulled in the design which we have created in our example library and selected components such as usb3317 from the usb library as our ulpi transceiver. We let circuit tree design remaining combinations for us. This is the what our design looked like in requirement editor.

STM32f407_Board_Requirement

Circuit tree quickly generated the design for us by doing all the complex tasks behind the scenes.

Let us compare the results. The table below shows what circuit tree could achieve in comparison with the board and what it could not.

Comparison chart

Comparison chart of features supported by the two boards

I am glad to report following findings:
1. Circuit tree did not connect two peripherals in parallel. For instance MicroSD connector and RS232 connectors. It also did not do create connections where audio port is shares pin with MicroSd port ON ST boards. Here are the list of pins allocated by the circuit tree versus the application board.
2. Some of the features we don’t support at the moment but we have capability to do so and extending our capability every day.
3. Finding processor pins for the peripherals, component selection for peripherals, power clock reset, optimisation, decision circuit configuration , schematic generation and check is all done in a shortest span of time. We like to keep things simple and easily understandable for our users which is reflected in our final output.
4. The application schematic generated can still be downloaded in a popular PCB design tool and used for further customisation.
5. The best part is that I can quickly go back to the requirement editor and change
a). The ethernet transceiver to Microchip lan8710 and
b). The CAN transceiver to TI SN65HVD230D and
c). Change zigbee module to Zigbee Internation XB24C module.
d). change input voltage to 9V.

The design file [containing Eagle and Altium] Schematic and the bill of material  is ready by the time i write this. You can check it out through the link below:

stm32f407_design_database

TIP: You could also go back to the board requirement menu ,delete the processor and add any other processor and still generate the design.


 

Short Introduction to Circuit tree

Circuit tree is a online EDA application having intelligence of a hardware engineer to create embedded hardware designs. It features more than 1000+ processors and controllers along with extended hardware peripheral library.

Here is a introduction video to circuit tree: