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-232 The Concept Most Commonly Available Serial Communications Protocol for Computer. Transceiver Necessary to Translate Between RS-232 Voltage Levels and CMOS Levels.
RS-232 Schematic U RA0 RA1 Vdd RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 OSC1 OSC2 RA3 MCLR RA2 RTCC Vss OSC2 Receive OSC1 Transmit MCLR
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 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 Receive Transmit MCLR_Ext Vss Vdd MCLR OSC2 OSC2_Ext U RA0 RA1 Vdd RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 OSC1 OSC2 RA3 MCLR RA2 RTCC Vss OSC1 Vpp_On J1 ISP Header Out
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 U RA0 RA1 Vdd RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 OSC1 OSC2 RA3 MCLR RA2 RTCC Vss
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 FCE ??? FCE Wait
DLL Communications Programmer Actual Data Checksum FCE 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 := 4FCElength := 2 Iteration 0:cksum = 0 cksum := 4F + cksum Iteration 1:cksum = 4F cksum := CE + cksum Iteration 2:cksum = 1D cksum := ~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: FCECF14 Command RepeatChecksum
ISP Protocol -- Program Start Session Get Device Word EraseProgram FuseX Program Image Image Done? No Yes
Screenshot