tag 标签: 物联网

相关帖子
相关博文
  • 2025-2-10 18:16
    0 个评论
    今天我们深入探索的是SIM卡,SIM卡接口用于连接SIM卡并读取SIM卡信息,以便在注册4G网络时进行鉴权身份验证,是4G通信系统的必要功能。 怎么进行SIM卡电路设计呢?本文应各位朋友相邀,特别分享SIM卡接口功能及其电路设计相关注意事项。 一、SIM卡接口功能描述 Air700ECQ/Air700EAQ/Air700EMQ系列模组支持1路USIM接口,符合ETSI和IMT-2000规范,可自适应支持1.8V和3.3V USIM卡。 注意:因为超小超薄系列设计取向为尺寸超小,所以无法在硬件上同时支持移动、电信和联通,三大运营商分三个不同的版本。 Air700ECQ:支持中国移动; Air700EAQ:支持中国电信; Air700EMQ:支持中国联通。 最新开发资料详见: https://docs.openluat.com/ 1.SIM卡相关管脚 SIM卡信号相关管脚,详见下方图表: 2.SIM卡电气特性 - 支持SIM卡类型:1.8V/3.3V USIM卡; - 支持协议:ETSI/IMT-2000; - SIM卡在位检测:支持; 3. SIM卡时序 激活时序: 当SIM卡的触点接通序列结束后(RST处于低电平,VCC稳定供电,ME的I/O处于接收状态,VPP被置为空闲状态,CLK提供适当的、稳定的时钟),SIM卡准备复位。 如下图所示: 时钟信号在T0时刻加到CLK触点,I/O总线在时钟信号加到CLK触点200个时钟周期(T0时刻之后的t2时间段)之内应该处于高阻状态; 内部复位的SIM卡,在几个时钟周期之后开始复位,复位应答应该在400~40000个时钟周期内开始(T0时刻之后的t1时间段之内); 低电平复位的SIM卡的复位信号至少在40000个时钟周期内RST触点维持低电平(T0之后的t3时间段内),如果在40000个时钟周期内没有复位应答,则RST触点被置为高电平; I/O端的复位应答必须在RST上升沿开始的400~40000个时钟周期内开始(T1时刻之后的t1时间段之内); 如果复位应答在400~40000个时钟周期内没有开始(T1时刻之后的t3时间段之内),则RST触点的电平将被置为低电平(在T2时刻),触点也将被ME释放。 二、SIM卡接口电路设计指导 常用的SIM卡参考设计及注意事项如下,在应用中注意结合实际情况优化调整: ▼ 常用SIM卡参考设计 ▼ 设计注意事项: SIM卡座与模组距离摆件不能太远,越近越好,尽量保证SIM卡信号线布线不超过20cm。 SIM卡信号线布线远离RF线和VBAT电源线。 为了防止可能存在的USIM_CLK信号对USIM_DATA信号的串扰,两者布线不要太靠近,在两条走线之间增加地屏蔽。且对USIM_RST_N信号也需要地保护。 为了保证良好的ESD保护,建议加TVS管,并靠近SIM卡座摆放。选择的ESD器件寄生电容不大于50pF。在模组和SIM卡之间也可以串联22欧姆的电阻用以抑制杂散EMI,增强ESD防护。SIM卡的外围电路必须尽量靠近SIM卡座。 三、SIM卡常见问题 在出现SIM卡不识别卡时,测量SIM卡供电VDD_SIM,总是发现VDD_SIM为低电平? 原因解析: SIM卡在初始化时,系统会尝试4次与SIM卡交互。此时VDD_SIM也会打开4次,分别在1.8V和3.3V交替检测,若检测不到SIM卡,VDD_SIM卡就会关闭,如下图: 因此在检测不到SIM卡的情况下,USIM_VDD总是低电平。 设计建议: VDD_SIM不输出不是SIM卡不识别的原因,而是结果;SIM卡上任何一个信号异常,均会导致VDD_SIM自动关闭。 今天的内容就分享到这里~
  • 2025-2-10 18:11
    0 个评论
    本篇文章以Air724UG模组为例,解读低功耗4G模组软件的语音通话,呈现实用教程供大家参考。 一、音频应用-通话(VoLTE)概述 Air724UG模块的4G通信功能,通过VoLTE技术实现高清语音通话。 在通话过程中,声音信号通过 MIC 捕捉并转换为数字音频数据,经4G网络实时传输至对方设备。同时,Air724UG 支持扬声器(Speaker)输出、耳机(Headset)输出以及听筒(Handset)输出等多种音频输出模式,确保用户在不同场景下都能获得清晰的通话体验。 这一应用广泛适用于物联网设备中的远程通信、语音交互等场景,为用户提供便捷、高效的通话服务。 二、准备硬件环境 古人云:工欲善其事,必先利其器。在深入介绍本功能示例之前,我们首先需要确保以下硬件环境的准备工作已经完成。 2.1 Air724UG 开发板 本 demo 使用的是 Air724UG_A14 开发板,如下图所示: 此开发板的详细使用说明参考: https://docs.openluat.com/air724ug/product/ Air724UG 产品手册中的开发板硬件资料中《EVB_Air724UG_A14 开发板使用说明.pdf》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明 pdf 文档。 2.2 SIM 卡 请准备一张可正常上网的SIM卡,该卡可以是物联网卡(一般不能支持)或您的个人手机卡。 特别提醒: 请确保SIM卡未欠费且网络功能正常,以便顺利进行后续操作。 2.3 PC 电脑 请准备一台配备 USB 接口且能够正常上网的电脑。 电脑操作系统为: WIN7以及以上版本的WINDOWS系统。 2.4 小喇叭 2.5 数据通信线 请准备一根用于连接 EVB_Air724UG_A14 开发板和 PC 电脑的数据线,该数据线将实现业务逻辑的控制与交互。 USB 数据线:此数据线不仅用于为测试板供电,还用于查看数据日志。其一端为 Micro-B 接口(俗称老安卓口),用于连接 EVB_Air724UG_A14 开发板;另一端为标准 USB 接口,连接 PC 电脑。 2.6 组装硬件环境 2.6.1 请按 SIM 卡槽指示方向正确插入 SIM 卡,避免插反损坏 通常,插入 SIM 卡的步骤如下: 将 SIM 卡的金属卡槽下滑打开。 平稳地将 SIM 卡放入卡槽。 上滑关闭卡槽。 2.6.2 USB 数据线,连接电脑和 EVB_Air724UG_A14 开发板,如下图所示: 2.6.3 小喇叭和 EVB_Air724UG_A14 开发板连接,如下图所示: 三、准备软件环境 “凡事预则立,不预则废。”在详细阐述本功能示例之前,我们需先精心筹备好以下软件环境。 3.1 Luatools 工具 要想烧录 LuatOS 固件到 4G 模组中,需要用到的调试工具:Luatools; 下载地址: https://docs.openluat.com/Luatools/ Luatools 工具集具备以下几大核心功能: 一键获取最新固件:自动连接服务器,轻松下载最新的模组固件。 固件与脚本烧录:便捷地将固件及脚本文件烧录至目标模组中。 串口日志管理:实时查看模组通过串口输出的日志信息,并支持保存功能。 串口调试助手:提供简洁的串口调试界面,满足基本的串口通信测试需求。 Luatools 下载之后, 无需安装,放入新建的文件夹后点击 Luatools_v3.exe 运行,出现如下界面,就代表 Luatools 安装成功了: 3.2 烧录代码 首先要说明一点:脚本代码, 要和固件的 LuatOS-Air_V4030_RDA8910_TTS_NOLVGL_FLOAT.pac(注:支持 LCD,字库,图片,TTS,WIFI Scan,SD 卡,VOLTE) 文件一起烧录。 整体压缩文件:内含有四个文件,如图所示。 3.2.1 压缩文件:完整文件包 https://docs.openluat.com/air724ug/luatos/app/audio/volte/ 3.2.2找到烧录的固件文件 官网下载,底层 core 下载地址: https://docs.openluat.com/air724ug/luatos/firmware/ 3.2.3正确连接电脑和 4G 模组电路板 使用带有数据通信功能的数据线,不要使用仅有充电功能的数据线; 3.2.4识别 4G 模组的 BOOT 引脚 在下载之前,要用模组的 BOOT 引脚触发下载。 具体到 EVB_Air724UG_A14 开发板: 当我们模块没开机时,按着下载模式键然后长按开机键开机。 当我们模块开机时,按着下载模式键然后点按重启键即可。 3.2.5识别电脑的正确端口 判断是否进入 BOOT 模式: 模块上电,如果是正常开机运行(没有进入boot下载模式),此时在电脑的设备管理器中,查看串口设备,如下图所示(会出现3个或者4个端口): 先按下载模式再按一下重启,会出现一个端口表示进入了 BOOT 下载模式,如下图所示: 一旦进入了boot下载模式,表示硬件连接上已经处于就绪状态,此时就可以使用Luatools工具进行烧录了! 3.2.6新建项目 首先,确保你的 Luatools 的版本大于或者等于 3.0.6 版本. 在 Luatools 的左上角上有版本显示的,如图所示: Luatools 版本没问题的话, 就点击 Luatools 右上角的“项目管理测试”按钮,如下图所示: 这时会弹出项目管理和烧录管理的对话框,如下图: 3.2.7开始烧录 选择 Air724ug 开发板对应的底层 core 和 main.lua 脚本文件。下载到板子中。 一直按下载模式按键,再按一下重启,然后点击下载底层和脚本,如图所示: 出现如图所示,表示已进入 BOOT 模式,可以松开下载模式按键,等待下载完成。 下载完成,如图所示 四、音频应用-通话(VoLTE)基本用法 4.1 本教程实现的功能定义: CC 库在 EVB_Air724UG_A14-LuatOS 中扮演了关键角色,它提供了一种高效、灵活且用户友好的呼叫控制解决方案。本次介绍的目标是帮助开发者迅速了解并精通 CC 库的 API 接口,以便在 VoLTE 通话中实现精确的呼叫管理和控制功能。 4.2 文章内容引用 EVB_Air724UG_A14 开发板软硬件资料 : EVB_Air724UG_A14 产品手册:https://docs.openluat.com/air724ug/product/ 以下接口函数不做详细介绍,可通过此链接查看具体介绍: audio_API: https://doc.openluat.com/wiki/21?wiki_page_id=2327#API_9 4.3 API 接口详解 4.3.1 cc.anyCallExist() 解说:cc.anyCallExist 用于检查当前是否存在任何活动的通话。这个 API 不需要任何参数。 参数: 无 返回值: 布尔值(true 或 false):如果存在活动的通话,则返回 true;否则返回 false。 举例: 4.3.2 cc.getState(num) 解说:cc.getState 用于获取指定通话的状态。它接收一个通话标识符(可能是通话句柄或电话号码,具体取决于实现)作为参数,并返回一个表示通话状态的值(通常是枚举或常量)。 参数: num:通话标识符(电话号码)。 返回值: 通话状态值(枚举或常量):表示指定通话的当前状态,如空闲、来电、正在拨打、已接通、保持等。 举例: 4.3.3 cc.dial(num, delay) 解说:cc.dial 用于拨打一个电话号码。它接收两个参数:要拨打的电话号码和一个可选的延迟时间(以秒为单位),在拨打之前可以等待一段时间。 参数: num:要拨打的电话号码。 delay(可选):可选参数,默认为0延时 delay 毫秒后,才发起呼叫。 返回值: bool result,true 表示允许发送 at 命令拨号并且发送 at,false 表示不允许 at 命令拨号。 举例: 4.3.4 cc.hangUp(num) 解说:cc.hangUp 用于挂断指定通话。它通常接收一个通话标识符(如通话句柄或电话号码)作为参数,尽管在某些实现中可能不需要参数(如果只有一个活动通话)。 参数: num(可选):号码,若指定号码通话状态不对,则直接退出,不会执行挂断,若挂断时会挂断所有电话。 返回值: 无。 举例: 4.3.5 cc.dtmfDetect(enable, sens) 解说:cc.dtmfDetect 用于启用或禁用双音多频(DTMF)信号的检测。它接收两个参数:一个布尔值表示是否启用检测,以及一个可选的灵敏度值。 参数: enable:可选参数,默认为niltrue 使能,false 或者 nil 为不使能。 sens(可选):可选参数,默认为3灵敏度,最灵敏为 1。 返回值: 无。 举例: 4.3.6 cc.accept(num) 解说:cc.accept 用于接听传入的通话。它通常接收一个通话标识符作为参数,尽管在某些实现中可能不需要(因为通常只有一个传入的通话等待接听)。 参数: num(可选):号码,若指定号码通话状态不对,则直接退出,不会接通。 返回值: 无 举例: 4.3.7 cc.transVoice(data, loop, downLinkPlay) 解说:cc.transVoice 通话中发送声音到对端,必须是 12.2K AMR 格式。 参数: data:12.2K,AMR 格式的数据。 loop:可选参数,默认为nil是否循环发送,true 为循环,其余为不循环。 downLinkPlay:可选参数,默认为nil声音是否在本端播放,true 为播放,其余为不播放。 返回值: 布尔值或状态码:表示传输操作是否成功启动。具体返回值可能因实现而异。 举例: 4.3.8 cc.sendDtmf(str, playtime, intvl) 解说:cc.sendDtmf 用于在通话中发送双音多频(DTMF)信号。它接收三个参数:一个包含 DTMF 字符的字符串,每个字符的播放时间,以及字符之间的间隔。 参数: str:dtmf 字符串,仅支持数字、ABCD*#。 playtime:可选参数,默认为100每个 dtmf 播放时间,单位毫秒。 intvl:可选参数,默认为100两个 dtmf 间隔,单位毫秒。 返回值: 无 举例 五、音频应用整体演示 5.1 音频应用-录音成果演示与深度解析:视频 + 图文全面展示 5.1.11完整实例深度剖析 六、总结 CC 库的通话管理 API 接口共同构成了通话控制的核心功能,使开发者能够高效地管理通话的启动、挂断、接听、参数配置以及附加的通话处理功能。通过合理利用这些接口,开发者可以构建出具备出色通话体验的应用程序,满足用户在多种通话场景下的需求。同时,也需关注接口之间的协同配合,以确保通话功能的流畅性和可靠性。 七、常见问题 打不了电话,确认能不能正常注册上网络,有没有欠费。确认卡是否开通 VOLTE 功能, 只有开通 VOLTE 功能才能进行语音通话。固件是否支持 VOLTE 功能,固件需要支持 VOLTE 功能。注:建议使用手机卡测试,普通物联网卡可能不支持 VOLTE 功能。 audio.setMicGain()通话中设置 mic 增益,必须在通话建立以后设置。 暂不支持视频通话,且因为只有 30W 像素,效果较差。 八、扩展 通话过程中给对端播放音频文件:demo 有案例打开代码中注掉的部分即可进行测试,如图所示。 分享完毕
  • 2025-2-10 17:57
    0 个评论
    今天是以Air724UG模组为例,轻松攻克低功耗4G模组软件的FTP示例。 一、简介 FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。 FTP 协议包括两个组成部分,其一为 FTP 服务器,其二为 FTP 客户端。其中 FTP 服务器用来存储文件,用户可以使用 FTP 客户端通过 FTP 协议访问位于 FTP 服务器上的资源。在开发网站的时候,通常利用 FTP 协议把网页或程序传到 Web 服务器上。此外,由于 FTP 传输效率非常高,在网络上传输大的文件时,一般也采用该协议。 默认情况下 FTP 协议使用 TCP 端口中的 20 和 21 这两个端口,其中 20 用于传输数据,21 用于传输控制信息。但是,是否使用 20 作为传输数据的端口与 FTP 使用的传输模式有关,如果采用主动模式,那么数据传输端口就是 20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。 二、演示功能概述 本教程教你如何使用开发板登录 FTP 服务器访问服务器资源。 功能定义: 1、登录 FTP 服务器 2、读取服务器上的文件资源 3、在 FTP 服务器上创建目录 三、准备硬件环境 3.1 开发板准备 使用 EVB_Air724 开发板,如下图所示: 此开发板的详细使用说明参考: https://docs.openluat.com/air724ug/product/ Air724UG 产品手册中的《EVB_Air724UG_AXX 开发板使用说明》,写这篇文章时最新版本的使用说明为:《EVB_Air724UG_A14 开发板使用说明》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明文档。 api文档: https://doc.openluat.com/wiki/21?wiki_page_id=2068 3.2 数据通信线 USB 数据线一根(micro USB) 3.3 PC 电脑 WIN7 以及以上版本的 WINDOWS 系统。 3.4 SIM 卡 中国大陆环境下,可以上网的 SIM 卡。一般来说,使用移动,电信,联通的物联网卡或者手机卡都行。 3.5 组装硬件环境 USB 数据线插入 USB 口,另一端与电脑相连,拨码开关全部拨到 ON,串口切换开关选择 UART1,USB 供电的 4V 对应开关拨至 ON 档,SIM 卡放到 SIM 卡槽中锁紧,如下图所示。 四、准备软件环境 4.1 下载调试工具 使用说明参考: Luatools下载和详细使用: https://docs.openluat.com/Luatools/ 4.2 源码及固件 1)底层 core 下载 下载底层固件,并解压 链接: https://docs.openluat.com/air724ug/luatos/firmware/ 如下图所示,红框的是我们要使用到的 本教程使用的 demo 见附件: https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/ftp 4.3 下载固件和脚本到开发板中 打开 Luatools,开发板上电开机,如开机成功 Luatools 会打印如下信息。 点击项目管理测试选项。 进入管理界面,如下图所示。 点击选择文件,选择底层固件,我的文件放在 D:luatOSAir724 路径中 点击增加脚本或资源文件,选择之前下载的程序源码,如下图所示。 点击下载底层和脚本,下载完成如下图所示。 4.4 FTP 服务器 本文测试用的服务器的地址,端口号,用户名,密码为: "121.43.224.154",21,"ftp_user","3QujbiMG"。 如果使用其他服务器请自行修改。 五、代码示例介绍 5.1 API 说明 ftp 的 API 在 LuatOS lib 有做封装,建议直接用 lib 的 API 接口。 5.2 ftp_test.lua 代码 系统启动后演示 5 秒,登录 FTP 服务器,等待登录成功后,查看服务器信息、显示目录下文件、显示文件详细信息、显示工作目录、创建目录等操作。 下载 ftp 服务器的文件至 sd 卡目录,/1040K.jpg", "/sdcard0/1040K.jpg" 从 sd 卡目录上传文件至服务器,/sdcard0/ftp_lib_test_up.txt" 在 ftp_test.lua 这个文件中将登录中的地址,端口号,用户名,密码等必要信息修改为自己服务器的。 5.3 main.lua 代码 本代码为主程序脚本,系统启动后首先会对 4G 网络进行配置,然后加载 FTP 测试模块。 六、开机调试 6.1 开发板开机 连接好硬件并下载固件后,启动 Luatools 软件,系统运行信息将显示在界面中。红框中为开发板连接到 PC 机后正常打印的信息,如下图所示。 6.2 FTP 调试 FTP 登录服务器,并且获取信息。 显示目录下的文件 创建目录/ftp_test 下载 ftp 服务器的文件 下载成功返回 200。 下载前 FTP 服务器的数据如下: 下载文件的打印日志信息: 上传文件至服务器 上传成功返回 200。 上传成功后 FTP 服务器的数据如下: 上传文件打印日志信息: 七、常见问题 7.1 关于不支持主动模式: 模块 ftp 默认是被动模式,不支持主动模式,无法设置主动模式,公网下要想模块正常连接服务器,服务器肯定不能设置为主动模式,否则哪家模块都不能用。 7.2 发送带 0x0d 0x0a 这些数据会丢失 需要通过 ftp.checktype(“I”,0)设置为二进制方式传输文件,否则传输过程中会丢弃换行符。
  • 2025-2-10 17:50
    0 个评论
    本篇文章说的是Air724UG低功耗模组软件的NTP,我以整理成示例供大家快速参考。 一、简介 网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS 等等)做同步化,它可以提供高精准度的时间校正(LAN 上与标准间差小于 1 毫秒,WAN 上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP 的目的是在无序的 Internet 环境中提供精确和健壮的时间服务。 二、演示功能概述 本教程教你如何使用开发板功能模块采用多个免费公共的 NTP 服务器来同步时间,但并不能保证任何时间任何地点都能百分百同步到正确的时间。所以,如果用户项目中的业务逻辑严格依赖于时间同步功能,则不要使用使用本功能模块,建议使用自己的应用服务器来同步时间。 三、准备硬件环境 3.1 开发板准备 使用 EVB_Air724 开发板,如下图所示: 此核心板的详细使用说明参考: https://docs.openluat.com/air724ug/product/ Air724UG 产品手册中的《EVB_Air724UG_AXX 开发板使用说明》,写这篇文章时最新版本的使用说明为:《EVB_Air724UG_A14 开发板使用说明》;开发板使用过程中遇到任何问题,可以直接参考这份使用说明文档。 api文档: https://doc.openluat.com/wiki/21?wiki_page_id=2068 3.2 数据通信线 USB 数据线一根(micro USB) 3.3 PC 电脑 WIN7 以及以上版本的 WINDOWS 系统 3.4 SIM 卡 中国大陆环境下,可以上网的 SIM 卡。一般来说,使用移动,电信,联通的物联网卡或者手机卡都行。 3.5 组装硬件环境 USB 数据线插入 USB 口,另一端与电脑相连,拨码开关全部拨到 ON,串口切换开关选择 UART1,USB 供电的 4V 对应开关拨至 ON 档,SIM 卡放到 SIM 卡槽中锁紧,如下图所示。 四、准备软件环境 4.1 下载调试工具 使用说明参考: Luatools下载和详细使用 https://docs.openluat.com/Luatools/ 4.2 源码及固件 1) 底层 core 下载 下载底层固件,并解压 链接: https://docs.openluat.com/air724ug/luatos/firmware/ 如下图所示,红框的是我们要使用到的 2) 本教程使用的 demo 见附件: https://gitee.com/openLuat/LuatOS-Air724UG/tree/master/script_LuaTask/demo/ntp 4.3 下载固件和脚本到开发板中 打开 Luatools,开发板上电开机,如开机成功 Luatools 会打印如下信息。 点击项目管理测试选项。 进入管理界面,如下图所示。 点击选择文件,选择底层固件,我的文件放在 D:luatOSAir724 路径中 点击增加脚本或资源文件,选择之前下载的程序源码,如下图所示。 点击下载底层和脚本,下载完成如下图所示。 五、代码示例介绍 5.1 API 说明 ntp.timeSync(period, fnc, fun) ntp 同步时间任务. 重要提醒!!!!!! 本功能模块采用多个免费公共的 NTP 服务器来同步时间, 并不能保证任何时间任何地点都能百分百同步到正确的时间。 所以,如果用户项目中的业务逻辑严格依赖于时间同步功能, 则不要使用本功能模块,建议使用自己的应用服务器来同步时间。 例子 5.2 testNtp.lua 代码 调用 ntp.timeSync()接口同步时间。ntp.timeSync()#同步一次时间 注意:本功能模块采用多个免费公共的 NTP 服务器来同步时间并不能保证任何时间任何地点都能百分百同步到正确的时间所以,如果用户项目中的业务逻辑严格依赖于时间同步功能则不要使用使用本功能模块,建议使用自己的应用服务器来同步时间 调用 misc.getClock()接口获取系统时间 5.3 main.lua 代码 本代码为主程序脚本,系统启动后首先会对 4G 网络进行配置,等待网络连接成功,然后加载 NTP 测试模块。 六、开机调试 6.1 开发板开机 连接好硬件并下载固件后,启动 Luatools 软件,系统运行信息将显示在界面中。红框中为开发板连接到 PC 机后正常打印的信息,如下图所示。 6.2 NTP 调试 开机启动后,ntp.timeSync()#同步一次时间,然后每隔一秒调用 misc.getClock()接口获取系统时间。 七、常见问题 7.1 os.time()返回值,需不需要特别加载模块? 返回从 1970 年 1 月 1 日到指定日期的时间的秒数,无参数表示当前时间。不需要添加操作,直接可以获取。 os.date 这个 api 只支持 os.date(“*t”) 这样用,不能 os.date(‘%Y-%m-%d %H:%M:%S’) 这样用? 是的,不支持。可以按如下方式处理 7.2 ntp 同步时间后,这个 clock 精度高吗,需要多久同步一次 并不能保证任何时间任何地点都能百分百同步到正确的时间。所以,如果用户项目中的业务逻辑严格依赖于时间同步功能 则不要使用本功能模块,建议使用自己的应用服务器来同步时间。 7.3 ntp.timeSync(24,fnc)时间同步说明 立即同步一次,之后每隔 24 小时自动同步一次,每次同步结束后执行 fnc(time,result) 7.4 ntp.timeSync() 请问这个函数是异步执行的还是执行完成之后,其后的代码才会执行? 获取时间是通过 sys.taskInit 创建一个时间任务来同步时间的,模块会随机尝试访问每一个 NTP 服务器,尝试 1 次,如果成功,如果不需循环同步时间,则退出当前线程,运行别的代码,否则同通过 sys.wait(period)挂起当前任务循环同步时间,运行别的代码,时间到之后重新运行当前任务。如果失败,通过 sys.wait(1000)挂起当前任务 1 秒,运行别的代码,1 秒时间到,在尝试访问下一个服务器,循环操作,直到同步时间成功,或服务器全部访问结束,之后按照成功之后的动作执行。 7.5 有个这个函数后 ntp.timeSync(1) 每次在程序中调用 os.time 也是实时时间了吗? 是的,只要时间同步成功了,就是实时时间了。
  • 2025-2-10 13:59
    61 次阅读|
    0 个评论
    数字隔离器如何解决智能电表中的电气隔离需求?
    智能电表作为构建国家智能电网的关键枢纽,除具备基本的电能计量功能外,还能实现远程抄表、实时计费与智能分析用电数据等功能,拥有着信息存储、自动控制与无线信息交互等物联网能力,是完成电能信息收集自动化和电网系统智能化的重要计量设备,可有力推动国家电力市场的改革和可持续发展。 常见单相智能电表与三相智能电表的工作原理简示图 如上图工作原理简示图所示,智能电表通常需要与高压电网连接,同时又要与低压控制电路通信,因此其必须引入电气隔离措施以提升智能电表的稳定性、安全性以及数据传输的精准度,同时保证相关工作人员的安全。 通常情况下,在智能电表中需要使用数字隔离器来完成电气隔离,数字隔离器主要用于实现高低压电路之间的电气隔离,确保智能电表的安全性、可靠性和抗干扰能力。 数字隔离器在智能电表中的应用方案简示图 在计量模块与主控MCU的串口通信中, 计量模块主要负责对高压电网中流入的电压数据和电流数据进行精确的采集与处理,而数字隔离器则用于隔离高压侧的电流互感器/分压器与低压侧的控制电路,并在电气隔离的环境下将数据信号传输至主控MCU中,确保数据传输的安全与可靠。 1、CMT812X 高速双通道数字隔离器 安全相关认证 • DIN VDE V 0884-11: 2017-01 • 符合UL 1577组件认证 • CSA认证,符合IEC 60950-1, IEC 62368-1, IEC 61010-1 and IEC 60601-1 终端设备标准 • 符合GB4943.1-2022的CQC认证 • 符合EN 60950-1, EN 62368-1 和 EN 61010-1 标准的TUV认证。 增强电磁兼容性(EMC) • 系统级ESD、EFT、浪涌抗扰性 • ±8kV IEC 61000-4-2 跨隔离栅接触放电保护 • 低辐射 数据率:DC至150 Mbps 宽电源电压范围:2.5 V 至5.5 V 工作环境温度范围:-40°C to 125°C 稳健可靠的隔离栅: • 可实现40 年以上的预期使用寿命 • 高达5 kVRMS隔离额定值 • 高达8 kV浪涌能力 • ±200 kV/μs 典型 CMTI 默认输出高电平和低电平选项 低功耗,1 Mbps 时每通道的电流典型值为1.5mA 低传播延迟:典型值为9 ns(由5V 电源供电) SOIC -16 封装(宽体),WB(N) SOW8L(宽体)与SOIC - 8(窄体) 2、CMT804X 高速四通道数字隔离器 安全相关认证 • DIN VDE V 0884-11: 2017-01 • 符合UL 1577组件认证 • CSA认证,符合IEC 60950-1, IEC 62368-1, IEC 61010-1 and IEC 60601-1 终端设备标准 • 符合GB4943.1-2022的CQC认证 • 符合EN 60950-1, EN 62368-1 和 EN 61010-1 标准的TUV认证。 增强电磁兼容性(EMC) • 系统级ESD、EFT、浪涌抗扰性 • ±8kV IEC 61000-4-2 跨隔离栅接触放电保护 • 低辐射 数据率:高达150Mbps 宽电源电压范围:2.5 V 至5.5 V 工作环境温度范围:-40°C to125°C 稳健可靠的隔离栅: • 40 年以上的预期使用寿命 • 高达5 kVRMS隔离额定值 • 高达8 kV浪涌能力 • ±200 kV/μs 典型CMTI 默认输出高电平和低电平选项 低功耗,1 Mbps 时每通道的电流典型值为1.5 mA 低传播延迟:典型值为9 ns(由5V 电源供电) SOIC16 封装 (宽体和窄体) 例如,CMT812X、CMT804X系列数字隔离器基于容耦原理,支持高5kVrms隔离电压,数据速率最高可达150Mbps,可完美满足当代智能电表对于安全稳定与高速数据传输的需求,确保计量数据能够及时、准确地传递给主控MCU,为智能电表的精准计量和高效控制提供了有力支持。 在主控MCU对外的RS485通信中, 主控MCU主要负责通过485通信接口与集中器、抄表系统等外部设备进行远程的数据交互,而数字隔离器则用于防止总线上的干扰信号反串到电表内部,同时避免电表内部的噪声影响通信线路,确保数据传输的准确性和稳定性,增强电表的抗干扰能力。 例如,CMT812X、CMT804X系列数字隔离器同样可应用在此485通信接口中,有效防止防止高压浪涌或地电位差导致的通信故障。此外,在智能电表中,CMT812X、CMT804X系列数字隔离器还可用于隔离主控MCU与外围设备(如继电器、LCD显示屏)以及隔离不同电压等级的模块,保护主控MCU免受外部信号的干扰。 展望未来,随着技术的不断创新和突破,以及太阳能、风能等绿色分布式能源的持续接入,智能电网系统将会进行持续的的优化与完善,而数字隔离器则将有望在智能电表领域发挥更为重要的作用,进一步提升电网系统的稳定性、智能性与高效性,促进清洁能源的可持续利用,为能源行业的可持续发展做出更多贡献。
相关资源