Rev 1661 Rev 1691
1 News 1 NEWS
2 ==== 2 ====
-   3  
-   4 11.11.2010
-   5  
-   6 Firmware was edited to work without bootloader falashing tool.
-   7 So simply program PIC18F4550.hex in to PIC18F4550v01A module with 20MHz crystal.
-   8 Connect it via I2C to CLKGEN01A. And you have wide tunable LO compatible with DG8SAQ USB Si570 synthesiser!
-   9  
-   10  
3 14 Apr 2009 11 14 Apr 2009
4   12  
5 The UBW has 1 power indicator LED, and 2 blinking LED's usually used to indicate the 13 The UBW has 1 power indicator LED, and 2 blinking LED's usually used to indicate the
6 status of USB connections with the PC. 14 status of USB connections with the PC.
7   15  
8 Charles (and maybe some of you) finds the blinking LED's to be too bright and 16 Charles (and maybe some of you) finds the blinking LED's to be too bright and
9 distracting. 17 distracting.
10   18  
11 So I have implemented a toggle switch (the PRG button) function for you to turn 19 So I have implemented a toggle switch (the PRG button) function for you to turn
12 the blinking on or off. 20 the blinking on or off.
13   21  
14 Once turned on or off, the setting is stored in EEPROM, so it will continue to 22 Once turned on or off, the setting is stored in EEPROM, so it will continue to
15 behave this way when you power off and next power on the UBW. 23 behave this way when you power off and next power on the UBW.
16   24  
17 The default setting is LED blinking ON. So when you (re)flash the firmware, the 25 The default setting is LED blinking ON. So when you (re)flash the firmware, the
18 default is active. 26 default is active.
19   27  
20 14 Mar 2009 28 14 Mar 2009
21   29  
22 I have just released the latest version of my UBW Emulator firmware. It now 30 I have just released the latest version of my UBW Emulator firmware. It now
23 has (almost) all the functionalities of Fred (PE0FKO)'s v15.10 firmware for 31 has (almost) all the functionalities of Fred (PE0FKO)'s v15.10 firmware for
24 ATTINY45 and ATTINY85. All the functions are accessible with Winrad with Fred's 32 ATTINY45 and ATTINY85. All the functions are accessible with Winrad with Fred's
25 ExtIO_Si570_v0.8.dll, including the wonderful option of setting of the 33 ExtIO_Si570_v0.8.dll, including the wonderful option of setting of the
26 filter crossover points from the software. The crossover points are stored 34 filter crossover points from the software. The crossover points are stored
27 in the UBW EEPROM so it will persist until changed again. Another new feature 35 in the UBW EEPROM so it will persist until changed again. Another new feature
28 is the setting of floating point offset and multiplier in the firmware. This 36 is the setting of floating point offset and multiplier in the firmware. This
29 complements the setting of offset and (usually) integer multiplier in the PC 37 complements the setting of offset and (usually) integer multiplier in the PC
30 SDR software. 38 SDR software.
31   39  
32 Winrad/ExtIO can be used to calibrate the UBW/Si570 (2 methods are available - 40 Winrad/ExtIO can be used to calibrate the UBW/Si570 (2 methods are available -
33 calibrating the default freq, or against a known station freq, eg. WWV). 41 calibrating the default freq, or against a known station freq, eg. WWV).
34 Once calibrated, there is no need to calibrate other software - both set 42 Once calibrated, there is no need to calibrate other software - both set
35 freq by value and set freq by register will give the correct calibrated 43 freq by value and set freq by register will give the correct calibrated
36 freq now. In PowerSDR, leave the fxtal freq at the default 114.285 Mhz. 44 freq now. In PowerSDR, leave the fxtal freq at the default 114.285 Mhz.
37   45  
38 The new UBW Emulator works perfectly with Rocky v3.6, PowerSDR-sr40, 46 The new UBW Emulator works perfectly with Rocky v3.6, PowerSDR-sr40,
39 and PowerSDR-IQ. (set the Fxtal freq in the setup tab to the default 114.285 Mhz). 47 and PowerSDR-IQ. (set the Fxtal freq in the setup tab to the default 114.285 Mhz).
40   48  
41 With Fred's v15.10 firmware in the ATTINY, users can use the ATTINY based USB 49 With Fred's v15.10 firmware in the ATTINY, users can use the ATTINY based USB
42 interfaces to do auto band switching of the mobo for Rx. To be able to do both Rx 50 interfaces to do auto band switching of the mobo for Rx. To be able to do both Rx
43 and Tx BPF switching, Rx/Tx switching (PTT), and external LPF switching, from a 51 and Tx BPF switching, Rx/Tx switching (PTT), and external LPF switching, from a
44 single USB connection, there are only 3 uC solutions that I know of: 52 single USB connection, there are only 3 uC solutions that I know of:
45   53  
46 1. The UBW (or UBW32) with this UBW firmware 54 1. The UBW (or UBW32) with this UBW firmware
47 2. Dave Brainerd's HSUSB, with firmware by Christos 55 2. Dave Brainerd's HSUSB, with firmware by Christos
48 3. Arduino board (or clone), with PE0FKO firmware modified by Loftur TF3LJ. 56 3. Arduino board (or clone), with PE0FKO firmware modified by Loftur TF3LJ.
49 See Message #31623 57 See Message #31623
50   58  
51   59  
52 UBW EMULATOR 60 UBW EMULATOR
53 ============ 61 ============
54 This is the UBW emulator firmware for emulating the AVR based 62 This is the UBW emulator firmware for emulating the AVR based
55 DG8SAQ USB Si570 synthesiser, and Tony's USB-i2C Interface. 63 DG8SAQ USB Si570 synthesiser, and Tony's USB-i2C Interface.
56 It emulates most of the functions of the orginal DG8SAQ firmware. 64 It emulates most of the functions of the orginal DG8SAQ firmware.
57 In addition, it emulates the new functions of the PE0FKO firmware (v15.10) 65 In addition, it emulates the new functions of the PE0FKO firmware (v15.10)
58 by Fred, with smooth tune, calibration, setting of Auto BPF crossover 66 by Fred, with smooth tune, calibration, setting of Auto BPF crossover
59 points, setting of startup freq etc. After calibration of the UBW, 67 points, setting of startup freq etc. After calibration of the UBW,
60 both set freq by value (used by Rocky) and set freq by register (used by 68 both set freq by value (used by Rocky) and set freq by register (used by
61 PowerSDR-sr40, with the fxtal freq set to the default 114.285 Mhz) will 69 PowerSDR-sr40, with the fxtal freq set to the default 114.285 Mhz) will
62 give the correct calibrated freq output from the Si570. No further 70 give the correct calibrated freq output from the Si570. No further
63 calibration with the PC software is required. 71 calibration with the PC software is required.
64   72  
65 I would like to thank Joe Hopster who wrote the original UBW Si570 73 I would like to thank Joe Hopster who wrote the original UBW Si570
66 code, Tom DG8SAQ for the AVR synthesiser code, Mike Collins who has 74 code, Tom DG8SAQ for the AVR synthesiser code, Mike Collins who has
67 been invaluable in helping with the debugging and testing, John Fisher 75 been invaluable in helping with the debugging and testing, John Fisher
68 for the code example on Si570 slide, Edson for advice on BPF selection coding, 76 for the code example on Si570 slide, Edson for advice on BPF selection coding,
69 bug fixing and testing, Fred for help to emulate his v15.7 firmware, 77 bug fixing and testing, Fred for help to emulate his v15.7 firmware,
70 and others who have contributed so much to Softrock and Si570. 78 and others who have contributed so much to Softrock and Si570.
71   79  
72 The emulator firmware HEX file is loaded in the UBW (either PIC 80 The emulator firmware HEX file is loaded in the UBW (either PIC
73 18F2455, 18F2550 or 18F2553 version) by the Microchip USB bootloader. 81 18F2455, 18F2550 or 18F2553 version) by the Microchip USB bootloader.
74 See UBW website for more details about the bootloader. 82 See UBW website for more details about the bootloader.
75   83  
76 Before starting the firmware (via the reset button, or on power up by 84 Before starting the firmware (via the reset button, or on power up by
77 plugging in the USB), the UBW should be connected via i2c interface to 85 plugging in the USB), the UBW should be connected via i2c interface to
78 an Si570. Power up the Si570 before the UBW. 86 an Si570. Power up the Si570 before the UBW.
79   87  
80 There are several ways for connecting the UBW with the Si570. 88 There are several ways for connecting the UBW with the Si570.
81   89  
82 (1) Connection is with 4 wires, +5V, Gnd, SCL, SDA, to an i2c 90 (1) Connection is with 4 wires, +5V, Gnd, SCL, SDA, to an i2c
83 level converter, and then to Si570 with 4 wires, +3V3, Gnd, SCL, and 91 level converter, and then to Si570 with 4 wires, +3V3, Gnd, SCL, and
84 SDA. If you use the WB6DHW Si570 board, it has the level converter built-in. So 92 SDA. If you use the WB6DHW Si570 board, it has the level converter built-in. So
85 You can just connect the 4 wires to the header pins on the WB6DHW board. Note 93 You can just connect the 4 wires to the header pins on the WB6DHW board. Note
86 that the order of the 4 wires on the UBW is: GND, VCC, RB0, RB1. The order 94 that the order of the 4 wires on the UBW is: GND, VCC, RB0, RB1. The order
87 of the 4 header pins on WB6DHW board is: +5V, GND, SDA, SCL. 95 of the 4 header pins on WB6DHW board is: +5V, GND, SDA, SCL.
88   96  
89 (2) If you are not using an IC such as GTL2002 for +5V to +3V3 conversion, you 97 (2) If you are not using an IC such as GTL2002 for +5V to +3V3 conversion, you
90 can use discretes with the Philips (see AN97055 from Philips) 98 can use discretes with the Philips (see AN97055 from Philips)
91 i2c level converter circuit using 2 BS170's. 99 i2c level converter circuit using 2 BS170's.
92   100  
93 (3) The UBW Emulator firmware sets up the SCL and SDA pins as open collector outputs. 101 (3) The UBW Emulator firmware sets up the SCL and SDA pins as open collector outputs.
94 So you can just connect 3 wires from the UBW to the +3v3 Si570 on the Softrock: 102 So you can just connect 3 wires from the UBW to the +3v3 Si570 on the Softrock:
95 GND, SCL and SDA. The SCL and SDA lines will have pullup resistors to +3V3 on the 103 GND, SCL and SDA. The SCL and SDA lines will have pullup resistors to +3V3 on the
96 Softrock pcb. This has been tested to work. HOwever, there is the risk that 104 Softrock pcb. This has been tested to work. HOwever, there is the risk that
97 if the UBW firmware malfunctions for some reason (eg loading the wrong firmware instead 105 if the UBW firmware malfunctions for some reason (eg loading the wrong firmware instead
98 of the Emulator firmware), the RB0 and RB1 (SDA and SCL) pins may go to output high of 106 of the Emulator firmware), the RB0 and RB1 (SDA and SCL) pins may go to output high of
99 +5V, which may damage the Si570 or other +3V3 chips. 107 +5V, which may damage the Si570 or other +3V3 chips.
100   108  
101   109  
102 The PC will detect the new USB device as a DG8SAQ-I2C device and as 110 The PC will detect the new USB device as a DG8SAQ-I2C device and as
103 far as the PC is concerned, the UBW behaves almost exactly like the 111 far as the PC is concerned, the UBW behaves almost exactly like the
104 USB Si570 synthesiser (which is based on the AVR uController). When 112 USB Si570 synthesiser (which is based on the AVR uController). When
105 prompted by the PC to install the driver for this device, you install 113 prompted by the PC to install the driver for this device, you install
106 the AVR USB driver (from the USB Si570 synthesiser software download). 114 the AVR USB driver (from the USB Si570 synthesiser software download).
107 You will also need the libusb0.dll and libusb0.sys files installed 115 You will also need the libusb0.dll and libusb0.sys files installed
108 for the PC software to work (available also from the USB Si570 synthesiser 116 for the PC software to work (available also from the USB Si570 synthesiser
109 software package). 117 software package).
110   118  
111 The following PC software programs have been tested with the UBW emulation so far: 119 The following PC software programs have been tested with the UBW emulation so far:
112   120  
113 1. SI570_USB_Test.exe from the USB Si570 synthesiser software package 121 1. SI570_USB_Test.exe from the USB Si570 synthesiser software package
114 2. USB_Synth.exe from the USB Si570 synthesiser software package 122 2. USB_Synth.exe from the USB Si570 synthesiser software package
115 2. Rocky v3.6 123 2. Rocky v3.6
116 3. Guido's PowerSDR v1.9.0 sr40 124 3. Guido's PowerSDR v1.9.0 sr40
117 4. WinRad with Fred's ExtIO_Si570_v0.8.dll 125 4. WinRad with Fred's ExtIO_Si570_v0.8.dll
118 5. Christos's PowerSDR-IQ v1.12.20 126 5. Christos's PowerSDR-IQ v1.12.20
119   127  
120 SI570_USB_Test.exe can be used test the USB communication and UBW 128 SI570_USB_Test.exe can be used test the USB communication and UBW
121 functions,and for calibrating the UBW-Si570 ie. 129 functions,and for calibrating the UBW-Si570 ie.
122   130  
123 (1) Click "Read Si570 Register" - the default Si570 startup frequency 131 (1) Click "Read Si570 Register" - the default Si570 startup frequency
124 and register values will be displayed 132 and register values will be displayed
125   133  
126 (2) If you know the actual startup frequency of your Si570 (which is 134 (2) If you know the actual startup frequency of your Si570 (which is
127 close to but generally not equal to the nominal startup freq of 56.32 135 close to but generally not equal to the nominal startup freq of 56.32
128 Mhz), you can do the calibration now by inputting the actual freq in the 136 Mhz), you can do the calibration now by inputting the actual freq in the
129 text box to the left of the "cal on startup freq", and then hit "cal 137 text box to the left of the "cal on startup freq", and then hit "cal
130 on startup freq". The UBW-Si570 is now calibrated for "set freq by 138 on startup freq". The UBW-Si570 is now calibrated for "set freq by
131 value". The calibration is stored in the EEPROM of the UBW and you do 139 value". The calibration is stored in the EEPROM of the UBW and you do
132 not need to re-calibrate again unless you reload the UBW firmware from 140 not need to re-calibrate again unless you reload the UBW firmware from
133 the .hex file. 141 the .hex file.
134   142  
135 (3) Now you can input any freq desired in the text box and hit either 143 (3) Now you can input any freq desired in the text box and hit either
136 "set freq by value" or "set freq by register". The si570 should now 144 "set freq by value" or "set freq by register". The si570 should now
137 output the freq set by you. It should be accurate as set, and can be 145 output the freq set by you. It should be accurate as set, and can be
138 confirmed with an external freq counter. 146 confirmed with an external freq counter.
139   147  
140   148  
141 Many of the functions of the SI570_USB_Test.exe have been implemented, 149 Many of the functions of the SI570_USB_Test.exe have been implemented,
142 including Paddle input, RXTX level, etc. 150 including Paddle input, RXTX level, etc.
143   151  
144 Both the "old" and "new" (with new icon) versions of USB_Synth.exe work in setting 152 Both the "old" and "new" (with new icon) versions of USB_Synth.exe work in setting
145 the Si570 freq. The old version uses set freq by value, and the new version 153 the Si570 freq. The old version uses set freq by value, and the new version
146 (with enhancements) uses set freq by register. 154 (with enhancements) uses set freq by register.
147   155  
148 If the SI570_USB_Test run is OK, you can fire up Rocky v3.6 to use the 156 If the SI570_USB_Test run is OK, you can fire up Rocky v3.6 to use the
149 Si570-USB functionality. Rocky uses the "set freq by value" method. You can use 157 Si570-USB functionality. Rocky uses the "set freq by value" method. You can use
150 the Rocky calibration function with the UBW, but it should not be necessary and should 158 the Rocky calibration function with the UBW, but it should not be necessary and should
151 be avoided. Use the calibration method in WinRad (see below under Calibration) or 159 be avoided. Use the calibration method in WinRad (see below under Calibration) or
152 the SI570_USB_Test.exe method (see above). 160 the SI570_USB_Test.exe method (see above).
153   161  
154 PowerSDR works by "set Freq by Register" method. You can change freq by the band buttons 162 PowerSDR works by "set Freq by Register" method. You can change freq by the band buttons
155 or sliding the freq up and down with the mouse. Leave the Fxtal 163 or sliding the freq up and down with the mouse. Leave the Fxtal
156 freq in PowerSDR "Setup" to the default 114.285 Mhz. There is no need for 164 freq in PowerSDR "Setup" to the default 114.285 Mhz. There is no need for
157 further calibration. 165 further calibration.
158   166  
159 To use Winrad, you have to download the ExtIO_Si570.dll by Fred PE0FKO. Put the v0.8 167 To use Winrad, you have to download the ExtIO_Si570.dll by Fred PE0FKO. Put the v0.8
160 dll in the same directory as Winrad (usually installed in "c:\Program Files\Winrad" directory). 168 dll in the same directory as Winrad (usually installed in "c:\Program Files\Winrad" directory).
161   169  
162   170  
163 Calibration 171 Calibration
164 =========== 172 ===========
165 You can use Winrad (with ExtIO_Si570_v0.8.dll by Fred) to do the calibration. This is the 173 You can use Winrad (with ExtIO_Si570_v0.8.dll by Fred) to do the calibration. This is the
166 easier (and preferred method). There are two calibration methods in ExtIO_Si570.dll. One is 174 easier (and preferred method). There are two calibration methods in ExtIO_Si570.dll. One is
167 calibrating to the factory default freq of the Si570 (a value close to 56.32 Mhz). The 175 calibrating to the factory default freq of the Si570 (a value close to 56.32 Mhz). The
168 other method is to tune Winrad to a known frequency station, eg. the WWV stations broadcasting 176 other method is to tune Winrad to a known frequency station, eg. the WWV stations broadcasting
169 at 2.5 Mhz, 5.0 Mhz, 10.0 Mhz, 15.0 Mhz etc., and then put in the actual frequencies. For 177 at 2.5 Mhz, 5.0 Mhz, 10.0 Mhz, 15.0 Mhz etc., and then put in the actual frequencies. For
170 example, you may find a good signal of WWV at 10.023 Mhz. So the "tuned" freq is 10.023 Mhz, 178 example, you may find a good signal of WWV at 10.023 Mhz. So the "tuned" freq is 10.023 Mhz,
171 but the "real" freq is 10.000 Mhz. So you enter this real freq in the box and the hit "calibrate" 179 but the "real" freq is 10.000 Mhz. So you enter this real freq in the box and the hit "calibrate"
172 botton. 180 botton.
173   181  
174 Si570 calibration can also be done with SI570_USB_Test.exe software, 182 Si570 calibration can also be done with SI570_USB_Test.exe software,
175 to calibrate the startup freq accurately once after loading (or reloading) 183 to calibrate the startup freq accurately once after loading (or reloading)
176 of the firmware .hex file. The calibration data are then stored in the UBW EEPROM. 184 of the firmware .hex file. The calibration data are then stored in the UBW EEPROM.
177   185  
178   186  
179 If UBW is not connected to the Si570 187 If UBW is not connected to the Si570
180 ==================================== 188 ====================================
181 I have eliminated the readstartupconfiguration() step. So now the UBW will NOT hang 189 I have eliminated the readstartupconfiguration() step. So now the UBW will NOT hang
182 when it is not connected to the i2c bus on startup. On connection to USB it will be 190 when it is not connected to the i2c bus on startup. On connection to USB it will be
183 recognized by the PC. 191 recognized by the PC.
184   192  
185 Of course, if you try to communicate with the Si570 it will hang and disconnect from 193 Of course, if you try to communicate with the Si570 it will hang and disconnect from
186 the USB if you don't have the Si570 connected at this time. 194 the USB if you don't have the Si570 connected at this time.
187   195  
188 Restoring EEPROM to factory default condition 196 Restoring EEPROM to factory default condition
189 ============================================= 197 =============================================
190   198  
191 After the UBW EEPROM is corrupted (eg. by mis-calibration), you can restore the factory default 199 After the UBW EEPROM is corrupted (eg. by mis-calibration), you can restore the factory default
192 by reloading the .hex file. (Thanks to Mike for the suggestion.). Alternatively, you can use 200 by reloading the .hex file. (Thanks to Mike for the suggestion.). Alternatively, you can use
193 SI570_USB_Test.exe to sent 41 (hex) in the "request" box, and ff (hex) in the "Value" box, 201 SI570_USB_Test.exe to sent 41 (hex) in the "request" box, and ff (hex) in the "Value" box,
194 then click "USB ctrl msg Data to Host". This then clears the EEPROM in the UBW to the default 202 then click "USB ctrl msg Data to Host". This then clears the EEPROM in the UBW to the default
195 condition and when you reset the UBW (hit the reset botton on the uBW, or by powering off 203 condition and when you reset the UBW (hit the reset botton on the uBW, or by powering off
196 and then on again). 204 and then on again).
197   205  
198 Using Winrad, there is a "reset" botton at the "calibrate" tab which will do the same thing. 206 Using Winrad, there is a "reset" botton at the "calibrate" tab which will do the same thing.
199   207  
200   208  
201 Download 209 Download
202 ======== 210 ========
203   211  
204 The UBW emulation firmware and the source files can be found in 212 The UBW emulation firmware and the source files can be found in
205 Files->9V1AL->UBW emulation. 213 Files->9V1AL->UBW emulation.
206   214  
207   215  
208   216  
209 IO Port Pin assignment 217 IO Port Pin assignment
210 ====================== 218 ======================
211   219  
212   220  
213 Pin assignments for the UBW are as follows: 221 Pin assignments for the UBW are as follows:
214   222  
215 Pin Name Input/Output Active Remarks 223 Pin Name Input/Output Active Remarks
216   224  
217 RA0 BPF_SO O H BPF select S0 225 RA0 BPF_SO O H BPF select S0
218 RA1 BPF_S1 O H BPF select S1 226 RA1 BPF_S1 O H BPF select S1
219 S1,S0 selects 1 of 4 BPF's for Softrock 227 S1,S0 selects 1 of 4 BPF's for Softrock
220 228
221 RA2 RXTX O H PTT, H = Transmit 229 RA2 RXTX O H PTT, H = Transmit
222   230  
223 RB0 SDA Open Collector For i2c connection to Si570 231 RB0 SDA Open Collector For i2c connection to Si570
224 RB1 SCL Open Collector may need conversion to +3v3 232 RB1 SCL Open Collector may need conversion to +3v3
225 in case of firmware failure 233 in case of firmware failure
226 (eg wrong firmware loaded) 234 (eg wrong firmware loaded)
227 then RB0 and RB1 may be set 235 then RB0 and RB1 may be set
228 to logic high output of +5V 236 to logic high output of +5V
229   237  
230 RB6 PADDLE_DIT I L Paddle DIT Input, active low 238 RB6 PADDLE_DIT I L Paddle DIT Input, active low
231 RB7 PADDLE_DAH I L Paddle DAH Input, active low 239 RB7 PADDLE_DAH I L Paddle DAH Input, active low
232 As internal pullup is enabled, 240 As internal pullup is enabled,
233 there is no need to add external 241 there is no need to add external
234 pullup resistors. Just ground the pin 242 pullup resistors. Just ground the pin
235 to activate. 243 to activate.
236   244  
237 RA3-5, RB2-5 LPF_x O H LPF select pins 245 RA3-5, RB2-5 LPF_x O H LPF select pins
238 This has to be customised for 246 This has to be customised for
239 the LPF bank you use. 247 the LPF bank you use.
240 Email me (lee188@singnet.com.sg) 248 Email me (lee188@singnet.com.sg)
241 and I will sent you a customised hex file 249 and I will sent you a customised hex file
242   250  
243   251  
244 Connections to SR v6.3 and Mobo v3.6 252 Connections to SR v6.3 and Mobo v3.6
245 ===================================== 253 =====================================
246   254  
247   255  
248 UBW SRv6.3 Mobo v3.6 External Paddle 256 UBW SRv6.3 Mobo v3.6 External Paddle
249   257  
250 RA0 - P7 Pin 1 - 258 RA0 - P7 Pin 1 -
251 RA1 - P7 Pin 2 - 259 RA1 - P7 Pin 2 -
252 RA2 PTT_I K6 Pin 1 - 260 RA2 PTT_I K6 Pin 1 -
253 RB0 SDA - - 261 RB0 SDA - -
254 RB1 SCL - - 262 RB1 SCL - -
255 GND GND P10 Pin 2 Paddle Common 263 GND GND P10 Pin 2 Paddle Common
256 RB6 - - Paddle dot (dit) 264 RB6 - - Paddle dot (dit)
257 RB7 - - Paddle dash (dah) 265 RB7 - - Paddle dash (dah)
258 - +5V P10 Pin 1 - 266 - +5V P10 Pin 1 -
259   267  
260   268