BLADERF-CLI(1) User Commands BLADERF-CLI(1)

bladeRF-cli - رابط خط فرمان و کنترل رادیویی نرم‌افزاری ابزار bladeRF

bladeRF-cli <گزینه‌ها>

ابزار bladeRF-cli برای نوشتن فایل‌های سفت‌افزار روی فلش، بارگذاری بیت‌استریم‌های FPGA و انجام سایر وظایف روی سامانه رادیویی نرم‌افزاری nuand bladeRF استفاده می‌شود.

برای کسب اطلاعات بیشتر درباره دریافت یا ساخت فایل‌های سفت‌افزار و بیت‌استریم‌های FPGA، لطفاً به نشانی http://nuand.com مراجعه کنید.

رابط خط فرمان و ابزار آزمایش bladeRF (نسخه 1.10.0-git-fcf94233-dirty)

استفاده از دستگاه مشخص‌شده bladeRF.
نوشتن فایل سفت‌افزار FX3 ارائه‌شده روی حافظه فلش.
بارگذاری بیت‌استریم FPGA ارائه‌شده.
نوشتن تصویر FPGA ارائه‌شده روی حافظه فلش برای بارگذاری خودکار. از -L X یا --flash-fpga X برای غیرفعال کردن بارگذاری خودکار FPGA استفاده کنید.
کاوش برای یافتن دستگاه‌ها، چاپ نتایج و سپس خروج. در صورتی که هیچ دستگاهی در دسترس نباشد، وضعیت خروجی غیرصفر بازگردانده می‌شود.
اجرای دستور مشخص‌شده در حالت تعاملی. می‌توان چندین پرچم -e را مشخص کرد. دستورات به همان ترتیب ارائه‌شده اجرا خواهند شد.
اجرای اسکریپت ارائه‌شده.
ورود به حالت تعاملی.
چاپ نسخه libbladeRF و خروج.
تنظیم سطح پرگویی libbladeRF. سطوح به ترتیب افزایش پرگویی عبارتند از:
info, debug, verbose
--version
چاپ نسخه CLI و خروج.
نمایش این متن راهنما.
--help-interactive
چاپ اطلاعات راهنما برای تمام دستورات تعاملی.

گزینه -d یک رشته مشخص‌کننده دستگاه را دریافت می‌کند. برای اطلاعات بیشتر پیرامون قالب این رشته، مستندات ()bladerf_open را ببینید.
اگر پارامتر -d ارائه نشود، اولین دستگاه در دسترس برای دستور ارائه‌شده استفاده می‌شود، یا پیش از ورود به حالت تعاملی باز خواهد شد.
دستورات به ترتیب زیر اجرا می‌شوند:
گزینه‌های خط فرمان، -e <دستور>، دستورات اسکریپت، دستورات حالت تعاملی.
هنگام اجرای 'rx/tx start' از یک اسکریپت یا از طریق -e، اطمینان حاصل کنید که این دستورات در ادامه با 'rx/tx wait [timeout]' دنبال شوند تا تضمین گردد برنامه پیش از تکمیل دریافت/ارسال اقدام به خروج نمی‌کند.

ابزار bladeRF-cli از یک حالت تعاملی با قابلیت اسکریپت‌نویسی پشتیبانی می‌کند. برای ورود به این حالت bladeRF-cli --interactive را اجرا کنید. برای مشاهده فهرست تمام دستورات عبارت "help" یا برای دریافت اطلاعات بیشتر درباره <دستور>، عبارت "help <command>" را تایپ کنید.

نحوه استفاده: calibrate <operation> [options]

انجام عملیات کالیبراسیون مشخص‌شده برای فرستنده-گیرنده (ترنسیور).

عملیات‌های در دسترس:

•
خود-کالیبراسیون‌های آفست DC داخلی LMS
•
calibrate lms [show]
•
calibrate lms tuning [value]
•
calibrate lms txlpf [<I filter> <Q filter>]
•
calibrate lms rxlpf [<I filter> <Q filter>]
•
calibrate lms rxvga2 [<DC ref> <I1> <Q1> <I2> <Q2>]

انجام خود-کالیبراسیون مشخص‌شده، یا تمام آن‌ها در صورت مشخص نشدن هیچ مقداری. هنگامی که مقادیر ارائه شوند، این مقادیر به‌جای نتایج فرایند خود-کالیبراسیون استفاده می‌شوند. از lms show برای خواندن و چاپ مقادیر فعلی کالیبراسیون LMS استفاده کنید.

برای rxvga2، شناسه‌های I1 و Q1 به ترتیب مؤلفه‌های I و Q مرحله ۱ هستند، و I2 و Q2 مؤلفه‌های I و Q مرحله ۲ می‌باشند.

•
کالیبراسیون پارامتر تصحیح آفست DC برای RX و TX I/Q
•
calibrate dc <rx|tx> [<I> <Q>]
•
calibrate dc <rxtx>

کالیبره کردن پارامترهای تصحیح آفست DC برای تنظیمات فرکانس و بهره فعلی. اگر مقادیر I/Q ارائه شوند، مستقیماً اعمال خواهند شد. دستور cal rxtx شکل خلاصه cal rx و سپس cal tx است.

•
کالیبراسیون پارامتر تصحیح تعادل I/Q برای RX و TX
•
calibrate iq <rx|tx> <gain|phase> <value>

