如果你已经看到我们的视频解码DCC串行总线,你就会知道如何使用的PicoScope ® 6软件用的PicoScope USB示波器捕获和解码DCC(数字化指挥控制)由霍恩比DCC选择控制器产生的波形。这是Hornby的一些数字火车组提供的基本控制器。 Robbie Honnor是Hornby数字系统的外部beta测试人员。在本应用指南中,他继续从视频开始,使用PicoScope 2408B对Hornby DCC Elite控制器产生的信号进行解码,该控制器比Select更先进,并且有更多的软件可供分析。


关于解码器的说明
数字列车通过根据DCC串行协议对信号进行编码并将其发送到机车(移动)或静态(附件)解码器来工作。轨道上的每个机车携带机车解码器以接收来自控制器的指令。静态解码器位于模型铁路布局的旁边或隐藏在其下方,并处理与布局本身相关的指令,例如点,信号,动画和场景照明。 重要的是不要将这些硬件解码器与PicoScope 6软件中内置的17个串行解码器混淆。虽然如果没有PicoScope 6 DCC解码器,这里讨论的技术是不可能的,但在本应用笔记中使用“解码器”一词涉及静态和机车解码器。


设备
Hornby DCC精英控制器 的霍恩比精英是一个全功能的先进数字控制器,能够在单个布局同时运行64台机车。您可以通过两个手动控制通道中的任何一个设置这些可能的定位器中的每一个。Elite还支持主要和编程轨道上的点和其他附件的控制,以及机车和静态解码器的完整编程。它通过USB连接到您的PC,以允许固件更新和与模型铁路控制软件的交互。

PicoScope 2408B示波器
所述的PicoScope 2408B 是具有128 MS捕获存储器和1 GS / s的取样速率的4通道的设备。有关更多信息,请访问产品规格页面。 TA189 30 A AC / DC电流探头
我在必要时将Pico Technology TA189电流探头连接到示波器的通道B,以便在我测量另一个通道上的电压的同时测量信号的电流。 PicoScope 6软件
所述的PicoScope 6软件具有用于多种协议,包括DCC解码器支持。在准备本应用笔记时,我最初使用的是最新的beta版本,然后是可用的稳定版本。


Hornby DCC Elite控制器连接
Elite输出连接如下:


设置设备 安装了PicoScope 6软件并将PicoScope 2408B连接到PC后,我将随示波器提供的四个TA132电压探头中的每一个连接到通道输入,并按照探头用户指南中的说明进行补偿。 我使用ESU解码器测试仪来模拟轨道上的火车。这个有用的设备允许您安装机车或静态解码器,检查它是否正常运行,必要时重新设置,并在将其安装到机车或布局之前添加任何自定义设置。对于本应用笔记,我只使用了机车解码器。 然后我将断线连接到Elite的各种外部电路,以便连接TA132电压探头。对于TRACK,BOOST和PROG输出,我使用提供的弹簧钩探针尖端将每个探针连接到来自输出A端子的导线,并将探针接地夹在相关B端子的导线上。同样,我将分支线连接到RJ引脚1和6以测试XpressNet输出。这与探头到信号源和夹子到公共地的传统示波器连接相反,但是由于它正确地捕获了峰峰值目标信号并避免了平行接地路径问题,所以我始终使用这种方法。可以忽略接地夹并仅探测任一输出端子。 我还在ESU测试台中安装了一台Hornby Sapphire解码器作为工作负载。这是比DCC解码视频中使用的数字机车解码器更先进的模型。稍后的应用笔记将探讨蓝宝石解码器的全部潜力,并查看与其特殊功能相关的高级数据包DCC信号 - 如果您希望提前阅读,请参阅Sapphire规范和NMRA S-9.2.1高级数据包定义。 为清楚起见,上面显示的基本设备设置仅使用通道A,探头的分支线连接到ESU测试仪上的螺钉端子,以实现最可靠的连接。我通过每个Elite输出的分支线同样设置其他通道。


