• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

BL602 RISC-V WiFi и Bluetooth 5.0 LE SoC

pvvx

Активный участник сообщества
Пришли такие платки из
1613014962239.png
Info:

Залил "bl602_demo_at.bin" для теста iperf...
CH430 не справляется с выводом отладки в USB-COM порт от чипа, т.к. по умолчанию скорость вывода отладочной информации у чипа 2 мегабита.
Там-же работает и интерфейс cli.
"AT" работает на других пинах - D3/D4 (RX/TX), но это не интересно.
Код:
# help
====Build-in Commands====
====Support 4 cmds once, seperate by ; ====
help                     : print this
p                        : print memory
m                        : modify memory
echo                     : echo for command
exit                     : close CLI
devname                  : print device name
sysver                   : system version
reboot                   : reboot system
poweroff                 : poweroff system
reset                    : system reset
time                     : system time
ota                      : system ota
ps                       : thread dump
ls                       : file list
hexdump                  : dump file
cat                      : cat file

====User Commands====
stack_wifi               : Wi-Fi Stack
stack_ble                : BLE Stack
free                     : Remain free memory
coex_dump                : coex dump
rf_dump                  : rf dump
wifi_capcode             : wifi capcode
wifi_scan                : wifi scan
wifi_scan_filter         : wifi scan
wifi_mon                 : wifi monitor
wifi_raw_send            : wifi raw send test
wifi_sta_info            : wifi sta info
wifi_sta_ip_set          : wifi STA IP config [ip] [mask] [gw] [dns1] [dns2]
wifi_sta_ip_unset        : wifi STA IP config unset
wifi_sta_disconnect      : wifi station disconnect
wifi_sta_connect         : wifi station connect
wifi_sta_get_state       : wifi sta get state
wifi_sta_autoconnect_enable: wifi station enable auto reconnect
wifi_sta_autoconnect_disable: wifi station disable auto reconnect
rc_fix_en                : wifi rate control fixed rate enable
rc_fix_dis               : wifi rate control fixed rate diable
wifi_sta_ps_on           : wifi power saving mode ON
wifi_sta_ps_off          : wifi power saving mode OFF
wifi_sta_denoise_enable  : wifi denoise
wifi_sta_denoise_disable : wifi denoise
-----------------> AABA Request:
    A-MSDU: Permitted
    Block Ack Policy: Immediate Block Ack
    TID: 4
    Number of Buffers: 64
-----------------> AABA Response:
    A-MSDU: Not Permitted
    Block Ack Policy: Immediate Block Ack
    TID: 4
    Number of Buffers: 8
wifi_sniffer_on          : wifi sniffer mode on
wifi_sniffer_off         : wifi sniffer mode off
wifi_ap_start            : start Ap mode
wifi_ap_stop             : stop Ap mode
wifi_ap_conf_max_sta     : config Ap max sta
wifi_dump                : dump fw statistic
wifi_cfg                 : wifi cfg cmd
wifi_mib                 : dump mib statistic
wifi_pkt                 : wifi dump needed
wifi_coex_rf_force_on    : wifi coex RF forece on
wifi_coex_rf_force_off   : wifi coex RF forece off
wifi_coex_pti_force_on   : wifi coex PTI forece on
wifi_coex_pti_force_off  : wifi coex PTI forece off
wifi_coex_pta_force_on   : wifi coex PTA forece on
wifi_coex_pta_force_off  : wifi coex PTA forece off
wifi_sta_list            : get sta list in AP mode
wifi_sta_del             : delete one sta in AP mode
wifi_edca_dump           : dump EDCA data
wifi_state               : get wifi_state
wifi_update_power        : Power table test command
blemesh_init             :
blemesh_init:[Initialize]
 Parameter[Null]

blemesh_set_dev_uuid     :
blemesh_input_num:[input number in provisionging procedure]
     [Size:16 Octets, e.g.112233445566778899AA]

blemesh_pb               :
blemesh_pb:[Enable or disable provisioning]
     [bear, 1:adv bear, 2:gatt bear]
     [enable, 0:disable provisioning, 1:enable provisioning]

blemesh_reset            :
blemesh_reset:[Reset the state of the local mesh node]
 Parameter[Null]