تنظیم پارامترهای مشخص‌شده تعادل فاز یا بهره IQ.

•
تولید جدول‌های پارامتر تصحیح DC برای RX یا TX I/Q
•
calibrate table dc <rx|tx> [<f_min> <f_max> [f_inc]]

تولید و نوشتن یک جدول پارامتر تصحیح I/Q در دایرکتوری کاری فعلی، در فایلی با نام <serial>_dc_<rx|tx>.tbl. شناسه‌های f_min و f_max حداقل و حداکثر فرکانس‌ها برای گنجاندن در جدول هستند. شناسه f_inc گام افزایش فرکانس است.

به‌طور پیش‌فرض، جدول‌ها در کل محدوده فرکانسی و با گام‌های ۱۰ مگاهرتز تولید می‌شوند.

•
تولید جدول‌های پارامتر تصحیح DC برای RX یا TX I/Q جهت جدول جستجوی AGC (AGC Look Up Table)
•
calibrate table agc <rx|tx> [<f_min> <f_max> [f_inc]]

کاربرد مشابه با calibrate table dc با این تفاوت که این فراخوانی پیش از اجرای calibrate table dc، بهره‌ها را روی مقدار بهره پایه AGC تنظیم می‌کند.

نحوه استفاده: clear

صفحه نمایش را پاک می‌کند.

نحوه استفاده: echo [arg 1] [arg 2] ... [arg n]

چاپ هر آرگومان در یک خط جدید.

نحوه استفاده: erase <offset> <count>

پاک کردن بلوک‌های پاک‌سازی (erase blocks) مشخص‌شده در حافظه فلش SPI.

•
<offset> - آفست بلوک پاک‌سازی
•
<count> - تعداد بلوک‌های پاک‌سازی برای پاک شدن

نحوه استفاده: flash_backup <file> (<type> | <address> <length>)

پشتیبان‌گیری از داده‌های حافظه فلش در فایل مشخص‌شده. این دستور دو یا چهار آرگومان دریافت می‌کند. فراخوانی با دو آرگومان معمولاً برای استفاده‌های غیرتوسعه‌ای توصیه می‌شود.

پارامترها:

•
<type> - نوع پشتیبان‌گیری.

این گزینه مقادیر آدرس و طول مناسب را بر اساس نوع انتخاب‌شده تعیین می‌کند.

گزینه‌های معتبر عبارتند از:

گزینه توضیحات
cal داده‌های کالیبراسیون
fw سفت‌افزار (فریم‌ور)
fpga40 متادیتا و بیت‌استریم برای 40 kLE FPGA
fpga115 متادیتا و بیت‌استریم برای 115 kLE FPGA
fpgaA4 متادیتا و بیت‌استریم برای 49 kLE (A4) FPGA
fpgaA5 متادیتا و بیت‌استریم برای 77 kLE (A5) FPGA
fpgaA9 متادیتا و بیت‌استریم برای 301 kLE (A9) FPGA
•
<address> - آدرس داده‌ها برای پشتیبان‌گیری. باید با مرز بلوک پاک‌سازی هم‌تراز باشد.
•
<len> - طول ناحیه برای پشتیبان‌گیری. باید با مرز بلوک پاک‌سازی هم‌تراز باشد.

نکته: هنگامی که آدرس و طول ارائه شوند، نوع تصویر به‌طور پیش‌فرض raw خواهد بود.

مثال‌ها:

•
flash_backup cal.bin cal

از ناحیه داده‌های کالیبراسیون نسخه پشتیبان تهیه می‌کند.

•
flash_backup cal_raw.bin 0x30000 0x10000

از ناحیه کالیبراسیون به‌عنوان یک تصویر داده خام (raw) نسخه پشتیبان تهیه می‌کند.

نحوه استفاده: flash_image <image> [output options]

چاپ متادیتای تصویر فلش یا ساخت یک تصویر فلش جدید. هنگامی که فقط با نام یک فایل تصویر فلش به عنوان آرگومان فراخوانی شود، این دستور محتوای متادیتای تصویر را چاپ می‌کند.

گزینه‌های زیر می‌توانند برای ایجاد یک تصویر فلش جدید استفاده شوند:

•
data=<file>

فایل حاوی داده‌هایی که باید در تصویر ذخیره شوند.

•
address=<addr>

آدرس حافظه فلش. مقدار پیش‌فرض به پارامتر type بستگی دارد.

•
type=<type>

نوع تصویر فلش. پیش‌فرض raw است.

گزینه‌های معتبر عبارتند از:

گزینه توضیحات
cal داده‌های کالیبراسیون
fw سفت‌افزار (فریم‌ور)
fpga40 متادیتا و بیت‌استریم برای 40 kLE FPGA
fpga115 متادیتا و بیت‌استریم برای 115 kLE FPGA
fpgaA4 متادیتا و بیت‌استریم برای 49 kLE (A4) FPGA
fpgaA5 متادیتا و بیت‌استریم برای 77 kLE (A5) FPGA
fpgaA9 متادیتا و بیت‌استریم برای 301 kLE (A9) FPGA
raw داده خام. در صورت انتخاب این نوع، پارامترهای آدرس و طول باید ارائه شوند.
•
serial=<serial>

شماره سریال برای ذخیره در تصویر. پیش‌فرض صفر است.

نحوه استفاده: flash_init_cal <fpga_size> <vctcxo_trim> [<output_file>]

