The Expansion headers feature in MCUXpresso Config Tools simplifies the usage of the Pins tool in several ways. It is easier to find appropriate pins on the board and configure them for usage in a user application. The pins can also be automatically routed by applying the expansion board file. This document describes how to add or modify the expansion headers if you are designing or using your own PCB board leveraging standard expansion headers such as those compatible with Arduino.
1. Introduction
1.1 Expansion header
An expansion header is a collection of expansion connectors placed on the development board. The pins from the connectors lead out the processor pins outside and can be identified by a label on the board. There can be multiple expansion headers on a single board.
Figure 1. Example of three expansion headers on- LPC55S69-EVK board
1.2 Expansion board
An expansion board is a circuit board that can be applied to the Expansion header, extending features of the development board. Expansion boards (sometimes called Shields) can contain special additional components such as wireless modules, sensors, and so on. The connected pins may have different names on the expansion board.
If an expansion header is defined in the configuration, then the pins tool can provide instant routing of the processor signals appropriate for the expansion board applied to this header.
Figure 2. Expansion board example - Tester click[https://www.mikroe.com/tester-click]
1.3 Expansion Headers in Pins tool
The Expansion Header view can be found in the Pins tool. The view shows the header connectors and pins in graphical form, with the layout corresponding to the layout of the real board.
Figure 3. Expansion Header view
The Expansion Header view can simplify work with the pins connected to an expansion header. By moving the cursor on a connector pin, you can see the details on the pin's connection and routing. You can also route processor pins signals by left-clicking on the connector pin or by right-clicking to invoke the context menu.
The default new configurations created by MCUXpresso config tools for common evaluation boards already contain pre-populated expansion header(s) matching the expansion headers on the board that can be used out-of-box.
2. Adding Custom Expansion header
When the expansion header is not present in the configuration, or you would like to add an additional expansion header.
Open or create the configuration where you would like to add an expansion header in the Pins tool.
Open the Expansion Header view if it is not open.
In the standalone MCUXpresso Config tools, select the command Views > Expansion header
In the MCUXpressso IDE, select command Window > Show view > Expansion Header
Click the Add button in the Expansion Header view toolbar.
Figure 4. expansion header Add button
The Expansion Header dialog appears
Set the header name, type, and connector names to match your hardware design.
Figure 5. Add New Expansion Header dialog
NOTE: The number of connectors and arrangement is determined by the header type.
Figure 6. Example of the header types (orange: Lpc-style arduino; red: Pmod; green: Micro Bus)
The values can be changed in the future in Edit Header
The created header initially contains only the disconnected pin that must be defined before it can be used in the configuration. For more information, see subchapter Connecting pins.
Note: The customized headers and their connections are saved to the configuration MEX file and in the YAML block within the generated source files, so they are not lost when you distribute the configuration to someone else.
Figure 7. Custom header in the source code
2.1 Connecting pins
The newly created custom expansion header does not contain any connected pins.
There are two ways to connect or disconnect a pin:
Dialog in the Expansion Header view
Click the Connect command in the context menu of the connector pin.
Figure 8. Connect command in the context menu
The Connector Pin dialog is shown
Figure 9. Connect dialog for the 3-d pin on connector “mA”, set name “mPin” and connected to processor pin on coordinates 26
You can set the name (for example, the label of the pin on the header); otherwise, the connector pin coordinates will be used instead.
If the pin is connected to the processor, check the checkbox connected with the processor pin. In this case, check the connected pin checkbox from the list.
If the connector pin is used but is not connected to the processor, you can select external signal types, which will be used for validating features of the matching signals when the expansion board is applied to the header.
You can also disconnect the pin by unchecking all the checked items.
It is also possible to connect Connector pins via the Pins view, see below.
3. Connections in the Pins view
The connections of each expansion header/board are also shown as a separate column in the Pins view.
The fields at processor pin rows that are filled contain a reference to the connector, the pin number and may contain a label specific for the expansion header. For example, P19[4] (A1) connects the processor pin to connector P19, pin number 4, and the label on the expansion header is A1.
Figure 10. Expansion headers/boards in the Pins view
Steps to connect connector pins in this view:
Find the cell, where the row is the processor pin you would like to connect, and the column is the expansion header to connect to.
The connection is made by setting cell value in the connector pin coordinates format “connector name”[“number of the pin”]. If you want to add an optional name, you append the name in parentheses. Note: The external signal types of the connector pin cannot be set here.
The value is checked for the correct format, which is described within the tooltip shown for the cell Figure 11. Validation tooltip with advice for the header "My custom header"
Disconnecting can be done by deleting the cell value
3.1. Applying/Removing expansion board
If you have an expansion board definition file, you can apply it to the selected expansion header. After the application, the pins tool suggests routing for all used signals and it is possible to see the usage and corresponding board signals for the expansion board.
The expansion board is distributed as a simple .xml file. The type of expansion header must match the expansion header definition, other headers cannot be used. For details on the expansion board definition file, see the following article: Creating expansion board definition file for Arduino Multifunction shield
To apply an expansion board, use the following steps:
In the expansion header view, select the plus button in the right part of the Expansion Header view toolbar. Figure 12. Expansion board add button
You can also use the path Main menu Pins > Apply expansion board, where you can choose the expansion header. Figure 13. Apply MikroE Tester click board for a micro bus header type
After clicking OK, the Expansion Board Routing dialog appears
Figure 14. Expansion board routing open after applying the expansion board
In the dialog box, you can choose which pins function group the routing will be applied to.
The routing dialog contains routing tables, where processor pins are pre-autorouted based on the limitations of the expansion board. The routing is validated in real time and can be changed by clicking a cell in the Route column.
You can also decide if and what pin name will be used for the generation of the defined constants in the code for referencing from the application.
Figure 15. Generated #define for board MIKROE and pins AN, CS
The same dialog appears after clicking the edit expansion board in the Expansion header view, but the option to create a new functional group will not be enabled.
Figure 16 Expansion board edit button
NOTE: Removing expansion board does not remove configured routing. It only changes the identifier defines if they are derived from the board.
Figure 17. Source code change after removing the expansion board
查看全文