blemesh_net_send         :
blemesh_net_send:[Send a network packet]
 Parameter[TTL CTL SRC DST]

blemesh_seg_send         :
blemesh_seg_send:[Send a segmented message]
 Parameter[SRC DST]

blemesh_rpl_clr          :
blemesh_rpl_clr:[Clear replay protection list]
 Parameter[Null]

blemesh_ivu_test         :
blemesh_ivu_test:[Enable or disable iv update test mode]
     [enable, 0:disable, 1:enable]

blemesh_iv_update        :
blemesh_iv_update:[Enable or disable iv update procedure]
     [enable, 0:disable, 1:enable by sending secure network beacons]

blemesh_fault_set        :
blemesh_fault_set:[Set current fault or registered fault values]
     [type, 0:current fault, 1:registered fault]
     [fault, fault array in hex format]

blemesh_lpn_set          :
blemesh_lpn_set:[Enable or disable low power node]
     [enable, 0:disable lpn, 1:enable lpn]

blemesh_input_num        :
blemesh_input_num:[input number in provisionging procedure]
     [Max Size:16 Octets, e.g.112233445566778899AA]

blemesh_input_str        :
blemesh_input_str:[input Alphanumeric in provisionging procedure]
     [Max Size:16 Characters, e.g.123ABC]

ble_init                 :
ble_disable              :
ble_get_device_name      :
ble_set_device_name      :
ble_start_scan           :
ble_stop_scan            :
ble_set_adv_channel      :
ble_start_adv            :
ble_stop_adv             :
ble_read_local_address   :
ble_connect              :
ble_disconnect           :
ble_select_conn          :
ble_unpair               :
ble_conn_update          :
ble_security             :
ble_auth                 :
ble_auth_cancel          :
ble_auth_passkey_confirm :
ble_auth_pairing_confirm :
ble_auth_passkey         :
ble_exchange_mtu         :
ble_discover             :
ble_read                 :
ble_write                :
ble_write_without_rsp    :
ble_subscribe            :
ble_unsubscribe          :
ble_set_data_len         :
ble_conn_info            :
ble_set_tx_pwr           :
blfdt                    : blfdt
blogset                  : blog pri set level
blogdump                 : blog info dump
ota_tcp                  : OTA from TCP server port 3333
ota_dump                 : dump partitions for ota related
bl_sys_time_now          : sys time now
psm_set                  : psm set
psm_unset                : psm unset
psm_get                  : psm get
psm_dump                 : psm dump
psm_erase                : psm dump
psm_test                 : psm test
gpio-func                : gpio-func pinnum 0/1[0:output, 1:input] 0/1[pullup] 0/1[pulldown]
gpio-set                 : gpio-set pinnum 0/1
gpio-get                 : gpio-get pinnum
wdt-init                 : wdt-init ms
wdt-feed                 : wdt-feed
wdt-disable              : wdt-disable
timer-start              : timer-start
looprt                   : looprt based on bloop
looprt_status            : looprt based on bloop
looprt_evt               : looprt notify event
looprt_evt_status        : looprt evt to dump
looprt_schedule1         : looprt schedule evt 20s
looprt_schedule2         : looprt schedule evt 10s
ipc                      : iperf TCP client
ips                      : iperf TCP server
ipu                      : iperf UDP client
ipus                     : iperf UDP server
sntp_start               : sntp start
sntp_time                : sntp time
sntp_date                : sntp date
Через CH430 cli для соединения c AP вводим:
stack_wifi
wifi_sta_connect [I]my_ap_name my_ap_password[/I]
 

pvvx

