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