一 概述
CSE7759B 为单相多功能计量芯片,其提供高频脉冲 CF 用于电能计量,通过 UART 可以直接读取电流、电压和功率的相关参数(如:系数、周期);串口波特率为 4800 bps(±2%),8 位数据,1 位偶校验,1 停止位。本芯片采用 SOP8 封装。
CSE7759B 使用 SOP8 封装。
二 芯片应用
如图 2 所示,在 CSE7759B 的电源端,应并联两个小电容,以滤除来自电网高频及低频噪声。电流信号通过锰铜电阻采样后接入 CSE7759B,电压信号则通过电阻网络后输入到 CSE7759B。
注:CSE7759B 为免校准电能计量芯片,芯片出厂校准后偏差为±2%,那么外部器件的精度最终影响客户产品的整体精度,图 2 中标识的 1%精度器件,其精度越高则客户整机精度越高。 从图 2 可看出,电流通道影响电流精度的元器件为 1mR 锰铜电阻,电压通道影响电压精度的元器件为 1M 电阻和与之相连的 1K 电阻,当这三个元器件精度均在±1%内时,则 CSE7759B 免校准整机误差可控制在±3%内。 电压通道 1M 电阻应选择耐高压 1000V 1%电阻(或更高精度);否则需拆分成 5 个 0805 1%(或更高精度)电阻。避免使用过程中由于电阻耐压值不够,造成整机损坏。 CSE7759B 部分采集强电信号,根据安规标准任何人体可能触碰的地方需进行隔离,图 2 中使用光耦隔离(客户自行选择隔离方式,并不限制)。 选择零线做地或火线做地均可,建议使用零线做地。
图 3 为 CSE7759B 非隔离方案,MCU 工作电压 3.3V。
若 MCU 工作电压 5V,则 TI 与 MCU 之间接 200R 电阻。
三 数据协议
用户可以通过 UART 串口协议(RI、TI)读取电压、电流、功率、电量的相关参数,通过运算得到电压、电流、功率、电量。目前该串口只支持 4800bps 的波特率(允许误差±2%),接收口 RI 暂时预留,没有实际功能。串口每隔 50ms 自动将电压系数、电压周期、电流系数、电流周期、功率系数、功率周期、校准次数、CF 脉冲个数的数据包通过 TI 发送(数据以十六进制发送)。数据包的具体格式为:包头(2*(1byte 数据+1bit 偶校验))→电压系数(3*(1byte 数据+1bit 偶校验))→电压周期(3*(1byte 数据+1bit 偶校验))→电流系数(3*(1byte 数据+1bit 偶校验))→电流周期(3*(1byte 数据+1bit 偶校验))→功率系数(3*(1byte 数据+1bit 偶校验))→功率周期(3*(1byte 数据+1bit 偶校验))→校准次数(1*(1byte 数据+1bit 偶校验))→CF 脉冲个数(2*(1byte数据+1bit 偶校验))→包尾(1byte 数据+1bit 偶校验)。共 24byte,4800bps 用时 54.912ms
将串口调试助手中接收到的数据提取出来,即
F2 5A 02 CD F8 06 DB 73 00 3F 70 03 CE 34 51 67 D8 B2 66 E6 61 00 00 BE
F2 5A 02 CD F8 06 E0 30 00 3F 70 05 DA 3D 51 67 D8 6C E7 AB 61 00 00 97
F2 5A 02 CD F8 06 E0 30 00 3F 70 05 DA 3D 51 67 D8 6E 81 10 61 00 00 98
F2 5A 02 CD F8 06 E0 30 00 3F 70 05 DA 3D 51 67 D8 70 1A 75 61 00 00 98
F2 5A 02 CD F8 06 E0 30 00 3F 70 05 DA 3D 51 67 D8 71 B4 D9 61 00 00 97
按照“CSE7759B 用户手册 V1.1”文档 3.4 章节介绍,将第一次数据数据细化后为
F2 5A 包头 2 字节
02 CD F8 电压系数 3 字节
06 DB 73 电压周期 3 字节
00 3F 70 电流系数 3 字节
03 CE 34 电流周期 3 字节
51 67 D8 功率系数 3 字节
B2 66 E6 功率周期 3 字节
61 校准次数 1 字节
00 00 CF 脉冲个数 2 字节
BE 句尾 checksum1 1 字节
共 24 字节
注:由用户手册表 3-1 可知,每颗芯片的电压系数、电流系数、功率系数为固定值(第一行黑色粗体字)。
四 组件的使用
注意:芯片供电电压为5V,所以串口电平也是5V,接主控需要注意。串口波特率4800.
硬件使用开源 4G 空开 DTU 和 CSE7759B 评估板
1 Gitee链接地址
Demo位于amaziot_bloom_os_sdksample3rd6.0_CSE7759B
Gitee源码地址:https://gitee.com/ning./hongdou
Github源码地址:https://github.com/ayumid/hongdou
编译指令:.build.bat -l .amaziot_bloom_os_sdksample3rd6.0_CSE7759B
2 组件功能介绍
接收CSE7795B的串口数据,计算出电压,电流,功率等参数,并通过OLED实时显示。
3 代码讲解
1 am_ty_sw_deal_uart_data
功能:该函数用于,处理串口数据,从数据中计算出电压,电流,功率等参数。
参数:
参数 | 释义 |
inData | 串口数据指针 |
recvlen | 串口数据长度 |
返回值:1 正常,-1 错误
示例:
if (uart_data.port == 0) am_ty_sw_deal_uart_data(uart_data.data,uart_data.len);
2 am_ty_sw_get_VIP_value
功能:该函数用于,获取电压、电流、功率的有限数据。
参数:
参数 | 释义 |
arr | 参数数组 |
返回值:0
示例:
voltage_t = am_ty_sw_get_VIP_value(voltage_a);
3 am_ty_sw_need_updata
功能:该函数用于,检测电压电流功率是否需要更新。
参数:
参数 | 释义 |
arr | 当前参数 |
dat | 保存的旧参数 |
返回值:无
示例:
menu_handle_init(hMENU); // 初始化
4 am_ty_sw_updata_VIP_value
功能:该函数用于,更新电压、电流、功率的列表。
参数:
参数 | 释义 |
arr | 参数数组 |
dat | 更新值 |
返回值:无
示例:
am_ty_sw_updata_VIP_value(voltage_a,voltage_t);
5 am_ty_sw_reset_VIP_value
功能:该函数用于,更新菜单选中下标。
参数:
参数 | 释义 |
arr | 参数数组 |
dat | 更新值 |
返回值:无
示例:
am_ty_sw_reset_VIP_value(power_a,power_t);
4 Demo实战
4.1 创建一个Demo
复制4.2_hal_UART示例工程,到同一个文件夹下,修改文件名为6.0_CSE7759B,如图:
4.2 修改makefile
增加文件组件所在目录头文件路径,和源文件路径,如图:
4.3 增加头文件
使用代码编辑器,将新建的工程文件加入代码编辑器中,打开main.c,修改main.c,加入am.h等头文件,如图:
4.4 修改代码
在Phase2Inits_exit 创建一个任务,如图:
4.5 宏定义介绍
sample_uarts_uart_printf
输出日志到DEBUG 串口,日志比较少,可以输出到这个串口,如果日志比较多,需要输出到usb口,以免不必要的问题出现
sample_uarts_catstudio_printf
输出日志到USB 串口,使用catstudio查看,catstudio查看日志需要更新对应版本mdb.txt文件,软件打开filtter过滤日志,只查看用户输出的日志
SAMPLE_CSE7759B_TASK_STACK_SIZE
栈空间宏定义
4.6 全局变量介绍
sample_cse7795b_task_stack
任务栈空间,本例使用动态内存实现,用户在做项目时,可以预先估算下当先任务需要的大致栈空间,OS没有提供可以查看栈空间使用情况的API
sample_cse7795b_task_ref
任务指针
sample_cse7759b_oled_stack_ptr
任务栈空间,本例使用动态内存实现,用户在做项目时,可以预先估算下当先任务需要的大致栈空间,OS没有提供可以查看栈空间使用情况的API
sample_cse7759b_oled_task_ref
OLED任务指针
4.7 函数介绍
Phase1Inits_enter
底层初始化,本例空
Phase1Inits_exit
底层初始化,本例空
Phase2Inits_enter
底层初始化,本例空
Phase2Inits_exit
创建主任务,初始化消息队列,定时器,任务等。
代码片段:
OSA_STATUS status; sample_cse7759b_uart_printf("%s[%d]: starting...n", __FUNCTION__, __LINE__); status = OSAMsgQCreate(&sample_cse7795b_msgq, "sample_cse7795b_msgq", sizeof(uartParam), 300, OS_FIFO); ASSERT(status == OS_SUCCESS); sample_cse7795b_task_stack = malloc(SAMPLE_CSE7759B_TASK_STACK_SIZE); ASSERT(sample_cse7795b_task_stack != NULL); status = OSATaskCreate(&sample_cse7795b_task_ref, sample_cse7795b_task_stack, SAMPLE_CSE7759B_TASK_STACK_SIZE, 82, "sample_cse7759b_uart_thread", sample_cse7759b_uart_thread, NULL); ASSERT(status == OS_SUCCESS); status = OSAMsgQCreate(&sample_cse7795b_oled_msgq, "sample_cse7795b_oled_msgq", sizeof(eleParam), 300, OS_FIFO); ASSERT(status == OS_SUCCESS); sample_cse7759b_oled_stack_ptr = malloc(SAMPLE_CSE7759B_OLED_STACK_SIZE); ASSERT(sample_cse7759b_oled_stack_ptr != NULL); status = OSATaskCreate(&sample_cse7759b_oled_task_ref, sample_cse7759b_oled_stack_ptr, SAMPLE_CSE7759B_OLED_STACK_SIZE, 100, "cse7759b_oled_task", sample_cse7759b_oled_task, NULL); ASSERT(status == OS_SUCCESS);
sample_uarts_main_uart_recv_cbk
串口回调函数,提供给UART_OPEN 调用。
代码片段:
{ uartParam uart_data = {0}; OSA_STATUS osa_status; // UART_SEND_DATA(recv_data, recv_len); char *tempbuf = (char *)malloc(recv_len); memset(tempbuf, 0x0, recv_len); memcpy(tempbuf, (char *)recv_data, recv_len); // // sample_cse7759b_uart_printf("%s[%d]: recv_len:%d", __FUNCTION__, __LINE__, recv_len); uart_data.data = (UINT8 *)tempbuf; uart_data.len = recv_len; uart_data.port = 0; osa_status = OSAMsgQSend(sample_cse7795b_msgq, sizeof(uartParam), (UINT8*)&uart_data, OSA_NO_SUSPEND); ASSERT(osa_status == OS_SUCCESS);
sample_cse7759b_uart_thread
串口数据接收任务,收到回调函数的消息后,处理消息中的数据。
代码片段:
while (1) { memset(&uart_data, 0x00, sizeof(uartParam)); status = OSAMsgQRecv(sample_cse7795b_msgq, (UINT8 *)&uart_data, sizeof(uartParam), OSA_SUSPEND); //recv data from uart if (status == OS_SUCCESS) { if (uart_data.data) { // for(i = 0; i < uart_data.len; i++) // { // sample_cse7759b_uart_printf("%02X", uart_data.data[i]); // } if (uart_data.port == 0) am_ty_sw_deal_uart_data(uart_data.data,uart_data.len); // UART_SEND_DATA(uart_data.data,uart_data.len); // else if (uart_data.port == 1) // UART3_SEND_DATA(uart_data.data,uart_data.len); // else if (uart_data.port == 2) // UART4_SEND_DATA(uart_data.data,uart_data.len); data = lib_get_cse7759b_data(); // sample_cse7759b_uart_printf("%s[%d] V:%dV I:%dA P:%dW Q:%fKwh", __FUNCTION__, __LINE__, data- >voltage, data->electricity / 1000, data->power / 1000, data->quantity * 0.001); // sample_cse7759b_uart_printf("%s[%d] V:%dV I:%dmA P:%dmW Q:%fwh", __FUNCTION__, __LINE__, data->voltage, data->electricity, data->power, data->quantity); if((data->quantity - q_temp) > 0.000001) { eleParam *param = malloc(sizeof(eleParam)); memset(param, 0x0, sizeof(eleParam)); param->voltage = data->voltage; param->electricity = data->electricity; param->power = data->power; param->quantity = data->quantity; uart_sdata.data = (UINT8 *)param; uart_sdata.len = sizeof(eleParam); status = OSAMsgQSend(sample_cse7795b_oled_msgq, sizeof(uartParam), (UINT8*)&uart_sdata, OSA_NO_SUSPEND); ASSERT(status == OS_SUCCESS); } q_temp = data->quantity; free(uart_data.data); uart_data.data = NULL; } } }
sample_cse7759b_oled_task
OLED任务,显示收到的电压,电流,功率,电量到OLED。
代码片段:
while(1) { status = OSAMsgQRecv(sample_cse7795b_oled_msgq, (UINT8 *)&uart_data, sizeof(eleParam), OSA_SUSPEND); if (status == OS_SUCCESS) { if (uart_data.data != NULL) { eleparam = (eleParam*)uart_data.data; sample_cse7759b_uart_printf("%s[%d] V:%dV I:%dmA P:%dmW Q:%fwh", __FUNCTION__, __LINE__, eleparam->voltage, eleparam->electricity, eleparam->power, eleparam->quantity); drv_ssd1315_clear(); //显示汉字 drv_ssd1315_show_chinese(0,0,14,16,1);// drv_ssd1315_show_chinese(18,0,15,16,1);// drv_ssd1315_show_chinese(0,16,16,16,1);// drv_ssd1315_show_chinese(18,16,17,16,1);// drv_ssd1315_show_chinese(0,32,18,16,1);// drv_ssd1315_show_chinese(18,32,19,16,1);// drv_ssd1315_show_chinese(0,48,20,16,1);// drv_ssd1315_show_chinese(18,48,21,16,1);// //显示字符,数字 if(eleparam->power > 0) { snprintf(vol, SAMPLE_CSE7759B_DISPLAY_BUF_MAX_LEN, ":%dV", eleparam->voltage); snprintf(curr, SAMPLE_CSE7759B_DISPLAY_BUF_MAX_LEN, ":%dmA", eleparam->electricity); snprintf(power, SAMPLE_CSE7759B_DISPLAY_BUF_MAX_LEN, ":%dmW", eleparam->power); snprintf(quant, SAMPLE_CSE7759B_DISPLAY_BUF_MAX_LEN, ":%.3fwH", eleparam->quantity); drv_ssd1315_show_string(36, 0, (UINT8*)vol, 16, 1); drv_ssd1315_show_string(36, 16, (UINT8*)curr, 16, 1); drv_ssd1315_show_string(36, 32, (UINT8*)power, 16 ,1); drv_ssd1315_show_string(36, 48, (UINT8*)quant, 16, 1); } drv_ssd1315_refresh(); free(uart_data.data); uart_data.data = NULL; } } }
4.8 编译
在SDK根目录打开命令行,输入命令.build.bat -l .amaziot_bloom_os_sdksample3rd6.0_CSE7759B
PS F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF λ .build.bat -l .amaziot_bloom_os_sdksample3rd6.0_CSE7759B 子目录或文件 outbin 已经存在。 命令语法不正确。 子目录或文件 buildobj 已经存在。 gnumake: Entering directory `F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/6.0_CSE7759B' armcc.exe -c --cpu Cortex-R4 --no_unaligned_access -g -O2 --apcs /inter --diag_suppress 2084,1,2,177,188,223,550,1296,2795,6319,9931,9933 --diag_error=warning --gnu --thumb --loose_implicit_cast -DDATA_COLLECTOR_IMPL -DISPT_OVER_SSP -DDIAG_SSP_DOUBLE_BUFFER_USE_DYNAMIC_ALLOCATION -DENV_XSCALE -DL1_DCXO_ENABLED -DLTE_HIGH_MOBILITY_OPTIMIZATION -DRUN_XIP_MODE -DCRANE_Z2 -DCA_LONG_IPC_MSG -DNEZHA3 -DNEZHA3_1826 -DUPGRADE_PLMS -DUPGRADE_PLMS_SR -DLTE_GSMMULTIBCCH -DGPLC_LTE_RSSI_SCAN -DL1V_NEW_RSSI -DUPGRADE_PLMS_3G -DUPGRADE_PLMS_L1 -DUPGRADE_FG_PLMS -DFG_PLMS_URR -DUPGRADE_L1A_FG_PLMS -DUPGRADE_PLMS_STAGE_2 -DUPGRADE_MBCCH -DMULTI_BCCH_READY_IND -DURR_MRAT_ICS_SEARCH -DUPGRADE_ICS -DMRAT_NAS -DUPGRADE_PLMS_SEARCH_API -DICS_MBCCH -DICS_MBCCH_2G_RSSI -DDIAG_NEWPP -DPHS_SW_DEMO -DPHS_SW_DEMO_TTC -DPHS_SW_DEMO_TTC_PM -DFULL_SYSTEM -D_DDR_INIT_ -D_TAVOR_HARBELL_ -DUPGRADE_ARBEL_PLATFORM -D_TAVOR_B0_SILICON_ -DTDL1C_SPY_ENABLE -DDLM_TAVOR -DTAVOR -DFLAVOR_DUALCORE -DDEBUG_D2_MOR_REG_RESEREVED_ENABLE -D_DIAG_USE_COMMSTACK_ -D_TAVOR_DIAG_ -DPM_DEBUG_MODE_ENABLED -DPM_D2FULL_MODE -DPM_EXT_DBG_INT_ARR -DFEATURE_WB_AMR_PS -DMACRO_FOR_LWG -DHL_LWG -DOPTIMIZE_FOR_2G_BCCH -DPLAT_TEST -D_FDI_USE_OSA_ -DPLAT_USE_THREADX -DLWIP_IPNETBUF_SUPPORT -DCRANE_MCU_DONGLE -DAT_OVER_UART -DPHS_SW_DEMO_TTC_PM -DUPGRADE_LTE_ONLY -DEXT_AT_MODEM_SUPPORT -DLTEONLY_THIN_SINGLE_SIM -DLFS_FILE_SYS -DLFS_FILE_SYS_V2 -DPSM_ENABLE -DNO_PAHO_MQTT -DNO_XML -DNO_LWM2M -DREMOVE_MBEDTLS -DNO_AT_NET -DCRANE_SD_NOT_SUPPORT -DNTP -DYMODEM_EEH_DUMP -DENABLE_DM_LTEONLY -DLTEONLY_THIN -DNO_EXTEND_MY_Q_AT -DNOT_SUPPORT_HTTPS -DNOT_SUPPORT_PM813 -DCRANEL_4MRAM -DREMOVE_PB -DUART_NEW_VERSION -DREMOVE_MEP -DREMOVE_SMS -DREMOVE_ENVSIM -DAPN_INCODE -DLTEONLY_THIN_SINGLE_SIM_2MFLASH -DASR160X_OPENCPU_FEATURE -DENABLE_UART3_FEATRUE -DENABLE_UART4_FEATRUE -DYUGE_MBEDTLS_3_2_1 -DENABLE_MAC_TX_DATA_LOGGING -DDISABLE_NVRAM_ACCESS -DINTEL_UPGRADE_EE_HANDLER_SUPPORT -DLTE_W_PS -DL1_DUAL_MODE -DUPGRADE_HERMON_DUAL -DINTEL_UPGRADE_DUAL_RAT -DINTEL_UPGRADE_GPRS_CIPHER_FLUSH -DUPGRADE_ENHANCED_QUAD_BAND -DINTEL_2CHIP_PLAT -DI_2CHIP_PLAT -DUPGRDE_TAVOR_COMMUNICATION -DRUN_WIRELESS_MODEM -DFLAVOR_DDR12MB_GB1MB5 -DFEATURE_SHMEM -DACIPC_ENABLE_NEW_CALLBACK_MECHANISM -DRELIABLE_DATA -DMAP_NSS -DTV_FNAME=""SW_PLATFORM=PMD2NONE PHS_SW_DEMO PHS_SW_DEMO_PM SRCNUCLEUS FULL_SYSTEM NOACRTC PDFLT PLAT_TEST PV2 DIAGOSHMEM NVM WITHL1V"" -DTV_FDESC=""SW_DESCRIPTION="" -DENABLE_ACIPC -D_DATAOMSL_ENABLED_ -DUSB_CABLE_DETECTION_VIA_PMIC -DMIPS_TEST -DMIPS_TEST_RAM -DFLAVOR_DIET_RAM -DNVM_INCLUDE -DMSL_INCLUDE -DMSL_POOL_MEM -DNO_AUDIO -DOSA_QUEUE_NAMES -D_DIAG_DISABLE_USB_ -DOSA_NUCLEUS -DOSA_USED -DPM_D2NONE_MODE -DCRANE_SOC_TEMPERATURE_SENSOR -DL1_SW_UPDATE_FOR_DIGRF -DPHS_L1_SW_UPDATE_R7 -DUPGRADE_LTE -DFRBD_CALIB_NVM -DFRBD_AGC_CALIB -DFRBD_FDT_CALIB -DHSPA_MPR -DCAPT_PARAMS_OPTIMIZE -DL1_WB_R99_ONLY -DL1V_WB_R99_ONLY -DINTERGRATED_RF_SUPPORT -DL1_RX_DIV_SUPPORT -DENABLE_OOS_HANDLING -DTAVOR_D2_WB_L1_SUPPORT -DL1_DDR_HIGH_FREQ -DUPGRADE_DIGRF3G_SUPPORT -DW_PS_PLUS_G_PAGING -D"NO_APLP=0" -DINTEL_UPGRADE_UNIFIED_VOICE_TASK -DINTEL_UPGRADE_R99 -DAPLP_SPY_ENABLE -D__TARGET_FEATURE_DOUBLEWORD -DWHOLE_UMTS_STACK -DUSE_TTPCOM_CSR_BLUETOOTH_AUDIO_GAIN_CONTROL -DL1_UPGRADE_R5 -DUPGRADE_EDGE -DUPGRADE_R4_FS1 -DINTEL_UPGRADE_GSM_CRL_IF -DUPGRADE_EGPRS_M -DINTEL_UPGRADE_EGPRS_M -DINTEL_UPGRADE_RF_PARAMS_IN_CF_TDS -DINTEL_UPGRADE_2SAMPLES_PER_SYMBOL -D"GPRS_MULTISLOT_CLASS=12" -D"EGPRS_MULTISLOT_CLASS=12" -DMARVELL_UPGRADE_BSIC_REDESIGN -DMSL_INCLUDE -DINTEL_HERMON_SAC -DCRANE_CUST_BUILD -DL1_SW_UPDATE_FOR_DIGRF -DFLAVOR_COM -DSILICON_PV2 -DSILICON_SEAGULL -DSILICON_TTC_CORE_SEAGULL -DPCAC_INCLUDE -Otime -DBUILD_DATE=""07 24 2024"" -DBUILD_TIME=""11:24:52"" -Iatcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyyugeinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalcoreinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalPMUinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalGPIOinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosposixinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswSysCfginc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatforminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xenvwin32inc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswBSPinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswplatformdev_platbuild -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xososainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosthreadxinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xosnu_xscaleinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacpsminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xdiagdiag_logicinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptimerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopintcinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xcswPMinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoppminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilTickManagerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopBSPinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatcmdsrvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyatparserinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonysdkinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcachttpclientinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacciinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcinclude -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludearch -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv4 -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludeipv6 -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludelwip -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcaclwipv4v6srcincludenetif -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmmi_matinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorArbelinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xtavorenvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonymodeminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdusterinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacfotainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalI2Cinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalACIPCinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysflash -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcINCLUDE -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalMMUinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFDI_ADD -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilFDIsrcFM_INC -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfatsysfshdr -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutillittlefsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacttsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacdialinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilcsw_memoryinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoputilitiesinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopcommpminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilnvminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlerinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilEEhandlersrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopRTCinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhoptelephonyci_clientinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalBT_deviceinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalUARTinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopmrdinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopdmainc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilsoftutilinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhalSPIinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacwebsocketinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacatnet_srvinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xsoftutilfotacomminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swACM_COMMinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swaudio_stubsrc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhopaaminc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xaud_swAudioHALinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xhaldbgshellinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFincludeasr160xpcacopencpuinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdkutils -IF:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/6.0_CSE7759Baminc -IF:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/6.0_CSE7759Batcmdsinc -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdklibraries -IF:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFamaziot_bloom_os_sdklibrariesair_4g_swair_sw4_tuya -o buildobj/ext_at_cmds.o F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/6.0_CSE7759B/atcmds/src/ext_at_cmds.c armlink.exe buildobj/main.o buildobj/ext_at_cmds.o buildobj/ext_at_controller.o buildobj/am_ty_sw_ele.o -o F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.axf --via F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lArbel_PMD2NONE_targ_objliblist.txt --elf --scatter F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFprebuilt_1606lCrane_DS_4M_Ram_2M_Flash_XIP_CIPSRAM_Common_SingleSIM.sct --predefine="-DLTEONLY_THIN_SINGLE_SIM" --map --symbols --info sizes,totals --list F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutbinArbel_PMD2NONE_40M.map --keep init.o(Header) --keep init.o(Vectors) --diag_suppress 6312,6314,6319,6329 --feedback F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFoutfeedbackLinkOptLteonlyThin_SingleSim_NoSMS.txt F:3.asr-bcat.1-asr16061.softwareBlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRFtoolsbuildimage_1606l.bat SDK_PROD_TYPE : [DM] SDK_CUST_SKU : [THIN_SINGLE_SIM_NO_SMS] SDK_PS_MODE : [LTEONLY] SDK_CHIP_VER : [Z2A0] SDK_OS_TYPE : [TX] Platform Convertion Tools v4.01 with PS option extension Convertion done! |INPUT |outbincp_1606L.bin |MARK |NAME |EXEADDR .LOADADDR.LENGTH .CPZLADDR|COMPRESS STASTIC | |--------|--------|--------.--------.--------.--------|------------------------------| |This Is LteOnly 4M| |RW_CPZ_1|DDR_RW_ |7e119000.80064a80.0000cde8.80065000|0000cde8->00003000 |This Is LteOnly 4M| |RW_CPZ_2|PS_NCAH |7e388000.80071868.00001300.80068000|00001300->00001000 |This Is LteOnly 4M| |RW_CPZ_3|ITCM |7e3dac00.80072b68.0000f51c.80069000|0000f51c->0000a000 |This Is LteOnly 4M| |RW_CPZ_4|CODE_PS |7e1aa000.80082084.0002fe38.80073000|0002fe38->0001e000 |This Is LteOnly 4M| |RW_CPZ_5|CODEPSB |7e1dc000.800b1ebc.000339c0.80091000|000339c0->0001b000 |This Is LteOnly 4M| |RW_CPZ_6|CODEPSC |7e213000.800e587c.000323ec.800ac000|000323ec->0001b000 |This Is LteOnly 4M| |RW_CPZ_7|CODEPSD |7e249000.80117c68.00028d88.800c7000|00028d88->0001a000 |This Is LteOnly 4M| |RW_CPZ_8|CODEPSE |7e277000.801409f0.0002e310.800e1000|0002e310->0001a000 |This Is LteOnly 4M| |RW_CPZ_9|CODEPSF |7e2a9000.8016ed00.0001c948.800fb000|0001c948->00011000 |This Is LteOnly 4M| |RW_CPZ_A|CODE_PL |7e2ca000.8018b648.0002fa44.8010c000|0002fa44->0001e000 |This Is LteOnly 4M| |RW_CPZ_B|CODEPLB |7e2fa000.801bb08c.00039058.8012a000|00039058->00021000 |This Is LteOnly 4M| |RW_CPZ_C|CODEPLC |7e337000.801f40e4.000268d4.8014b000|000268d4->00011000 |--------|--------|--------.--------.--------.--------|------------------------------| | | 0x002039b8 -> 0x00145000| | | 2.014(MB) -> 1.270(MB)| |------------------------------------------------------------------------------------| cp_1606L.axf cp_1606L.bin cp_1606L.map gnumake: Leaving directory `F:/3.asr-b/cat.1-asr1606/1.software/BlOOM_OS_1606_OPENCPU_1191_A09_WIHT_NEWRF/amaziot_bloom_os_sdk/sample/3rd/6.0_CSE7759B' "copy NEZHAC_CP_CNR_MIFI_TX.bin to ./ " 已复制 1 个文件。
4.9 生成固件
参考入门中开发工具,生成工具。
4.10 测试
测试步骤:
参考编译教程,和文档开头的编译指令,进行编译
按照编译教程选择对应的选项
烧录
4.11 固件
上电后,debug串口会打印出计算出的数据;
OLED屏幕会显示参数信息
点击下载 CSE7759B Demo 固件
5 生态组件链接
电量计量芯片
本文章源自奇迹物联开源的物联网应用知识库Cellular IoT Wiki,更多技术干货欢迎关注收藏Wiki:Cellular IoT Wiki 知识库(https://rckrv97mzx.feishu.cn/wiki/wikcnBvAC9WOkEYG5CLqGwm6PHf)
欢迎同学们走进AmazIOT知识库的世界!
这里是为物联网人构建的技术应用百科,以便帮助你更快更简单的开发物联网产品。
Cellular IoT Wiki初心:
在我们长期投身于蜂窝物联网 ODM/OEM 解决方案的实践过程中,一直被物联网技术碎片化与产业资源碎片化的问题所困扰。从产品定义、芯片选型,到软硬件研发和测试,物联网技术的碎片化以及产业资源的碎片化,始终对团队的产品开发交付质量和效率形成制约。为了减少因物联网碎片化而带来的重复开发工作,我们着手对物联网开发中高频应用的技术知识进行沉淀管理,并基于 Bloom OS 搭建了不同平台的 RTOS 应用生态。后来我们发现,很多物联网产品开发团队都面临着相似的困扰,于是,我们决定向全体物联网行业开发者开放奇迹物联内部沉淀的应用技术知识库 Wiki,期望能为更多物联网产品开发者减轻一些重复造轮子的负担。
Cellular IoT Wiki沉淀的技术内容方向如下:
奇迹物联的业务服务范围:基于自研的NB-IoT、Cat1、Cat4等物联网模组,为客户物联网ODM/OEM解决方案服务。我们的研发技术中心在石家庄,PCBA生产基地分布在深圳、石家庄、北京三个工厂,满足不同区域&不同量产规模&不同产品开发阶段的生产制造任务。跟传统PCBA工厂最大的区别是我们只服务物联网行业客户。
连接我们,和10000+物联网开发者一起 降低技术和成本门槛
让蜂窝物联网应用更简单~~
哈哈你终于滑到最重要的模块了,
千万不!要!划!走!忍住冲动!~
欢迎加入飞书“开源技术交流群”,随时找到我们哦~
点击链接如何加入奇迹物联技术话题群(https://rckrv97mzx.feishu.cn/docx/Xskpd1cFQo7hu9x5EuicbsjTnTf)可以获取加入技术话题群攻略
Hey 物联网从业者,
你是否有了解过奇迹物联的官方公众号“eSIM物联工场”呢?
这里是奇迹物联的物联网应用技术开源wiki主阵地,欢迎关注公众号,不迷路~
及时获得最新物联网应用技术沉淀发布
注:本文部分内容来源于网络,如有侵权,请及时联系我们。
-
芯片
+关注
关注
455文章
50851浏览量
423960 -
物联网
+关注
关注
2909文章
44671浏览量
373671 -
电能计量
+关注
关注
5文章
111浏览量
21892 -
uart
+关注
关注
22文章
1237浏览量
101428
发布评论请先 登录
相关推荐
评论