使用PicoScope探寻Hornby火车模型的工作原理

摘要

英国Hornby创建于1902年,目前已经是上市公司。它专门设计高仿真的铁路和火车模型,Hornby的玩具火车有一个最大的特点:贵。这当然是有道理的,它的铁轨、火车、车站以至于铁路道岔、信号灯、环境装饰都惟妙惟肖,并且许多部件都可以编程控制,非常具有教育和收藏价值。如果你买了一套Hornby的火车模型给孩子作为生日礼物,Ta拿着精密的遥控器问你这些火车还有车站里的设施是怎么动起来的?你可能一时难以回答,但也许,一台PicoScope能够带给你一堂生动的科普课。


图片

DCC Elite是Hornby火车模型的一种控制器(比早期的Select型号复杂很多),本文是Hornby的一名测试员使用PicoScope 2408B测量DCC Elite信号的过程和解读。

图片

Hornby所有的火车模型,包括火车头和车站设施都是通过接收DCC控制信号来工作的。每个火车头里面都内置了一个解码器,车站设施的解码器则藏在铁轨的下面,能够根据指令控制附近的铁路岔道、信号灯、动画还有氛围灯光等等。这里所说的解码器是硬件解码,不同于PicoScope6软件自带的解码功能,下文中提到的解码器都是指这些硬件。



一、测试与被测设备


被测的Hornby DDC Elite 是一款高级数字控制器,可以同时控制64个火车头工作。你可以通过两个控制通道中的任意一个,手动设置每辆火车头。Elite同时还能控制一些车站设施,比如铁路岔道等等。还可以通过它给火车头以及固定设施编程,只需要把Elite和PC连接,就能使用火车模型的软件来控制操作,或者更新模型的固件。


用于测试的示波器:PicoScope 2408B是一款4通道示波器,有高达128MS的存储深度,最大采样率1GS/s.

图片

Pico TA189是一款30A 交直流电流探头,这个案例中它连接到PicoScope的B通道,同时测试信号的电流。


与测试设备配合工作的PicoScope 6软件,内置多种协议解码软件,包含DCC协议。

图片

上图所示是Elite控制器的所有接口,它们的定义如下:

  • TRACK: DCC的供电输出,用于驱动铁路、火车模型还有配件。输出有A和B两极,通过红黑两个弹簧夹接出,保证供电的极性正确。

  • PROG: DCC编程输出端口,用于连接可编程的轨道。这和TRACK输出不同,它的输出电流有限制,不会因为错误的连线造成火车头或者配件过载。只有在编程模式下,这个输出才起作用(产生15V AC脉冲)。它和TRACK输出一样,也使用弹簧夹,分为A和B两个极性。

  • XPRESSNET: 这两个接口是6线RJ12类型(电话线),通过他们可以级联Hornby DCC SelectWalkabout控制器、 DCC Booster电源和信号增强模块或者其他支持XPRESSNET协议的装置。其中,Walkabout协议,使用第2和第5针脚,Hornby Booster使用第1和第6针脚。这些与XPRESSNET不相干,只是为了方便而作的复用设计。

  • USB端口: 通过一根标准的USBStandard A-B线缆,把Elite连接到计算机。既可以更新火车模型的固件,也可以在计算机上运行HornbyRailMaster来控制或编程。

  • Power Input: 通过Hornby的15V 4A稳压器电源供电。这个变压器只能接240V/50Hz的交流电,电压不同的国家地区要配其他的适配器。

  • BOOST: 这个输出算是一个低功耗版本的TRACK信号,可以驱动一个或者几个DCC Booster单元。BOOST输出比前面提到的XPRESSNET灵活的多,不需要特殊的线缆。具体的可以阅读HornbyDCC Booster的说明书。这个端口同样也是A和B双极性弹簧夹输出。

  • AUX输出: 这是一个15V的直流辅助输出,可以用来给灯光、信号等等供电。注意一下,这个端口的输出功率会从Elite驱动火车的总功率中分走一部分。该端口使用标有15VDC的夹子引出。

二、连接测试环境


图片

在PC连接PicoScope 2408B并且装好PicoScope 6软件之后,我把4根TA132探头依次按照示波器操作手册的说明一一做了补偿校准。

我用了一台ESU 解码器测试板来模拟轨道上面的火车。这个装置的作用,是用来和解码器对连,检查它们是不是正常工作、给它们分配地址号或者自定义的配置。确认这些解码器没问题之后,才把它们装进火车头或者其他装置里面。在这个应用里面,我只测试火车头的解码器。

接着,我把Elite电路板上的测试点飞线出来,以便于连接TA132电压探头。测试的对象是TRACK,BOOST, PROG输出。我把探头的夹子钩在信号输出的A端,地线连接到B端。与此类似的,我还在XPRESSNET的PIN1和PIN6上做了飞线。这种连接方式和常规的区别在于:没有直接把所有探头和被测电路共地,不过结果仍然能够正确地捕获目标信号的峰峰值,同时还避免了多个地环回路的干扰。

最后,我在ESU的测试板上连好被测的Hornby Sapphire解码器,作为工作负载。我们之前发布过一个测试视频,这个型号比那里面用的老火车头解码器更高级。后面我们还会发布一个应用案例,详细地解析Sapphire解码器的工作原理,以及它的DCC信号协议。可以先参考Sapphire 的白皮书做个参考:

https://www.nmra.com/index-nmra-standards-and-recommended-practices

为了图片容易看清楚,上面的连接图里面我们只给示波器的A通道连接了飞线信号,其他几个通道同理。


三、串行译码


我在PicoScope6软件里设置好串行译码,把协议选择为DCC,可以看到PicoScope软件支持18种免费的串行协议。以TRACK信号为例,我捕获了几个DCC数据包,每个数据包的地址、数据都解析出来了。在这里面我们可以看到控制器在给哪个地址对应的火车头发送指令。

接着我用到了PicoScope6软件一个很好用的功能,译码链接。它可以把译码出来的原始数据,翻译成可以直接阅读的文本指令。在下面的图里面,我们抓到了一条reserve指令,这样一遍抓取波形,一遍就能够立刻看到命令内容,方便调试。

图片

接下来我用同样的方法测试了PROG/BOOST信号输出,在编程模式下抓到了DCC信号的波形,我确认了PROG信号的确比TRACK功率低。看到了PROG信号的包络随着Elite发出的编程脉冲变化,并且BOOST信号的包络也产生同步变化。

图片

四、小结

这篇应用案例中,我们介绍了Hornby火车模型的控制器Elite,搭建了一套测试环境,把Elite和火车头的解码器互联,截取了它们通信的DCC信号,并且做了解码和分析。基于这套环境,我们可以深入地探寻Hornby的控制方式或者测试验证控制器的性能。

本文是精简翻译版,如果您对更多的细节感兴趣,请阅读原文

https://www.picotech.com/library/application-note/dcc-demonstrating-the-hornby-elite-using-picoscope