Активный участник сообщества
Далее для теста TCP запускаем сервер iperf на компе:
iperf.exe -s -w 64k -N -i 5
И в cli модуля стартуем клиента iperf: ipc 192.168.1.2
Получаем:
Код:
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[376] local 192.168.1.2 port 5001 connected with 192.168.1.137 port 58053
[ ID] Interval       Transfer     Bandwidth
[376]  0.0- 5.0 sec  2.71 MBytes  4.55 Mbits/sec
[376]  5.0-10.0 sec  2.72 MBytes  4.57 Mbits/sec
[376] 10.0-15.0 sec  2.69 MBytes  4.52 Mbits/sec
[376] 15.0-20.0 sec  2.94 MBytes  4.93 Mbits/sec
[376] 20.0-25.0 sec  2.84 MBytes  4.76 Mbits/sec
[376] 25.0-30.0 sec  2.23 MBytes  3.74 Mbits/sec
[376] 30.0-35.0 sec  2.76 MBytes  4.63 Mbits/sec
[376] 35.0-40.0 sec  2.81 MBytes  4.72 Mbits/sec
[376] 40.0-45.0 sec  2.84 MBytes  4.76 Mbits/sec
[376] 45.0-50.0 sec  2.76 MBytes  4.63 Mbits/sec
[376] 50.0-55.0 sec  2.45 MBytes  4.12 Mbits/sec
[376] 55.0-60.0 sec  2.63 MBytes  4.41 Mbits/sec
[376] 60.0-65.0 sec  2.65 MBytes  4.44 Mbits/sec
...
Или обратное направление TCP (комп - клиент, модуль сервер):
В модуль: ips
В комп: iperf.exe -c 192.168.1.137 -w 64k -N -t 30 -i 5
Итог:
Код:
------------------------------------------------------------
Client connecting to 192.168.1.137, TCP port 5001
TCP window size: 64.0 KByte
------------------------------------------------------------
[312] local 192.168.1.2 port 56729 connected with 192.168.1.137 port 5001
[ ID] Interval       Transfer     Bandwidth
[312]  0.0- 5.0 sec  1.95 MBytes  3.26 Mbits/sec
[312]  5.0-10.0 sec  1.92 MBytes  3.22 Mbits/sec
[312] 10.0-15.0 sec  1.89 MBytes  3.17 Mbits/sec
[312] 15.0-20.0 sec  1.90 MBytes  3.19 Mbits/sec
[312] 20.0-25.0 sec  1.91 MBytes  3.20 Mbits/sec
[312] 25.0-30.0 sec  1.91 MBytes  3.21 Mbits/sec
[312]  0.0-30.2 sec  11.5 MBytes  3.19 Mbits/sec
UDP (комп - клиент, модуль - сервер):
В модуль: ipus
В комп: iperf.exe -u -c 192.168.1.137 -b 50M
Итог:
Код:
[NET] [IPC] [IPUS] Connecting with default address 0.0.0.0
# bind UDP socket successfully!
19.9182(19.9182 19.9182 19.9182) Mbps, out of order: 0.
19.9082(19.9082 19.9132 19.9182) Mbps, out of order: 0.
19.7891(19.7891 19.8718 19.9182) Mbps, out of order: 0.
19.3931(19.3931 19.7521 19.9182) Mbps, out of order: 0.
19.9023(19.3931 19.7821 19.9182) Mbps, out of order: 0.
17.9217(17.9217 19.4718 19.9182) Mbps, out of order: 0.
20.0173(17.9217 19.5497 20.0173) Mbps, out of order: 0.
18.8517(17.9217 19.4625 20.0173) Mbps, out of order: 0.
19.4822(17.9217 19.4647 20.0173) Mbps, out of order: 0.
19.3460(17.9217 19.4528 20.0173) Mbps, out of order: 0.
19.2705(17.9217 19.4362 20.0173) Mbps, out of order: 0.
17.8157(17.8157 19.3000 20.0173) Mbps, out of order: 0.
19.5799(17.8157 19.3215 20.0173) Mbps, out of order: 0.
18.7189(17.8157 19.2783 20.0173) Mbps, out of order: 0.
19.5219(17.8157 19.2946 20.0173) Mbps, out of order: 0.
19.1321(17.8157 19.2843 20.0173) Mbps, out of order: 0.
19.3222(17.8157 19.2866 20.0173) Mbps, out of order: 0.
19.0803(17.8157 19.2751 20.0173) Mbps, out of order: 0.
18.7790(17.8157 19.2490 20.0173) Mbps, out of order: 0.
19.7333(17.8157 19.2732 20.0173) Mbps, out of order: 0.
iperf finish...
receive:16893,out of order:0
[TX] [LOOP] Chain Used 3
ipus exit..
И подобное...
 

pvvx

