当前位置:首页 > 开发板 > 开发板
[导读] 在电子世界特别是MCU的世界里,不管你是硬件工程师还是软件工程师,逻辑分析仪(LOGIC ANALYZER,下文简称LA)都是必备工具之一。

 在电子世界特别是MCU的世界里,不管你是硬件工程师还是软件工程师,逻辑分析仪(LOGIC ANALYZER,下文简称LA)都是必备工具之一。

逻辑分析仪是分析数字系统逻辑关系的仪器。逻辑分析仪是属于数据域测试仪器中的一种总线分析仪,即以总线(多线)概念为基础,同时对多条数据线上的数据流进行观察和测试的仪器,这种仪器对复杂的数字系统的测试和分析十分有效。逻辑分析仪是利用时钟从测试设备上采集和显示数字信号的仪器,最主要作用在于时序判定。由于逻辑分析仪不像示波器那样有许多电压等级,通常只显示两个电压(逻辑1和0),因此设定了参考电压后,逻辑分析仪将被测信号通过比较器进行判定,高于参考电压者为High,低于参考电压者为Low,在High与 Low之间形成数字波形。现代逻辑分析仪除了上述基本功能之外,还加入了协议解码及分析的功能,能根据采集到的信号,对一些常见的通信协议如UART、I2C、SPI进行解码、分析,以一种更符合逻辑的方式呈现给开发者。

DSLOGIC是一款开源的LA,由DREAMSOURCELAB在KICKSTARTER上首先发起并众筹成功。除此之外,DREAMSOURCELAB还在此基础上开发出一系列的产品,如虚拟示波器及相应的外设等。


开箱

DSLOGIC产品的包装非常朴素,使用环保的牛皮纸包装盒。包装盒上只有DSLOGIC的LOGO及工作室的网址,非常简洁,但令人印象深刻。


包装盒内包含如下组件:

  • · DSLOGIC盒子X 1
  • · MICRO USB数据线 X 1
  • · DSLOGIC 探头排线 X 1
  • · DSLOGIC 探头夹子 若干

DSLOGIC全家福

DSLOGIC盒子非常小巧,三围分别是89mm X 89mm X 9mm,DSLOGIC盒子外观设计同样也非常简洁,一侧是探头排线接口,另一头是MICRO USB接口,盒子上方有一个工作指示灯,指示采样及工作状态。盒子表面采用金属拉丝工艺处理,看上去非常高档大气上档次,黑色的盒子透露出神秘、高端的质感!整体感觉,DSLOGIC盒子外观小巧,简洁、精致。


探头排线接口

MICRO USB接口,与PC相连



带地线屏蔽的探头排线

[!--empirenews.page--]

DSLOGIC探秘

DSLOGIC介绍

DSLOGIC是一款基于USB的设备,硬件盒子负责数据采集及存储,通过USB接口上传给上位机软件DSVIEW进行分析及解码。

内核基于Xilinx Spartan-6 FPGA+SDRAM的产品架构,可以提供高达400MHz的实时采样,50MHz的状态采样,16M*16通道的采样深度。基本参数如下。

最大采样率:

4 channels @ 400MHz

8 channels @ 200MHz

16 channels @ 100MHz

板载存储深度:

Total 256M (16M samples per channel)

连续可调的阈值电压范围: 0.5V to +4.5V

输入电压范围: -30V to +30V

输入阻抗: 250Kohm

输入通道带宽: 50MHz

最大的状态采样时钟: 50MHz

和一般的LA相比较,DSLOGIC有如下特色:

1.

256Mbit的板载内存保证高达1.6Gbps采样数据的实时存储。入门级逻辑分析仪大都会对带宽或者存储深度的指标进行妥协,而大大降低此类逻辑分析仪的实用性。例如saleae通过USB实时传输,利用上位机的内存来存储数据,很好的解决了存储深度的问题,但是由于USB带宽受限,最高只能达到200-300Mbps的采样带宽;Open Workbench Logic Sniffer则采用了FPGA内部的BRAM作为存储空间,同样具有1.6Gbps的采样带宽,但是存储深度只有216Kbit。


2.

16级组合式高级触发功能,轻松设定复杂的触发条件。触发作为逻辑分析仪最重要的特性之一,直接影响到采样定位的精确性。大部分入门级的逻辑分析仪都不具备高级触发功能,让使用者在大量的无用信息中寻找和定位问题,浪费宝贵的时间。


