make your own developement board @ 2014.4.21 juluosdev
Post on 13-Jul-2015
965 views
Embed Size (px)
TRANSCRIPT
Make Your Own Development Board
ATMega8 series for example
StarNight @ 2014.4.21 JuluOSDev
After sharing Simple Scheduler @ OSDC.tw 2014,
it is a good chance to talk about the hardware implementation of
Simple Osilloscope
1. (Highest Order)Meet the specification.
2. Smallest cost.
3. Finish it in shortest time.
by
Boundary Conditions!!!
Lessons Learned from PMP (Partial)
Initiating Develop project charter
Planning Collect requirements Define scope Plan Quality Estimate costs Develop schedule
Excuting Monitoring & controlling Closing
The specification going to be met.
Find the smallest cost.Find the shortest time.
The Specification of osilloscope
Signal range: 0 ~ 5V
Sampling frequency: 100 Hz
Sampling channels: 6 ~ 8 channels
Connects to computer with UART
Communication protocal: Modbus
Students homework is a practice which finds the f(x) from x. However, engineers work is
a problem which finds the x from f(x).
by
The Cost and Time
I can use: The ADC channels of AVR. The timer of AVR for periodic sampling. The USART function of AVR.
I can buy an AVR with the money that I can afford.
I am familiar with AVR, which shorts development time.
There are open source resource for AVR, ex: toolchain, programmer ...
Read Datasheet
Reference from: ATmega328 datasheet
Build a development board
That will be an oscilloscope.https://github.com/starnight/ATmega328-Board
Tools
Toolchain:avr-gcc
Libc:avr-libc
Downloader/Uploader:avrdude
Prgrammer:USBtinyISP, USBasp ...
I flashedSimple Oscilloscope
firmware into the development board.
https://github.com/starnight/Simple-Oscilloscope
Function Generator for SignalsSchmitt Trigger Integrator
Could reference: http://www.pcbheaven.com/circuitpages/Triangle_Wave_Generator/
Function Generator
Oscilloscope Console by python + pyserial + matplotlib
All Circuits Analysis Begins with
On - Off
For a resistor:v(t) = i(t) r(t)
For a capacitor:q(t) = C(t) v(t)
For an inductor:v(t) = d ( L(t) i(t) ) / dt
Lessons Learned from Oscilloscope
Nyquist Frequency / Aliasing
http://en.wikipedia.org/wiki/Aliasing
We need to integrate the knowledge learned from school and use it when implementation.
Build your own tools ~
Thats maker !!!!!
Thank you and Q & A
https://github.com/starnight/ATmega328-Board