Активный участник сообщества
BLE и WiFi работают одновременно, в SDK даже тесты по этому делу есть.
SDK имеет низкую скорость в TCP. Очень зажаты настройки LwIP - маленький размер MSS (менее 800 байт) и всего 3 x MSS для TCP_WND. Т.е. над этим надо работать, если требуется скорость в TCP.
В UDP для одно-антенника скорость в норме.
Так-же в SDK не видно никакой нормальной оптимизации (алгоритмов а не возможностей чипа) по потреблению для режимов BLE. Но и у ESP32 их нет.
 

pvvx

Активный участник сообщества
GPIO test в Arduino:
C++:
#include <Arduino.h>
extern "C" {
    #include "bl602.h"
}

#define GPIO_LED 0

// the setup function runs once when you press reset or power the board
void setup() {
  Serial.begin(115200);
  printf("Start Setup\n");
  printf("CLK CPU: %d Hz\n", (int)SystemCoreClockGet());
  printf("Heap: %d bytes\n", (int)xPortGetFreeHeapSize());
  // initialize digital pin GPIO_LED as an output.
  pinMode(GPIO_LED, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  printf("Loop, led hi\n");
  digitalWrite(GPIO_LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  printf("Loop, led lo\n");
  digitalWrite(GPIO_LED, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
  int i = 1000;
  while(i--) {
    digitalWrite(GPIO_LED, i&1);
  }
  delay(1000);                       // wait for a second
}
Вывод в UART 'скетча':
Код:
Start Setup
CLK CPU: 160000000 Hz
Heap: 161208 bytes
Loop, led hi
Loop, led lo
...
Потребление чипом при программировании (и время программирования):
1613108287512.png
Потребление чипа при работе (+ время инициализации Arduino):
1613108340595.png
Потребление чипа при работе: 3.9 mA (3.3V)
Потребление чипа при активном 'RESET': 0.1 mA

Скорость digitalWrite():
1613108803828.png
Период: 560 нс -> шаг вывода 280 nc
Частота: 1.785714 МГц -> 3.57 миллиона digitalWrite() в сек.
 

pvvx

Активный участник сообщества
Извиняюсь, но в измерителе слетели настройки масштабирования к шунту и прошлые замеры я слепил не верные!
Вот правильные:
1613122964495.png
1613122969783.png
Т.е. среднее потребление чипа (модуля DT-BL10) от источника 3.3В:
  • При активном 'RESET': 0.39 mA
  • В режиме 'старт программирования' (до соединения с программой программатора): 6.5 mA
  • В режиме 'программирования' (соединение с программой программатора): 26.5+ mA
  • В режиме 'программирования' (после программирования): 24.3 mA
  • При работе 'скетча': 24.24 mA (160 МГц, что включено или выключено дополнительного в чипе в Arduino не известно)
 

pvvx

Активный участник сообщества

pvvx

Активный участник сообщества
Хорошего в RV-Debugger-BL702 то, что чип программируется по USB встроенным в ROM загрузчиком и USB разъем припаян.
Но остальное -
BLE работает только если сдуть или выломать конденсатор C17.

Рабочего варианта либ и/или правильного ld скрипта к BL702 для BLE с низким потреблением нет. И пока в lowPower полная неопределенность, по которой данный чип не имеет никакой конкуренции в сфере батарейного питания (CR2032 и т.д.) с другими аналогичными BLE чипами. Минималка необходимого для BLE/Zigbee режима sleep по докам у BL70x - 10 uA, а сама система и прочее ПО пока не адаптирована даже для такого использования. Но и 10uA - это уже много - на рынке толпа более дешевых SoC с лучшими показателями. Это учитывая по выборке наличие в чипе USB, поддержку BLE/MESH/Zigbee и т.д.
Т.е. Bouffalo тормозит. Если так и останется - их текущие чипы не пойдут в массовое серийное производство и будут дороги....
 

pvvx

Активный участник сообщества
Сайт производителя. Внизу страницы есть ссылки на СДК на гитхабе.
The RISC-V BL602 Book
SDK как-бы по два - IoT и MCU + от разных источников.

От производителя совмещенные:
Bouffalolab bl_iot_sdk. Support BL602 Wi-Fi/BLE Combo RISC-V based Chip and BL70X Zigbee/BLE RISC-V based Chip.
bl mcu sdk for BL602/BL604, BL702/BL704/BL706

от Pine64:
Pine64 bl_iot_sdk только для BL602.

от Sipeed:
для RV-Debugger-BL702

И доки к ним разные...

так что не перепутайте :)
 

pvvx

Активный участник сообщества
Как я понял, "все ушил на фронт" :)
Многие крупные производители чипов из США и Европы теперь рисуют примерно такие картинки:
1647484494833.png
У Китайцев на контрактном производстве п.п. и монтажа самые дешевые чипы MCU для выбора ныне BL702S-A0, BL706C-10, W600-B800, W600-BA00, W601-A800, ...
А ESP не годятся во многие применения из-за совокупности своих ТТХ и качества.
 

pvvx

Активный участник сообщества
BL706C-10 c 31 gpio стоит дешевле чем мелкий расширитель I/O от TI и прочих :)
В "нагрузку" в нем идет BLE и ZigBee, который отключается.
Аналоги STM32 в виде GD32 так-же не могут конкурировать по цене к функциональности, т.к. уже стоят всего на несколько процентов менее STM32.
 

