大学项目知识库

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

University Programs Knowledge Base

讨论

排序依据:
Freescale S12 C-Family Specific Device Used = APS12C128SLK Courses Developed by Fredrick M. Cady Related Textbook: Oxford University Press: Software and Hardware Engineering: Fredrick M. Cady Files: All files related to this course are at bottom of this page. Summary: Introductory level course.  Covers basic microcontroller concepts and exercises in both assembly and C programming language.  Instructor editions of the laboratory include answers to questions and additional commentary by author especially for instructors. The following is a laboratory short courses developed applying the Process Oriented Guided Inquiry Learning (POGIL) pedagogy.  POGIL uses guided inquiry – a learning cycle of exploration, concept invention and application – as the basis for many of the carefully designed materials that students use to guide them to construct new knowledge.  POGIL is a student-centered strategy; students work in small groups with individual roles to ensure that all students are fully engaged in the learning process. POGIL activities focus on core concepts and encourage a deep understanding of the course material while developing higher-order thinking skills. POGIL develops process skills such as critical thinking, problem solving, and communication through cooperation and reflection, helping students become lifelong learners and preparing them to be more competitive in a global market. Course Contents: Title Topic Document Name Objective S/W Required H/W Required The Microcontroller - General Principles General Principles – The MCU LABSS12CINTRO01.pdf Show architecture of typical microcontroller; define terms. None None Software Development General Principles – S/W Development LABS12CINTRO02.pdf Show S/W/firmware development tools and process. None None Introduction to CodeWarrior - Simluating the Microcontroller in Assembly Language Introduction to the Laboratory – I LABSS12CINTRO03.pdf Introduce the S/W development system used in the lab. CW Introduction to CodeWarrior - Running Assembly Programs on the Microcontroller Introduction to the Laboratory – II LABSS12CINTRO04.pdf Continue above and introduce hardware used in the lab. CW SLK The Assembler Assembler Program LABSS12CINTRO05.pdf Learn the fundamentals of the assembler. CW Exploring Embedded C Programming The C Compiler LABS12CINTRO06.pdf Learn about using C in embedded systems. CW Introduction to CodeWarrior - Simulating the Microcontroller in C Intro to uC Hardware LABSS12CINTRO07.pdf Learn programmer's model and addressing modes None None Introduction to Your Microcontroller Hardware Intro to uC Hardware LABS12CINTRO08.pdf Learn programmer's model and addressing modes None None The Microcontroller Instruction Set I Instructions – I LABSS12CINTRO09.pdf Start to learn the instruction set; memory addressing; conditional branching. None None The Microcontroller Instruction Set II Instructions – II LABS12CINTRO10.pdf Continue ". CW SLK The Bouncing Switch in Assembly Switch Debouncing in Assembly LABS12CINTRO27.pdf Demonstrate switch debouncing and solutions CW SLK The Timer – Introduction to Timer Overflows With C Timers – I LABSS12CINTRO11.pdf Generating a delay using the timer overflow. CW SLK Digital Input and Output Digital Input and Output LABSS12CINTRO12.pdf Input from switches, output to LEDs. CW SLK Digital Input and Output With C Digital Input and Output LABS12CINTRO13.pdf Input from switches, output to LEDs. CW SLK I/O Software Synchronization Digital I/O software LABSS12CINTRO14.pdf I/O software synchronization CW SLK Introduction to Interrupts Using C Interrupts – I LABS12CINTRO15.pdf Learn fundamentals of interrupt vectors, etc. CW SLK The Bouncing Switch in C Switch Debouncing in C LABS12CINTRO28.pdf Demonstrate switch debouncing and solutions CW SLK Introduction to Interrupts Interrupts – I LABS12CINTRO16.pdf Learn fundamentals of interrupt vectors, etc. CW SLK Sources of Multiple Interrupts Interrupts – II LABS12CINTRO32.pdf Multiple sources of interrupts. CW SLK and scope The Timer – Introduction to Timer Overflows The Timer – Intro to Timer Overflows LABS12CINTRO17.pdf Generating a delay by polling the timer overflow. CW SLK The Timer – Timer Overflow Interrupts The Timer – Timer Overflow Interrupts LABS12CINTRO18.pdf Generating a delay using timer overflow interrupts CW SLK The Timer – Output Compare The Timer – Output Compare LABS12CINTRO19.pdf Waveform generation using output compare and interrupts. CW SLK and scope The Timer – Input Capture The Timer – Input Capture LABS12CINTRO20.pdf Using input capture to measure pulse width CW SLK The Timer – Pulse Accumulator The Timer – Pulse Accumulator LABS12CINTRO21.pdf Using pulse accumulator in event counting and gated time mode CW SLK and signal generator Analog Input using Assembly ATD – I LABSS12CINTRO22.pdf Introduce analog-to-digital conversion CW SLK Analog Input using C ATD – I LABSS12CINTRO26.pdf Introduce analog-to-digital conversion CW SLK Sampling and Resolution for Analog Input ATD- II LABS12CINTRO23.pdf ATD Sampling None None HCS12 A/D Digital I/O ATD – III LABSS12CINTRO24.pdf Digital I/O using the ATD CW SLK COP Coming Soon Using the COP CW SLK MSCAN Coming Soon Using the CAN module CW SLK SERIAL I/O – SCI SCI LABS12CINTRO29.pdf Introduction to SCI CW SLK and terminal SERIAL I/O INTERFACES – RS-232-C SCI-II LABS12CINTRO30.pdf Creating an RS-232-C communication Interface SERIAL I/O – The Serial Peripheral Interface SPI – I LABSS12CINTRO31.pdf Introduction to the SPI CW SLK, scope, SPI device SPI – II Coming Soon LCD CW SLK, LCD Register Listing HCS12C Family Register Listing HCS12C Family LABS12CINTRO25.pdf Complete course files restricted to verified faculty only.  Available for download in the Faculty-Portal
查看全文
Overview: The TWR-TFC-K20  is an all-in-one tower CPU card that can be used to create an autonomous race vehicle for the the Freescale Cup.   It has all the interfaces necessary for the car to sense the track and control the vehicle    This card is also a great platform for teaching embedded systems.   The TWR-TFC-K20 uses a Freescale Kinetis K20 MCU and has some really cool I/O to keep students interested. Features: Servo Outputs 3-pin Header to connector directly to steering Servo 1 Extra Servo header. Camera Interfaces 1. 5-pin header to connect directly to a Freescale Line Scan Camera 2. Header for 2nd linescan camera (optional) 3. RCA Camera Interface. Includes an LMH1981 Sync Extraction chip and connection to MCU to allow for low resolution (64x64) image capture at 60FPS Power Accepts direct battery power – onboard switching regulator 5-18v All circuitry except for motor controller can be optionally powered over USB Connector DC Motor Drivers QTY 2 MC33887APVW : Dual, Independent 5A Motor Driving Circuit. Supports forward, reverse and braking. Independent control over each drive motor allows for an active differential implementation Current Feedback to MCU ADC to allow for closed loop torque control CPU/ Programming Integrated Kinetis MK20DN512ZVLL10MCU with OSJTAG Additional I/O Some basic I/O for debugging. 4-poistion DIP Switch + 4 LEDs + 2 pushbuttons. Inputs for Tach Signal/Speed Sensor Design Files Rev Beta [B] (Current Production version) Schematics, Assembly Prints, BOM, etc. - Includes 3d view Rev B Errata: None known! Example Code: All software relating to the TWR-TFC-K20 is held in an Google Code Subversion repository.   This is the only way the source is distributed.   Never used a version control system yet?   Now is the time to learn (Google is your friend)!   All "real" software development processes use some form of version control.  TortoiseSVN is a nice client for SVN! Google Code Repository: https://code.google.com/p/tfc-twr/ This code works with Rev B of the board. All major interfaces & peripherals have been tested. At some point we will make a video going through the code. By default, the Linescan camera code is enabled. The code in main.c is pretty easy to follow. There is also code for the NTSC camera but must enabled in the TFC_Config.h file via a pre-processor directive. There is also code used for the OSTAG interface, Labview demo applications and drivers for the USB Videos:
查看全文
Freescale cup 2012 Team 3.14 Slovakia Bratislava High speed camera 400fps
查看全文
Lab exercise supporting the i.MX53QSB for Master Student level student prepared by massimoviolante from the Politecnico of Torino. Complete course file(s) restricted to verified faculty only.  Available for download in the Faculty-Portal
查看全文
Freescale cup 2011 India....trials ... line follower
查看全文
How to setup GPIO on the Kinetis. Includes discussion on enabled clocks to peripherals and setting up the pin control registers.
查看全文
El presente proyecto busca solucionar de una manera práctica y divertida actividades de terapia que pueden ser parte de la vida de cada persona con necesidades especiales, especialmente infantes. Por medio de este proyecto se pretende desarrollar la memoria y el orden lógico. Utilizando un sensor óptico para la lectura de pequeños Cubos de colores, el carro donde será transportado el sensor óptico emitirá una nota musical, misma que dependerá del color del cubo. El equipo de trabajo está conformado por cuatro   estudiantes del Tecnologíco de Monterrey de primer semestre de la carrera de mecatronica.
查看全文
32-bit Kinetis MCUs represent the most scalable portfolio of ARM® Cortex™-M4 MCUs in the industry. Enabled by innovative 90nm Thin Film Storage (TFS) flash technology with unique FlexMemory (configurable embedded EEPROM), Kinetis features the latest low-power innovations and high performance, high precision mixed-signal capability. For the Freescale Cup Challenge, we have provided several tutorials, example code and projects based on the twr-k40x256-kit. This board is part of the Freescale tower-system, a modular, reusable development platform that allows engineers to quickly prototype new designs. The K40 chip is a 144 pin package with 512KB of Flash, 245Kb of Program Flash, 4KB of EEProm, and 64KB of SRAM. Important Documents: Reference Manual Besides the Reference manual and the Datasheet, the most useful document for learning to program the K40 chip is the Kinetis Peripheral Module Quick Reference Data sheet Errata External Links Freescale's Kinetis K40 Product Page
查看全文
A great exercise when first starting with a new microcontroller is to get LEDs to turn-on, flash, or dim. Depending upon the configuration of your circuit, a LED (light-emitting diode) is accessed by toggling a GPIO or 'General Purpose Input Output pin either high or low. GPIO pins can be configured either as an input (read) or output (write). A high signal is often referred to as "Asserted" or a logic "1" and a low signal designated as Negated or logic "0". The input and output voltage range for GPIO pins is typically limited to the supply voltage of the evaluation board. Usage To optimize functionality in small packages, physical microcontroller pins have several functions available via signal multiplexing. Internally, a pin will have several wires connected to it via a multiplexer (wiki) or MUX. A multiplexer selects between several inputs and sends the selected signal to its output pin. The Signal Multiplexing chapter of your reference manual illustrates which device signals are multiplexed on which external pin. The Port Control block controls which signal is present on the external pin. The configuration registers within a microcontroller require proper configuration to select the GPIO as an input or output. The same GPIO pins utilized to blink a LED can be wired to read a signal coming from an external device such as the input from a hall effect sensor. Freescale Cup participants will configure GPIO pins as outputs to control the line-scan-camera via timed pulses and clock type signals. Read/Write In write mode, the GPIO pin can be set, cleared, or toggled via software initiated register settings. To determine which pin on the microcontroller is connected to a LED and how to access it from software, refer to the schematic of the microcontroller board. This pin will have numeric or alfanumeric value as well as an descriptive designation such as PTC7. Microcontroller Reference Manual: GPIO Information You will find high level information about GPIO usage in several different areas of a reference manual. See thereference-manual article for more general information. Relevant Chapters: Introduction: Human-machine interfaces - lists the memory map and register definitions for the GPIO System Modules: System Integration Modules (SIM) - provides system control and chip configuration registers Chip Configuration: Human-Machine interfaces (HMI). Signal Multiplexing: Port control and interrupts Human-Machine Interfaces: General purpose input/output Hardware As stated before, internal registers control whether a pin is high or low. Determining the polarity or orientation of your LED is important because this will let you know whether to set the associated pin in the HIGH or LOW state. The evaluation boards from Freescale all provide LED circuits like the one shown below. LED Circuit The circuit in figure (1) demonstrates a simple way to to power a LED. The circuit consists of connecting in a LED, resistor (which limits the current) and voltage source in series. LED's are semiconductors which convert current to light. When they are forward biased (turned on), electron and holes will recombine with no change in momentum, emitting a photon or light wave. Choosing the resistor is simple if you know the operating current requirements for your LED which are determined by reading the LED datasheet or specification document. R = (Vs - VL)/ IL Where V s is the power supply voltage, and V L is the Voltage Drop across the LED, and I L is the desired current through the LED.
查看全文
The attached final rules are valid for the 2014 Freescale Innovation Competition rules
查看全文
Notes: Will ask - Do you want to add the Remote System to your workspace? Click yes Build - select flash Plug in your K40 board to the usb (tower is not needed in this step) Click on debug as it will ask you which configuration you want to launch: Select the internal flash one. Bottom right you will see it "Launching with a little green light indicating that it is programming your board. After clicking debug as, you will enter the debug Eclipse "view" nothing will happen until you press "resume" Download the Zip file which is located: LED BLINK 96MHZ How to: Set up a debug: Program the FLASH Click on project in codewarrior projects menu There is noe issue with the Kinetis chips errata 2448. The code which is in our zip file already has these changes made, but if you download Kinetis example code from the official freescale site instead of using the wiki code - it may not work. Read more about the work - around here: here ++ Test to make sure everything is working properly CodeWarrior typically defaults to a "pause" setting when the debug is first started. To test wheter the code is working you will need to press "resume"
查看全文
This tutorial is meant to introduce you to the use of a push button. It will give an explanation and example code of how you could implement a push button. Push buttons can be a great way to set a number of different states. Push buttons are advantageous because you can change your code physically versus pulling up the debugger every time you want to make a little change. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Usage A button can have many different functions on your autonomous vehicle. Most notably the button has been used for testing to start, stop, or put your car in a configuration mode. Configuration mode would let you test to see if all the peripherals except the motors are working. This would help you test your camera data and servo angles without always having to run after your car. During your race you can even set your button to different speed states. Since you have two chance to traverse the track you may have a slower safer speed on one state and a faster speed the pushes the limit on another state. In the end, what you do with the button is up to you and the choices are unlimited. Description of Example Code Below there will be an example of how to implement a push button. This push button will be connected to PTA16. When reading this pin a high, "1" or 5V, is considered "OFF" and a low, "0" or 0V, is considered "ON." To reduce the effects of bounce and/or the chance of a false press, additional code has been added to filter the signal. This is done by checking the button every 10ms for 50ms. If the button has been pressed for 3 or more of the 5 times we will change the state, otherwise it will not be considered a "press." Button Initialization Here is the initialization code that can be put in a header such as "Button.h." #define BUTTONLENGTH 5   // Button's Defined State   // 0 means button not pressed   // 1 means button pressed short fButton = 0; short iButtonCount=0; short iButtonTimer=0;   // Button Triggered Start time short iButtonTime; void initButton() {   //turn on clock to Port A   SIM_SCGC5 |= SIM_SCGC5_PORTA_MASK;   // configure pin to be GPIO   PORTA_PCR16 = PORT_PCR_MUX(1) | PORT_PCR_DSE_MASK;   // configure PTA16 to be input   GPIOA_PDDR &= (0<<16);  } See GPIO for explanation of how these specific commands work. Button Implementation Below is an example of a function that implements the button function. This function can be stored in a header file "Button.h" along with the initialization code. To call this function you would just place "readButton();" in your 10ms Flextimer source code. Read comments for description of each line Void readButton () {                  short fButtonState  = 0;   // initializes the button state to "OFF"           iButtonCount++;            // increments button count      if (GPIOA_PDIR & (1<<16)) {                    // if button read as high then its off otherwise its on           fButtonState = 0;      } else {           fButtonState = 1;      }      if (fButtonState && ! fButton) {                          // if the button is pushed and it previously wasn't then start a count           iButtonTimer++;           if (iButtonTimer <= 1) {                                                             iButtonCount = 0;                                 // Reset the Button Count if the timer is less or equal to 1           }      } else if (! fButtonState && fButton) {           iButtonTimer++;           if ( iButtonTimer <= 1) {                iButtonCount = 0;                               // Reset the Button count if the timer is less or equal to 1           }      }      if ( iButtonCount > BUTTONLENGTH && iButtonTimer >0) {     // if button has been read for 50ms check to see if we passed the test!           if ( iButtonTimer > (3*BUTTONLENGTH/4) && fButton) {                // fButton = 0;           } else if (iButtonTimer > (3*BUTTONLENGTH/4) && ! fButton) {                fButton = 1;           }           iButtonCount = 0;           iButtonTimer = 0;     } }
查看全文
Congratulations to all the teams to making it this far.  Last minute tweaks made and broke a few teams shooting for the top spot. Best times: (in seconds) 14.89 - Beijing University of Science and Technology [China] 17.60 - Swinburne University of Technology [Malaysia] 19.08 - National Taiwan University of Science and Technology [Taiwan] 19.57 - Escola Politecnica da Universidade de Sao Paulo [Brazil] 20.54 - University of California Berkeley [USA] 22.14 - Slovak University of Technology [Slovakia] DNF - The University of Tokyo [Japan] DNF - Bannari Amman Institute of Technology [India] DNF - Instituto Politecnico Nacional [Mexico] Read more: Day 1: Freescale Cup 2013 Worldwide Championship and China Regional Finals Day 2:  (coming soon)
查看全文
Join Professor Richard Balogh and his students as they explain how they mastered the challenges of The Freescale Cup and won the 2013 EMEA title in March this year. The team FEI-Minetors from the Slovak Technical University in Bratislava also attended The Freescale Cup Worldwide Challenge held in Harbin, China this summer. To see our event schedule, join us on The Freescale Google+ page at https://www.google.com/+freescale
查看全文
MCU101 (Theory Topics)   Know Your Microcontrollers   Blink LED   Drive a DC Motor   Turn a Servo   https://community.nxp.com/docs/DOC-1030   Navigating Technical Documentation   C programming for Embedded System Software Tools CodeWarrior Software Development Tools & IDE CodeWarrior Beginners Tutorial (videos)   TRK-MPC 5604B Hardware Setup   Creating a new bareboard project   Debugging a bareboard project   Importing projects and merging code   Discussion of the header files (part 1)   Discussion of the header files (part 2) Qorivva Specific (with Code) Beginners Hands-on Tutorials Blink LED Drive DC Motor Turn A Servo Line Scan Camera Hardware https://community.nxp.com/docs/DOC-1016 DIY Camera Mounting Wiring Connections for TRK-MPC5604b Batteries Advanced Tutorial Series Push-Buttons   I2C Sensors using Kinetis K40 Miscellaneous Topics PCB design tips
查看全文
http://www.freescale.com - FTF on-the-street reporter talks to ITESM from Guadalajara, Mexico who describe their challenges and learnings in building an inte...
查看全文
1. Download CodeWarrior 2.8 Evaluation Version (Classic, Windows-hosted) To Program your microcontroller you will need to set up the CodeWarrior Integrated Development Environment. CodeWarrior is available on the Freescale.com Website. Method 1: Direct Link direct download link (Caution - link may not be up to date) Method 2: Navigate to the Download Link From Freescale.com click on: "Design Resources" tab at the top of the page, then navigate to "Software and Tools", and then to "Codewarrior Devleopment Tools" Click on the "Download CodeWarrior now link" Click on the Download Evaluation Versions link" Within this page, use your browser "find" feature (Typically CTRL-F) to search for the text string "V2.8" Click the "download" button next to "Evaluation: CodeWarrior for MPC55xx/MPC56xx Microcontrollers V2.8 (Classic)". and save it to your computer. 2. Install CodeWarrior To install CodeWarrior Development Studio for Microcontrollers v2.8, double-click the installation package and a wizard will guide you through the installation process. Installation Notes: Are you using Windows Vista or Windows 7? Evaluation Edition User: If you are installing the Evaluation Edition, the Evaluation license is automatically installed with your product and you do not need to register it. This license allows you to develop projects as Professional Edition within the 30-day evaluation period. After 30 days, the license works as Special Edition license (free permanent, but feature limited) which supports unlimited assembly code, up to 32KB of C code for HCS08/RS08 derivatives, up to 64KB of C code for V1 ColdFire derivatives and up to 128KB of C code for V2-V4 ColdFire and Kinetis derivatives and up to 512KB of C code for MPC56xx derivatives. Once you have finished downloading and installing CodeWarrior, users can return to Downloading and Installing P&E as part of the Blink a LED on Qorivva Tutorial
查看全文