lab4
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
lab4 [2010/02/25 00:47] – natalia | lab4 [2014/02/26 15:39] (current) – allison | ||
---|---|---|---|
Line 1: | Line 1: | ||
==== Background ==== | ==== Background ==== | ||
- | === Servo Motor === | + | === BeagleBone PRUSS === |
- | A Servo ((Based on http:// | + | |
- | The servo motor has a control circuit | + | The BeagleBone Black is a low-cost, high-performance embedded platform for hobbyists |
- | === Infrared Range Finder === | + | |
- | An Infrared Range Finder ((Based on http://www.societyofrobots.com/ | + | Processor: AM335x 1GHz ARM® Cortex-A8 |
+ | |||
+ | * 512MB DDR3 RAM | ||
+ | * 2GB 8-bit eMMC on-board flash storage | ||
+ | * 3D graphics accelerator | ||
+ | * NEON floating-point accelerator | ||
+ | * 2x PRU 32-bit microcontrollers | ||
+ | |||
+ | Connectivity | ||
+ | |||
+ | * USB client for power & communications | ||
+ | * USB host | ||
+ | * Ethernet | ||
+ | * HDMI | ||
+ | * 2x 46 pin headers | ||
+ | |||
+ | The board comes pre-loaded with and Ångström Linux distirubtion and many other options can be considered for development and operating the device. It is a very powerful device with a large number of peripherals built in making it well-suited for a number of soft real-time applications. | ||
+ | |||
+ | To support demanding hard-real time constraints or to off load processes from the main CPU, the processor chip includes two programmable real-time (PRU) cores. These are reasonably high speed, | ||
+ | |||
+ | These devices can be used to create programmable real-time peripherals and subsystems. The downside | ||
+ | |||
+ | |||
+ | ==== Goals ==== | ||
+ | The goal is to experiment with the PRU devices and modify a small program to send a burst of bits at a given rate. The ARM processor should query the user for a 32-bit hexadecimal number and transmit it out serially on a GPIO pin LSB first. The period of transmission for each bit in microseconds should also be sent by the ARM to the PRU. A small program | ||
+ | |||
+ | Not the TI examples are not production quality code but samples for demonstration. | ||
+ | |||
+ | |||
+ | ==== Prelab ==== | ||
+ | |||
+ | Familiarize yourself with the sample code and with the PRU assembly language. We will not be writing much code so you do not need to become expert but should be able to read the sample program and make modest changes. | ||
+ | |||
+ | Plan modifications to accomplish the goals above and prepare your code for the lab. | ||
==== Procedure ==== | ==== Procedure ==== | ||
- | The goal is to have a task that every 300 ms checks the distance of the IR Rangefinder and change the servo' | ||
- | * Open the lab stationary using CodeWarrior located in: | ||
- | < | ||
- | | ||
- | * Add a task that every 300 ms calls ir_range(ATD0DR0) | ||
- | * Connect the VCC and ground wires of Servo and IR Range Finder. Make sure you have +5 volts and have a common ground between the microprocessor and your power supply. | ||
- | * Connect PP7 pin to servo' | ||
- | * Double check your circuitry with your TA before powering up anything. | ||
- | * Recompile the project and transfer the binaries to Dragon12 board. {{: | ||
- | ==== Reference Manuals ==== | + | - Log on to the laboratory workstation |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | - //cd// to the example_apps directory |
- | | + | - Edit the DIRS file to add the source and paths to the files in myapp. This will allow make to find and move the files appropriately |
- | | + | - run //make// to make the sample apps and the new app |
- | | + | - //cd bin// |
- | | + | |
- | | + | |
- | * {{:ucos-ii-cfgman.pdf}} | + | - When your program is working demonstrate it to the TA |
- | * {{:taskassignmentworksheet.pdf}} | + | - Determine the maximum frequency (minimum bit period) that you can reliably send the data and confirm with an oscilloscope. |
- | * {{:lcd-manual.pdf}} | + | - How could you improve the performance? |
- | * {{:whatsnewsince-v200.pdf}} | + | |
- | * {{:releasenotes.pdf}} | + | |
+ | ==== Submission and Evaluation ==== | ||
+ | |||
+ | As well as you demonstration you should submit a brief lab report. For the lab report submit your code, documenting the changes, and the answers to the questions above using the prism submit command. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Reference Manuals and Links ==== | ||
+ | * {{:bbb_srm.pdf|Beaglebone Black Reference Manual}} | ||
+ | * [[http:// | ||
+ | * [[http://elinux.org/ | ||
+ | * [[http:// | ||
+ | |||
+ | |||
+ | ==== Resources ==== | ||
+ | *{{:pru_lab.zip}} |
lab4.1267058846.txt.gz · Last modified: 2010/02/25 00:47 by natalia