pvvx

Активный участник сообщества
Кто ни будь проверял линейности ADC (и прочие его характеристики) в BL70x?
В SDK добавили DMA для ADC, но как-то там всё кривовато...
Подключение севшей CR2032 к GPIO дает примерно такие показания при ADC_CLOCK_DIV_32, ADC_VREF_3V2, ADC_DATA_WIDTH_16B_WITH_256_AVERAGE :
Код:
55228, 55234, 55193, 55195, 55216, 55232, 55225, 55214, 55216, 55231, 55234, 55235, 55251, 55243, 55240, 55252
55237, 55238, 55248, 55230, 55241, 55229, 55250, 55232, 55243, 55211, 55221, 55249, 55230, 55251, 55252, 55240
55234, 55236, 55253, 55229, 55261, 55226, 55218, 55233, 55242, 55266, 55254, 55250, 55243, 55234, 55241, 55228
55235, 55247, 55239, 55215, 55214, 55224, 55248, 55251, 55237, 55246, 55249, 55242, 55221, 55263, 55242, 55237
55241, 55258, 55259, 55239, 55254, 55232, 55241, 55236, 55256, 55262, 55251, 55263, 55266, 55263, 55260, 55241
55238, 55235, 55252, 55276, 55269, 55283, 55275, 55274, 55247, 55261, 55254, 55287, 55246, 55280, 55249, 55285
55292, 55276, 55247, 55281, 55271, 55281, 55280, 55271, 55288, 55248, 55254, 55232, 55275, 55262, 55270, 55282
55274, 55236, 55241, 55256, 55266, 55264, 55285, 55280, 55291, 55289, 55277, 55286, 55292, 55299, 55277, 55265
55273, 55268, 55290, 55260, 55262, 55278, 55258, 55281, 55289, 55276, 55271, 55258, 55263, 55259, 55271, 55296
55283, 55296, 55291, 55254, 55273, 55275, 55287, 55293, 55287, 55302, 55287, 55303, 55273, 55294, 55306, 55298
55284, 55314, 55301, 55281, 55288, 55297, 55287, 55289, 55303, 55295, 55308, 55297, 55290, 55293, 55272, 55279
55301, 55295, 55285, 55294, 55269, 55282, 55320, 55268, 55292, 55296, 55307, 55303, 55295, 55294, 55294, 55319
55322, 55311, 55276, 55295, 55275, 55304, 55316, 55310, 55320, 55315, 55308, 55300, 55321, 55313, 55328, 55313
55313, 55308, 55306, 55327, 55309, 55308, 55320, 55311, 55330, 55321, 55300, 55304, 55298, 55325, 55326, 55317
55293, 55296, 55313, 55300, 55317, 55313, 55293, 55315, 55300, 55303, 55298, 55303, 55305, 55295, 55293, 55294
55300, 55310, 55306, 55261, 55267, 55281, 55281, 55304, 55294, 55324, 55323, 55325, 55325, 55329, 55297, 55312
55296, 55320, 55307, 55306, 55313, 55318, 55324, 55304, 55320, 55312, 55328, 55336, 55317, 55335, 55325, 55326
55314, 55318, 55310, 55320, 55288, 55318, 55314, 55295, 55322, 55326, 55343, 55348, 55339, 55330, 55316, 55346
55342, 55330, 55306, 55309, 55338, 55349, 55339, 55337, 55316, 55331, 55342, 55337, 55359, 55349, 55350, 55350
55344, 55329, 55347, 55344, 55351, 55342, 55356, 55346, 55341, 55362, 55338, 55340, 55350, 55377, 55344, 55352
55349, 55337, 55349, 55354, 55353, 55351, 55315, 55314, 55342, 55362, 55367, 55351, 55353, 55348, 55350, 55354
55337, 55356, 55357, 55325, 55322, 55330, 55353, 55354, 55355, 55355, 55348, 55337, 55327, 55344, 55362, 55351
55354, 55348, 55366, 55362, 55352, 55334, 55327, 55336, 55356, 55342, 55351, 55362, 55360, 55367, 55337, 55351
55343, 55338, 55341, 55358, 55339, 55362, 55367, 55335, 55323, 55343, 55363, 55361, 55359, 55352, 55352, 55341
55357, 55356, 55354, 55344, 55331, 55343, 55340, 55350, 55362, 55353, 55354, 55338, 55354, 55341, 55373, 55348
55373, 55344, 55352, 55356, 55363, 55341, 55367, 55371, 55365, 55352, 55334, 55358, 55342, 55355, 55363, 55350
55348, 55358, 55367, 55349, 55382, 55356, 55356, 55361, 55380, 55366, 55355, 55348, 55338, 55353, 55357, 55359
55356, 55373, 55375, 55364, 55375, 55359, 55368, 55386, 55389, 55380, 55378, 55381, 55378, 55383, 55376, 55380
55390, 55374, 55377, 55369, 55371, 55355, 55376, 55359, 55372, 55361, 55376, 55374, 55353, 55387, 55351, 55367
55362, 55369, 55368, 55373, 55346, 55355, 55369, 55345, 55352, 55355, 55378, 55385, 55377, 55365, 55367, 55362
55380, 55373, 55337, 55358, 55372, 55363, 55367, 55376, 55367, 55374, 55375, 55377, 55387, 55367, 55359, 55370
55380, 55379, 55388, 55379, 55385, 55354, 55390, 55363, 55385, 55398, 55377, 55384, 55359, 55373, 55383, 55372
55377, 55369, 55370, 55380, 55357, 55382, 55374, 55382, 55375, 55387, 55379, 55369, 55374, 55370, 55388, 55375
55381, 55386, 55378, 55364, 55383, 55404, 55405, 55393, 55373, 55386, 55384, 55394, 55383, 55402, 55381, 55381
55377, 55391, 55400, 55375, 55382, 55392, 55379, 55362, 55403, 55389, 55408, 55418, 55402, 55403, 55391, 55393
55380, 55372, 55384, 55397, 55395, 55407, 55400, 55376, 55386, 55399, 55392, 55402, 55400, 55398, 55376, 55380
55395, 55376, 55357, 55369, 55380, 55374, 55375, 55376, 55366, 55373, 55394, 55368, 55405, 55398, 55401, 55392
55408, 55392, 55387, 55385, 55390, 55384, 55407, 55411, 55412, 55407, 55395, 55400, 55393, 55402, 55402, 55384
55396, 55376, 55402, 55398, 55388, 55387, 55380, 55389, 55393, 55406, 55401, 55385, 55387, 55376, 55387, 55378
55363, 55393, 55390, 55367, 55377, 55375, 55381, 55403, 55383, 55391, 55390, 55380, 55385, 55383, 55394, 55410
55407, 55394, 55412, 55411, 55404, 55402, 55417, 55413, 55413, 55397, 55400, 55392, 55398, 55407, 55386, 55400
55382, 55392, 55401, 55405, 55404, 55413, 55403, 55378, 55398, 55401, 55397, 55407, 55403, 55401, 55378, 55391
Шумы есть, а более пока не проверял - лениво :)
 

