<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.opencircuits.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=59.148.253.117</id>
	<title>OpenCircuits - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.opencircuits.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=59.148.253.117"/>
	<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Special:Contributions/59.148.253.117"/>
	<updated>2026-04-22T08:14:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Modulation_Plugin&amp;diff=22898</id>
		<title>Modulation Plugin</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Modulation_Plugin&amp;diff=22898"/>
		<updated>2012-04-26T06:35:37Z</updated>

		<summary type="html">&lt;p&gt;59.148.253.117: /* SVN Server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This project aims to develop an Modulation Plugin Module, to be used in conjunction with a 8/16 bits embedded system such as the dsPic33F development board. &lt;br /&gt;
&lt;br /&gt;
==ToDo==&lt;br /&gt;
*Voltage during &amp;quot;Lo&amp;quot; time of DAC can also be set (i.e. not necessary zero)&lt;br /&gt;
*modulation cct &amp;amp; PCb&lt;br /&gt;
**Bias resistors for op-amp&lt;br /&gt;
**crystal &amp;amp; SMD res. too close, easy to short when soldering&lt;br /&gt;
**footprint of some chips are too small, enlarge it for easily soldering&lt;br /&gt;
**some cct modification&lt;br /&gt;
***modify the res. value&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Objectives==&lt;br /&gt;
*The modulation module is used to deliver a digital output signal with the following characteristics:&lt;br /&gt;
**Square wave&lt;br /&gt;
**Variable frequency (0 - &amp;gt;10kHz)&lt;br /&gt;
**Variable amplitude (0V - 2.5V)&lt;br /&gt;
**Accuracy frequency response (error &amp;lt; 2%)&lt;br /&gt;
*Interface to MCU which do the control&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Software Solution==&lt;br /&gt;
*Timer Interrupt controlling I2C DAC can only achieve frequency response of about 500Hz&lt;br /&gt;
**5byte/cmd&lt;br /&gt;
**8bit/byte&lt;br /&gt;
**baudrate = 400kHz&lt;br /&gt;
**This yields 10kHz (0.1ms)&lt;br /&gt;
**As OS context switch is 10ms, set timer to 1ms (1kHz), so that 0.9ms can be used to process other tasks&lt;br /&gt;
**timer frequency of 1kHz yields a modulation frequency of 500Hz&lt;br /&gt;
*Due to higher freq. response requirement, so using hardware to implement the clock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Hardware Solution==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circuit===&lt;br /&gt;
&lt;br /&gt;
                     +-----+            +--------+         +--------+&lt;br /&gt;
       I2C Bus       |     |            | Analog |         | Op-Amp |&lt;br /&gt;
   ------------+-----| DAC |------------| Switch |---------|        |---------Output&lt;br /&gt;
               |     |     |            +--------+         +--------+&lt;br /&gt;
               |     +-----+                |&lt;br /&gt;
               |                            |&lt;br /&gt;
               |     +--------------+       |&lt;br /&gt;
               |     | Programmable |       |&lt;br /&gt;
               +-----| Clock        |-------+&lt;br /&gt;
                     +--------------+&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
*This architecture allows the square wave to run at a very high frequency, even with a slow I2C and a slow DAC.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circuit Simulation by [http://www.falstad.com/circuit/ Paul Falstad's Web]===&lt;br /&gt;
*Import the following&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;&lt;br /&gt;
$ 1 5.0E-6 16.817414165184545 64 5.0 50&lt;br /&gt;
w 128 256 144 256 0&lt;br /&gt;
w 16 256 64 256 0&lt;br /&gt;
g 16 352 16 368 0&lt;br /&gt;
v 64 64 112 64 0 0 40.0 2.5 0.0 0.0 0.5&lt;br /&gt;
w 112 128 144 128 0&lt;br /&gt;
w 64 128 16 128 0&lt;br /&gt;
w 16 128 16 256 0&lt;br /&gt;
v 64 256 128 256 0 2 1000.0 1.65 1.65 0.0 0.5&lt;br /&gt;
a 336 144 464 144 1 3.3 0.0&lt;br /&gt;
w 336 160 336 192 0&lt;br /&gt;
w 464 192 464 144 0&lt;br /&gt;
w 464 144 512 144 0&lt;br /&gt;
r 592 144 592 256 0 1000.0&lt;br /&gt;
g 592 352 592 368 0&lt;br /&gt;
w 512 144 592 144 0&lt;br /&gt;
w 336 192 352 192 0&lt;br /&gt;
w 432 192 464 192 0&lt;br /&gt;
v 64 128 112 128 0 1 1.0 1.25 1.25 0.0 0.5&lt;br /&gt;
w 16 256 16 288 0&lt;br /&gt;
w 16 288 16 352 0&lt;br /&gt;
w 592 256 592 352 0&lt;br /&gt;
g 272 352 272 368 0&lt;br /&gt;
w 272 128 336 128 0&lt;br /&gt;
w 176 256 176 144 0&lt;br /&gt;
r 272 224 272 288 0 10000.0&lt;br /&gt;
w 272 128 272 224 0&lt;br /&gt;
w 272 288 272 352 0&lt;br /&gt;
159 144 128 208 128 0&lt;br /&gt;
r 208 128 256 128 0 10000.0&lt;br /&gt;
w 256 128 272 128 0&lt;br /&gt;
w 144 256 176 256 0&lt;br /&gt;
r 336 224 336 288 0 10000.0&lt;br /&gt;
g 336 352 336 368 0&lt;br /&gt;
w 336 288 336 352 0&lt;br /&gt;
w 336 192 336 224 0&lt;br /&gt;
r 352 192 432 192 0 10000.0&lt;br /&gt;
o 4 64 0 34 2.5 9.765625E-5 0 -1&lt;br /&gt;
o 0 64 0 35 5.0 9.765625E-5 1 -1&lt;br /&gt;
o 11 64 0 34 2.5 3.90625E-4 2 -1&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Selected Chips===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ &lt;br /&gt;
!  Part No. !! Description&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [http://ww1.microchip.com/downloads/en/DeviceDoc/70165E.pdf dsPIC33FJ256GP506-I/PT] || uP programed as I2C Quad-channel programmable clock[*]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [http://focus.ti.com/lit/ds/symlink/dac7574.pdf DAC7574IDGS] || Quad-channel 12-bit I2C DAC&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [http://focus.ti.com/lit/ds/symlink/sn74ahc4066.pdf SN74AHC4066PWR] || Quad-channel Bilateral Analog Switch&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| [http://focus.ti.com/lit/ds/symlink/opa4340.pdf OPA4340EA] || Single-Supply, Quad-channel, Rail-to-Rail Operational Amplifiers&lt;br /&gt;
|}&lt;br /&gt;
*[*]Alternatives: [http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4474 DS1089L]: 3.3V Center Spread-Spectrum EconOscillator&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Overall Performance===&lt;br /&gt;
&lt;br /&gt;
====dsPic Programmable Clock====&lt;br /&gt;
*I2C Baudrate: 400kHz&lt;br /&gt;
*Output Voltage Range: 0 - 3.3V&lt;br /&gt;
*Output Frequency Range: 0 - 200kHz&lt;br /&gt;
**Cannot reach higher frequency due to minimum time to execute code in interrupt routine is about 500ns&lt;br /&gt;
*Number of channels: 4&lt;br /&gt;
*Accuracy of frequency: &amp;lt;2%&lt;br /&gt;
**Conditions: external crystal, no OS context switch, single channel operation&lt;br /&gt;
**Measurements (by scope)&lt;br /&gt;
***+/-2.100kHz@200kHz =&amp;gt; 1.05%&lt;br /&gt;
***+/-0.520kHz@100kHz =&amp;gt; 0.52%&lt;br /&gt;
***+/-0.140kHz@50kHz =&amp;gt; 0.28%&lt;br /&gt;
***+/-0.006kHz@10kHz =&amp;gt; 0.06%&lt;br /&gt;
***+/-0.002kHz@5kHz =&amp;gt; 0.04%&lt;br /&gt;
***+/-0.200Hz@1000Hz =&amp;gt; 0.02%&lt;br /&gt;
***+/-0.000Hz@500Hz =&amp;gt; 0.00%&lt;br /&gt;
***+/-0.000Hz@100Hz =&amp;gt; 0.00%&lt;br /&gt;
***+/-0.0001Hz@50Hz =&amp;gt; 0.02%&lt;br /&gt;
***+/-0.000Hz@10Hz =&amp;gt; 0.00%&lt;br /&gt;
***+/-0.000Hz@5Hz =&amp;gt; 0.00%&lt;br /&gt;
*Accuracy of frequency: &amp;lt;2%&lt;br /&gt;
**Conditions: external crystal, no OS context switch, 4 channel operation, Ch2 = 1kHz, Ch3 = 50kHz, Ch4 = 200kHz&lt;br /&gt;
**Measurements of ch1 (by scope)&lt;br /&gt;
***+/-2.000kHz@200kHz =&amp;gt; 1.00%&lt;br /&gt;
***+/-0.520kHz@100kHz =&amp;gt; 0.52%&lt;br /&gt;
***+/-0.130kHz@50kHz =&amp;gt; 0.26%&lt;br /&gt;
***+/-0.130kHz@10kHz =&amp;gt; 0.06%&lt;br /&gt;
***+/-0.002kHz@5kHz =&amp;gt; 0.04%&lt;br /&gt;
***+/-0.200Hz@1000Hz =&amp;gt; 0.02%&lt;br /&gt;
***+/-0.100Hz@500Hz =&amp;gt; 0.02%&lt;br /&gt;
***+/-0.000Hz@100Hz =&amp;gt; 0.00%&lt;br /&gt;
***+/-0.010Hz@50Hz =&amp;gt; 0.01%&lt;br /&gt;
***+/-0.000Hz@10Hz =&amp;gt; 0.00%&lt;br /&gt;
***+/-0.001Hz@5Hz =&amp;gt; 0.02%&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[http://chungyan5.no-ip.org/vc/?root=modulation_plugin SVN Server]===&lt;br /&gt;
*Contains circuit PCB and software&lt;br /&gt;
====Version 1.00.01====&lt;br /&gt;
*dsPic programmable clock + dac + analog switch + op-amp&lt;br /&gt;
====Version 2.02.00====&lt;br /&gt;
*dsPic programmable clock only.&lt;br /&gt;
*dac + analog switch + op-amp introduce bouncing noise spikes when switching. &lt;br /&gt;
*New board provides trigger signal to external circuitry only.&lt;br /&gt;
&lt;br /&gt;
===Testing Procedure===&lt;br /&gt;
&lt;br /&gt;
====Version 1.00.01====&lt;br /&gt;
*For each channel (ch 1 - 4) at pin H2.1, H2.3, H2.5, H2.7&lt;br /&gt;
**Use a CRO to watch the signal&lt;br /&gt;
***Enable the channel&lt;br /&gt;
***Adjust the voltage from 0 - 2.5V (measure accuracy).&lt;br /&gt;
***Adjust the frequency from DC - 200kHz (measure accuracy). If frequency is not accurate, check crystal circuitry.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category:projects]]&lt;/div&gt;</summary>
		<author><name>59.148.253.117</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=22897</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=22897"/>
		<updated>2012-04-26T06:29:27Z</updated>

		<summary type="html">&lt;p&gt;59.148.253.117: /* dsPicProgrammer User Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Description on how to use dsPicProgrammer to download firmware to [{{SERVER}}/DsPIC30F_5011_Development_Board DsPIC30F 5011 Development Board]&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC with USB port (with Windows)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings. See [http://www.sureelectronics.net/pdfs/DB-DP003.pdf manual] for details.&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspic_bootloader dsPicBootloader] ('''bl_$(MODEL).hex''').&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose the correct dsPic model&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_$(MODEL).hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Connect six pin cable to target board. Beware of the pin assignments. Only pin 1 - 5 are used.&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
*Wait until finishes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Target&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download and Loading Firmware==&lt;br /&gt;
===dsPicProgrammer User Guide===&lt;br /&gt;
[http://chungyan5.no-ip.org/download/software/dsPicProgrammer/dsPicProgrammerUserGuide_V2.0.1.pdf dsPicProgrammerUserGuide_V2.0.1]&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC (Linux/Windows) with COM Port OR USB-COM converter cable&lt;br /&gt;
#Target Board (with bootloader)&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspicProgrammer dsPicProgrammer]&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
&lt;br /&gt;
====Setup COM Port====&lt;br /&gt;
[[Image:DSC00921.JPG | 480px]]&lt;br /&gt;
*Connect your USB-COM converter cable to your computer&lt;br /&gt;
*Or Using a real COM PORT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=====Find out your COM port Number=====&lt;br /&gt;
[[Image:1.jpg | 480px]]&lt;br /&gt;
*Go to Control Panel \ Device Manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:2.jpg | 480 px]]&lt;br /&gt;
*Find out your Device COM Port Number&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
====Get the Dspic Programmer====&lt;br /&gt;
[[Image:programmer_3.jpg |480px]]&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer3.00.01s.zip dsPicProgrammer.zip], from [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/ws/ updated directory] or [http://chungyan5.no-ip.org/vc svn server]&lt;br /&gt;
*Unzip the dsPicProgrammer.zip, then you have an unziped file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
====Download Firmware====&lt;br /&gt;
[[Image:programmer_4.jpg |480px]]&lt;br /&gt;
*Save your .hex file(foo.hex) to the folder called firmware.&lt;br /&gt;
*Run dsPicProgrammer.bat (Windows) / dsPicProgrammer.sh (linux)&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_6.jpg |480px]]&lt;br /&gt;
*Choose a COM port&lt;br /&gt;
*Choose a baudrate &lt;br /&gt;
::115200 is communication speed [in bps]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_7.jpg |480px]]&lt;br /&gt;
*Choose a .hex file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_8.jpg |480px]]&lt;br /&gt;
*Press start &lt;br /&gt;
*Then press Yes to confirm programming the device&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_9.jpg | 480px]]&lt;br /&gt;
*The status during programming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_10.jpg |480px]]&lt;br /&gt;
*The programming have been completed, press OK the close the message box&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Invalid COM Port====&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;''gnu.io.NoSuchPortException: Choosing COM Port Error''&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the COM port ID, or close any programs that are using the COM Port&lt;br /&gt;
====Missing firmware file====&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;''java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;''&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the file path&lt;br /&gt;
====Missing RXTX driver====&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;''Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException''&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: &lt;br /&gt;
**Copy '''RXTXcomm.jar''' to '''/dsPicProgrammer/rxtx/lib'''&lt;br /&gt;
**Copy '''rxtxSerial.dll''' to '''/dsPicProgrammer/rxtx/bin''' (Window)&lt;br /&gt;
**Copy '''librxtxSerial.so''' to '''/dsPicProgrammer/rxtx/bin''' (Linux)&lt;br /&gt;
====Missing JAVA====&lt;br /&gt;
*In case of missing JAVA JDK or JRE, an error message will be prompted.&lt;br /&gt;
*Solution:&lt;br /&gt;
**Copy the contents under directory '''C:/Program Files/Java/jre$(VERSION)/''' to '''/dsPicProgrammer/jre'''&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[PIC Programmers, In Circuit Programming and BootLoaders]]&lt;/div&gt;</summary>
		<author><name>59.148.253.117</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=19232</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=19232"/>
		<updated>2010-02-08T05:52:25Z</updated>

		<summary type="html">&lt;p&gt;59.148.253.117: edit picture size&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Description on how to use dsPicProgrammer to download firmware to [{{SERVER}}/DsPIC30F_5011_Development_Board DsPIC30F 5011 Development Board]&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC with USB port (with Windows)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings. See [http://www.sureelectronics.net/pdfs/DB-DP003.pdf manual] for details.&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspic_bootloader dsPicBootloader] ('''bl_$(MODEL).hex''').&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose the correct dsPic model&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_$(MODEL).hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Connect six pin cable to target board. Beware of the pin assignments. Only pin 1 - 5 are used.&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
*Wait until finishes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Target&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download and Loading Firmware==&lt;br /&gt;
===dsPicProgrammer User Guide===&lt;br /&gt;
[http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammerUserGuide_V2.0.0.pdf dsPicProgrammerUserGuide_V2.0.0]&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC (Linux/Windows) with COM Port OR USB-COM converter cable&lt;br /&gt;
#Target Board (with bootloader)&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://java.sun.com/javase/downloads/index.jsp JAVA JDK or JRE]&lt;br /&gt;
#[http://users.frii.com/jarvi/rxtx/download.html RXTX Driver]: Download rxtx-2.1-7-bins-r2.zip or later&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspicProgrammer dsPicProgrammer] ('''dsPicProgrammer.jar''')&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
&lt;br /&gt;
====Setup COM Port====&lt;br /&gt;
[[Image:DSC00921.JPG | 480px]]&lt;br /&gt;
*Connect your USB-COM converter cable to your computer&lt;br /&gt;
*Or Using a real COM PORT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=====Find out your COM port Number=====&lt;br /&gt;
[[Image:1.jpg | 480px]]&lt;br /&gt;
*Go to Control Panel \ Device Manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:2.jpg | 480 px]]&lt;br /&gt;
*Find out your Device COM Port Number&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
====Get the Dspic Programmer====&lt;br /&gt;
[[Image:programmer_3.jpg |480px]]&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer3.00.01s.zip dsPicProgrammer.zip], from [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/ws/ updated directory] or [http://chungyan5.no-ip.org/vc svn server]&lt;br /&gt;
*Unzip the dsPicProgrammer.zip, then you have an unziped file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
====Download Firmware====&lt;br /&gt;
[[Image:programmer_4.jpg |480px]]&lt;br /&gt;
*Save your .hex file(foo.hex) to the folder called firmware.&lt;br /&gt;
*Run dsPicProgrammer.bat (Windows) / dsPicProgrammer.sh (linux)&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_6.jpg |480px]]&lt;br /&gt;
*Choose a COM port&lt;br /&gt;
*Choose a braudrate &lt;br /&gt;
::115200 is communication speed [in bps]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_7.jpg |480px]]&lt;br /&gt;
*Choose a .hex file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_8.jpg |480px]]&lt;br /&gt;
*Press start &lt;br /&gt;
*Then press Yes to confirm programming the device&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_9.jpg | 480px]]&lt;br /&gt;
*The status during programming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_10.jpg |480px]]&lt;br /&gt;
*The the programming have been completed, press OK the close the message box&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Invalid COM Port====&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;''gnu.io.NoSuchPortException: Choosing COM Port Error''&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the COM port ID, or close any programs that are using the COM Port&lt;br /&gt;
====Missing firmware file====&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;''java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;''&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the file path&lt;br /&gt;
====Missing RXTX driver====&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;''Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException''&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: &lt;br /&gt;
**Copy '''RXTXcomm.jar''' to '''/dsPicProgrammer/rxtx/lib'''&lt;br /&gt;
**Copy '''rxtxSerial.dll''' to '''/dsPicProgrammer/rxtx/bin''' (Window)&lt;br /&gt;
**Copy '''librxtxSerial.so''' to '''/dsPicProgrammer/rxtx/bin''' (Linux)&lt;br /&gt;
====Missing JAVA====&lt;br /&gt;
*In case of missing JAVA JDK or JRE, an error message will be prompted.&lt;br /&gt;
*Solution:&lt;br /&gt;
**Copy the contents under directory '''C:/Program Files/Java/jre$(VERSION)/''' to '''/dsPicProgrammer/jre'''&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[PIC Programmers, In Circuit Programming and BootLoaders]]&lt;/div&gt;</summary>
		<author><name>59.148.253.117</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=19231</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=19231"/>
		<updated>2010-02-08T03:09:33Z</updated>

		<summary type="html">&lt;p&gt;59.148.253.117: update programmer version and menu version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Description on how to use dsPicProgrammer to download firmware to [{{SERVER}}/DsPIC30F_5011_Development_Board DsPIC30F 5011 Development Board]&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC with USB port (with Windows)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings. See [http://www.sureelectronics.net/pdfs/DB-DP003.pdf manual] for details.&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspic_bootloader dsPicBootloader] ('''bl_$(MODEL).hex''').&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose the correct dsPic model&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_$(MODEL).hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Connect six pin cable to target board. Beware of the pin assignments. Only pin 1 - 5 are used.&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
*Wait until finishes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Target&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download and Loading Firmware==&lt;br /&gt;
===dsPicProgrammer User Guide===&lt;br /&gt;
[http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammerUserGuide_V2.0.0.pdf dsPicProgrammerUserGuide_V2.0.0]&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC (Linux/Windows) with COM Port OR USB-COM converter cable&lt;br /&gt;
#Target Board (with bootloader)&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://java.sun.com/javase/downloads/index.jsp JAVA JDK or JRE]&lt;br /&gt;
#[http://users.frii.com/jarvi/rxtx/download.html RXTX Driver]: Download rxtx-2.1-7-bins-r2.zip or later&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspicProgrammer dsPicProgrammer] ('''dsPicProgrammer.jar''')&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
&lt;br /&gt;
====Setup COM Port====&lt;br /&gt;
:[[Image:DSC00921.JPG]]&lt;br /&gt;
*Connect your USB-COM converter cable to your computer&lt;br /&gt;
*Or Using a real COM PORT&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
=====Find out your COM port Number=====&lt;br /&gt;
[[Image:1.jpg]]&lt;br /&gt;
*Go to Control Panel \ Device Manager&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:2.jpg]]&lt;br /&gt;
*Find out your Device COM Port Number&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
====Get the Dspic Programmer====&lt;br /&gt;
[[Image:programmer_3.jpg]]&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer3.00.01s.zip dsPicProgrammer.zip], from [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/ws/ updated directory] or [http://chungyan5.no-ip.org/vc svn server]&lt;br /&gt;
*Unzip the dsPicProgrammer.zip, then you have an unziped file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
====Download Firmware====&lt;br /&gt;
[[Image:programmer_4.jpg]]&lt;br /&gt;
*Save your .hex file(foo.hex) to the folder called firmware.&lt;br /&gt;
*Run dsPicProgrammer.bat (Windows) / dsPicProgrammer.sh (linux)&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_6.jpg]]&lt;br /&gt;
*Choose a COM port&lt;br /&gt;
*Choose a braudrate &lt;br /&gt;
::115200 is communication speed [in bps]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_7.jpg]]&lt;br /&gt;
*Choose a .hex file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_8.jpg]]&lt;br /&gt;
*Press start &lt;br /&gt;
*Then press Yes to confirm programming the device&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_9.jpg]]&lt;br /&gt;
*The status during programming&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Image:programmer_10.jpg]]&lt;br /&gt;
*The the programming have been completed, press OK the close the message box&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Invalid COM Port====&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;''gnu.io.NoSuchPortException: Choosing COM Port Error''&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the COM port ID, or close any programs that are using the COM Port&lt;br /&gt;
====Missing firmware file====&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;''java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;''&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the file path&lt;br /&gt;
====Missing RXTX driver====&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;''Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException''&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: &lt;br /&gt;
**Copy '''RXTXcomm.jar''' to '''/dsPicProgrammer/rxtx/lib'''&lt;br /&gt;
**Copy '''rxtxSerial.dll''' to '''/dsPicProgrammer/rxtx/bin''' (Window)&lt;br /&gt;
**Copy '''librxtxSerial.so''' to '''/dsPicProgrammer/rxtx/bin''' (Linux)&lt;br /&gt;
====Missing JAVA====&lt;br /&gt;
*In case of missing JAVA JDK or JRE, an error message will be prompted.&lt;br /&gt;
*Solution:&lt;br /&gt;
**Copy the contents under directory '''C:/Program Files/Java/jre$(VERSION)/''' to '''/dsPicProgrammer/jre'''&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[PIC Programmers, In Circuit Programming and BootLoaders]]&lt;/div&gt;</summary>
		<author><name>59.148.253.117</name></author>
		
	</entry>
	<entry>
		<id>http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=18703</id>
		<title>Programming the Device</title>
		<link rel="alternate" type="text/html" href="http://www.opencircuits.com/index.php?title=Programming_the_Device&amp;diff=18703"/>
		<updated>2009-09-21T03:45:36Z</updated>

		<summary type="html">&lt;p&gt;59.148.253.117: /* Download and Loading Firmware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Description on how to use dsPicProgrammer to download firmware to [{{SERVER}}/DsPIC30F_5011_Development_Board DsPIC30F 5011 Development Board]&lt;br /&gt;
&lt;br /&gt;
==Loading Bootloader (Once only)==&lt;br /&gt;
&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC with USB port (with Windows)&lt;br /&gt;
#ICD2 Programmer&lt;br /&gt;
#Target Board&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE v7.50]: v7.60 is not compatible with our current [http://www.sure-electronics.com/ ICD2 Programmers]. There are consistent &amp;quot;Devices cannot be founded&amp;quot; warnings. See [http://www.sureelectronics.net/pdfs/DB-DP003.pdf manual] for details.&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspic_bootloader dsPicBootloader] ('''bl_$(MODEL).hex''').&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|+ Loading Bootloader&lt;br /&gt;
! Step !! Remarks &lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install [http://ww1.microchip.com/downloads/en/DeviceDoc/MP750.zip MPLAB IDE] || &lt;br /&gt;
*Do '''NOT''' connect ICD 2 (via USB) to PC&lt;br /&gt;
*Execute '''MPLAB vX.XX Install.exe'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Install USB Driver ||&lt;br /&gt;
*Follow the instruction in (C:\Program Files\Microchip\MPLAB IDE\ICD2\Drivers\Ddicd2.htm)&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Select Target Chip ||&lt;br /&gt;
*Run MPLAB IDE on PC&lt;br /&gt;
*Select: Configure&amp;gt;Select Devices...&lt;br /&gt;
*Choose the correct dsPic model&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Load Bootloader ||&lt;br /&gt;
*Select: File&amp;gt;Import...&lt;br /&gt;
*Select '''bl_$(MODEL).hex'''&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Plug-in ICD 2 to PC via USB cable&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Target &amp;lt;-&amp;gt; ICD 2  ||&lt;br /&gt;
*Connect six pin cable to target board. Beware of the pin assignments. Only pin 1 - 5 are used.&lt;br /&gt;
*Power-up the target.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| ICD 2 &amp;lt;-&amp;gt; PC ||&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;MPLAB ICD 2&lt;br /&gt;
*If this is the first time the ICD 2 is connected to PC, MPLAB IDE will automatically download the required OS to ICD 2, wait until it has finished&lt;br /&gt;
*If you have not connected and powered up the target, you might see Warnings on invalid device IDs, and/or running self tests.&lt;br /&gt;
*See results of self test if necessary: Programmer&amp;gt;Settings, Status Tab. Refer to [http://ww1.microchip.com/downloads/en/DeviceDoc/51331B.pdf ICD2 User's Guide] Chapter 7.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Start Programming ||&lt;br /&gt;
*Select: Programmer&amp;gt;Program&lt;br /&gt;
*Wait until finishes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Finishing ||&lt;br /&gt;
*Power-down the Target&lt;br /&gt;
*Select: Programmer&amp;gt;Select Programmer&amp;gt;None&lt;br /&gt;
*Unplug USB cable&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download and Loading Firmware==&lt;br /&gt;
===dsPicProgrammer User Guide===&lt;br /&gt;
[http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammerUserGuide_V1.0.0.pdf dsPicProgrammerUserGuide_V1.0.0]&lt;br /&gt;
===Hardware Requirement===&lt;br /&gt;
#PC (Linux/Windows) with COM Port OR USB-COM converter cable&lt;br /&gt;
#Target Board (with bootloader)&lt;br /&gt;
#5V Power Supply&lt;br /&gt;
&lt;br /&gt;
===Software Requirement===&lt;br /&gt;
#[http://java.sun.com/javase/downloads/index.jsp JAVA JDK or JRE]&lt;br /&gt;
#[http://users.frii.com/jarvi/rxtx/download.html RXTX Driver]: Download rxtx-2.1-7-bins-r2.zip or later&lt;br /&gt;
#[http://chungyan5.no-ip.org/vc/?root=dspicProgrammer dsPicProgrammer] ('''dsPicProgrammer.jar''')&lt;br /&gt;
&lt;br /&gt;
===Files===&lt;br /&gt;
#Application hex file (e.g. '''app.hex''')&lt;br /&gt;
&lt;br /&gt;
===Procedure===&lt;br /&gt;
&lt;br /&gt;
====Setup COM Port====&lt;br /&gt;
[[Image:DSC00921.JPG]]&lt;br /&gt;
*Connect your USB-COM converter cable to your computer&lt;br /&gt;
*Or Using a real COM PORT&lt;br /&gt;
&lt;br /&gt;
[[Image:1.jpg]]&lt;br /&gt;
*Go to Control Panel \ Device Manager&lt;br /&gt;
&lt;br /&gt;
[[Image:2.jpg]]&lt;br /&gt;
*Find out your Device COM Port Number&lt;br /&gt;
&lt;br /&gt;
====Get the Dspic Programmer====&lt;br /&gt;
*Download [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/dsPicProgrammer1.5.5.zip dsPic_Programmer.zip], from [http://chungyan5.no-ip.org/open_data/electronic_computer/platforms/dspic/dsPicProgrammer/ws/ updated directory] or [http://chungyan5.no-ip.org/vc svn server]&lt;br /&gt;
*Save to a directory.&lt;br /&gt;
::e.g. desktop&lt;br /&gt;
*Unzip the dsPic_Programmer.zip, then you have an unziped file.&lt;br /&gt;
[[Image:prog_guid_dl.JPG]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Drag the unzip file to a directory.&lt;br /&gt;
::e.g. USB memory devices&lt;br /&gt;
[[Image:prog_guid_drag.JPG]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
*Save your .hex file(foo.hex) to your directory location  &lt;br /&gt;
::e.g. X:\dsPic_Programmer\ ---&amp;gt; X:\ is the driver where the dsPic_Programmer located&lt;br /&gt;
[[Image:prog_guid_hex.JPG]]&lt;br /&gt;
&lt;br /&gt;
====Download Firmware====&lt;br /&gt;
*Start a Command Prompt&lt;br /&gt;
**Start -&amp;gt; Run&amp;lt;br&amp;gt;[[Image:2 1 run.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
**Enter cmd&amp;lt;br&amp;gt;[[Image:2 2 cmd.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
*Run dsPicProgrammer&lt;br /&gt;
**Make sure your device is connected through a &amp;quot;Direct RS232 Cable&amp;quot; to PC Serial Port. &lt;br /&gt;
**Change to the directory where dsPicProgrammer.jar is located and run the command, for example: &lt;br /&gt;
***Windows&lt;br /&gt;
****'''jre\bin\java -Djava.library.path=.\rxtx\bin -jar dspicProgrammer.jar COM1 115200 foo.hex''' or &lt;br /&gt;
****'''dsPicProgrammer.bat COM1 115200 foo.hex'''&lt;br /&gt;
***Linux&lt;br /&gt;
****'''java -Djava.library.path=./rxtx/bin -jar dsPicProgrammer.jar /dev/ttyS0 115200 foo.hex''' or&lt;br /&gt;
****'''dsPicProgrammer.sh /dev/ttyS0 115200 foo.hex'''&lt;br /&gt;
**Legend:&lt;br /&gt;
:::COM1 is your COM Port ID&lt;br /&gt;
:::115200 is communication speed [in bps]&lt;br /&gt;
:::foo.hex is your firmware new file&lt;br /&gt;
::[[Image:5.jpg]]&lt;br /&gt;
:*When the program prompt you for an input, press y:&amp;lt;br&amp;gt;[[Image:2 4 prompt.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*If communication can be established, you should see something like this:&amp;lt;br&amp;gt;[[Image:2 5 progress.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*Wait until programming is completed.&amp;lt;br&amp;gt;[[Image:2 6 complete.JPG]]&amp;lt;br&amp;gt;&lt;br /&gt;
:*after all completed, power OFF your device, then power ON again, enjoy your new updated.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====Invalid COM Port====&lt;br /&gt;
*In case of selecting an invalid COM port, you should see the error message:&amp;lt;br&amp;gt;''gnu.io.NoSuchPortException: Choosing COM Port Error''&amp;lt;br&amp;gt;[[Image:3 1 com err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the COM port ID, or close any programs that are using the COM Port&lt;br /&gt;
====Missing firmware file====&lt;br /&gt;
*In case of selecting a firmware file that does not exist, you should see the error message:&amp;lt;br&amp;gt;''java.io.FileNotFoundException: foo1.hex &amp;lt;The system cannot find the file specified&amp;gt;''&amp;lt;br&amp;gt;[[Image:3 2 file err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: check the file path&lt;br /&gt;
====Missing RXTX driver====&lt;br /&gt;
*In case of missing the RXTX driver, you should see the error message:&amp;lt;br&amp;gt;''Exception in thread “main” java.lang.NoClassDefFoundError: gnu/io/UnsupportedCommOperationException''&amp;lt;br&amp;gt;[[Image:3 3 rxtx err.JPG]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
*Solution: &lt;br /&gt;
**Copy '''RXTXcomm.jar''' to '''/dsPicProgrammer/rxtx/lib'''&lt;br /&gt;
**Copy '''rxtxSerial.dll''' to '''/dsPicProgrammer/rxtx/bin''' (Window)&lt;br /&gt;
**Copy '''librxtxSerial.so''' to '''/dsPicProgrammer/rxtx/bin''' (Linux)&lt;br /&gt;
====Missing JAVA====&lt;br /&gt;
*In case of missing JAVA JDK or JRE, an error message will be prompted.&lt;br /&gt;
*Solution:&lt;br /&gt;
**Copy the contents under directory '''C:/Program Files/Java/jre$(VERSION)/''' to '''/dsPicProgrammer/jre'''&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
&lt;br /&gt;
* [[PIC Programmers, In Circuit Programming and BootLoaders]]&lt;/div&gt;</summary>
		<author><name>59.148.253.117</name></author>
		
	</entry>
</feed>