3.

连续可调的电平阈值。基于高速比较器的电平采样电路,不仅可以随意调整电平阈值的高低,从而适应不同的信号标准(1.2V/1.5V/1.8V/3.3V/5.0V),而且可以把电平判断的精确度提高到100mV以内的水平,获得最大的噪声容限,大大降低了误判和采样毛刺产生的可能性。入门级逻辑分析仪大都采用固定电压标准的接口芯片进行电平判断,无法保证采样结果的精确性。


4.

DreamSourceLab的上位机软件同样采用开源架构,现已支持多达44种协议的解析功能。在开源社区的支持下,这个数字还会继续增长。每个人都可以为这个免费的协议解析库做出自己的贡献。


硬件及软件安装

以开源之名,DSLOGIC套件支持众多的操作系统,主流的三大系统都在支持之列: WINDOWS,LINUX,MAC OS。下面以常用的WINDOWS系列为例,安装硬件驱动及上位机软件。

DSLOGIC的硬件驱动包含在上位机软件中,从官方网站下载上位机软件,选择WINDOWS版本下载。最新的版本是DSView(Beta)_v0.9.5.1_setup.EXE。双击安装,本文测试使用的操作系统是WINDOWS 10。将MICRO USB的一端与DSLOGIC连接,另一端连接至PC。然后打开C:\Program Files (x86)\DSView\Drivers文件夹,里面包含X86及X64的驱动,根据自己的操作系统版本,安装对应的驱动。


需要注意的是,在WINDOWS10下,可能安装驱动时要禁用数字签名,才能成功安装系统。安装成功后设备管理器里应该出现DREAMSOURCELAB DSLOGIC字样。


正确安装好设备驱动后,打开DSVIEW软件,这是DSLOGIC的上位机软件,同时软件会自动检测到DSLOIC设备。


可以看到DSLOGIC已准备就绪,16个采集通道也准备开始采集数据。

我们也可以先打开软件的DEMO DEVICE,这是一种演示模式,体验一下采集的效果,这个功能甚至在没有连接硬件设备的时候都可以使用。


各通道的颜色可以自行设定,根据自己的审美,选择一组适合自己的颜色,工作起来更赏心悦目!

上位机软件的工作界面非常简洁,要调整不同的工作参数,可以通过软件界面上部的各功能设置框或按钮进行调整。

上位机软件DSVIEW的功能非常强大,这个软件不仅仅适用于DSLOGIC,同时也适用DREAMSOURCELAB自家另一款产品,DSCOPE虚拟示波器。

[!--empirenews.page--]

测试

漂亮的外观已给我们留下了深刻的印象,然而DSLOGIC的真正魅力来自它强大的逻辑分析功能。

让我们请出本次测评的另一主角,STM32F4-DISCO,让它来见证奇迹的时刻。


为了展示DSLOGIC强大的功能,我们设计了几段代码,让STM32F4-DISCO产生若干数字信号,通过检测捕获到的信号,与原始设计的理想信号进行比较,来展示DSLOGIC的强大功能。

测试的信号主要包括如下几个方面:

  • · 电平翻转信号,包含状态及时序信息
  • · PWM信号,包含状态及时序信息
  • · 通信协议,包含状态、时序、编码信息

STM32F4-DISCO评估板是ST官方推出的供快速开发及建立原型的一块开发板,使用STM32F407VGT6 MCU,最高可以工作于168MHZ频率。板载8M外部晶振,能提供比较准确的外部时钟信号。

关于本次测试中用到的测试代码,后面附录提供了完整的工程信息,具体运行环境及函数库请参考文档内的说明。当然,如果你并不熟悉STM32 MCU程序设计,这些代码看起来也许并没有很大的意义,请遵循见名知义的原则进行理解。

DSLOGIC与STM32F4-DISCO的连接


测评序列一 电平翻转信号测试

本测试中用到了STM32F4-DISCO上的定时器TIM2,系统时钟设置如下,HCLK为168MHZ,TIM2挂在APB1总线上,APB1的时钟总线为42MHZ,为HCLK的4分频,所以TIM2的工作频率为84MHZ。

TIM2初始化代码如下:

htim2.Instance = TIM2;

htim2.Init.Prescaler = 83;

htim2.Init.CounterMode = TIM_COUNTERMODE_UP;

htim2.Init.Period = 9;

htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

HAL_TIM_Base_Init(&htim2);

这段代码的作用是产生周期为10US的精确定时,然后产生中断,在ISR例程里翻转电平信号。

DSVIEW设置及捕获的结果如下图,可以看到,捕获的结果非常精确。


测试序列二 PWM信号捕获测试

PWM信号在实现无级调光、电机驱动方面有很广泛的应用。

使用STM32F4-DISCO评估板上TIM1来产生2路互补PWM信号,即TIM1的CH1、CH1N,CH2、CH2N共计4路信号,没有插入死区时间。

TIM1挂在APB2总线上面,所以TIM1的时钟信号频率为168MHZ。

CH1的占空比设定为30%,CH2的占空比设定为60%,PWM频率均为1KHZ。下面是部分设定代码

htim1.Instance = TIM1;

htim1.Init.Prescaler = 167;

htim1.Init.CounterMode = TIM_COUNTERMODE_UP;

htim1.Init.Period = 999;

htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

htim1.Init.RepetitionCounter = 0;

HAL_TIM_Base_Init(&htim1);

sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;

HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig);

HAL_TIM_PWM_Init(&htim1);

sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);

sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;

sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;

sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;

sBreakDeadTimeConfig.DeadTime = 0;

sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;

sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;

sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;

HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig);

sConfigOC.OCMode = TIM_OCMODE_PWM1;

sConfigOC.Pulse = 300;

sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;

sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;

sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;

HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);

sConfigOC.OCMode = TIM_OCMODE_PWM2;

sConfigOC.Pulse = 400;

HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_2);

将代码下载到开发板上,运行程序。

LA捕获得到的结果如下


TIM1定时器CH1与CH1N的逻辑信号,看到占空比为精确的30%。


TIM1定时器CH2与CH2N的PWM输出信号,使用的是PWM MOD2,占空比为精确的60%。

[!--empirenews.page--]

测试序列三 UART通信及解码

其实对于LA来说,通信协议分析才是它的强项。我们知道,各种电子设备或器件,彼此需要通过信号来进行信息交换,MCU与各外设之间也需要与使用相应的通信协议来进行通信。常见的通信协议有UART/USART、I2C、SPI、1-WIRE等,这些通信协议都是通过电平的高、低及转换,结合相应的时序信息来表示特定的数据。比如UART通信时,表示开始的信号就是一个高低电平转换,而结束信号则由一个低、高电平转换来完成。对于软、硬件工程师来说,这些通信信号是看不见、也摸不着的电子信号,所以要想观察这些信号是否正常,我们需要一个可视化设备来完成这个工作。示波器也能完成这个工作,但一般意义上的示波器只能观看到电平的高低及转换过程,时序信息也能看到。但面对众多的通信协议标准,到底一个信号表示什么意思,对工程师来说是很困难的!这个时候就是LA大显身手的时候了,因为LA一般都内置有特定的协议解码功能,只要告诉LA,这个信号是用什么协议实现,对应通道的具体功能,那么LA就能将一次通信过程完美的解码,并以非常人性化的方式呈现给用户。

DSLOGIC支持多达44种通信协议,受益于开源特性,这个数字还在继续增长中。

本次就UART做一个简单的解码测试,UART初始设置参数如下

huart2.Instance = USART2;

huart2.Init.BaudRate = 115200;

huart2.Init.WordLength = UART_WORDLENGTH_8B;

huart2.Init.StopBits = UART_STOPBITS_1;

huart2.Init.Parity = UART_PARITY_NONE;

huart2.Init.Mode = UART_MODE_TX_RX;

huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;

huart2.Init.OverSampling = UART_OVERSAMPLING_16;

HAL_UART_Init(&huart2);

发送到电脑PC端的信息如下

HAL_UART_Transmit(&huart2, (uint8_t *)"Hello\r\n", 7, 100);

下面设置LA的解码,点击DSVIEW界面上的DECODER按钮,从可用的下拉列表中选择解码协议UART,点击旁边的+号,添加UART协议,此时弹出一个对话框,让用户设定UART参数,探头所使用的通道。这里只测试了TX发送功能,设置如下