pvvx

Активный участник сообщества
Модуль RV-Debugger-BL702, вход ADC на выводе с названием "TCLK".
На вход с генератора пилы (выход 50 Ом) через железные ноги разъема и питание от USB.
Пила 8 Гц, параметры ADC: DMA, ADC_CLOCK_DIV_16, ADC_DATA_WIDTH_14B_WITH_64_AVERAGE (31250 smps)
Вывод значений ADC (16 бит) в USB.
1648350437616.png
csv -> exel
1648350529989.png
Шум и отклонение от линейной функции (полная шкала ADC 16 бит):
1648350482132.png
Приложен тестовый project.bin и wso_adcs.html.
 

Вложения

pvvx

Активный участник сообщества
DAC в BL702 имеет выход только канала “B”.
Пока не удалось запустить его работу по DMA – имеющиеся SDK содержат ошибку или сам чип имеет ошибки с каналом “B”. Но DAC-B работает через управление процом через регистры.
Параметры выхода данного 10-битного DAC кривые – от 0.2 В до 1.8 В. Линейность вроде приличная (лучше чем у всяких ESP), но без работы через DMA уточнять нет желания.
 

nikolz

Well-known member
DAC в BL702 имеет выход только канала “B”.
Пока не удалось запустить его работу по DMA – имеющиеся SDK содержат ошибку или сам чип имеет ошибки с каналом “B”. Но DAC-B работает через управление процом через регистры.
Параметры выхода данного 10-битного DAC кривые – от 0.2 В до 1.8 В. Линейность вроде приличная (лучше чем у всяких ESP), но без работы через DMA уточнять нет желания.
вроде даже чиновники цифровизацию пилят, а вы все графики рисуете.
Напоминает папуасов с бусами. - радости - от графиков - полные ... а что папуасы носили?, Наверное ничего - поэтому и радовались они бусам.
---------------------------
Слабо в цифрах посчитать , хотя бы оценку плотности вероятности, медиану и доверительный интервал оценкам.
 

