make your own developement board @ 2014.4.21 juluosdev
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