自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 STM32串口中断的方式发送

我将其改为真正的中断发送。步骤一:初始化GPIOGPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //LED1-PC10GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO...

2020-04-08 17:25:25 121

转载 NB-IoT和LoRa的对比,哪个比较占优势?

要做NB-IOT和LoRa的对比分析,首先要考虑关于物联网终端的功耗需要的两个重要的因素,即节点的电流消耗(峰值电流和平均电流)和协议内容。蜂窝网络的同步协议要求终端必须定期联网,具有较短的下行延迟。LoRaWAN采用异步的ALOHA协议,需要定期的唤醒终端,终端可根据具体应用场景需求进行或长或短的休眠。蜂窝网络的设计理念是为了提高频谱的利用率,相应地牺牲了节点成本和电池寿命...

2019-11-08 13:48:09 248

转载 LoRa与NB-IOT,谁才是物联网的未来?

一项创新技术的出现,必然要与传统技术进行搏杀,可能是鱼死网破两败俱伤,可能是互相妥协和平共处,也可能多方投降一家独大,LoRa与NB-IOT哪个才是物联网的娇宠? 物联网的无线通信技术很多,主要分为两类:一类是ZigBee、Wi-Fi、蓝牙、Z-wave等短距离通信技术;另一类是LPWAN(low-powerWide-AreaNetwork,低功耗广域网),即广域网通信技术。 ...

2019-11-08 11:14:37 456

原创 NB-IoT

基本信息 窄带物联网(Narrow Band Internet of Things, NB-IoT)成为万物互联网络的一个重要分支。NB-IoT构建于蜂窝网络,只消耗大约180kHz的带宽,可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。 NB-IoT是IoT领域一个新兴的技术,支持低功耗设备在广域网的蜂窝数据连接,...

2019-11-08 11:02:54 561

原创 Cadence Allegro 如何批量替换过孔?

Cadence Allegro 如何批量替换过孔?未替换过孔前的效果,如下图所示:1、选择Setup菜单栏S下Application Mode选项下General Edi模式。2、在Find侧边栏中只勾选过孔(Vias),如下图:3、在PCB中框选中需要替换的孔,将光标放在孔过上右键Replace padstack——Selected instance(s),如下图:...

2019-11-06 15:05:30 792

转载 蓝牙核心技术概述(五):蓝牙协议规范(irOBEX、BNEP、AVDTP、AVCTP)

一、IrDA互操作协议IrOBEX 红外对象交互协议,简称OBEX,使高层协议同时运作在蓝牙和红外的无线链路之上。主要操作指令有:连接操作、断开操作、Put操作、Get操作。1、连接操作 ,操作码0x80 字节0 字节1、2 字节3 字节4 字节5、6 字节7~n...

2019-09-26 10:02:52 128

转载 蓝牙核心技术概述(四):蓝牙协议规范(HCI、L2CAP、SDP、RFOCMM)

一、主机控制接口协议 HCI蓝牙主机-主机控模型蓝牙软件协议栈堆的数据传输过程:1、蓝牙控制器接口数据分组:指令分组、事件分组、数据分组(1)、指令分组如:Accpet Connection RequestOpcode为:0x0409参数长度为: 07参数中蓝牙地址为:00:0d:fd:5f:16:9f角色为:从设备 0x01大端数据模式指令为:09...

2019-09-25 11:07:43 163

转载 蓝牙核心技术概述(三): 蓝牙协议规范(射频、基带链路控制、链路管理)

蓝牙协议是蓝牙设备间交换信息所应该遵守的规则。与开放系统互联(OSI)模型一样,蓝牙技术的协议体系也采用了分层结构,从底层到高层形成了蓝牙协议栈,各层协议定义了所完成的功能和使用数据分组格式,以保证蓝牙产品间的互操作性。一、射频协议射频位置如上图红色部分。1、工作频率蓝牙工作在2.4GHz ISM频段上,蓝牙采用跳频扩谱技术主动的避免工作频段受干扰(微波炉的工作频率也是2.4GHz)。...

2019-09-25 10:47:25 67

转载 蓝牙核心技术概述(二):蓝牙使用场景