ایجاد و نوشتن یک ناحیه جدید از داده‌های کالیبراسیون روی دستگاهی که در حال حاضر باز است، یا در یک فایل. پیش از اجرای این دستور حتماً از داده‌های کالیبراسیون نسخه پشتیبان تهیه کنید. (دستور flash_backup را ببینید.)

•
<fpga_size>

بسته به مدل دستگاه، 40 یا 115.

•
<vctcxo_trim>

مقدار تریم VCTCXO/DAC (0x0-0xffff)

•
<output_file>

فایل جهت نوشتن داده‌های کالیبراسیون در آن. هنگامی که این آرگومان ارائه شود، هیچ داده‌ای در فلش دستگاه نوشته نخواهد شد.

نحوه استفاده: flash_restore <file> [<address> <length>]

بازیابی داده‌های فلش از یک فایل، با امکان بازنویسی اختیاری مقادیر در متادیتای تصویر.

•
<address>

پیش‌فرض آدرس مشخص‌شده در فایل تصویر فلش ارائه‌شده است.

•
<length>

پیش‌فرض طول داده‌ها در فایل تصویر ارائه‌شده است.

نحوه استفاده: fw_log [filename]

خواندن محتوای گزارش لاگ سفت‌افزار دستگاه و نوشتن آن در فایل مشخص‌شده. اگر نام فایلی مشخص نشود، محتوای لاگ در خروجی استاندارد نوشته می‌شود.

نحوه استفاده: help [<command>]

ارائه راهنمای گسترده (مانند این متن) برای هر دستور.

نحوه استفاده: info

چاپ اطلاعات زیر درباره دستگاه بازشده:

•
شماره سریال
•
مقدار کالیبراسیون DAC مربوط به VCTCXO
•
اندازه FPGA
•
آیا FPGA بارگذاری شده است یا خیر
•
گذرگاه USB، آدرس و سرعت
•
بک‌اند (مشخص‌کننده کد رابط دستگاهی که استفاده می‌شود.)
•
شماره نمونه

نحوه استفاده: jump_to_boot

پاک کردن کلمه امضای سفت‌افزار (FW signature word) در فلش و پرش به بوت‌لودر FX3.

دستگاه تا زمانی که سفت‌افزار جدید روی آن نوشته نشود، در تمامی چرخه‌های راه‌اندازی و روشن/خاموش شدن به بوت‌لودر FX3 بوت خواهد شد.

نحوه استفاده: load <fpga|fx3> <filename>

بارگذاری یک بیت‌استریم FPGA یا برنامه‌ریزی حافظه فلش SPI مربوط به FX3.

نحوه استفاده: xb <board_model> <subcommand> [parameters]

فعال‌سازی یا پیکربندی یک برد توسعه.

مقادیر معتبر برای board_model:

•
100

برد توسعه GPIO مدل XB-100

•
200

برد توسعه ترنسورتر LF/MF/HF/VHF مدل XB-200

•
300

برد تقویت‌کننده مدل XB-300

زیردستورات مشترک:

•
enable

فعال‌سازی برد توسعه XB-100، XB-200 یا XB-300.

زیردستورات XB-200:

•
filter [rx|tx] [50|144|222|custom|auto_1db|auto_3db]

فیلتر RX یا TX مشخص‌شده روی برد XB-200 را انتخاب می‌کند. در ادامه توضیحات هر یک از گزینه‌های فیلتر آمده است.

•
50
انتخاب فیلتر 50-54 مگاهرتز (باند ۶ متری).
•
144
انتخاب فیلتر 144-148 مگاهرتز (باند ۲ متری).
•
222
انتخاب فیلتر 222-225 مگاهرتز (باند ۱.۲۵ متری). در واقع،
این گزینه فیلتر کمی عریض‌تر است و محدوده
206 مگاهرتز تا 235 مگاهرتز را پوشش می‌دهد.
•
custom
مسیر فیلتر سفارشی را انتخاب می‌کند. هنگام استفاده از این گزینه،
کاربر باید یک فیلتر را در امتداد اتصالات متناظر FILT و FILT-ANT
وصل کند. همچنین می‌توان اتصالات FILT و FILT-ANT را با جامپر
متصل کرد تا برای دریافت حالت "بدون فیلتر" حاصل شود. (هرچند این کار
برای ارسال _اکیداً_ منع می‌شود.)
•
auto_1db
به‌طور خودکار یکی از گزینه‌های بالا را بر اساس فرکانس
و نقاط 1dB فیلترها انتخاب می‌کند. مسیر سفارشی برای حالت‌هایی
که به فیلترهای روی برد مرتبط نیستند استفاده می‌شود.
•
auto_3db
به‌طور خودکار یکی از گزینه‌های بالا را بر اساس فرکانس
و نقاط 3dB فیلترها انتخاب می‌کند. مسیر سفارشی برای حالت‌هایی
که به فیلترهای روی برد مرتبط نیستند استفاده می‌شود.

زیردستورات XB-300:

•
<pa|lna|aux> [on|off]

فعال یا غیرفعال کردن تقویت‌کننده توان (PA)، تقویت‌کننده کم‌نویز (LNA) یا LNA کمکی (aux). در صورتی که [on|off] مشخص نشود، وضعیت فعلی دستگاه مشخص‌شده چاپ می‌شود.

