Project 2: MinIMU-9 v2 with EagleSoC Dev. Board
This project demonstrates MinIMU-9 v2 interface with the EagleSoC board via Inter-Integrated Circuit (I2C) protocol. The MinIMU-9 v2 sensor is used to calculate Euler Angles displacement based on the Accelerometer, Magnetometer, and Gyroscope readings. The acquired information is corrected in real-time via built-in Direction Cosine Matrix (DCM) algorithm. MinIMU-9 v2 sensor is shown in Figure 1.
Figure 1: MinIMU-9 v2 Sensor
PSoC Creator allows drag and drop of hardware modules in the "Top Design" area. The interfacing components for each hardware block with required interconnections are shown in Figure 2.
Open up your PSoC Creator 3.0 and start a new project. Choose the project name and the directory you want to store it.
Figure 2: Top Design
For EagleSoC board choose a PSoC 5LP template for your project.
Figure 3: Starting New Project
In order to use the EZ-PSoC Library, you will have to manually add it to your project. Open up project build settings as shown in Figure 5.
Figure 4: Setting PSoC 5LP Template
Select the Compiler Configuration
Figure 5: Project Build Settings
On the right hand side, click on Additional Include Directories.
Figure 6: Compiler Configuration
Click "New" and browse for the EZ-PSoC5_LIB folder on your computer.
Figure 7: Additional Include Directories
Once you found the EZ-PSoC5_LIB folder, click OK.
Figure 8: Browse EZ-PSoC Library
Select the Linker settings on the same configuration window.
Figure 9: Set EZ-PSoC Library
Click on Additional Libraries on the right hand side.
Figure 10: Linker Configuration
Click "New" button.
Figure 11: Additional Libraries
In the two top fields enter "EZPSoC5" and "m" respectively. This will set EZ-PSoC library and math library to your project.
Figure 12: New Additional Libraries
At the same configuration window, select "Additional Library Directories".
Figure 13: EZ-PSoC and Math Libraries
Click on "New" button.
Figure 14: Additional Library Directories
Browse for EZ-PSoC_LIB folder one more time and click "OK".
Figure 15: New Additional Library Directories
Click "OK" again to set EZ-PSoC library directories.
Figure 16: Browse Additional Library Directories
Before exiting configuration you must disable two more Linker options! Warning, failure to do so will cause problems with floating point objects, which is crucial for this project. By default, Cypress has enabled Default and Newlib-Nano libraries. You must set them to "false" as shown on Figure 18. Then press OK to complete project configuration.
Figure 17: Set Additional Library Directories
You may expand your Top Design project view to a comfortable resolution. Figure 19 shows the control panel for zooming in and out of the Top Design project which you can alter at any time to your preference.
Figure 18: Default Libraries and Newlib-Nano
Now we are ready to add components. On the right hand side of your PSoC Creator you may find Component Catalog. In its search field type in "Timer"
Figure 19: Top Design - Comfortable View
Drag and drop the timer object anywhere on the Top Design area.
Figure 20: Component Catalog - Timer
Double-click on the timer's clock component and use Figure 22 to set a New clock with frequency of 100kHz and tolerance of -/+ 5%. Click "OK".
Figure 21: Drag and Drop Timer
Project 2 - Second Page