首页 Home.

  • 在第一版硬件设计中存在很多问题,最大的两个问题是:1. 板载调试器和FPGA的引脚相连,但是当调试器上电而FPGA未上电时,调试器的IO会漏电到FPGA,这样会使VCCO网络带有2.5V左右的电压,会影响VCCO网络上的器件的工作状态,也会影响FPGA的上电时序。2. BQ25606的BC快充的识别简直是个迷,测试一圈从未触发,而且使用D+,D-来识别就要占用一个USB口。 改进:1. 不同供电的器件之间的IO脚,增加了隔离,防止漏电,实际上增加隔离之后依然有漏电,但是基本上小到等于没有。隔离包括了JTAG、SWD、UART等信号线。2. 充电方案换成了HUSB238+BQ25892+STM3 […]

  • 最近的项目中用到了DAP_Link,但是原版STM32F103CBT6的Demo不太适用,于是基于该主控进行了一点修改。 操作系统:Windows 10IDE:MDK 5.38 新建工程 自选一个路径,建议不要有中文和空格。 然后在 DAPLink\projectfiles\uvision 里面可以找到这两个工程。 分配IO 使用MDK打开工程,在左边”Project“栏里,打开 stm32f103xb_bl/default/IO_Config.h,该文件里定义了SWD、UART、LED的引脚。 该段定义了USB的使能和失能,USB2.0有1.5Mbps、12Mbps、480Mbps三种速率, […]

  • FT2232--JTAG--FPGA FT2232在使用之前需要给外置EEPROM烧录固件,然后在Vivado中进行连接。能够识别的器件,flash选用的是mt25ql128,这是能够买到的比较便宜的Flash了(在XC7A的Flash支持列表里面,不支持的Flash在Vivado里面不能固化)。 测试能够直接Program FPGA,也可以正常的固化Bin到Flash,从Flash启动正常。 Cortex-M3--DAP--MDK 在测试Cortex-M3之前,需要给DAP先烧录固件。之后在Keil里面建立工程,由于没有给CM3连接Flash,所以只能通过Debug将程序加载到RAM中运行: […]

  • 这次选用的是Cadence家族,Capture CIS & Allegro PCB,这是第一次使用,做的也是6层PCB,所以花费了将近一个月时间来边学边做(也不是整天在弄)。根据Allegro的Status,PCB的绘制时间花了15个小时。 Layout 线路主要在Top和Bottom层,Layout的也不怎么好,勉强能用的水平。 PCB 焊接 很难受的是BGA焊盘因为焊接别的元器件的时候有点氧化了不太沾锡,然后找了一根导线当吸锡线拖焊盘,结果这个导线太硬了直接把阻焊干掉了,心态爆炸。还好有绿油补了一下。 成品 调试 虽然一再检查原理图和PCB有没有问题,但是该来的还是来了。 1)NG […]

  • 简介 该项目是我的毕业设计,主要是用FPGA+ADC+射频接收芯片设计一个SDR接收设备。预计使用Cortex-M3作为主控内核,LVGL作为交互界面。需要设计屏幕显示,按键输入,音频输出,电池管理,文件储存的功能。很多的低端SDR是将数据采集发送到PC进行处理,我的设计是想把这些功能全部集成在SDR设备上。 选型 主控:FPGA采用的是XC7A35TFGG484,之前在这个芯片上跑过Cortex-M3,资源也够用,它还有个兼容引脚的XC7A100TFGG484,若是资源实在不够用就可以换成100T。这个芯片用来跑CM3 100MHz完全没问题,价格也还可以。下面是仅CM3的资源使用情况: 因 […]

  • 老早就想搞一个FOC玩玩了,直接买的话感觉没意思,所以想自己设计一个。为了以后用来做别的东西,所以就想把控制器直接安装在电机的底部,这样直接整合成一个系统方便日后使用。既然如此那就要选择薄一点的点电机了,比如5008、5010这种,这个电机直径差不多5cm,要把PCB也做成直径5cm的圆形有点麻烦,另外就是四个螺丝孔也增加了布局难度。本着既然要做,那就要做好的态度,JTAG、CAN、UART这些接口都要设计,因为之前买了个电机+FOC一体的,结果作者没引出调试下载的接口,只留了一个UART出来,每次下载程序都要按一下BOOT0,太阴间了就直接吃灰了。 电机的直径是5cm,螺丝孔距离是25mm, […]

  • 在设计手柄的时候,为了让手柄更具通用性并且更加环保,采用了BLE_HID,这样手柄就能够连接到电脑或者手机上进行操作。 补全了之前缺失的右手柄 主控更换为了紫光的PGL50H,不过国产的还是没AMD Xilinx那么好用,国产还得努力。

  • 在移植VexRiscv到FPGA的时候,需要使用到openocd,但是Vex的JTAG并非标准的JTAG,需要使用到openocd-riscv,属于是定制版openocd。作者并未提供Windows,所以要么找别人编译好的,要么自行编译。我在whycan上找到了别人编译的版本,这个版本比较旧,测试用CMSIS-DAP可以正常使用。如果想自己编译的话。可以按照以下步骤进行。 安装环境 这里使用msys来搭建,使用msys中的mingw64,msys地址https://www.msys2.org/,安装之后打开MSYS MINGW64。 如果在编译过程中缺少什么依赖就到MSYS2 Packages […]

  • 闲鱼捡一块SW799的核心板只要几十块钱,4G RAM+8G eMMC的配置还可以,自制个底板做成nuc那样的主机还是挺有意思的。想在机身上带一个屏幕,就用mipi接口装一个1080p的5.6寸ips屏。HDMI肯定是必不可少,音频就只有3.5mm输入输出了,原本想内置扬声器,不过里面留了个USB hub用fpc接出来,可以装USB声卡装个扬声器在机身内部,存储部分可以用tf卡和nvme硬盘,最复杂的部分就是电源了,集成PD快充和电量计等,但是需要使用i2c进行配置,结构比较复杂,所以就画了个单片机上去,类似于PC的嵌入式控制器(EC)。 主要包含了电源、LCD、USB、HDMI、以太网、储存 […]

  • 去年参加集创赛G了,很不甘心,今年再接再厉,结果还是G了。理想是丰满的,实力是不允许的,设计了很多功能上去,结果写不出来,赛区二等奖,差点就进了。学妹嫌弃我,跟别的学长走了。仿照NS设计可拆卸手柄。 主要器件: 1.PA1A60核心板2.WM89603.ESP32-S34.LSM6DS35.CH343P6.SHT307.GD32F150G8U68.STM32F103CBT69.LPS22HBTR10.CH33411.DS133712.TP500013.TPS6302014.SY708815.EC190708 设计有以下功能: 1.长按开关机2.运动操作(未实现)3.温度湿度监测(未实现)4.气 […]

  • 在第一版硬件设计中存在很多问题,最大的两个问题是:1. 板载调试器和FPGA的引脚相连,但是当调试器上电而FPGA未上电时,调试器的IO会漏电到FPGA,这样会使VCCO网络带有2.5V左右的电压,会影响VCCO网络上的器件的工作状态,也会影响FPGA的上电时序。2. BQ25606的BC快充的识别简直是个迷,测试一圈从未触发,而且使用D+,D-来识别就要占用一个USB口。 改进:1. 不同供电的器件之间的IO脚,增加了隔离,防止漏电,实际上增加隔离之后依然有漏电,但是基本上小到等于没有。隔离包括了JTAG、SWD、UART等信号线。2. 充电方案换成了HUSB238+BQ25892+STM3 […]

  • 最近的项目中用到了DAP_Link,但是原版STM32F103CBT6的Demo不太适用,于是基于该主控进行了一点修改。 操作系统:Windows 10IDE:MDK 5.38 新建工程 自选一个路径,建议不要有中文和空格。 然后在 DAPLink\projectfiles\uvision 里面可以找到这两个工程。 分配IO 使用MDK打开工程,在左边”Project“栏里,打开 stm32f103xb_bl/default/IO_Config.h,该文件里定义了SWD、UART、LED的引脚。 该段定义了USB的使能和失能,USB2.0有1.5Mbps、12Mbps、480Mbps三种速率, […]

  • FT2232--JTAG--FPGA FT2232在使用之前需要给外置EEPROM烧录固件,然后在Vivado中进行连接。能够识别的器件,flash选用的是mt25ql128,这是能够买到的比较便宜的Flash了(在XC7A的Flash支持列表里面,不支持的Flash在Vivado里面不能固化)。 测试能够直接Program FPGA,也可以正常的固化Bin到Flash,从Flash启动正常。 Cortex-M3--DAP--MDK 在测试Cortex-M3之前,需要给DAP先烧录固件。之后在Keil里面建立工程,由于没有给CM3连接Flash,所以只能通过Debug将程序加载到RAM中运行: […]

  • 这次选用的是Cadence家族,Capture CIS & Allegro PCB,这是第一次使用,做的也是6层PCB,所以花费了将近一个月时间来边学边做(也不是整天在弄)。根据Allegro的Status,PCB的绘制时间花了15个小时。 Layout 线路主要在Top和Bottom层,Layout的也不怎么好,勉强能用的水平。 PCB 焊接 很难受的是BGA焊盘因为焊接别的元器件的时候有点氧化了不太沾锡,然后找了一根导线当吸锡线拖焊盘,结果这个导线太硬了直接把阻焊干掉了,心态爆炸。还好有绿油补了一下。 成品 调试 虽然一再检查原理图和PCB有没有问题,但是该来的还是来了。 1)NG […]

  • 简介 该项目是我的毕业设计,主要是用FPGA+ADC+射频接收芯片设计一个SDR接收设备。预计使用Cortex-M3作为主控内核,LVGL作为交互界面。需要设计屏幕显示,按键输入,音频输出,电池管理,文件储存的功能。很多的低端SDR是将数据采集发送到PC进行处理,我的设计是想把这些功能全部集成在SDR设备上。 选型 主控:FPGA采用的是XC7A35TFGG484,之前在这个芯片上跑过Cortex-M3,资源也够用,它还有个兼容引脚的XC7A100TFGG484,若是资源实在不够用就可以换成100T。这个芯片用来跑CM3 100MHz完全没问题,价格也还可以。下面是仅CM3的资源使用情况: 因 […]

  • 老早就想搞一个FOC玩玩了,直接买的话感觉没意思,所以想自己设计一个。为了以后用来做别的东西,所以就想把控制器直接安装在电机的底部,这样直接整合成一个系统方便日后使用。既然如此那就要选择薄一点的点电机了,比如5008、5010这种,这个电机直径差不多5cm,要把PCB也做成直径5cm的圆形有点麻烦,另外就是四个螺丝孔也增加了布局难度。本着既然要做,那就要做好的态度,JTAG、CAN、UART这些接口都要设计,因为之前买了个电机+FOC一体的,结果作者没引出调试下载的接口,只留了一个UART出来,每次下载程序都要按一下BOOT0,太阴间了就直接吃灰了。 电机的直径是5cm,螺丝孔距离是25mm, […]

  • 在设计手柄的时候,为了让手柄更具通用性并且更加环保,采用了BLE_HID,这样手柄就能够连接到电脑或者手机上进行操作。 补全了之前缺失的右手柄 主控更换为了紫光的PGL50H,不过国产的还是没AMD Xilinx那么好用,国产还得努力。

  • 在移植VexRiscv到FPGA的时候,需要使用到openocd,但是Vex的JTAG并非标准的JTAG,需要使用到openocd-riscv,属于是定制版openocd。作者并未提供Windows,所以要么找别人编译好的,要么自行编译。我在whycan上找到了别人编译的版本,这个版本比较旧,测试用CMSIS-DAP可以正常使用。如果想自己编译的话。可以按照以下步骤进行。 安装环境 这里使用msys来搭建,使用msys中的mingw64,msys地址https://www.msys2.org/,安装之后打开MSYS MINGW64。 如果在编译过程中缺少什么依赖就到MSYS2 Packages […]

  • 闲鱼捡一块SW799的核心板只要几十块钱,4G RAM+8G eMMC的配置还可以,自制个底板做成nuc那样的主机还是挺有意思的。想在机身上带一个屏幕,就用mipi接口装一个1080p的5.6寸ips屏。HDMI肯定是必不可少,音频就只有3.5mm输入输出了,原本想内置扬声器,不过里面留了个USB hub用fpc接出来,可以装USB声卡装个扬声器在机身内部,存储部分可以用tf卡和nvme硬盘,最复杂的部分就是电源了,集成PD快充和电量计等,但是需要使用i2c进行配置,结构比较复杂,所以就画了个单片机上去,类似于PC的嵌入式控制器(EC)。 主要包含了电源、LCD、USB、HDMI、以太网、储存 […]

  • 去年参加集创赛G了,很不甘心,今年再接再厉,结果还是G了。理想是丰满的,实力是不允许的,设计了很多功能上去,结果写不出来,赛区二等奖,差点就进了。学妹嫌弃我,跟别的学长走了。仿照NS设计可拆卸手柄。 主要器件: 1.PA1A60核心板2.WM89603.ESP32-S34.LSM6DS35.CH343P6.SHT307.GD32F150G8U68.STM32F103CBT69.LPS22HBTR10.CH33411.DS133712.TP500013.TPS6302014.SY708815.EC190708 设计有以下功能: 1.长按开关机2.运动操作(未实现)3.温度湿度监测(未实现)4.气 […]