This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1120EM-868-915-RD:具有不同 CC1120修订版本的数据包 Tx

Guru**** 2563760 points
Other Parts Discussed in Thread: CC1120

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/802883/cc1120em-868-915-rd-packet-tx-with-different-cc1120-revisions

器件型号:CC1120EM-868-915-RD
主题中讨论的其他器件:CC1120

您好!  

我有两个 CC1120模块:

  • 在 SmartRF Studio 中使用修订版2.1识别的第一个 Fishrt
  • SmartRF Studio 中标识的第二个版本号2.3、其标签上有附加注释"仅用于评估;未经 FCC 批准..."

在尝试使用 perl 脚本发送简单数据包时、CC1120修订版2.1工作正常、所有数据包都接收到、但当我使用 CC1120修订版2.3时、我什么也没有

我不知道 Perl 命令有什么变化吗?  

有人能解释什么是问题或帮助我找到解决方案吗?  

谢谢。  

下面是我要使用的 perl 脚本:  

#!c:/Perl/bin/perl.exe
#
#
文件: dal_send.pl
#
简述:此脚本模拟 SmartRF Studio 中的数据包 TX 功能。
#

#
使用 DAL_EB;

#此脚本可与所有 IEEE 802.15.4兼容设备按原样工作。 要
将其#与其他射频器件配合使用、您必须包含一个包含
要使用的寄存器#设置的文件(取消注释以下行、并根据
您的#需求调整文件)。 寄存器设置文件可由 SmartRF Studio 7、器
件#控制面板->寄存器导出生成。 选择 Perl 作为模板、然后导出到
要与此脚本一起使用的#文件(默认 dal_registers.pl)。
#

@"CC1120.pl"; my $packet =



@ARGV[0];my $F2 =@ARGV[1];my $F1 =@ARGV[2];my $F0 =@ARGV[3];my $Power =
@ARGV[4];my $Amount =
@ARGV[5];my $Interval =

~ ARGV[6];my $HexPacket =$n (x

);my Hexpacket =$n、print $n、$ 1、spring/包=$n、$。
打印“功率为$Power dbm\n”;
打印“间隔为$Interval msec\n;

#启动应用
程序 my $DAD= new DAL_ext::DALExt();#创建 DAL 对象
my$status=$DADal->getStatus();
打印“DAL 创建状态:$status\n”;
DIE,除非$eq 状态为0;

#在枚举列表中选择发送器(以用作示例)。 列表
#按 USB 设备 ID 排序(升序)。
我的$ebDevIndex = 0;
我的$packetInterval = 1;# Second

#枚举设备
$devicename=&DalEb::deviceEnum ($DAL、$ebDevIndex);

if ($devicename)
{
#在请求

的错误 EB 索引中找到设备$DEV = new ext_DALExtDevice ($devicename->打印)。 "\n";

裸片、除非&DalEb::connectEB ($dev、$ebDevIndex) eq 0;


#如果
$fRegsDefined、则使用自定义寄存器设置 writeRegisters ($dev、$F2、$F1、$F0);
$dev->writeRegister ("PA_CFG2"、 $Power);




#将射频器件置于 TX 模式
打印"$ebDevIndex: TX enable ";
$dev->setRegPacketTx();
裸片"Init TX Failed",除非$dev->initTx() eq 0;
打印"OK";


# my $regname ="PA_CFG2";
#$value =$dev->readRegister ($regname);
# print "MARCSTATE =$value";

if ($devicename eq "CC1200")
{
#确保它处于空闲状态
我的$regname ="MARCSTATE";
我的$value = 0;
我的$count = 0;
while (($value!= 65)&&($count < 100)
{
$value =$dev->readRegister ($regname);
打印"MARCSTATE =$VALUE \n";
$COUNT++;
}

裸片"器件未处于空闲状态。" 除非$count < 100;
}

我的$regname ="PA_CFG2";
$value =$dev->readRegister ($regname);
打印“PA_CFG2 =$value requested $Power\n\n-

$dev->setPktInterval($Interval);

#开始数据包传输

我的$i=0;
while ($i<$amount)
{
打印"$ebDevIndex:发送$$i $Packet ...\n";
$buf=$dev->sendPacket ($Packet、0);
$buf=$dev->sendPacket ($HexPacket、0);

$i++;
}

$dev->destroy();
}$dal

-> destroy();

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    PG 2.1和2.3版本之间的差异在以下勘误文档中进行了说明:
    www.ti.com/.../swrz039d.pdf

    您是否重复使用了 PG2.3修订版器件上为 PG2.1编写的代码? 我对您使用 PG2.1器件的原因很好奇。
    此外、您是否能够使用 SmartRF Studio 测试设备之间的射频链路?

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    回答最后一个问题-使用 SmartRF RF 链路是可以的。

    "您是否重复使用了 PG2.3上为 PG2.1编写的代码" 无法确定我附加的 perl 脚本是否专门引用了 PG2.1、我假设在使用此 perl 脚本时、到版本之间没有差异

    "我对您使用 PG2.1器件的原因很好奇。"    从分销商处获得了2个不同的修订版本、发现2.1可与我的脚本配合使用、而2.3不能配合使用

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否能够使用 Perl 脚本正确识别器件? 是否有错误消息?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我正在关闭此主题、因为一段时间以来没有任何活动。 如果问题仍未解决、请重新发帖。

    此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、SVS、我错过了您的问题。  

    使用 Perl 脚本时、我不会遇到错误、没有错误 器件 能够正确识别。

    此外、脚本正在为 DAL_SEND 运行 OK、但我在其他参考设备上没有任何内容、根本没有数据包。  

    此致、  

    NIR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    NIR 您好、

    我正在关闭此主题、因为它非常旧、我假设此问题已得到解决。

    如果仍有问题、请创建新主题。

    此致、