diff --git a/README.md b/README.md index b493962..f8e352d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ * 完整的立方星平台设计方案,提供完整的硬件、软件和文档 * 载荷: 相机,LED阵列,辐射剂量计 * 星载计算机: 硬件基于STM32F4, 软件提供了实时操作系统(RTOS),文件系统,CAN总线驱动, libcsp (Cubesat Space Protocol)移植,导航算法,日志功能 -* 星上测控收发机: 支持半双工/全双工方式, 工作在VHF和UHF业余无线电频段 (140-148MHz, 430-440MHz). 发射功率2W, 接收机灵敏度-113dBm @ 10kbps数据速率. 基于FPGA的基带处理器兼容CCSDS标准, 兼容libcsp. +* 星上测控收发机: 支持半双工/全双工方式, 工作在VHF和UHF业余无线电频段 (140-148MHz, 430-440MHz). 发射功率2W, 接收机灵敏度-113dBm @ 10kbps数据速率, 收发数据速率支持2k~500kbps. 基于FPGA的基带处理器兼容CCSDS标准, 兼容libcsp. 与USRP B210配套使用时, 遥测接收灵敏度-126dBm @ 10kbps. * 电源系统: MPPT (最大功率点跟踪) 太阳能充电, 电池管理, 电源分配, 安全开关, 磁力矩器驱动, 太阳敏感器采集, 火工品驱动, RTC (实时时钟). 所有的关键部件均带有遥测和保护功能. * 地面控制站: Qt开发的图形界面, 可显示所有星上设备的遥测量或发送遥控指令. * Gnuradio扩展包: 用于卫星遥测遥控的扩展模块gr-kcsa-ks1q, 包括多种常用模块,可用于构建自定义的卫星测控收发机 @@ -25,7 +25,7 @@ # 目录结构 * documents: 总体设计文档, 产品介绍, ICD和安全性报告. * firmware: 所有星上模块的嵌入式软件. - * firmware/binary: 预编译好的二进制固件文件. + * firmware/binary: 预编译好的二进制固件文件. * firmware/(MODULE)_FW(VER)/: 模块MODULE的工程文件和代码文件, 固件版本=VER. * firmware/(MODULE)_FW(VER)_flowgraph.pdf: 模块MODULE的固件程序流程图, 固件版本=VER. * firmware/(MODULE)_FW_ChangeLog.txt: 模块MODULE的固件修改记录. @@ -72,16 +72,17 @@ * 准备工作 - 安装Gnuradio和USRP驱动程序 * 如果系统是Ubuntu 18.04, 最简单的方法是运行命令`sudo apt install gnuradio-dev uhd-host` * 如果系统是Ubuntu 16.04, 需要从源码编译安装Gnuradio ( 源码链接 http://github.com/gnuradio/gnuradio ), USRP驱动程序使用最新的PPA源安装 ( 教程页面 https://files.ettus.com/manual/page_install.html ) - `sudo add-apt-repository ppa:ettusresearch/uhd - `sudo apt-get update - `sudo apt-get install libuhd-dev libuhd003 uhd-host + * sudo add-apt-repository ppa:ettusresearch/uhd + * sudo apt-get update + * sudo apt-get install libuhd-dev libuhd003 uhd-host * 其他Linux发行版还没有测试过,推荐的方法是自行从源码编译安装 * 安装地面控制软件 * 安装Ubuntu系统 * 安装安装Gnuradio和USRP驱动程序 * 编译安装libcsp - # cd KS-1Q/host/csp - # ./build_csp.sh && sudo ./install_csp.sh + * cd KS-1Q/host/csp + * ./build_csp.sh + * sudo ./install_csp.sh * 安装KS1GCS 运行QtCreator, 打开工程文件 KS-1Q/host/KS1GCS/KS1GCS.pro 点击`Build` ( 靠近左下角的锤子图标 ) @@ -91,32 +92,31 @@ * 步骤3: 将锂电池充电器连接到CHARGE端口 * 步骤4: EPS_RBF开关切换到`UNLOCK` * 步骤5: 下载KS1_EPS_FW03固件到KS1_EPS模块 - -> 如果下载失败,检查KS1_EPS内部的STM32供电是否正常 - -> 可能的原因: RBF开关设置到`LOCK`位置, KS1_EPS没有安装电池,或者电池已经耗尽。 + * 如果下载失败,检查KS1_EPS内部的STM32供电是否正常 + * 可能的原因: RBF开关设置到`LOCK`位置, KS1_EPS没有安装电池,或者电池已经耗尽。 * 步骤6: TTC_DEBUG_SELECT开关切换到`JTAG`位置 * 步骤7: 下载TTC_V04_FPGA (FPGA位流) 到TTC模块 - -> 如果下载失败,检查TTC模块供电是否正常. - -> 可能的原因: KS1_EPS没有为TTC模块供电. - -> RBF开关设置到`Unlock`位置? KS1_EPS固件已经装载? + * 如果下载失败,检查TTC模块供电是否正常. + * 可能的原因: KS1_EPS没有为TTC模块供电. + * RBF开关设置到`Unlock`位置? KS1_EPS固件已经装载? * 步骤8: TTC_DEBUG_SELECT开关切换到`SWD`位置 * 步骤9: 下载TTC_V04_FW00到TTC模块 - -> 如果下载失败,检查TTC模块供电是否正常. + * 如果下载失败,检查TTC模块供电是否正常. * 步骤10: 将USRP连接到主机的USB3.0端口 * 步骤11: 通过Gnuradio与KS-1Q建立测控链路 - # cd KS-1Q/host/KS1GCS/ - # python ccsds-halfduplex-tcpserver2.py - 若要编辑Gnuradio的处理流图, 运行gnuradio-companion命令, 然后打开KS-1Q/host/gr-kcsa-ks1q/examples/ccsds-halfduplex-tcpserver2.grc文件 + * cd KS-1Q/host/KS1GCS/ + * python ccsds-halfduplex-tcpserver2.py + * 若要编辑Gnuradio的处理流图, 运行gnuradio-companion命令, 然后打开KS-1Q/host/gr-kcsa-ks1q/examples/ccsds-halfduplex-tcpserver2.grc文件 * 步骤12: 运行KS1GCS, 点击`连接`按钮 * 步骤13: 发送遥控指令开启OBC电源. 点击KS1GCS的`EPS`页面, 然后点击`OBC开启`按钮. 成功后,EPS遥测量PwrOBC会在大约10秒之后变为一个非零数值 - -> 现在, OBC电源已经开启 + * 现在, OBC电源已经开启 * 步骤14: 下载OBC_2D_FW03到OBC模块 - -> 如果下载失败,检查OBC模块供电是否正常. - -> 使用一个外部电源(与电池电压相同, 7.2~8.4V之间)可以直接启动OBC. 这样做可以省去步骤10-13. + * 如果下载失败,检查OBC模块供电是否正常. + * 使用一个外部电源(与电池电压相同, 7.2~8.4V之间)可以直接启动OBC. 这样做可以省去步骤10-13. # 待做事项 * 所有的固件转移到gcc工具链 - * 网页版地面控制软件 + * 网页版地面控制软件 * 星上脚本程序支持 * 星上固件自动升级 * 更好的半双工无线链路 - diff --git a/README_enus.md b/README_enus.md index 93d477a..e2cb7a3 100644 --- a/README_enus.md +++ b/README_enus.md @@ -10,7 +10,7 @@ Opensat first generation cubesat bus * Complete Cubesat bus design: hardware + software + documents * Payloads: camera, LED array, radiation dosimeter * Onboard computer: STM32F4, software stack including RTOS, FS, CANbus, libcsp (Cubesat Space Protocol), navigation, logging -* Onboard communications: half duplex or full duplex on amateur VHF and UHF band (140-148MHz, 430-440MHz). Tx power 2W, Rx sensitivity -113dBm @ 10kbps. FPGA radio baseband compliant to CCSDS standard, with libcsp support. +* Onboard communications: half duplex or full duplex on amateur VHF and UHF band (140-148MHz, 430-440MHz). Tx power 2W, Rx sensitivity -113dBm @ 10kbps, both tx and rx support 2k~500kbps rate. FPGA radio baseband compliant to CCSDS standard, with libcsp support. With USRP B210, downlink rx sensitivity -126dBm @ 10kbps. * Power system: MPPT solar charging, battery management, power distribution, safety switch, magnetorquer driver, sun sensor input, EED driver and RTC clock. Telemetry and protection for all critical components. * Ground control: Qt based UI, provide display and control for all onboard modules. * Gnuradio extension: custom OOT module gr-kcsa-ks1q for telemetry and telecommand. Contains necessary blocks for building custom satellite transceivers. @@ -24,7 +24,7 @@ Opensat first generation cubesat bus # Project folders * documents: system design documents, intro pages, ICD and safety report. * firmware: embedded software for all onborad modules. - * firmware/binary: prebuilt firmware images. + * firmware/binary: prebuilt firmware images. * firmware/(MODULE)_FW(VER)/: firmware VER, code and project files for MODULE. * firmware/(MODULE)_FW(VER)_flowgraph.pdf: firmware VER program flowgraph for MODULE. * firmware/(MODULE)_FW_ChangeLog.txt: firmware changelog for MODULE. @@ -71,51 +71,51 @@ Opensat first generation cubesat bus * Preparing - how to install gnuradio and usrp driver * if using Ubuntu 18.04, use `sudo apt install gnuradio-dev uhd-host` is the easist way * if using Ubuntu 16.04, compile and install gnuradio from source ( http://github.com/gnuradio/gnuradio ) by yourself, usrp driver must use latest PPA ( https://files.ettus.com/manual/page_install.html ) - `sudo add-apt-repository ppa:ettusresearch/uhd - `sudo apt-get update - `sudo apt-get install libuhd-dev libuhd003 uhd-host + * `sudo add-apt-repository ppa:ettusresearch/uhd` + * `sudo apt-get update` + * `sudo apt-get install libuhd-dev libuhd003 uhd-host` * other linux distribution not tested, compile on your own is suggested. * Install host software * Install ubuntu linux * Install gnuradio and usrp driver * Build and install libcsp - # cd KS-1Q/host/csp - # ./build_csp.sh && sudo ./install_csp.sh + * `cd KS-1Q/host/csp` + * `./build_csp.sh` + * `sudo ./install_csp.sh` * Build KS1GCS - launch QtCreator, open project KS-1Q/host/KS1GCS/KS1GCS.pro - press `Build` button ( the hammer icon near left-bottom ) + * launch QtCreator, open project KS-1Q/host/KS1GCS/KS1GCS.pro + * press `Build` button ( the hammer icon near left-bottom ) * Load bootloader / firmware * Step 1: Connect KS1 debug tool to KS-1Q * Step 2: Connect stlink or jlink to EPS SWD port * Step 3: Connect li-ion battery charger to CHARGE port * Step 4: Set EPS_RBF switch to `UNLOCK` position * Step 5: Load KS1_EPS_FW03 (firmware) to KS1_EPS module - -> if failed, check STM32 on KS1_EPS have power supply - -> possible reason: RBF in `LOCK` position or battery rans out. + * if failed, check STM32 on KS1_EPS have power supply + * possible reason: RBF in `LOCK` position or battery rans out. * Step 6: Set TTC_DEBUG_SELECT switch to `JTAG` position * Step 7: Load TTC_V04_FPGA (fpga bitstream) to TTC module - -> if failed, check TTC module have power supply. - -> possible reason: KS1_EPS no output. - -> RBF unlocked ? KS1_EPS firmware loaded ? + * if failed, check TTC module have power supply. + * possible reason: KS1_EPS no output. + * RBF unlocked ? KS1_EPS firmware loaded ? * Step 8: Set TTC_DEBUG_SELECT switch to `SWD` position * Step 9: Load TTC_V04_FW00 to TTC module - -> if failed, check TTC module have power supply. + * if failed, check TTC module have power supply. * Step 10: connect USRP to host USB3.0 port - * Step 11: Run gnuradio to establish wireless connection to KS-1Q. - # cd KS-1Q/host/KS1GCS/ - # python ccsds-halfduplex-tcpserver2.py - to edit flowgraph, run gnuradio-companion and open KS-1Q/host/gr-kcsa-ks1q/examples/ccsds-halfduplex-tcpserver2.grc + * Step 11: Run gnuradio to establish wireless connection to KS-1Q. + * cd KS-1Q/host/KS1GCS/ + * python ccsds-halfduplex-tcpserver2.py + * to edit flowgraph, run gnuradio-companion and open KS-1Q/host/gr-kcsa-ks1q/examples/ccsds-halfduplex-tcpserver2.grc * Step 12: Run KS1GCS, then click `Connect` button. * Step 13: Send telecommand to enable OBC power. click `EPS` page in KS1GCS, then click `OBC on` button. if success, EPS telemetry PwrOBC will change to nonzero value after ~10seconds. - -> Now OBC have power supply + * Now OBC have power supply * Step 14: Load OBC_2D_FW03 to OBC module. - -> if failed, check OBC module have power supply. - -> use an external power supply ( equal to battery voltage, 7.2~8.4V ) can power on OBC directly. here step 10 - 13 is not required. + * if failed, check OBC module have power supply. + * use an external power supply ( equal to battery voltage, 7.2~8.4V ) can power on OBC directly. here step 10 - 13 is not required. # TODO list * Move all firmware to gcc toolchain - * Web based ground control + * Web based ground control * Onboard scripting support * OBC firmware upgrade support * Better half-duplex radio link. - diff --git a/README_zhcn.md b/README_zhcn.md index b493962..f8e352d 100644 --- a/README_zhcn.md +++ b/README_zhcn.md @@ -10,7 +10,7 @@ * 完整的立方星平台设计方案,提供完整的硬件、软件和文档 * 载荷: 相机,LED阵列,辐射剂量计 * 星载计算机: 硬件基于STM32F4, 软件提供了实时操作系统(RTOS),文件系统,CAN总线驱动, libcsp (Cubesat Space Protocol)移植,导航算法,日志功能 -* 星上测控收发机: 支持半双工/全双工方式, 工作在VHF和UHF业余无线电频段 (140-148MHz, 430-440MHz). 发射功率2W, 接收机灵敏度-113dBm @ 10kbps数据速率. 基于FPGA的基带处理器兼容CCSDS标准, 兼容libcsp. +* 星上测控收发机: 支持半双工/全双工方式, 工作在VHF和UHF业余无线电频段 (140-148MHz, 430-440MHz). 发射功率2W, 接收机灵敏度-113dBm @ 10kbps数据速率, 收发数据速率支持2k~500kbps. 基于FPGA的基带处理器兼容CCSDS标准, 兼容libcsp. 与USRP B210配套使用时, 遥测接收灵敏度-126dBm @ 10kbps. * 电源系统: MPPT (最大功率点跟踪) 太阳能充电, 电池管理, 电源分配, 安全开关, 磁力矩器驱动, 太阳敏感器采集, 火工品驱动, RTC (实时时钟). 所有的关键部件均带有遥测和保护功能. * 地面控制站: Qt开发的图形界面, 可显示所有星上设备的遥测量或发送遥控指令. * Gnuradio扩展包: 用于卫星遥测遥控的扩展模块gr-kcsa-ks1q, 包括多种常用模块,可用于构建自定义的卫星测控收发机 @@ -25,7 +25,7 @@ # 目录结构 * documents: 总体设计文档, 产品介绍, ICD和安全性报告. * firmware: 所有星上模块的嵌入式软件. - * firmware/binary: 预编译好的二进制固件文件. + * firmware/binary: 预编译好的二进制固件文件. * firmware/(MODULE)_FW(VER)/: 模块MODULE的工程文件和代码文件, 固件版本=VER. * firmware/(MODULE)_FW(VER)_flowgraph.pdf: 模块MODULE的固件程序流程图, 固件版本=VER. * firmware/(MODULE)_FW_ChangeLog.txt: 模块MODULE的固件修改记录. @@ -72,16 +72,17 @@ * 准备工作 - 安装Gnuradio和USRP驱动程序 * 如果系统是Ubuntu 18.04, 最简单的方法是运行命令`sudo apt install gnuradio-dev uhd-host` * 如果系统是Ubuntu 16.04, 需要从源码编译安装Gnuradio ( 源码链接 http://github.com/gnuradio/gnuradio ), USRP驱动程序使用最新的PPA源安装 ( 教程页面 https://files.ettus.com/manual/page_install.html ) - `sudo add-apt-repository ppa:ettusresearch/uhd - `sudo apt-get update - `sudo apt-get install libuhd-dev libuhd003 uhd-host + * sudo add-apt-repository ppa:ettusresearch/uhd + * sudo apt-get update + * sudo apt-get install libuhd-dev libuhd003 uhd-host * 其他Linux发行版还没有测试过,推荐的方法是自行从源码编译安装 * 安装地面控制软件 * 安装Ubuntu系统 * 安装安装Gnuradio和USRP驱动程序 * 编译安装libcsp - # cd KS-1Q/host/csp - # ./build_csp.sh && sudo ./install_csp.sh + * cd KS-1Q/host/csp + * ./build_csp.sh + * sudo ./install_csp.sh * 安装KS1GCS 运行QtCreator, 打开工程文件 KS-1Q/host/KS1GCS/KS1GCS.pro 点击`Build` ( 靠近左下角的锤子图标 ) @@ -91,32 +92,31 @@ * 步骤3: 将锂电池充电器连接到CHARGE端口 * 步骤4: EPS_RBF开关切换到`UNLOCK` * 步骤5: 下载KS1_EPS_FW03固件到KS1_EPS模块 - -> 如果下载失败,检查KS1_EPS内部的STM32供电是否正常 - -> 可能的原因: RBF开关设置到`LOCK`位置, KS1_EPS没有安装电池,或者电池已经耗尽。 + * 如果下载失败,检查KS1_EPS内部的STM32供电是否正常 + * 可能的原因: RBF开关设置到`LOCK`位置, KS1_EPS没有安装电池,或者电池已经耗尽。 * 步骤6: TTC_DEBUG_SELECT开关切换到`JTAG`位置 * 步骤7: 下载TTC_V04_FPGA (FPGA位流) 到TTC模块 - -> 如果下载失败,检查TTC模块供电是否正常. - -> 可能的原因: KS1_EPS没有为TTC模块供电. - -> RBF开关设置到`Unlock`位置? KS1_EPS固件已经装载? + * 如果下载失败,检查TTC模块供电是否正常. + * 可能的原因: KS1_EPS没有为TTC模块供电. + * RBF开关设置到`Unlock`位置? KS1_EPS固件已经装载? * 步骤8: TTC_DEBUG_SELECT开关切换到`SWD`位置 * 步骤9: 下载TTC_V04_FW00到TTC模块 - -> 如果下载失败,检查TTC模块供电是否正常. + * 如果下载失败,检查TTC模块供电是否正常. * 步骤10: 将USRP连接到主机的USB3.0端口 * 步骤11: 通过Gnuradio与KS-1Q建立测控链路 - # cd KS-1Q/host/KS1GCS/ - # python ccsds-halfduplex-tcpserver2.py - 若要编辑Gnuradio的处理流图, 运行gnuradio-companion命令, 然后打开KS-1Q/host/gr-kcsa-ks1q/examples/ccsds-halfduplex-tcpserver2.grc文件 + * cd KS-1Q/host/KS1GCS/ + * python ccsds-halfduplex-tcpserver2.py + * 若要编辑Gnuradio的处理流图, 运行gnuradio-companion命令, 然后打开KS-1Q/host/gr-kcsa-ks1q/examples/ccsds-halfduplex-tcpserver2.grc文件 * 步骤12: 运行KS1GCS, 点击`连接`按钮 * 步骤13: 发送遥控指令开启OBC电源. 点击KS1GCS的`EPS`页面, 然后点击`OBC开启`按钮. 成功后,EPS遥测量PwrOBC会在大约10秒之后变为一个非零数值 - -> 现在, OBC电源已经开启 + * 现在, OBC电源已经开启 * 步骤14: 下载OBC_2D_FW03到OBC模块 - -> 如果下载失败,检查OBC模块供电是否正常. - -> 使用一个外部电源(与电池电压相同, 7.2~8.4V之间)可以直接启动OBC. 这样做可以省去步骤10-13. + * 如果下载失败,检查OBC模块供电是否正常. + * 使用一个外部电源(与电池电压相同, 7.2~8.4V之间)可以直接启动OBC. 这样做可以省去步骤10-13. # 待做事项 * 所有的固件转移到gcc工具链 - * 网页版地面控制软件 + * 网页版地面控制软件 * 星上脚本程序支持 * 星上固件自动升级 * 更好的半双工无线链路 - diff --git a/hardware/photo/KS1_DEBUG_TOOL.JPG b/hardware/photo/KS1_DEBUG_TOOL.JPG new file mode 100644 index 0000000..4b0bb8c Binary files /dev/null and b/hardware/photo/KS1_DEBUG_TOOL.JPG differ