Getting Started with BeagleBoard™ Hardware
This demo introduces you to Target for Use with BeagleBoard Hardware and shows you how to run a Simulink® model on BeagleBoard hardware.
Target for Use with BeagleBoard Hardware enables you to create and run Simulink models on BeagleBoard hardware. The target includes a library of Simulink blocks for configuring and accessing BeagleBoard hardware's I/O peripherals and communication interfaces. Additionally, the target enables you to monitor and tune algorithms running on BeagleBoard hardware from the same Simulink models from which you developed the algorithms.
In this demo you will learn how to create and run a simple Simulink model on BeagleBoard hardware, and how to tune and monitor the algorithm in real time as it is executing. When you are developing algorithms, it is often necessary to determine appropriate values of critical algorithm parameters in iterative fashion. For example, an algorithm that detects hand clapping may use a threshold to determine hand clapping in the presence of ambient noise. If the threshold value is set too low, the algorithm may confuse any sound for hand clapping. If the threshold value is set too high, the algorithm may not be able to detect any sound at all. In such cases, the right threshold value may be obtained by trying different values until the desired algorithm performance is reached. This iterative process is called parameter tuning.
Simulink’s External mode feature enables you to accelerate the process of parameter tuning by letting you change certain parameter values while the model is running on target hardware, without stopping the model. When you change parameter values from within Simulink, the modified parameter values are communicated to the target hardware immediately. The effects of the parameters tuning activity may be monitored by viewing algorithm signals on scopes or displays in Simulink.
This demo introduces the Simulink External mode feature by showing you how to:
- Configure communications between Simulink and BeagleBoard hardware
- Tune parameters of an algorithm from the same Simulink model that is running on the BeagleBoard hardware
- Use Simulink scopes to monitor results from an algorithm running on BeagleBoard hardware
To run this demo you will need the following hardware:
- BeagleBoard xM or BeagleBoard Cx hardware
- Speakers or headphones connected to the AUDIO OUT port of the BeagleBoard hardware to hear spoken IP address (for IP address verification)
In this task, you will create a simple model that will run on your BeagleBoard hardware.
1. In MATLAB®, select File > New > Model.
2. Enter simulink at the MATLAB command line to open the Simulink Library Browser.
3. Click on Simulink > Sources tab in the Simulink Library Browser. Drag and drop a Sine Wave block to the model. Double-click on the Sine Wave block to set parameters of the block as shown in the picture below. Click OK to save and close the block mask.
4. Click on Simulink > Math Operations tab in the Simulink Library Browser. Drag and drop a Slider Gain block to the model. Connect the output port of the Sine Wave block to the input port of the Slider Gain block.
5. Click on Simulink > Sinks tab on the Simulink Library Browser. Drag and drop a Scope block to the model. Connect the output port of the Slider Gain block to the input port of the Scope block.
6. Save your model.
In this task, you will configure your model to run on BeagleBoard hardware.
1. If your BeagleBoard hardware is not connected to an Ethernet network, follow the instructions in Configure IP Settings on the BeagleBoard Hardware.
2. In your model, Select Tools > Run on Target Hardware > Prepare to Run.
3. Review the parameters on the page that opens. If you performed a Firmware Update, Board information will be automatically populated with the IP address, user name and password of your BeagleBoard hardware. Press and release the USER button on the BeagleBoard hardware to hear the BeagleBoard hardware speak its IP address. Verify that the spoken IP address matches the IP address displayed on the Board information pane. If not, set the Host name parameter in the Board information pane to the spoken IP address.
4. Check on the Enable External mode option. An edit box called the TCP/IP port becomes visible. The default value of TCP/IP port is 17725. Simulink uses this TCP/IP port to communicate with BeagleBoard hardware. Leave the TCP/IP port parameter to its default value.
5. Click OK.
6. Set simulation stop time to 'inf' to run the simulation until you explicitly pause or stop the model.
7. Save your model. A pre-configured model is included for your convenience.
In this task, you will run your model on BeagleBoard hardware in External mode. When you are prototyping and developing an algorithm, it is useful to monitor and tune the algorithm while it runs on hardware. The External mode feature in Simulink enables this capability.
1. In your Simulink model, select Tools > Run on Target Hardware > Run to run the model on BeagleBoard hardware. A system command window will open that shows the messages coming from the model running on BeagleBoard hardware:
Note that pressing the Play button on the Simulink model starts simulation on the host computer. It does not run the model on the BeagleBoard hardware. To run the model on the BeagleBoard hardware, you must use Tools > Run on Target Hardware > Run.
2. Open the Scope block. Observe the scope displaying a sine wave.
3. Double-click the Slider Gain block. Change the Slider Gain value and observe that the amplitude of the waveform on the Scope block changes appropriately in response.
4. When you are done changing model parameters, press the Stop button on the model. Observe that system command window opened in the previous step indicates that the model has been stopped. At this point, you may close the system command window.
This demo introduced the workflow for creating an algorithm in a Simulink model, and then running the model on BeagleBoard hardware. Using External mode, you tuned an algorithm parameter while the model was running and observed the effects of parameter value changes.