نکته: مسیر کمکی روی برد XB-300 به‌طور پیش‌فرض با قطعات سوار نمی‌شود؛ کنترل aux هیچ اثری روی سیگنال RX نخواهد داشت. این گزینه برای کاربرانی در نظر گرفته شده که قصد دارند برد خود را با سخت‌افزار سفارشی اصلاح کنند.

•
<pwr>

خواندن ولتاژ فعلی آشکارساز توان (PDET) و محاسبه توان خروجی.

•
trx <rx|tx>

پیکربندی سخت‌افزاری پیش‌فرض XB-300 شامل مسیرهای مجزای RX و TX است. با این حال، کاربرانی که مایلند تنها از یک آنتن تکی برای TRX استفاده کنند، می‌توانند با اصلاح گزینه‌های نصب مقاومت روی XB-300 این کار را انجام داده و از این دستور برای جابه‌جایی بین عملیات RX و TX استفاده کنند. (R8، R10 و R23 را روی نقشه شماتیک ببینید.)

مثال‌ها:

•
xb 200 enable

برد توسعه ترنسورتر XB-200 را فعال و پیکربندی می‌کند.

•
xb 200 filter rx 144

فیلتر دریافت 144-148 مگاهرتز را روی برد توسعه ترنسورتر XB-200 انتخاب می‌کند.

•
xb 300 enable

استفاده از GPIOها را برای تعامل با XB-300 فعال و پیکربندی می‌کند. تقویت‌کننده‌های PA و LNA به‌طور پیش‌فرض غیرفعال خواهند بود.

•
xb 300 lna on

تقویت‌کننده LNA مربوط به RX را روی XB-300 فعال می‌کند. ال‌ای‌دی D1 (سبز) با فعال شدن LNA روشن می‌شود و هنگام غیرفعال بودن خاموش خواهد بود.

•
xb 300 pa off

تقویت‌کننده PA مربوط به TX را روی XB-300 غیرفعال می‌کند. ال‌ای‌دی D2 (آبی) با فعال شدن PA روشن می‌شود و هنگام غیرفعال بودن خاموش خواهد بود.

نحوه استفاده: mimo [master | slave]

تغییر عملکرد MIMO دستگاه.

مهم: این دستور منسوخ شده و با "print/set smb_mode" جایگزین شده است. برای متن راهنمای استفاده، اجرا کنید: "set smb_mode"

نحوه استفاده: open [device identifiers]

باز کردن دستگاه مشخص‌شده برای استفاده در دستورات بعدی. هر دستگاهی که پیش‌تر باز شده باشد بسته خواهد شد.

شکل کلی رشته شناسه دستگاه به صورت زیر است:

<backend>:[device=<bus>:<addr>] [instance=<n>] [serial=<serial>]

برای قالب کامل مشخص‌کننده دستگاه، مستندات bladerf_open() را در libbladeRF بررسی کنید.

نحوه استفاده: peek <rfic|pll|dac|lms|si> <address> [num_addresses]

دستور peek می‌تواند هر یک از قطعات متصل به FPGA را بخواند. این قطعات عبارتند از:

•
bladeRF 1: فرستنده-گیرنده LMS6002D، مبدل DAC تنظیم دقیق VCTCXO، مولد پالس ساعت Si5338
•
bladeRF 2: فرستنده-گیرنده AD9361، مبدل DAC تنظیم دقیق VCTCXO، ترکیب‌کننده فرکانس ADF4002

در صورت مشخص شدن num_addresses، آدرس یکی‌یکی افزایش یافته و عملیات خواندن به همان تعداد آدرس تکرار می‌شود.

محدوده‌های معتبر آدرس:

دستگاه محدوده آدرس
rfic 0 تا 0x3F7 (1015)
pll 0 تا 3
dac 0 تا 255
lms 0 تا 127
si 0 تا 255

مثال:

•
peek si ...

نحوه استفاده: poke <rfic|pll|dac|lms|si> <address> <data>

دستور poke می‌تواند روی هر یک از قطعات متصل به FPGA بنویسد. این قطعات عبارتند از:

•
bladeRF 1: فرستنده-گیرنده LMS6002D، مبدل DAC تنظیم دقیق VCTCXO، مولد پالس ساعت Si5338
•
bladeRF 2: فرستنده-گیرنده AD9361، مبدل DAC تنظیم دقیق VCTCXO، ترکیب‌کننده فرکانس ADF4002

محدوده‌های معتبر آدرس:

دستگاه محدوده آدرس
rfic 0 تا 0x3F7 (1015)
pll 0 تا 3
dac 0 تا 255
lms 0 تا 127
si 0 تا 255

مثال:

•
poke lms ...

نحوه استفاده: print [parameter]

دستور print یک پارامتر برای چاپ دریافت می‌کند. پارامترهای موجود در زیر فهرست شده‌اند. اگر پارامتری مشخص نشود، تمام پارامترها چاپ خواهند شد.

پارامترهای عمومی:

پارامتر توضیحات
bandwidth تنظیمات پهنای باند
frequency تنظیمات فرکانس
agc کنترل خودکار بهره (AGC)
loopback تنظیمات لوپ‌بک (حلقه برگشتی)
rx_mux تنظیم مالتی‌پلکسر ورودی FIFO دریافت (RX) در FPGA
gain تنظیمات بهره
samplerate تنظیمات نرخ نمونه‌برداری
trimdac تنظیمات DAC تنظیم دقیق VCTCXO
tuning_mode تنظیمات حالت تنظیم (Tuning mode)
hardware وضعیت سخت‌افزاری سطح پایین