蓝牙应用的过程中,不同的场合、功能及相关协议。这篇将做详细的介绍说明。1、ADVANCED AUDIO DISTRIBUTION PROFILE高级音频分发配置文件A2DP描述了立体声音频如何从媒体输出(source)传输至输入(sink)。使用情景: 简单说来,这是一个蓝牙音乐播放器(如MP3播放器、随身听、立体声等)音频输出是音乐播放器,而音频输入是无线耳机或无线立体声音...

2019-09-25 10:36:00 117

转载 蓝牙核心技术概述(一):蓝牙概述

一、名称由来蓝牙这个名称来自于第十世纪的一位丹麦国王哈拉尔蓝牙王,哈拉尔蓝牙王Blatand 在英文里的意思可以被解释为 Bluetooth( 蓝牙 )因为国王喜欢吃蓝莓,牙龈每天都是蓝色的所以叫蓝牙。在行业协会筹备阶段,需要一个极具有表现力的名字来命名这项高新技术。行业组织人员,在经过一夜关于欧洲历史和未来无线技术发展的讨论后,有些人认为用Blatand国王的名字命名再合适不过了。Blat...

2019-09-25 10:05:26 201

转载 蓝牙核心技术了解

蓝牙核心技术概述(一):蓝牙概述 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术。能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。利用“蓝牙”技术,能够有效地简化移动通信终端设备之间的通信,也能够成功地简化设备与因特网Internet之间的通信,从而数据传输变得更加迅速高效,为无线通信拓宽道路。蓝牙采用分散式网络结构以及快跳频和短包技术...

2019-09-25 09:56:24 164

原创 天线设计知识点阐述