点击OK按钮,完成参数的设置。

在正式开始测试UART协议解码功能之前,再说说触发器的功能及设置。

所谓触发器,指的是在采集信号的时候,只有当某个条件(如高、低电平或电平之间转换)的时候,才正式开始采集信号。这样,我们在采集信号的时候才不会手忙脚乱。DSVIEW的触发功能独树一帜,触发条件设置非常灵活。触发条件可以是简单形式,也可以使用高级模式。下图列出了高级触发模式的对话框设置。


该设置主要包括如下几个方面:

触发位置,从什么时候开始采集信号

分阶段触发,指定一系列的触发条件,可以组合各采集通道的状态来实现触发;也可以按先后条件来指定触发逻辑

总之,DSLOGIC的触发器设置非常灵活,可自由组合,实现一些高级的触发功能。

根据UART通信协议规定,UART起始位始于一个高低转换电平,所以如下图所示,我们将触发条件设置为下降沿,注意图中UART2_TX通道中黄色的触发条件设置。


图中上部列出来UART解码后的详细信息,可以看到我们发送的字符“Hello\r\n”,已经全部发送,解码是成功的。

事实上,DSLOGIC支持众多的通信协议解码,上面仅仅是冰山一角,更多的功能有待你进一步发掘!

小结

总体来说,DSLOGIC是一款非常优秀的产品。硬件基于Xilinx Spartan-6 FPGA+SDRAM的产品架构,可以提供高达400MHz的实时采样,50MHz的状态采样,16M*16通道的采样深度。16通道同时采样能达最高100MHZ的采样率,能保在证绝大多数情况下满足你的需求。16级组合式高级触发功能,轻松设定复杂的触发条件,让你在进行协议分析及解码时游刃有余。连续可调的电平阈值,大大降低了误判和采样毛刺产生的可能性。开源软件DSVIEW,支持高达44种通信协议的分析及解码,从此,信号不只是概念,它们更是可爱的精灵,在DSLOGIC的魔力之下,它们就是一组跳动的音符,在你创作的过程中,伴你一路前行!

作为一款新的产品,DSLOGIC也有一些需要改进的地方。一是官方文档比较少,这也许是技术类创业者的通病,他们更关注自己产品的性能,愿意花更多的时间在产品本身,而对于产品文档及周边的关注相对较少。例如触发器的高级设置中,初次上手者基本很难一次性设置成功,这时用户希望能有一些简单的教程或手册帮助他们快速上手。希望官方能逐渐完善产品文档,这样产品才会更加有竞争力!众多的产品使用者提出,DSLOGIC非常优秀,配套的附件特别是探头夹子,质量一般,不过这方面的影响并不是太大。再有就是上位机软件本身,可以改进的空间还很大。比如DSLOGIC最多支持16通道的数据采样,但是在DSVIEW上如果关闭部分通道的话,未关闭的通道结果也会占据着整个界面本身,这样显示的结果就不是那么和谐。同时DSVIEW软件本身也还有一些BUG,加上一些功能的设置不太人性化,这些都是需要改进的地方。随着产品慢慢完善,我相信,在测控仪器的天地,必将有DREAMSOURCELAB的一片天地!

国产、开源这些概念,到了今天也许已不能引起你太多的激情。毕竟像XX之类打着研发的幌子,骗取国人信任的情况让我们伤透了心。但从DSLOGIC上,我们再一次看到了希望,也许这只不过是燎原的一丝星火,青苹之末的一缕微风,但我们始终要相信:美好的事情正在发生。

星星之火,可以燎原;始于青苹之末的微风,也绝不会止于草莽之间!

参考资源

1. DREAMSOURCELAB官方主页:http://dreamsourcelab.com/index.html

2. KICKSTARTER众筹页面:https://www.kickstarter.com/projects/dreamsourcelab/dslogic-multifunction-instruments-for-everyone

3. DSVIEW软件下载: http://dreamsourcelab.com/download.html

4. Xilinx Spartan-6 FPGA产品文档:http://www.xilinx.com/support/documentation/data_sheets/ds162.pdf

5. 测试用代码包:链接:http://pan.baidu.com/s/1gdYSfsv 密码:g7im

 

——————本文系21ic原创,未经许可严禁转载——————

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