پارامترهای اختصاصی BladeRF1:

پارامتر توضیحات
gpio وضعیت GPIO بین FX3 <-> FPGA
lnagain بهره LNA دریافت (RX)، بر حسب dB (منسوخ‌شده)
rxvga1 بهره RXVGA1، بر حسب dB (منسوخ‌شده)
rxvga2 بهره RXVGA2، بر حسب dB (منسوخ‌شده)
txvga1 بهره TXVGA1، بر حسب dB (منسوخ‌شده)
txvga2 بهره TXVGA2، بر حسب dB (منسوخ‌شده)
sampling حالت نمونه‌برداری خارجی یا داخلی
smb_mode حالت عملکرد درگاه پالس ساعت SMB
vctcxo_tamer حالت کنونی مهارکننده VCTCXO
xb_gpio مقادیر GPIO برد توسعه
xb_gpio_dir جهت GPIO برد توسعه (1=خروجی، 0=ورودی)

پارامترهای اختصاصی BladeRF2:

پارامتر توضیحات
clock_sel انتخاب پالس ساعت سیستم
clock_out انتخاب خروجی پالس ساعت
rssi نشانگر قدرت سیگنال دریافتی (RSSI)
clock_ref وضعیت تراشه ADF4002
refin_freq فرکانس ساعت مرجع ADF4002
biastee وضعیت کنونی بایاس-تی (bias-tee)
filter انتخاب فیلتر FIR تراشه RFIC

نحوه استفاده: probe [strict]

جستجو برای یافتن دستگاه bladeRF متصل و چاپ فهرست نتایج.

بدون مشخص کردن strict، در دسترس نبودن دستگاه‌ها به عنوان خطا در نظر گرفته نمی‌شود.

هنگامی که آرگومان اختیاری strict مشخص شود، این دستور وضعیت عدم وجود دستگاه را به عنوان خطا در نظر گرفته و باعث می‌شود اسکریپت‌ها یا فهرست دستورات ارائه‌شده از طریق آرگومان خط فرمان -e بلافاصله متوقف شوند.

نحوه استفاده: quit

خروج از خط فرمان تعاملی (CLI).

نحوه استفاده: recover [<bus> <address> <firmware file>]

بارگذاری سفت‌افزار روی دستگاهی که در حالت بوت‌لودر اجرا می‌شود، یا فهرست کردن تمام دستگاه‌هایی که در حال حاضر در حالت بوت‌لودر هستند.

بدون آرگومان، این دستور گذرگاه و آدرس USB را برای دستگاه‌های مبتنی بر FX3 که در حالت بوت‌لودر اجرا می‌شوند فهرست می‌کند.

در صورت ارائه گذرگاه، آدرس و مسیر فایل سفت‌افزار، سفت‌افزار ارائه‌شده روی دستگاه مشخص‌شده بارگذاری شده و اجرای آن آغاز می‌شود.

در بیشتر موارد، پس از بارگذاری موفق سفت‌افزار در RAM دستگاه، کاربران باید دستگاه را با دستور "open" باز کرده و سفت‌افزار را از طریق دستور "load fx3 <firmware file>" روی حافظه فلش بنویسند.

نحوه استفاده: run <script>

اجرای اسکریپت ارائه‌شده.

