OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » USBee示波器性能实测【鸣谢hanshuyujifen2】

共23条 1/3 1 2 3 跳转至

USBee示波器性能实测【鸣谢hanshuyujifen2】

高工
2013-10-14 00:27:53    评分

晚上看见军爷用示波器测试串口波特率,上了一大堆实体示波器的PP。

想到自己还有个USBee,果断测试对比。

老规矩,点击小图可看高清无码。

建议先看看军爷的测试帖,有个比较:http://forum.eepw.com.cn/thread/240529/1


先上测试实物图:

测试代码伺候【抄袭军爷的,不过军爷博客里头USART_InitStructure的定义貌似有些问题】:

#include "stm32f4_discovery.h"
#include "stm32f4xx_usart.h"
 USART_InitTypeDef USART_InitStructure;
void NVIC_Config()
{
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x03;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x02;
    NVIC_InitStructure.NVIC_IRQChannel  = USART1_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}

void USART_Gpio_Config(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOB  , ENABLE);
    //PB6->TX  PB7->Rx
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    
    GPIO_PinAFConfig(GPIOB,GPIO_PinSource6,GPIO_AF_USART1);
    GPIO_PinAFConfig(GPIOB,GPIO_PinSource7,GPIO_AF_USART1);
}

void USART_Config(void)
{
    USART_Gpio_Config();
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 
    USART_InitStructure.USART_BaudRate = 8192000;
    USART_InitStructure.USART_WordLength = USART_WordLength_8b;
    USART_InitStructure.USART_StopBits = USART_StopBits_1;
    USART_InitStructure.USART_Parity = USART_Parity_No;
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;    
    USART_Init(USART1,&USART_InitStructure);   
    USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);   
    USART_Cmd(USART1,ENABLE);   
}

int main(void)
{
    NVIC_Config();
    USART_Config();
    while(1)
    {
       USART_SendData(USART1,0xAA);
    }

下面上USBee测试画面:

9600,能过关。

14400,还行。

19200,将就还能看。

38400

56K了

115.2K

128K了,一切顺利

256K也没有太大问题

512K,波形已经难看了,不过时间和频率还算正确。

1M,OMG,这个波形......,还好周期和频率健在。

2M,你妹,这还叫波形?不过USBee的虚拟示波器还能辨认出周期和频率,不过已经没有小数变化了,估计接近USBee极限了。

纳尼?上了4M,这个是波形吗?周期和频率依然健在。

8M,USBee倒下了,完成了它艰巨的任务,世界清净了......。


USBee在精度上还是有一定的差距,不过只要不是很变态的时序要求,基本上也能够完成普通的任务了。

512K,估计是USBee在9000K的Buffer Size下能显示最后的波形了。

不敢再调整Buffer Size了,我这台电脑的CPU三级缓存也就8M。

通过测试,这脉冲频率是和波特率一样,整个波形的频率就应该是波特率的一半。






关键词: USBee     示波器     性能     实测     鸣谢     hanshu    

高工
2013-10-14 00:38:31    评分
2楼
我测到2m就进行不下去了。好像到了极限了,或者我测错了。。。。

高工
2013-10-14 00:39:54    评分
3楼
initstructure哪里问题?应该是我五月份写的,好久没看了。

高工
2013-10-14 00:41:07    评分
4楼
军爷那台示波器老当益壮啊。

高工
2013-10-14 00:43:12    评分
5楼

USART_InitTypeDef USART_InitStructure;

这个结构体得在全局定义,在USART_Config()函数里面定义会报错。

你博客里头好像就是在USART_Config里面定义的。


高工
2013-10-14 00:46:10    评分
6楼
300m的泰克,二十m的国产垃圾探头。

高工
2013-10-14 00:47:31    评分
7楼
这就是个声明,放哪里都行的。我习惯放到函数里边,当成局部变量。

高工
2013-10-14 00:48:32    评分
8楼

是啊,我也觉得奇怪。

但是我拿出来,就不报错了,没想明白。


高工
2013-10-14 00:50:47    评分
9楼
2m的波特率我好像设置成了2048了。少输三个零。明天继续测下。

高工
2013-10-14 00:50:52    评分
10楼

靠,泰克......

x想换的时候送给我吧。


共23条 1/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]