pvvx

Активный участник сообщества
Там вам дана прошивка и средство приема - вычисляйте "оценку плотности вероятности, медиану и доверительный интервал оценкам". Только вам нужны эти никчемные данные.
А меня это не интересует для данного модуля RV-Debugger-BL702. Не вижу смысла измерять кривизну дизайна печатной платы с кривыми элементами обвязки и железных разъемов не предназначенных для аналоговых измерений. Для Ардуинщиков пойдет, т.к. качество значительно лучше любых ESP.
а вы все графики рисуете.
Графики именно как в любых PDF.
С прошлого диалога с вами уже известно, что вы не понимаете элементарных значений в ADC/DAC. А представленные графики дают полную оценку тем кто разбирается и из них вычисляется большинство параметров. :p
 

nikolz

Well-known member
Там вам дана прошивка и средство приема - вычисляйте "оценку плотности вероятности, медиану и доверительный интервал оценкам". Только вам нужны эти никчемные данные.
А меня это не интересует для данного модуля RV-Debugger-BL702. Не вижу смысла измерять кривизну дизайна печатной платы с кривыми элементами обвязки и железных разъемов не предназначенных для аналоговых измерений. Для Ардуинщиков пойдет, т.к. качество значительно лучше любых ESP.
Графики именно как в любых PDF.
С прошлого диалога с вами уже известно, что вы не понимаете элементарных значений в ADC/DAC. А представленные графики дают полную оценку тем кто разбирается и из них вычисляется большинство параметров. :p
Не-а.
PDF - это формат файлов.
А у Вас -это графики, ну вам виднее.
----------------------
Представленные графики - ничего конкретного не содержат.
---------------------------
Шум на графиках -подобен шуму в голове того, кто на них ссылается.
-------------------------------------
Закон Ома очевидно - это предел в познании рисовальщиков графиков.
 

pvvx

Активный участник сообщества
Представленные графики - ничего конкретного не содержат.
Для тех кто не разбирается ничего и не содержат.
Шум на графиках -подобен шуму в голове того, кто на них ссылается.
От куда такой шум описано - в основном от отсутствия нормальной фильтрации питания USB.
Закон Ома очевидно - это предел в познании рисовальщиков графиков.
Т.е. вы начали изучать закон Ома? Это похвально, но даже в законе Ома присутствуют абстракции, которые вы ещё не изучили и не можете ими оперировать. В итоге вам и не проанализировать имеющую информацию - это типично для заучивших лейбочки и применяющих их маркетинговое сравнение, без понятий как они выводятся.
 
Сверху Снизу