NEWS====11.11.2010Firmware was edited to work without bootloader falashing tool.So simply program PIC18F4550.hex in to PIC18F4550v01A module with 20MHz crystal.Connect it via I2C to CLKGEN01A. And you have wide tunable LO compatible with DG8SAQ USB Si570 synthesiser!14 Apr 2009The UBW has 1 power indicator LED, and 2 blinking LED's usually used to indicate thestatus of USB connections with the PC.Charles (and maybe some of you) finds the blinking LED's to be too bright anddistracting.So I have implemented a toggle switch (the PRG button) function for you to turnthe blinking on or off.Once turned on or off, the setting is stored in EEPROM, so it will continue tobehave this way when you power off and next power on the UBW.The default setting is LED blinking ON. So when you (re)flash the firmware, thedefault is active.14 Mar 2009I have just released the latest version of my UBW Emulator firmware. It nowhas (almost) all the functionalities of Fred (PE0FKO)'s v15.10 firmware forATTINY45 and ATTINY85. All the functions are accessible with Winrad with Fred'sExtIO_Si570_v0.8.dll, including the wonderful option of setting of thefilter crossover points from the software. The crossover points are storedin the UBW EEPROM so it will persist until changed again. Another new featureis the setting of floating point offset and multiplier in the firmware. Thiscomplements the setting of offset and (usually) integer multiplier in the PCSDR software.Winrad/ExtIO can be used to calibrate the UBW/Si570 (2 methods are available -calibrating the default freq, or against a known station freq, eg. WWV).Once calibrated, there is no need to calibrate other software - both setfreq by value and set freq by register will give the correct calibratedfreq now. In PowerSDR, leave the fxtal freq at the default 114.285 Mhz.The new UBW Emulator works perfectly with Rocky v3.6, PowerSDR-sr40,and PowerSDR-IQ. (set the Fxtal freq in the setup tab to the default 114.285 Mhz).With Fred's v15.10 firmware in the ATTINY, users can use the ATTINY based USBinterfaces to do auto band switching of the mobo for Rx. To be able to do both Rxand Tx BPF switching, Rx/Tx switching (PTT), and external LPF switching, from asingle USB connection, there are only 3 uC solutions that I know of:1. The UBW (or UBW32) with this UBW firmware2. Dave Brainerd's HSUSB, with firmware by Christos3. Arduino board (or clone), with PE0FKO firmware modified by Loftur TF3LJ.See Message #31623UBW EMULATOR============This is the UBW emulator firmware for emulating the AVR basedDG8SAQ USB Si570 synthesiser, and Tony's USB-i2C Interface.It emulates most of the functions of the orginal DG8SAQ firmware.In addition, it emulates the new functions of the PE0FKO firmware (v15.10)by Fred, with smooth tune, calibration, setting of Auto BPF crossoverpoints, setting of startup freq etc. After calibration of the UBW,both set freq by value (used by Rocky) and set freq by register (used byPowerSDR-sr40, with the fxtal freq set to the default 114.285 Mhz) willgive the correct calibrated freq output from the Si570. No furthercalibration with the PC software is required.I would like to thank Joe Hopster who wrote the original UBW Si570code, Tom DG8SAQ for the AVR synthesiser code, Mike Collins who hasbeen invaluable in helping with the debugging and testing, John Fisherfor the code example on Si570 slide, Edson for advice on BPF selection coding,bug fixing and testing, Fred for help to emulate his v15.7 firmware,and others who have contributed so much to Softrock and Si570.The emulator firmware HEX file is loaded in the UBW (either PIC18F2455, 18F2550 or 18F2553 version) by the Microchip USB bootloader.See UBW website for more details about the bootloader.Before starting the firmware (via the reset button, or on power up byplugging in the USB), the UBW should be connected via i2c interface toan Si570. Power up the Si570 before the UBW.There are several ways for connecting the UBW with the Si570.(1) Connection is with 4 wires, +5V, Gnd, SCL, SDA, to an i2clevel converter, and then to Si570 with 4 wires, +3V3, Gnd, SCL, andSDA. If you use the WB6DHW Si570 board, it has the level converter built-in. SoYou can just connect the 4 wires to the header pins on the WB6DHW board. Notethat the order of the 4 wires on the UBW is: GND, VCC, RB0, RB1. The orderof the 4 header pins on WB6DHW board is: +5V, GND, SDA, SCL.(2) If you are not using an IC such as GTL2002 for +5V to +3V3 conversion, youcan use discretes with the Philips (see AN97055 from Philips)i2c level converter circuit using 2 BS170's.(3) The UBW Emulator firmware sets up the SCL and SDA pins as open collector outputs.So you can just connect 3 wires from the UBW to the +3v3 Si570 on the Softrock:GND, SCL and SDA. The SCL and SDA lines will have pullup resistors to +3V3 on theSoftrock pcb. This has been tested to work. HOwever, there is the risk thatif the UBW firmware malfunctions for some reason (eg loading the wrong firmware insteadof the Emulator firmware), the RB0 and RB1 (SDA and SCL) pins may go to output high of+5V, which may damage the Si570 or other +3V3 chips.The PC will detect the new USB device as a DG8SAQ-I2C device and asfar as the PC is concerned, the UBW behaves almost exactly like theUSB Si570 synthesiser (which is based on the AVR uController). Whenprompted by the PC to install the driver for this device, you installthe AVR USB driver (from the USB Si570 synthesiser software download).You will also need the libusb0.dll and libusb0.sys files installedfor the PC software to work (available also from the USB Si570 synthesisersoftware package).The following PC software programs have been tested with the UBW emulation so far:1. SI570_USB_Test.exe from the USB Si570 synthesiser software package2. USB_Synth.exe from the USB Si570 synthesiser software package2. Rocky v3.63. Guido's PowerSDR v1.9.0 sr404. WinRad with Fred's ExtIO_Si570_v0.8.dll5. Christos's PowerSDR-IQ v1.12.20SI570_USB_Test.exe can be used test the USB communication and UBWfunctions,and for calibrating the UBW-Si570 ie.(1) Click "Read Si570 Register" - the default Si570 startup frequencyand register values will be displayed(2) If you know the actual startup frequency of your Si570 (which isclose to but generally not equal to the nominal startup freq of 56.32Mhz), you can do the calibration now by inputting the actual freq in thetext box to the left of the "cal on startup freq", and then hit "calon startup freq". The UBW-Si570 is now calibrated for "set freq byvalue". The calibration is stored in the EEPROM of the UBW and you donot need to re-calibrate again unless you reload the UBW firmware fromthe .hex file.(3) Now you can input any freq desired in the text box and hit either"set freq by value" or "set freq by register". The si570 should nowoutput the freq set by you. It should be accurate as set, and can beconfirmed with an external freq counter.Many of the functions of the SI570_USB_Test.exe have been implemented,including Paddle input, RXTX level, etc.Both the "old" and "new" (with new icon) versions of USB_Synth.exe work in settingthe Si570 freq. The old version uses set freq by value, and the new version(with enhancements) uses set freq by register.If the SI570_USB_Test run is OK, you can fire up Rocky v3.6 to use theSi570-USB functionality. Rocky uses the "set freq by value" method. You can usethe Rocky calibration function with the UBW, but it should not be necessary and shouldbe avoided. Use the calibration method in WinRad (see below under Calibration) orthe SI570_USB_Test.exe method (see above).PowerSDR works by "set Freq by Register" method. You can change freq by the band buttonsor sliding the freq up and down with the mouse. Leave the Fxtalfreq in PowerSDR "Setup" to the default 114.285 Mhz. There is no need forfurther calibration.To use Winrad, you have to download the ExtIO_Si570.dll by Fred PE0FKO. Put the v0.8dll in the same directory as Winrad (usually installed in "c:\Program Files\Winrad" directory).Calibration===========You can use Winrad (with ExtIO_Si570_v0.8.dll by Fred) to do the calibration. This is theeasier (and preferred method). There are two calibration methods in ExtIO_Si570.dll. One iscalibrating to the factory default freq of the Si570 (a value close to 56.32 Mhz). Theother method is to tune Winrad to a known frequency station, eg. the WWV stations broadcastingat 2.5 Mhz, 5.0 Mhz, 10.0 Mhz, 15.0 Mhz etc., and then put in the actual frequencies. Forexample, you may find a good signal of WWV at 10.023 Mhz. So the "tuned" freq is 10.023 Mhz,but the "real" freq is 10.000 Mhz. So you enter this real freq in the box and the hit "calibrate"botton.Si570 calibration can also be done with SI570_USB_Test.exe software,to calibrate the startup freq accurately once after loading (or reloading)of the firmware .hex file. The calibration data are then stored in the UBW EEPROM.If UBW is not connected to the Si570====================================I have eliminated the readstartupconfiguration() step. So now the UBW will NOT hangwhen it is not connected to the i2c bus on startup. On connection to USB it will berecognized by the PC.Of course, if you try to communicate with the Si570 it will hang and disconnect fromthe USB if you don't have the Si570 connected at this time.Restoring EEPROM to factory default condition=============================================After the UBW EEPROM is corrupted (eg. by mis-calibration), you can restore the factory defaultby reloading the .hex file. (Thanks to Mike for the suggestion.). Alternatively, you can useSI570_USB_Test.exe to sent 41 (hex) in the "request" box, and ff (hex) in the "Value" box,then click "USB ctrl msg Data to Host". This then clears the EEPROM in the UBW to the defaultcondition and when you reset the UBW (hit the reset botton on the uBW, or by powering offand then on again).Using Winrad, there is a "reset" botton at the "calibrate" tab which will do the same thing.Download========The UBW emulation firmware and the source files can be found inFiles->9V1AL->UBW emulation.IO Port Pin assignment======================Pin assignments for the UBW are as follows:Pin Name Input/Output Active RemarksRA0 BPF_SO O H BPF select S0RA1 BPF_S1 O H BPF select S1S1,S0 selects 1 of 4 BPF's for SoftrockRA2 RXTX O H PTT, H = TransmitRB0 SDA Open Collector For i2c connection to Si570RB1 SCL Open Collector may need conversion to +3v3in case of firmware failure(eg wrong firmware loaded)then RB0 and RB1 may be setto logic high output of +5VRB6 PADDLE_DIT I L Paddle DIT Input, active lowRB7 PADDLE_DAH I L Paddle DAH Input, active lowAs internal pullup is enabled,there is no need to add externalpullup resistors. Just ground the pinto activate.RA3-5, RB2-5 LPF_x O H LPF select pinsThis has to be customised forthe LPF bank you use.Email me (lee188@singnet.com.sg)and I will sent you a customised hex fileConnections to SR v6.3 and Mobo v3.6=====================================UBW SRv6.3 Mobo v3.6 External PaddleRA0 - P7 Pin 1 -RA1 - P7 Pin 2 -RA2 PTT_I K6 Pin 1 -RB0 SDA - -RB1 SCL - -GND GND P10 Pin 2 Paddle CommonRB6 - - Paddle dot (dit)RB7 - - Paddle dash (dah)- +5V P10 Pin 1 -