littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于PIC的USBI2C接口业余无线电硬件控制器模拟器

项目简介

本项目是针对PIC设备(如基于18F2550的UBW或基于PIC32MX460F512L的UBW32)的UBW模拟器固件,提供USB到I2C的接口,用于控制如Softrock或UHFSDR等业余无线电硬件,模拟了AVR微控制器的USB - I2C接口固件功能。

项目的主要特性和功能

  1. 功能模拟:模拟基于AVR的DG8SAQ USB Si570合成器和Tony的USB - i2C接口大部分功能,实现PE0FKO固件(v15.10)新功能,包括平滑调谐、校准、设置自动带通滤波器(BPF)交叉点、设置启动频率等。
  2. 校准功能:支持用Winrad(搭配ExtIO_Si570_v0.8.dll)或SI570_USB_Test.exe校准,校准数据存于UBW的EEPROM,校准后无需在其他软件再次校准。
  3. LED控制:实现PRG按钮切换功能,可控制两个指示USB连接状态的闪烁LED开关,设置存储在EEPROM中。
  4. 多软件支持:通过与多个PC软件测试,如SI570_USB_Test.exe、USB_Synth.exe、Rocky v3.6、Guido's PowerSDR v1.9.0 sr40、WinRad(搭配ExtIO_Si570_v0.8.dll)、Christos's PowerSDR - IQ v1.12.20等。

安装使用步骤

固件加载

使用Microchip USB引导加载器将模拟器固件的HEX文件加载到UBW(PIC 18F2455、18F2550或18F2553版本),具体引导加载器详情参考UBW网站。

硬件连接

启动固件(通过复位按钮或插入USB上电)前,将UBW通过i2c接口连接到Si570并先为Si570上电,连接方式有: 1. 用4根线(+5V、Gnd、SCL、SDA)连到i2c电平转换器,再用4根线(+3V3、Gnd、SCL、SDA)连到Si570;若用WB6DHW Si570板,可直接连到板引脚。 2. 不使用如GTL2002的IC进行+5V到+3V3转换时,可用基于Philips i2c电平转换电路的分立元件(2个BS170)。 3. 将UBW的GND、SCL和SDA三根线直接连到Softrock上的+3v3 Si570,Softrock PCB上的SCL和SDA线有上拉电阻连到+3V3。

驱动安装

PC将新USB设备检测为DG8SAQ - I2C设备,提示安装驱动时,安装AVR USB驱动(从USB Si570合成器软件下载),同时安装libusb0.dll和libusb0.sys文件(从USB Si570合成器软件包获取)。

软件使用

  1. SI570_USB_Test.exe:用于测试USB通信和UBW功能,校准UBW - Si570。
    • 点击“Read Si570 Register”,显示默认Si570启动频率和寄存器值。
    • 若知道Si570实际启动频率,在“cal on startup freq”左侧文本框输入该频率,点击“cal on startup freq”校准。
    • 在文本框输入所需频率,点击“set freq by value”或“set freq by register”,Si570应输出设定频率。
  2. Rocky v3.6:用“set freq by value”方法,建议用WinRad或SI570_USB_Test.exe校准,避免用Rocky校准功能。
  3. PowerSDR:用“set Freq by Register”方法,将PowerSDR“Setup”中Fxtal频率设为默认的114.285 Mhz,无需进一步校准。
  4. Winrad:下载Fred PE0FKO的ExtIO_Si570.dll,将v0.8版本dll文件放于与Winrad相同目录,可用其中两种校准方法校准。

EEPROM恢复

若UBW的EEPROM损坏(如校准错误),可重新加载.hex文件恢复出厂默认设置,也可用SI570_USB_Test.exe在“request”框输入41(十六进制),在“Value”框输入ff(十六进制),点击“USB ctrl msg Data to Host”,之后重置UBW。使用Winrad时,在“calibrate”选项卡点击“reset”按钮实现相同功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】