串行解码 我们现在准备开始解码从Elite控制器发送的各种DCC串行总线。 正如您在DCC解码视频中看到的那样,通过PicoScope 6中的“工具”菜单控制串行解码。只需单击工具 > 串行解码,单击创建并选择DCC即可开始。 对于本应用笔记中的所有测试,我将阈值设置为0 V,滞后设置为2 V.我还为串行数据表选择了二进制格式。


TRACK输出 我们将首先使用通道A查看来自Elite TRACK输出终端的DCC信号,并注意尽管它与DCC解码视频中看到的未过滤信号基本相似,但我们现在已经在图形显示屏上显示了扩展数据包附加命令进入蓝宝石解码器,控制开关定向灯等功能。 右侧的屏幕截图是使用测试版软件捕获的。图像的上半部分是图形显示,我们可以看到通道A(蓝色)拾取DCC数据包并显示大约±15 V的典型DCC电压,以及通道B(红色)拾取时的TA189电流钳位蓝宝石解码器在负载下运行大约0.2 A. 通常建议您确保您的机车解码器能够处理机车的失速电流消耗。我通过手动停止电机检查了这一点,导致屏幕截图中显示当前的尖峰。 屏幕截图的下半部分包含表格显示,通过链接文件,我们可以将二进制数据转换为更容易消化的文本,向我们展示来自Elite的命令。需要进一步的工作来完成链接文件的所有列中从二进制到文本的转换。 由于我没有正确设置低通滤波器并且轨道系统上只有轻负载 - 只有ESU解码器测试仪,因此DCC信号的一些振铃在此屏幕截图中显而易见。当轨道上有许多轨道时,即使它们处于静止状态,振铃也会受到更好的阻尼。 请注意,默认情况下,静态和机车解码器总是在监听多个地址:自己设置的短地址或长地址,分配的多个机车编组地址,以及广播地址,如“紧急 - 全部停止”或编程指令(编组允许您将多个机车控制为一个,例如您可能用于重型列车或与银行家引擎协商陡峭的坡度时。 在图表上的彩色数据流中,我们可以看到解码器在地址0003的前导码之后响应,然后对给定的指令和数据采取行动,然后进行错误检查(刚好在图表之外)并再次收听进一步的指令。实际上,解码器不会执行任何命令,直到错误检查表明它们是好的:如果有错误,解码器会忽略命令并恢复监听。


BOOST输出 我们现在将使用软件的稳定版本来查看通道D上Elite的BOOST终端的输出,并将其与通道A上的TRACK输出进行比较。如上面Elite的连接列表所示,BOOST信号是低能量指令中继器,发送到Hornby Booster单元。增压器接收Elite DCC信号,将其放大并传递到第二个电隔离电源区,Booster本身通过其自身的PSU提供全部跟踪功率。请参阅下面的XPRESSNET输出部分中的连接图。 我使用与TRACK端子相同的方法将通道D探头和接地夹连接到BOOST A和B端子,但这在Elite屏幕上产生错误消息,指示极性不匹配或短路。为了纠正错误,我将连接调整为探测,一切都很好,表明Elite内部存在某种问题。调查显示印刷电路板(PCB)的设计存在错误。Hornby将允许其投入生产,因为外部Hornby Booster会自动切换BOOST输出的极性,无需用户干预。我注意到以后在连接到XPRESSNET输出时可能出现类似问题时要注意。 从上图可以看出,通道A和通道D的波形完全相同。没有明显的滞后:如果有,它将影响机车从一个动力区到另一个动力区的控制过渡。 在串行数据表再次设置为二进制的情况下,地址字段(上图中的左侧框)显示值00000011,其与解码器地址0003相关; 在说明字段(图像中的右侧框)中,我们可以看到应用的各种速度步骤。一些其他指令,等同于解码器是否工作到有限的V-Max(受限制的最高速度)或128速度步长(正常设置)仍然以二进制形式显示,再次反映了对链接文件的进一步工作的需要。


XPRESSNET输出 您也可以使用XpressNet RJ12电缆连接连接增压器单元,如右图所示的图1所示。但是,这种方法不如直接连接方法好,因为它不是实际的XpressNet数据流,只是方便地使用RJ12插头上的备用送丝,它实际上可以扭曲Walkabout控制器使用的XpressNet数据。图4中的图像被认为是最直接的,因此是最佳的,直接连接方法的助推器。


TRACK,BOOST和XPRESSNET的比较 对于此测试,我将通道C电压探头的分支线连接到XpressNet RJ引脚1(白色,RailSync B)和6(蓝色,RailSync A)。这一次,Elite上没有出现任何错误消息。右侧的屏幕截图显示,通道C(绿色)基本上是通道D(黄色)BOOST输出的副本,它们都与通道A(蓝色)TRACK输出同步。请注意,所有频道都会偶尔出现一些匹配的铃声。 和以前一样,如果将表设置为二进制,则“地址”字段(屏幕截图中的左侧框)难以阅读,但“说明”字段中的许多条目都是纯文本,我在链接文件中输入了该条目。在这里我们可以看到功能1和2已经在数据包1038中打开,并且再次在数据包1045中打开。仍然是二进制,我们还可以看到数据包1034和1035中的V-Max和128速度步骤指令以及数据包1041和1042。


与Elite编程 我们现在简要介绍一下编程,这篇文章太大了,我们希望在将来的应用笔记中更深入地讨论它。使用Elite,服务模式和操作模式进行编程有两种基本方法。


我们编程的是什么?为什么? 简短的回答是解码器配置变量(CV)。这些是静态和机车解码器的特殊特性,我们可以通过写入一系列值来改变解码器响应DCC命令的方式。 有1024个可用的CV,每个有8位,给出了从0到255的一系列可能的十进制值。并非所有的解码器都允许更改所有的CV,并且并非所有的CV都使用全范围的值。 基本解码器的CV很少可以改变,但更高级的解码器,如蓝宝石和大多数声音解码器,制造商都有更多的CV,这些可以改变。一些声音解码器的用户手册可能令人生畏!


运作模式 在操作模式下,编程命令通过Elite的TRACK输出发送。即使主轨道上有多个机车,这也是可能的,因为编程命令被发送到指定的地址,正如我们用正常的机车速度和方向指令所看到的那样。 这很有用,因为它允许您在特定机车运行时对其进行更改,并立即生效。您可以使用操作模式来改变加速度和/或减速率,设置音量,命令加油,启动闪烁灯等。在下一个DCC应用笔记中,我们将看到该系统如何发送特定的静态或机车解码器的地址,然后是编程指令。


服务模式 在广播条件下在隔离的编程轨道上执行编程。“广播”信号是在没有任何特定地址的情况下发送的信号,因此范围内的任何静态或机车解码器将接收以这种方式发出的编程指令。 该模式还利用了一种称为确认(简称ACK)的巧妙功能。当被询问时,静态或机车解码器将在其同意的情况下发送ACK,通常通过向机车电机施加短脉冲:控制器接收该电流浪涌,然后进入下一个任务。 数字解码器仅在接收到复位分组之前的有效服务模式指令分组时才进入服务模式。 服务模式分为三种子模式:


注册模式 在此模式下只能访问八个寄存器,具体如下:

目前,这种有限的编程模式并不经常使用。

分页模式 分页模式在寄存器模式下扩展到1024 CV的全范围,然后寄存器6将“页面”分成四个CV的组(因此Page 1 = CV 1到4,Page 2 = CV 5到8,Page 3 = CV 9到12等)。许多静态和机车解码器不支持这种方法,但DCC控制器通常足够智能以识别哪些解码器可以和哪些解码器不能。


分页模式 分页模式在寄存器模式下扩展到1024 CV的全范围,然后寄存器6将“页面”分成四个CV的组(因此Page 1 = CV 1到4,Page 2 = CV 5到8,Page 3 = CV 9到12等)。许多静态和机车解码器不支持这种方法,但DCC控制器通常足够智能以识别哪些解码器可以和哪些解码器不能。


直接模式 这是最常用的方法,速度更快。它允许访问所有解码器的CV,并允许您快速读取或写入定义每个CV的值的单个8位,从0到255。 早期的编程模式非常慢,因为它们要求控制器向解码器询问CV(n)是否为值1,如果不是,则值为2,如果不是,则值为3,依此类推,可能通过所有256个值。直接模式询问每个CV的8位,并且由于每个位只能具有0或1的值,因此该过程仅询问CV(n)的位1是否为值1,然后位2是否为值1,是否为位3是值1,依此类推。如果位的值为1,则解码器将发送ACK,如果为0,则不会发送,因此该方法意味着控制器仍然可以在更短的时间内找到CV的值。我们将在下一个应用笔记中找出串行数据表是否可以选择它。


PROG输出(用于服务模式) 我从Elite的TRACK终端上卸下了ESU测试仪,并将其连接到PROG终端。这是另一种低能量输出,NMRA建议在编程期间使用该输出来保护静态和机车解码器免受用户接线错误的可能损坏。使用ESU测试仪排除了这种类型的接线错误,但如果继续错误地安装,解码器仍然存在风险。 我像以前一样将通道A探头连接到ESU分支线。我还将Channel B探测器连接到了Elite的BOOST终端,因为有一个奇怪的Elite特征我想捕获以供稍后评论。 在Elite上设置单独编程轨道的唯一原因是服务模式信号是广播信号,没有特定地址(参见上面的屏幕截图),并且范围内的所有静态和机车解码器都将受到此处发出的任何编程指令的影响。办法。 上面的屏幕截图是通过更改CV1将服务模式的直接子模式中的解码器地址从其默认值0003更改为新数字的简单示例。像往常一样,表数据是相当难以理解的,表明创建和填充链接文件对于我们对DCC信号的理解有多重要。 注意当Elite激励编程数据时编程信号如何上升和下降,以及共享相同输出继电器的BOOST数据如何与脉冲动作匹配。


编程静态和机车解码器:一个入门 使用Select控制器,错误地编程主轨道上的任何或所有机车都非常容易,因为它使用了一个两用DCC输出,您可以设置为跟踪电源或编程,因此您必须记住切换从主运行轨道到单独的编程轨道的电线,以匹配适当的模式。 Elite通过每个模式的独立输出端子克服了这个问题,从而允许控制器永久连接到主操作轨道和单独的编程轨道,从而避免了交换连接的需要和错误编程整个车队的风险。机车错误。当Elite调用编程时,它仅将操作模式命令指向主轨道上的指定静态或机车解码器地址,而它将服务模式命令广播到在编程轨道上监听的任何内容。 为了改进NMRA S-9.2.3定义的低能耗节目建议,并进一步努力保护静态和机车解码器免受因安装布线不良而造成的损坏,Elite也会在编程轨道上切断电源。实际上发送任何编程信号。这个保护措施在Elite上可见,因为内部继电器点击并且指示灯LED闪烁,我们也可以在上面的跟踪中看到它,我们将在下一个应用笔记中更全面地讨论。


文章摘要 我们从各个通道的轨迹中看到,更先进的Elite控制器如何同时输出到多个外部电路以及DCC信号如何保持同步,以便在隔离电源区域内有效控制机车。 根据NMRA的推荐做法,我们已确认一些产出能源较低。 我们可以看到链接文件的重要性,作为将示波器看到的数据包流转换为我们可以立即在表中读取或导出到文件以便稍后进行深入分析的关键。 我们还发现了Elite的BOOST输出的极性问题,并将其追溯到印刷电路板上的已知错误。在客户手中,这种交叉极性不是问题,因为外部Hornby Booster会自动检测并反转Elite输出端子上发现的任何不匹配的极性。 我们简要地检查了操作模式和服务模式之间数据包的差异,并说明了在服务模式下,BOOST输出如何受到Elite硬件设计功能的影响。


下一步是什么? 在下一个应用笔记中,我们将更仔细地研究使用Elite编程静态和机车解码器,看看我们是否可以使用PicoScope软件确定当我们读取现有CV值或为其写入新值时DCC信号如何变化在运营和服务模式下。 需要注意的一点是,静态和机车DCC解码器的工作方式与PicoScope 6软件非常相似,使用信号的边沿检测可以更好地区分有效位和任何噪声,因此这种检测点逻辑在我们的未来的任务。 我们还将研究先进的解码器如Hornby Sapphire和Twin Track Sound(TTS)解码器如何处理扩展的分组DCC信号流量,并尝试在PicoScope 6迹线上对其进行解码。