Oppenheimer Technologies
description
Transcript of Oppenheimer Technologies
Oppenheimer Technologies
Rick King
Jonathan Creekmore
Problem
Current programming solutions for the Ubicom SX microcontroller are expensive.
Typical costs range from $150-$240.
Our Solution
NADS – Not Another Development System– A low-cost programmer that can be built by students
for less than $50 in components and open software.
Hardware Design
RS-232
Flash Programming
Voltage
In-System Programming
Interface
Ubicom SX-18
PC Target System
RS-232 Interface
RS-232
Ubicom SX-18
PC
RS-232The Concept
Most Commonly Available Serial Communications Protocol for Computer.
Transceiver Necessary to Translate Between RS-232 Voltage Levels and CMOS Levels.
RS-232 Schematic
U4
1718
14
6789
10111213
1615
2
4
1
3
5 RA0RA1
Vdd
RB0RB1RB2RB3RB4RB5RB6RB7
OSC1OSC2
RA3
MCLR
RA2
RTCC
Vss
OSC2
Receive
OSC1
Transmit
MCLR
TransmitReceive
Vss
TransmitEXT
U5
Max233A
123456789
10 11121314151617181920
T2inT1inR1outR1inT1outVssVccC1+VssC2- C2+
V-C1-
V+C2+C2-
V-T2out
R2inR2out
Vss
ReceiveEXT
Vdd
TransmitEXT
ReceiveEXT
J2
DB-9 Header
59
48
37
26
1
Vss
OSC2VssOSC1
J3
50Mhz Resonator
123
Where’s the UART?
A UART Converts Between Asynchronous Serial Data and Parallel Data
This Function is Performed by the SX-18 using Ubicom’s Virtual Peripherals.
Flash ProgrammingVoltage
Flash Programming
Voltage
Ubicom SX-18
Target System
Flash Programming Voltage
The Ubicom SX Family of Processors Require 12 V to Program the Flash Memory.
Design is Limited to a Single 5 V Power Supply.
12 V Must Be Generated on Demand for Programming.
Flash Programming Voltage Schematic
ReceiveTransmit
MCLR_Ext
VssVdd
MCLR
OSC2OSC2_Ext
U4
1718
14
6789
10111213
1615
2
4
1
3
5 RA0RA1
Vdd
RB0RB1RB2RB3RB4RB5RB6RB7
OSC1OSC2
RA3
MCLR
RA2
RTCC
Vss
OSC1Vpp_On
Vpp_On
662-C2+662-C2-
Vdd
662-C1+662-Out
662-C1-Vss
U6
Max662A
1234 5
678
C1-C1+C2-C2+ Vcc
VoutVss
Shdn
C3
0.22uF
662-C2- 662-C2+
662-C1- 662-C1+
C2
0.22uF
C5
4.7uF
662-Out
C4
4.7uF
Vss
Vdd Vss
J1
ISP Header
123456
662-Out
In-System Programming Interface
In-System Programming
Interface
Ubicom SX-18
Target System
Frames and Cycles
17 Frames Per Word
5 Cycles Per Frame
Initiated by Application of 12V Programming Voltage
In-System Programming Schematic
OSC2_Ext
U4
1718
14
6789
10111213
1615
2
4
1
3
5 RA0RA1
Vdd
RB0RB1RB2RB3RB4RB5RB6RB7
OSC1OSC2
RA3
MCLR
RA2
RTCC
VssMCLR_Ext
J1
ISP Header
123456
VddOSC2_Ext
Vss
662-Out
PCB Layout
Waveform
Hardware Costs
Current Parts Cost $30.00
Possible Cost Reductions
Reduce PCB Cost from $10 to $0.70
Potential Cost(1000 quantity)$15.00
Demo Plan
• Create sample program that has output noticeable to the audience.
• Modify program based on audience interaction.
• Program test microcontroller and demonstrate with the new code.
Serial Communications
Programmer 0100111111001110
0110111111001110
6FCE
???
0100111111001110
4FCE
Wait
DLL Communications
Programmer010011111100111011100011
Actual Data Checksum
0100111111001110 11100011
4FCE E3
4FCEE3
Checksum Algorithm
Checksum (payload, length, cksum)
Begin
cksum := 0
for i := 1:length
cksum := payload[i] + cksum
end
cksum := ~cksum + 1
End
Checksum Demo
payload := 4FCE length := 2
Iteration 0: cksum = 0cksum := 4F + cksum
Iteration 1: cksum = 4Fcksum := CE + cksum
Iteration 2: cksum = 1Dcksum := ~cksum + 1
cksum = E3
ISP Protocol -- Program
Start Session
Get Device Word
Erase Done?
Program FuseX
Done? Program Image
Done?
Image Done?
No
Yes
No
Yes
No Yes
No
Yes
Speed Increase
Common commands must be repeated multiple times to be effective
Serial communications channel cannot provide adequate bandwidth for a full image
Solution:
0100111111001110 00010100 11001111
4FCE CF14
Command Repeat Checksum
ISP Protocol -- Program
Start Session
Get Device Word
Erase Program FuseX
Program Image Image Done?
No
Yes
Screenshot