- 2024-05-24
-
回复了主题帖:
共读入围:《RISC-V开放架构设计之道》
个人信息无误,确认可以完成评测计划。
- 2024-01-28
-
回复了主题帖:
AG32VF407 SPI使用
lkh747566933 发表于 2023-9-3 23:04
为什么只有CLK上面有22K电阻,数据线不需要吗?这个电阻放在主机还是从机端?
因为CLK是边沿敏感型信号,数据是电平敏感型信号。
CLK的上升沿(或下降沿)来触发接收端内部的触发器,对这个上升沿(或下降沿)时刻的数据电平进行采样,因此必须保证CLK的边沿没有毛刺(否则将会在毛刺的上升沿或下降沿发生误采样),所以一般在发送端添加电阻,对整个CLK信号路径进行阻抗匹配,抑制或消除毛刺。
对于频率较高的信号,数据线有时也会放置匹配电阻。一般低频信号可以不放置。
该电阻是根据发送端驱动器的输出内阻、信号传输线的阻抗确定,因此一般放在靠近发送端的位置。
- 2024-01-18
-
回复了主题帖:
领取审核名单(第五批): 辞旧,年底清仓,100+板卡来袭,有缘来领
个人信息无误,已知晓需自己支付邮费,使用E金币支付,谢谢!
- 2024-01-12
-
回复了主题帖:
辞旧:年底清仓,100+板卡来袭,有缘来领
申请: 20 NXP USB C Multiport Adapter
用途:正在学习、运用USB-Type-C做硬件设计,需要多测试几个USB-TypeC协议设备,以及PD的报文通讯。
- 2023-12-28
-
发表了主题帖:
【DigiKey创意大赛】HA智能家居中控台开箱帖
第三批入围,东西在12月送过来了。貌似赶了个晚集。希望还能赶上进度,完成作品。
选的是STM32MP157D作为HA的中控台,新推出的ESP32-C6作为智能物联设备,组成一套HA智能家居系统。如图:
- 2023-12-27
-
回复了主题帖:
【先楫HPM5361】HPM5300的Arduino代码框架
RCSN 发表于 2023-12-23 07:30
移植好了?
还没有。。。。
- 2023-12-22
-
发表了主题帖:
【先楫HPM5361】HPM5300的Arduino代码框架
// TODO
arduino.h
/*
#ifndef true
#define true 1
#endif
*/
#ifndef __ARDUINO_H__
#define __ARDUINO_H__
#define HIGH 1
#define LOW 0
#define INPUT 0
#define INPUT_PULLUP 1
#define OUTPUT 2
#define LED_BUILTIN 13
typedef unsigned char byte;
typedef unsigned short word;
#define byte(x) (byte)(x)
#define char(x) (char)(x)
#define float(x) (float)(x)
// #define int(x) (int)(x)
#define long(x) (long)(x)
#define word(x) (word)(x)
#define word(h, l) (word)((h) << 16 + (l))
void setup();
void loop();
#endif // __ARDUINO_H__
arduino_app.c
#include "arduino.h"
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
void setup()
{
}
void loop()
{
printf("Hello, arduino world!\n");
int x = 23;
byte y = (byte) x;
byte z = byte(x);
printf("x = %d, y = %d, z = %d \n", x, y, z);
bool b = true;
b = !b;
if( b == false) {
printf("b == false.\n");
}
else {
printf("b == true.\n");
}
exit(0);
}
arduino_main.c
#include "arduino.h"
#define port_ThreadSleep(x)
void main_thread(void *);
int main(int argc, char *argv[])
{
void *x = 0;
main_thread(x);
return 0;
}
void main_thread(void *x)
{
(void) x;
setup();
while(1) {
loop();
port_ThreadSleep(1);
}
}
- 2023-12-06
-
回复了主题帖:
【国产高性能运动控制MCU 先楫HPM5361】coremark跑分-CPU性能测试
为何我用Segger Embedded Studio测出来,Coremark得分有1700多,论坛有其他评测贴里的是1600多。。。。
-
回复了主题帖:
HPM5361EVK硬件原理图学习笔记
注:根据TypeC PD规范,应当按照TypC的CC1/CC2上,考虑Rp为36kΩ(0.5~0.9A)/12kΩ(1.5A)/4.7kΩ(3.0A),确保CC1和CC2上的电压符合TypeC规范,或者由于CC1、CC2在下游UFP端两个5.1kΩ的Rd电阻,在此处BAT54A的公共端并联,因此有可能需要将Rp设置为前述对应阻值的1/2。)
- 2023-11-27
-
回复了主题帖:
关于Tang Primer 25K USB的疑问
用FPGA模拟的话,应该只支持USB1.1,
USB_DP_Pull是一个上拉信号,在刚插入USB口的时候,让上游设备识别是USB-LS(DN-PULL)还是USB-FS(DP-PULL)。
- 2023-11-20
-
回复了主题帖:
测评入围名单: 国产高性能运动控制MCU 先楫HPM5361
个人信息无误,确认可以完成评测计划
- 2023-11-14
-
加入了学习《村田 RFID:基于RFID技术医疗物资只能管理应用方案》,观看 基于RFID技术医疗物资只能管理应用方案
- 2023-11-10
-
回复了主题帖:
HPM5361EVK硬件原理图学习笔记
H12315 发表于 2023-11-4 15:25
这芯片哪里采购的?官方我看还没开始卖呀
我手里也没实物,只是看着原理图纸,用来学习别人的设计,分析然后记录一下。。。。。。。。
- 2023-11-03
-
发表了主题帖:
HPM5361EVK硬件原理图学习笔记
1. HPM5361EVK硬件原理图学习笔记
使用KiCAD设计软件开发,并且在网盘公开了设计的sch和pcb源文件,以及元器件库,对于我们基于HPM系列MCU进行新项目的硬件设计大大方便;
分层次设计,System Block Diagram给出了电路板的整体框架,并在MAINENTRY图纸中,按照功能划分,将不同独立功能部分的电路放在单独的原理图纸上,并将它们之间的信号连接表示。
1.1. Power
不同的接地(GND/DCDC_GND/GNDA)独立分离,使用0Ω电阻连接,
但为什么GNDA和GND在R9和R6两个点连接,而不是单点连接?
不同的电源供电到不同的部分,都采用磁珠(600Ω@100MHz)滤波隔离,确保互补影响,并且在做硬件调试、电源测试、功耗测量的时候还能方便进行调整修改、电流表串联测量等。
模拟部分的参考电压采用单独的AZ432电压基准芯片生成,更稳定低噪的参考电压。
+5V通过DCDC-Buck降压芯片SM8082生成3.3V、3.3V电源部分的输入和输出、使能、分压反馈电阻网络采用单独的接地点GNDD,通过0Ω电阻在+5V输入点和+3.3V输出点接到GND。
+5V通过低纹波噪声LDO芯片LP5907生成+3.3VA,并且输入和输出、使能,都采用单独的接地点GNDA,在+5V输入点通过0Ω电阻接到GND。
+5V通过DCDC-Boost升压芯片SY7208生成+12V。
1.2. USB-OSC
USB接头插座采用目前已成为主流的Type-C。
VBUS输入/输出端使用22uF电容稳压、滤波。
VBUS作为电源输入端向+5V供电时,采用AW33901过压保护芯片,确保过电压发生时能够立即切断电源,并通过二极管1N5819防止电流反向,保护后端电路(+5V)不被损坏。
USB的正负差分数据线采用ESD防护芯片PRTR5V0U2X进行防静电保护,并在其后接共模电感DLW21SN900,共同组成USB2.0的高速信号EMC防护。
因为HPM微控制器的USB是双角色既可作Host也可以做Device,因此这里采用了一个非常巧妙的设计:
对于Type-C插座,USB-IF的标准规范要求在CC1/CC2上提供USB的Host-Device识别功能,要求Host提供一个上拉电阻(或者上拉电流源)标识供电能力,而要求Device提供5.1KΩ下拉电阻将CC1/CC2上的电压降低至CC识别有效电压,
“CC信号有两根线,CC1和CC2,大部分USB线(不带芯片的线缆)里面只有一根CC线,DFP可根据两根CC线上的电压,判断是否已经插入设备。通过判断哪根CC线上有下拉电阻来判断方向,”——Type-C协议简介(CC检测原理) “https://www.cnblogs.com/zxc2man/p/14991620.html”
CC1/CC2的下拉5.1K留空,使用双钳位二极管BAT54A将其通过100K电阻上拉到3.3V。
当EVK连接到外部USB-Device的时候,此时EVK应当充当USB-Host功能,并通过VBUS对外提供+5V电源电压。由于外部的USB-Device的CC1/CC2上有5.1K下拉电阻,则此时双并联钳位二极管将USB0_ID的信号拉低,因此HPM微控制器识别到该信号,并按照USB-Device功能运行。同时Q1的NMOS管的栅极也为低电平,Q1关断,从而USB0-PWR信号为高电平,即电子功率开关AP2151的EN为高电平,AP2125打开,+5V通过其向VBUS供电。
当EVK连接到外部USB-Host时,此时EVK应当充当USB-Device功能。由于外部的USB-Host的CC1、CC2上有上拉电阻或上拉电流源,此时CC1/CC2上是高电平,从而双钳位二极管关断,USB0_ID信号为高电平,HPM微控制器识别到该信号并按照USB-Host功能运行。同时Q1的NMOS管的栅极也为高电平,Q1打开,从而USB0-PWR信号为低电平,即电子功率开关AP2151的EN为低电平,AP2125关断,+5V到VBUS的供电通路断开,而由前述的VBUS到+5V的供电通路打开外部设备对EVK的供电。
电子功率开关AP2151具备过流保护的功能,并通过FLG引脚输出过流信号USB0_OC,MCU的一个IO引脚连接到该信号进行识别。
时钟部分采用24M无源石英晶振,12pf对地电容,并提供一个1M欧姆的并联电阻,有助于晶振的启动和对外部噪声的抑制抵抗。
两个按钮连接到RESETN和WAKEUP,都上拉电阻和对地滤波电容的方式。其中复位按钮和来自调试器的D_RESETN信号,通过双并联二极管BAT54A连接到MCU的RESETN。
1.3. JTAG-Flash
MCU的每个输入电源轨(VIO_B00、VIO_B01、VPMC、VPLL、)都采用0Ω电阻并联跳帽隔离,需要测量各个电源轨的电流功耗时,可以焊下0Ω电阻,并将万用表等仪器串联到跳帽跳针上。
JTAG调试信号直接接到JTAG调试插座上,同时通过跳帽,连接到板载JTAG调试器上。当需要外部调试器时,可以断开跳帽,将外部调试器接到JTAG调试座上。也可以将开发板充当一个调试器使用,断开跳帽,并将外部待调试设备连接到跳帽一侧。(或者将HPM芯片的JTAG相关IO设置为高阻态,从而不需要断开跳帽,外部待调试设备可以连接到JTAG插座上)。
ADC的专属SMA座后面接33Ω采样电阻,并且前后均有测试针,方便进行电压/电流测试。
拨码开关进行BOOT0和BOOT1的设置。
1.4. MOTOR(TODO)
TODO
1.5. Debugger/FT2232HL
采用FT2232H或者一个QFN48封装的HPM5300来模拟USB转JTAG/UART,共用调试器信号线,实现二选一的设计,
FT2232HL的4个数据通道,分别形成JTAG/GPIO(TRST, RESETN)/UART/GPIO(nTXLED, nRXLED)的功能。
在HPM5300开发板上使用HPM5300作为调试器,直接说明了HPM5300作为实际应用的价值。如果这个HPM5300替换FT2232HL的USB转JTAG/UART/GPIO的固件能开源就更好了。
其中HPM5300使用两个SPI来模拟JTAG信号,其中 SPI2_CS(PB11_SCLK)+SPI2_MOSI(PB13_MOSI) 组成了TCK+TMS的信号生成。SPI1_SCLK(PA27_CLK)+SPI1_MOSI(PA28_MISO)+SPI1_MISO(PA29_MOSI) 三个信号组成了TCK+TDI+TDO的信号生成。而SPI2_CS(PB11_SCLK)和SPI1_SCLK(PA27_CLK)通过0Ω电阻连接在一起组成同一个信号,在需要进行TMS切换JTAG的TAP控制器状态的时候,则使用SPI2来进行TCK+TMS的信号输出。需要进行TDI和TDO数据输入输出的时候,则使用SPI2来进行TCK+TDI+TDO的信号输入输出。
使用UART3(PB14_UART3、PB15_UART3)作为调试器的UART信号。
使用GPIO来生成诸如D_RESETN、D_TRST、BOOT0、BOOT1等单独的IO信号。
USB Type-C插座实现调试器以及整板的电源供电。由于调试器固定是USB-Device功能,因此CC1/CC2上直接连接5.1kΩ下拉电阻。同样在USB的正负差分信号线上采用前述相同的ESD防静电防护芯片和共模电感,电源VBUS只需要单向供电给+5V,因此只需要过压保护和防反向二极管。
1.6. Raspberry-PI
采用树莓派的标准HAT扩展接口2x20排针,在硬件层面上兼容广泛的树莓派扩展板生态。
I2C0和I2C1的信号线具备10K上拉电阻上拉至+3.3V。
补充内容 (2023-12-6 08:20):
注:根据TypeC PD规范,应当按照TypC的CC1/CC2上,考虑Rp为36kΩ(0.5~0.9A)/12kΩ(1.5A)/4.7kΩ(3.0A),确保CC1和CC2上的电压符合TypeC规范,或者由于CC1、CC2在下游UFP端两个5.1kΩ的Rd电阻,在此处BAT54A的公共...
补充内容 (2023-12-6 08:20):
在此处BAT54A的公共端并联,因此有可能需要将Rp设置为前述对应阻值的1/2。)
- 2023-11-02
-
回复了主题帖:
【Sipeed 高云GW2A FPGA开发板】——ARM Cortex-M1软核处理器_硬件设计与点亮LED
hongxy0635 发表于 2023-8-3 12:05
按照步骤,到下载这一步,出现了这个错误,是怎么回事啊??
请仔细按照图中的设置。
在Keil项目设置选项里,Debug的JLink Target Option那个页面,把“DownLoad To Flash”选项取消。