نحوه استفاده: rx <start | stop | wait | config [param=val [param=val [...]]>

دریافت نمونه‌های IQ و نوشتن آن‌ها در فایل مشخص‌شده. عملیات دریافت با یکی از موارد زیر کنترل و پیکربندی می‌شود:

دستور توضیحات
start شروع دریافت نمونه‌ها
stop توقف دریافت نمونه‌ها
wait انتظار برای تکمیل انتقال نمونه‌ها یا تا زمانی که مدت مشخصی سپری شود
config پیکربندی دریافت نمونه‌ها. اگر هیچ پارامتری ارائه نشود، پارامترهای فعلی چاپ می‌شوند.

اجرای rx بدون هیچ دستور اضافی، معادل کوتاه‌شده و معتبر برای rx config است.

دستور wait یک پارامتر اختیاری timeout می‌پذیرد. واحد پیش‌فرض این پارامتر میلی‌ثانیه (ms) است. واحد مهلت زمانی را می‌توان با استفاده از پسوندهای ms یا s تعیین کرد. اگر این پارامتر ارائه نشود، دستور تا زمان اتمام دریافت نمونه یا فشرده شدن Ctrl-C منتظر می‌ماند.

پارامترهای پیکربندی به صورت param=value هستند و می‌توان آن‌ها را در یک یا چند بار فراخوانی rx config مشخص کرد. در زیر فهرستی از پارامترهای موجود ارائه شده است.

پارامتر توضیحات
n تعداد نمونه‌های دریافتی. 0 = بی‌نهایت (inf).
file نام فایل برای نوشتن نمونه‌های دریافتی
format قالب فایل خروجی. یکی از موارد زیر:
csv: فرمت CSV از نمونه‌های SC16 Q11
bin: نمونه‌های خام DAC از نوع SC16 Q11
samples تعداد نمونه‌ها در هر بافر برای استفاده در جریان ناهمگام (asynchronous stream). باید بر 1024 بخش‌پذیر و >= 1024 باشد.
buffers تعداد بافرهای نمونه برای استفاده در جریان ناهمگام. حداقل مقدار 4 است.
xfers تعداد انتقال‌های همزمان مجاز برای استفاده در جریان ناهمگام. این مقدار باید کمتر از پارامتر buffers باشد.
timeout مهلت زمانی جریان داده. بدون پسوند، واحد پیش‌فرض ms است. مقدار پیش‌فرض 1000 میلی‌ثانیه (1 ثانیه) است. پسوندهای معتبر ms و s هستند.
channel فهرست کانال‌های فیزیکی RF جداشده با کاما برای استفاده

مثال:

•
rx config file=/tmp/data.bin format=bin n=10K

دریافت نمونه‌ها (10240 = 10 * 1024) و نوشتن آن‌ها در /tmp/data.bin با فرمت باینری DAC.

•
rx config file=mimo.csv format=csv n=32768 channel=1,2

دریافت 32768 نمونه از RX1 و RX2 و نوشتن آن‌ها در فایلی به نام mimo.csv، با چهار ستون (RX1 I, RX1 Q, RX2 I, RX2 Q).

نکات:

•
پارامترهای n، samples، buffers و xfers از پسوندهای K، M و G که مضاربی از 1024 هستند پشتیبانی می‌کنند.
•
اجرای دستور rx stop و در پی آن rx start منجر به کوتاه شدن و خالی شدن (truncate) فایل نمونه‌ها می‌شود. اگر این امر مطلوب نیست، حتماً قبل از راه‌اندازی مجدد جریان rx، دستور rx config را برای تعیین فایل دیگری اجرا کنید.
•
برای نرخ‌های نمونه‌برداری بالاتر، توصیه می‌شود قالب خروجی باینری (bin) به کار رود و در صورت فراهم بودن فضا، فایل خروجی در RAM (مانند /tmp، /dev/shm) نوشته شود. برای ضبط‌های طولانی‌تر در نرخ‌های نمونه‌برداری بالا، استفاده از SSD به جای HDD را مد نظر قرار دهید.
•
فرمت CSV به ازای هر کانال دو ستون تولید می‌کند، به طوری که دو ستون اول مربوط به زوج I,Q برای اولین کانال پیکربندی‌شده با پارامتر channel است؛ دو ستون بعدی مربوط به I,Q کانال دوم و به همین ترتیب برای سایر کانال‌ها.

نحوه استفاده: trigger [<trigger> <tx | rx> [<off slave master fire>]]

در صورت استفاده بدون پارامتر، این دستور وضعیت همه تریگرها را چاپ می‌کند. هنگامی که تریگر و جهت ارسال یا دریافت مشخص شوند، وضعیت تریگر تعیین‌شده چاپ خواهد شد.

در زیر گزینه‌های موجود برای تریگر آمده است:

تریگر توضیحات
J71-4 سیگنال تریگر روی mini_exp1 است (bladeRF x40/x115، J71، پین ۴).
J51-1 سیگنال تریگر روی mini_exp1 است (bladeRF xA4/xA5/xA9، J51، پین ۱).
Miniexp-1 سیگنال تریگر روی mini_exp1، مستقل از سخت‌افزار است

توجه داشته باشید که هر سه گزینه بالا به همان پورت منطقی در تمام دستگاه‌ها (mini_exp[1]) نگاشت می‌شوند. گزینه‌های متعدد جهت سازگاری رو به عقب و وضوح بیشتر ارائه شده‌اند.

تریگر با ارائه آرگومان نهایی کنترل و پیکربندی می‌شود که می‌تواند یکی از موارد زیر باشد:

دستور توضیحات
off درخواست شلیک را پاک کرده و عملکرد تریگر را غیرفعال می‌کند.
slave تریگر را به‌عنوان اسلیو (پیرو) پیکربندی می‌کند، درخواست شلیک را پاک کرده و دستگاه را مسلح (arm) می‌نماید.
master تریگر را به‌عنوان مستر (اصلی) پیکربندی می‌کند، درخواست شلیک را پاک کرده و دستگاه را مسلح (arm) می‌نماید.
fire درخواست شلیک را تنظیم می‌کند. تنها برای دستگاه مستر قابل اعمال است.

یک زنجیره تریگر از یک یا چند واحد bladeRF تشکیل شده و ممکن است شامل ماژول‌های TX و RX باشد. اگر از چند واحد bladeRF استفاده شود، آن‌ها باید از طریق سیگنال مشخص‌شده و یک زمین مشترک (common ground) متصل شوند.

برای اطمینان از همگام‌سازی صحیح، توالی دستورات زیر باید مورد استفاده قرار گیرد. فرض بر این است که در ابتدا همه تریگرها غیرفعال هستند.

1.
پیکربندی دستگاه مشخص‌شده به‌عنوان مستر تریگر

مهم

هرگز دو دستگاه را به‌عنوان مستر تریگر روی یک زنجیره منفرد پیکربندی نکنید.
تداخل روی یک سیگنال یکسان می‌تواند به دستگاه‌ها آسیب برساند.
2.
پیکربندی تمام دستگاه‌های دیگر به‌عنوان اسلیو تریگر
3.
پیکربندی و آغاز جریان‌های ارسال یا دریافت.
عملیات تا زمان شلیک تریگرها متوقف خواهد ماند. بنابراین، باید از مهلت‌های
زمانی (timeouts) به‌اندازه کافی بزرگ استفاده شود تا سیگنال تریگر پیش از
بازگرداندن خطای BLADERF_ERR_TIMEOUT توسط libbladeRF، توسط مستر ارسال
و توسط اسلیوها دریافت گردد.
4.
تنظیم درخواست شلیک (fire-request) روی تریگر مستر
تمامی دستگاه‌ها به‌طور همگام ارسال یا دریافت داده را آغاز خواهند کرد.
5.
پایان دادن به وظایف ارسال و دریافت طبق روال معمول
6.
پیکربندی مجدد مستر و اسلیوها جهت پاک کردن درخواست‌های شلیک و مسلح‌سازی مجدد (re-arm).
مراحل ۱ تا ۵ در صورت لزوم می‌توانند تکرار شوند.
7.
غیرفعال‌سازی تریگر روی تمام اسلیوها
8.
غیرفعال‌سازی تریگر روی مستر

نکات:

•
همگام‌سازی فرستنده‌ها و گیرنده‌ها روی یک زنجیره منفرد باعث ایجاد اختلاف ۱۱ نمونه بین TX و RX خواهد شد؛ این نمونه‌ها باید نادیده گرفته و دور ریخته شوند. این امر ناشی از طول متفاوت خط لوله‌های پردازشی (processing pipelines) در TX و RX است. این مقدار ممکن است در صورت به‌روزرسانی کد FPGA در آینده تغییر کند.

نحوه استفاده: tx <start | stop | wait | config [parameters]>

نمونه‌های IQ را از فایل مشخص‌شده خوانده و آن‌ها را ارسال می‌کند. ارسال توسط یکی از دستورات زیر کنترل و پیکربندی می‌شود:

دستور توضیحات
start آغاز ارسال نمونه‌ها
stop توقف ارسال نمونه‌ها
wait انتظار برای تکمیل ارسال نمونه‌ها، یا تا زمانی که مقدار مشخصی از زمان سپری شود
config پیکربندی ارسال نمونه‌ها. اگر هیچ پارامتری ارائه نشود، پارامترهای فعلی چاپ می‌شوند.

اجرای tx بدون هیچ دستور اضافی، معادل کوتاه و معتبری برای tx config است.

دستور wait یک پارامتر اختیاری timeout می‌پذیرد. واحد پیش‌فرض این پارامتر میلی‌ثانیه (ms) است. واحد مهلت زمانی را می‌توان با استفاده از پسوندهای ms یا s مشخص کرد. اگر این پارامتر ارائه نشود، دستور تا زمان تکمیل ارسال یا فشرده شدن کلیدهای Ctrl-C منتظر خواهد ماند.

پارامترهای پیکربندی به صورت param=value هستند و می‌توانند در یک یا چند بار فراخوانی دستور tx config مشخص شوند. در زیر فهرستی از پارامترهای موجود ارائه شده است:

پارامتر توضیحات
file نام فایل جهت خواندن نمونه‌ها از آن
format فرمت فایل ورودی. یکی از موارد زیر:
csv: فرمت CSV از نمونه‌های SC16 Q11 (محدوده [-2048, 2047])
bin: نمونه‌های خام DAC از نوع SC16 Q11 (محدوده [-2048, 2047])
repeat تعداد دفعاتی که محتویات فایل باید ارسال شوند. مقدار 0 به معنی تکرار مداوم تا زمان توقف است.
delay تعداد میکروثانیه‌های تاخیر بین ارسال‌های مجدد محتوای فایل. مقدار 0 به معنی عدم وجود تاخیر است.
samples تعداد نمونه‌ها در هر بافر برای استفاده در جریان ناهمگام (asynchronous stream). باید بر 1024 بخش‌پذیر و >= 1024 باشد.
buffers تعداد بافرهای نمونه برای استفاده در جریان ناهمگام. حداقل مقدار مجاز 4 است.
xfers تعداد انتقال‌های همزمان مجاز برای جریان ناهمگام. این مقدار باید کمتر از پارامتر buffers باشد.
timeout مهلت زمانی جریان داده. بدون پسوند، واحد پیش‌فرض میلی‌ثانیه است. مقدار پیش‌فرض 1000 میلی‌ثانیه (1 ثانیه) است. پسوندهای معتبر 'ms' و 's' هستند.
channel فهرست جداشده با کاما از کانال‌های فیزیکی RF مورد استفاده

مثال:

•
tx config file=data.bin format=bin repeat=2 delay=250000

ارسال محتویات فایل data.bin به تعداد ۲ بار، با تاخیر حدود ۲۵۰ میلی‌ثانیه بین ارسال‌ها.

•
tx config file=mimo.csv format=csv repeat=0 channel=1,2

ارسال مکرر محتویات فایل mimo.csv، در حالی که اولین کانال درون فایل به کانال TX1 و دومین کانال به TX2 نگاشت شده است.

نکات:

•
پارامترهای n، samples، buffers و xfers از پسوندهای K، M و G که مضاربی از 1024 هستند پشتیبانی می‌کنند.
•
برای نرخ‌های نمونه‌برداری بالاتر، توصیه می‌شود فایل ورودی به‌جای دیسک سخت (HDD) در حافظه RAM (مانند /tmp، /dev/shm) یا روی یک SSD ذخیره شود.
•
فرمت CSV به ازای هر کانال دو ستون نیاز دارد؛ دو ستون اول متناظر با جفت I,Q برای نخستین کانال پیکربندی‌شده با پارامتر channel، دو ستون بعدی متناظر با جفت I,Q کانال دوم، و به همین ترتیب خواهد بود. به‌عنوان مثال، در نمونه mimo.csv بالا، مقدار -128,128,-256,256 جفت (-128,128) را روی TX1 و (-256,256) را روی TX2 ارسال می‌کند.
•
هنگام ارائه داده‌های CSV، این دستور ابتدا آن را به فرمت باینری تبدیل کرده و در فایلی در پوشه کاری جاری ذخیره می‌کند. در طی این فرآیند، مقادیر خارج از محدوده محدود (clamped) خواهند شد.
•
هنگام استفاده از فرمت باینری، کاربر مسئول اطمینان از قرار داشتن مقادیر داده ارائه‌شده در محدوده مجاز است. این پیش‌نیاز باعث رفع نیاز برنامه به بررسی محدوده داده‌ها در کالبک‌های حساس به زمان می‌شود.

نحوه استفاده: set <parameter> <arguments>

دستور set یک پارامتر و تعداد دلخواهی از آرگومان‌ها را برای آن پارامتر خاص دریافت می‌کند. به‌طور کلی، اجرای set <parameter> راهنمای بیشتری برای آن پارامتر نمایش می‌دهد.

پارامترهای متداول:

پارامتر توضیحات
bandwidth تنظیمات پهنای باند
frequency تنظیمات فرکانس
agc کنترل خودکار بهره (Automatic gain control)
loopback تنظیمات لوپ‌بک
rx_mux حالت مالتی‌پلکسر ورودی FIFO دریافت در FPGA
gain تنظیمات بهره
samplerate تنظیمات نرخ نمونه‌برداری
trimdac تنظیمات DAC تنظیم دقیق (Trim DAC) اسیلاتور VCTCXO
tuning_mode تنظیمات حالت تیونینگ

پارامترهای مخصوص BladeRF1:

پارامتر توضیحات
gpio وضعیت GPIO بین FX3 <-> FPGA
lnagain بهره RX LNA بر حسب دسی‌بل (dB). مقادیر: 0, 3, 6 (منسوخ شده)
rxvga1 بهره RXVGA1 بر حسب دسی‌بل (dB). محدوده: [5, 30] (منسوخ شده)
rxvga2 بهره RXVGA2 بر حسب دسی‌بل (dB). محدوده: [0, 30] (منسوخ شده)
txvga1 بهره TXVGA1 بر حسب دسی‌بل (dB). محدوده: [-35, -4] (منسوخ شده)
txvga2 بهره TXVGA2 بر حسب دسی‌بل (dB). محدوده: [0, 25] (منسوخ شده)
sampling حالت نمونه‌برداری داخلی یا خارجی
smb_mode حالت عملکرد پورت کلاک SMB
vctcxo_tamer حالت پایدارکننده (tamer) اسیلاتور VCTCXO. گزینه‌ها: Disabled, 1PPS, 10MHz
xb_gpio مقادیر GPIO برد توسعه
xb_gpio_dir جهت GPIO برد توسعه (1=خروجی، 0=ورودی)

پارامترهای مخصوص BladeRF2:

پارامتر توضیحات
clock_sel انتخاب کلاک سیستم
clock_out انتخاب خروجی کلاک
rssi نشانگر قدرت سیگنال دریافتی (RSSI)
clock_ref فعال‌سازی (1) یا غیرفعال‌سازی (0) تراشه ADF4002
refin_freq فرکانس کلاک مرجع ADF4002
biastee فعال‌سازی یا غیرفعال‌سازی بایاس تی (bias tee) روی یک کانال مشخص
filter انتخاب فیلتر RFIC FIR

نحوه استفاده: version

اطلاعات نگارش نرم‌افزار میزبان و دستگاه جاری را چاپ می‌کند.

$ bladeRF-cli -l hostedx40.rbf

ایمیج FPGA با نام hostedx40.rbf را روی FPGA دستگاه bladeRF بارگذاری می‌کند.

نکته: ایمیج FPGA بارگذاری‌شده با --load-fpga پس از قطع برق از دست خواهد رفت.

$ bladeRF-cli -f firmware.img

فایل فریم‌ور firmware.img را روی حافظه فریم‌ور bladeRF فلش می‌کند.

$ bladeRF-cli -L hostedx40.rbf

ایمیج FPGA با نام hostedx40.rbf را روی حافظه فلش bladeRF می‌نویسد، به‌طوری که هنگام روشن شدن دستگاه به‌صورت خودکار بارگذاری خواهد شد.

این ابزار توسط مشارکت‌کنندگان پروژه bladeRF نوشته شده است. برای اطلاعات بیشتر به فایل CONTRIBUTORS مراجعه کنید.

اشکالات ممکن است از طریق سیستم ردیابی باگ در نشانی https://github.com/nuand/bladerf گزارش شوند.

کپی‌رایت © 2013-2015 Nuand LLC.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده یا تغییر دهید.

این برنامه با این امید توزیع شده است که مفید واقع شود، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

شما باید به همراه این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر مکاتبه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

مستندات بیشتر در نشانی‌های http://nuand.com و https://github.com/nuand/bladerf در دسترس است.

December 2025 bladeRF-cli 1.10.0-git-fcf94233-dirty