一.天线参数回波损耗:天线的回波损耗表示天线如何与阻抗为 50 的传输线 (TL) 实现匹配,将其显示为 Figure 7 中的信号馈送。通常,这个 TL 的阻抗值为 50 ,但也可以是其他数值。对于工业标准,商业天线和它的测试设备的电阻为50 ,因此建议您最好使用该值。S 11 是回波损耗的倒数,其单位为 dB。大多数情况下,如果回波损耗 ≥ 10 dB (即 S11 ≤ –10 d...

2019-08-22 16:32:30 446

原创 4G全网通模块一些参数

LTE FDD: B1/B3/B5/B8LTE TDD: B38/B39/B40/B41TD-SCDMA: B34/B39WCDMA: B1/B8CDMA: BC0GSM: 900/1800MHz数据LTE:LTE FDD:最大150Mbps (DL)/最大50Mbps (UL)LTE TDD:最大130Mbps (DL)/最大35Mbps (UL)UMTS...

2019-08-08 15:21:41 1088

转载 RF电路图的理解

RF总体的连接图如下:左边为天线开关模块跟功放的集成体,如RF360,QFE23XX,SKYXXXX 下边以SKY简称中间的WTR4X05作用:射频收发器,工作过程为(基带信号<--->上/下变频<--->滤波<--->放大信号) 下边以WTR简称...

2019-04-10 16:13:14 658 1

转载 在用allegro进行PCB设计时,如何设置原点?

在PCB设计中,有时需要将板左下角设置为原点,以便于对板大小进行测量和定位。那么在allegro中,如何设置?1.点击测量图标2.单击板框左下角。跳出对话框,显示出该点坐标3.点击setup->parameters4.在跳出的对话框中,点击design选项卡,在Move origin下,将刚才的坐标输入5.点击OK.6.你会发现,板框左下角已经被设...

2019-03-12 17:47:33 2653

转载 2分钟掌握让胃溃疡远离我们的7个方法

溃疡病或消化性溃疡是一种常见的消化道疾病,可发生于食管、胃或十二指肠,因为胃溃疡和十二指肠溃疡最常见,故一般所谓的消化性溃疡是指胃溃疡和十二指肠溃疡。1、吃饭细嚼慢咽,经常咽下自己的口水吃饭时一定要细嚼慢咽,您将从这个好习惯中获益无穷。另外,千万不要随意吐掉口水,因为它里面含有许多促进消化和杀菌的成分,咽下去对您自己的身体很有好处。胃痛的时候咽几下口水可以明显减轻胃痛,比吃药都管用的多。...

2019-03-05 17:10:00 88

转载 史上最健康的养胃时间表

经专家严谨的科学研究定制而成,按照养胃时间表所说的赋予行动,不但肠胃健康,活到100岁都不是问题!7:00喝杯温开水可以湿润口腔、食管、胃黏膜,促进胃肠蠕动,为进餐做好准备。约100ml即可,以免冲淡胃酸,影响消化。不宜喝凉水,以免对胃部造成刺激。7:30早餐不能省经常不吃早餐引起胃病、十二指肠溃疡的几率高达36%,还易导致低血糖、记忆力下降,增加胆结石患病风险。一份好...

2019-03-05 17:08:16 91

原创 Allegro几种比较少见的约束设置

1.allegro package to package spacing2.mechanical drill hole spacing以上两种是比较少见的约束值,其设置如下:setup->constraint->mode->design mode(package)

2019-02-19 18:15:35 752

原创 关于allegro17.2拓扑约束

allegro17.2打开SigXplorer后,set菜单下没有Constraints选项,如下图:解决办法如下: 先将版本切换到Allegro PCB SI GXL , 然后在Constraints Manager里面点SigXplorer 这样打开出来的窗口 set下才有Constraints选项。17.2版本相比以前版本进行了很大程度修改。此工具在大型PCB设计中有...

2018-11-29 15:42:52 1242

转载 ESP32那些事儿(十):其他功能

这些功能只做抛砖引玉,不做详细描述了。1、websocket在和服务器端通讯的时候,可能会用到Websocket协议,其实大家用MQTT协议的时候,好多库底层也是用Websocket实现的。我们使用了libwebsocket,libwebsocket支持很多平台,在ESP32中也做了移植,支持的还比较好。2、spiffs和Fat文件系统在保存音频文件的分区中,可以使用Spiffs或...

2018-10-31 22:49:43 126

转载 ESP32那些事儿(九):功能开发之OTA功能

1、升级策略    从前面对Bootloader的分析中,我们知道ESP32的OTA升级基本上也是可靠的,可靠的意思是即使升级失败,写入IMAGE不完整,设备还是可以用的。    对于OTA升级,大家印象比较深刻的就是Android手机的升级,Android手机的升级确实是比较完善和健壮的,对于IOT设备来说,也没有差分Image的机制,所以只要简单有效即可。    后来我们确定的方案就是...

2018-10-31 22:48:08 764

转载 ESP32那些事儿(八):功能开发之音乐播放功能

本篇对于在线音乐播放不做讨论,如果整个系统只有在线音乐播放的功能,系统资源应该是没有问题的。同时也可以支持多种音频的CODEC。    对于本地音频文件播放,由于ESP32芯片系统通常存储和内存资源有限,如果不外挂SRAM,片内只有512KB可用内存,例如我们的项目只有512KB的内存,和4MB的Flash,对于这样的项目,如果要求有音频播放的需求,则要就要考虑:    文件如何存储?内存是否...

2018-10-31 22:46:29 1209

转载 ESP32那些事儿(七):功能开发之I2S和I2C驱动

1、I2S的使用     I2S为三线总线,3个信号分别为:① 串行时钟SCK,也叫位时钟(BCK)。即每发送1位数字音频数据,SCK上都有1个脉冲。SCK的频率=2×采样频率×采样位数。在数据传输过程中,I2S总线的发送器和接收器都可以作为系统的主机来提供系统的时钟频率。② 帧时钟WS,即命令(声道)选择,用于切换左右声道的数据。WS的频率等于采样频率,由系统主机提供。WS为“1”表示传...

2018-10-31 22:43:40 1877

转载 ESP32那些事儿(六):功能开发之蓝牙及WiFi功能

蓝牙和WIFI是ESP32的核心功能,蓝牙和wifi的共存也是esp32的独门武功,但时候后续也会发现共存的时候会有很多问题。不管怎样,蓝牙和wifi在esp-idf中有很多的例子,大家都可以参考。本篇只做简单的流程介绍。        1、蓝牙a2dp sink的初始化    蓝⽛牙是⼀一种短距通信系统,其关键特性包括鲁棒性、低功耗、低成本等。蓝⽛系统分为两种不不同的技术:经典蓝牙 (Cl...

2018-10-31 22:41:54 4212 2

转载 ESP32那些事儿(五):瑞士军刀之ESP32的常用API分析

事实上,所有在esp32上用到的api在esp-idf中都能找到,但是对于我们来讲这是一个大而全的API参考指南,在项目的初期,我们没有必要花费太多的时间详细的阅读每一个API的使用,挑一些常用的API进行学习,而后再根据使用情况来查询参考文档,这样才能达到事半功倍的效果,那么这里就罗列一些常用的API吧:1、ESP_LOG    我们写程序最本能的就是关键的步骤都要打一些日志到串口终端,这...

2018-10-31 22:40:24 415

转载 ESP32那些事儿(四):纵览全局之代码架构

摸清楚系统架构后,项目的整体情况已经成竹在胸了,是不是有点摩拳擦掌,信心十足的要开始码代码了。    但是代码如何下手呢?做项目的话不能再像Demo程序一样,我们有多个功能,有多个人参与开发,代码的组织也需要提前设计一番,当然此刻有一个详细的设计文档最好,不过做嵌入式开发通常不会这么详细。    Freertos作为一个实时的操作系统,非常的短小精悍,需要注意的是和类Linux系统不同的是,...

2018-10-31 22:29:02 172

转载 ESP32那些事儿(三):纵览全局之系统设计

搞过嵌入式的同学们都知道,当我们开始一个新的平台后,我们首先想到的是系统层面的东西,这就体现了嵌入式开发中系统工程师的作用了,BTW,Android平台除外,Google已经伺候的太好了。    ESP32实际上相对简单,一些例如Bringup的流程就省了。下面我就把我的思考过程写下来。    一、Build系统    ESP32的Build系统比较简单,留给开发者需要修改的也比较少。 ...

2018-10-31 15:14:47 370

转载 ESP32那些事儿(二):磨刀不误砍柴功-做好项目开发前的准备工作

       如果你是第一次接触FreeRTOS和ESPRESSIF的产品,例如我,那还是要先来个整体印象,然后再逐个深化。做项目的都知道,老板们是不允许我们四平八稳的研究完然后再开始项目。       那也不妨碍咱们要有自己的节奏,既要平衡项目的进度,也要按照事情的规律来做事情 。这就需要快速的准备一些预备知识,磨刀不误砍柴功,仓促上阵,只会欲速则不达。    一、了解ESP32芯片  ...

2018-10-31 15:10:23 351

转载 深入浅出ESP32开发之二ESP-IDF下载、编译与运行

一、ESP-IDF下载ESP-IDF全称Espressif IoT Development Framework是乐鑫基于ESP32推出的新一代SDK,基于FreeRTOS系统,在上一代SDK基础上做了众多更新和改进,集合了众多组件。支持在Windows、Linux和MacOS下基于ESP-IDF开发。ESP-IDF源码已托管在github上,可在https://github.com/esp...

2018-08-15 11:05:20 4095

转载 深入浅出ESP32开发之一Linux下ESP32交叉编译环境搭建

一、ESP32概述EPS32是乐鑫最新推出的集成2.4GWi-Fi和蓝牙双模的单芯片方案,采用台积电(TSMC)超低功耗的40nm工艺,拥有最佳的功耗性能、射频性能、稳定性、通用性和可靠性,适用于多种应用和不同的功耗要求。ESP32搭载低功耗的Xtensa LX6 32bit双核处理器,7级流水线架构,支持高达240MHZ的时钟频率。支持浮点单元(FPU),支持DSP指令。ESP32片...

2018-08-15 10:56:15 1184

转载 Allegro PCB Designer 17.2如何打开旧版本.brd文件

人老了,忘性有点大,写个小文章记下今天碰到的问题,以后如果忘了怎么解决可以翻出来看看。大神莫笑,请绕行。    最近在学Allegro画板子,用的是于博士的视频,视频配套的软件是15.6版本,我电脑装的是吴川斌老师Cadence 17.2独家版本的。虽然版本不一样,但是感觉新版本用着挺好的。在使用中就发现了一问题,那就是高版本的Allegro PCB Designer打不开低版本软件生成的...

2018-08-04 10:01:22 6119

转载 Cadence Allegro小技巧之解决Out of date shapes问题

当你经过几十个小时的艰苦奋战,终于把板子布完,而当你兴冲冲准备出Gerber文件丢给板厂打样,尽早结束噩梦时,却发现Allegro报错“Dynamic shapes are out of date; please update them. Check for out of date shapes in Setup Drawing Options dialog.”。这是怎么回事?抓狂。打开菜单“Di...

2018-07-31 13:31:50 6284

转载 cc2540 usb-dongle的 SmartRF Packet Sniffer 抓取数据方法

我们需要明白的是,ble的广播是可以指定广播信道的,广播信道分别是37、38、39, 但TI的协议栈官方例程里已经默认设置了在广播阶段 同时三个信道一起广播,但是一旦跟主机连接上后,就只在其中的一个信道传输数据,所以我们是要指定其中的一个信道的, 可恶的是, 这个连接上的信道也是随机的, 我们可以在抓取到连接包后, 填入发起者(即是主机)的地址和信道即可。       下面我们用 TI官方

2018-01-08 16:29:09 2773

原创 51822开发总结

1.在使用固件升级时若使用看门狗时,则也要在应用程序和BOOT程序中都要设置看门狗的初始化和喂狗程序。不然会造成固件升级无法正常进行的错误。2.UART的串口读写函数是建立在其中断函数的基础上,初始化时一定要注册一个回调函数。不然在调用其读写函数时会造成不断重启的错误。3.在进行128位UUID服务添加时,在协议栈初始化时一定要将计数值加1.4.固件升级时需要进行如下设置,见下图:

2018-01-08 15:55:50 621

转载 ARM 串口输出函数uart_printf

ARM如果能使用C函数库自带的printf函数格式输出,那多方便,但是默认的printf都是定位到stdout终端,而不是串口,本文章讲述的是如何定位到ARM的串口。1.1.1     函数主要代码有在Mini2440开发板上验证过//*****************main.c*******************************#include"ser

2017-12-04 11:37:33 1515

原创 8位 16位 32位等几种DDR3或LPDDR3的PCB设计总结

以前因为工作需要使用全志A10和A31S设计了PCB,综合对比发现全志的设计约束有如下特点:1.DQS查分对和时钟差分对的约束一般为±800mil到±1000mil;2.地址或控制线和时钟差分对的约束一般为±500mil到±600mil;3.数据线组内约束都差不多为±50mil。         从网上下载了瑞芯微的不同IC约束进行分析,综合对比发现其比全志的约束要严格的多。如:

2017-11-14 18:13:33 8566

转载 看了毁你三观的PCB设计理论 高速PCB外层还要不要覆铜了

我们经常在教科书上或者IC原厂的PCB设计指南里看到,在layout的最后,我们应当对PCB的外层进行铺铜处理,即用良好接地的铜箔铺满PCB空白区域。 在PCB外层覆铜的好处如下:对内层信号提供额外的屏蔽防护及噪声抑制提高PCB的散热能力在PCB生产过程中,节约腐蚀剂的用量。(这个能降低成本吗? )避免因铜箔不均衡造成PCB过回流焊时

2017-11-11 23:30:34 1958

原创 C语言几个函数用法小结

1.char *ultoa(unsigned long value,char *string,int radix) 将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数 2.char *ltoa(long value,char *string,int radix) 将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数 3.ch

2017-11-05 11:19:04 957

原创 keil mdk调试过程中查看局部变量的方法

上次调试STM32做了一次总结,此次在调试nordic 51822时发现局部变量地址给不出任何信息,导致无法查看局部变量值。通过和STM32的设置进行必较发现C/C++的编译器等级设置过高,而将一些局部变量优化掉而没有分配内存地址。      如下图所示,将optimzation优化等级从3等级降低到0等级后      后再查看局部变量p_addr,此值会自动出来。

2017-11-03 16:54:44 10432 2

原创 keil 编译通过 链接错误 解决

今天试了一个nordic sdk5_12.3的例子,打开后编译链接,结果编译通过,链接却提示有4个函数没有声明,但是回头再看文件,明明有引用头文件啊,,为什么还不过呢?我又试了使用extern声明还是不行。linking....\_build\nrf51422_xxac.axf: Error: L6218E: Undefined symbol app_fifo_flush (refer

2017-11-01 15:11:05 4489

提示
确定要删除当前文章?
取消 删除