历史上的今天
返回首页

历史上的今天

今天是:2025年03月05日(星期三)

正在发生

2020年03月05日 | STM32开发笔记92: SX1268驱动程序设计(时钟)

2020-03-05 来源:eefocus

单片机型号:STM32L053R8T6


本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍时钟的相关内容。


一、RC频率参考

Two RC oscillators are available: 64 kHz and 13 MHz RC oscillators. The 64 kHz RC oscillator (RC64k) is optionally used by the circuit in SLEEP mode to wake-up the transceiver when performing periodic or duty cycled operations. Several commands make use of this 64 kHz RC oscillator (called RTC across this document) to generate time-based events. The 13 MHz RC oscillator (RC13M) is enabled for all SPI communication to permit configuration of the device without the need to start the crystal oscillator. Both RC oscillators are supplied directly from the battery.(两个RC振荡器可用:64 kHz和13 MHzRC振荡器。RC64k用于睡眠模式周期性唤醒。有几个命令使用这个64 kHz RC振荡器(在本文档中称为RTC)来生成基于时间的事件。RC13M支持所有SPI通信,无需启动晶体振荡器即可配置设备。两个RC振荡器都由电池供给电源。)


二、高精度频率参考

In SX1268 the high-precision frequency reference can come either from an on-chip crystal oscillator (OSC) using an external crystal resonator or from an external TCXO (Temperature Compensated Crystal Oscillator), supplied by an internal regulator.(在SX1268中,高精度的频率基准可以来自使用外部晶体谐振器的片上晶体振荡器(OSC),也可以来自由内部调节器提供的外部TCXO(温度补偿晶体振荡器)。)


The SX1268 comes in a small form factor 4 x 4 mm QFN package with the ability to transmit up to +22 dBm. When in transmit mode the circuit may heat up depending on the output power and current consumption. Careful PCB design using thermal isolation techniques must be applied between the circuit and the crystal resonator to avoid transferring the heat to the external crystal resonator.(SX1268为4*4mm QFN封装,但可以发射22dBm能量。当处于发射模式时,电路会发热,其依靠于输出电源和电流损耗。在电路和晶体谐振器之间必须使用热隔离技术进行仔细的PCB设计,以避免将热量转移到外部晶体谐振器。)


三、XTAL控制模块

The SX1268 does not require the user to set external foot capacitors on the XTAL supplying the 32 MHz clock. Indeed, the device is fitted with internal programmable capacitors connected independently to the pins XTA and XTB of the device.Each capacitor can be set independently, balanced or unbalanced to each other, by 0.47 pF typical steps.(SX1268晶振不需外部电容,内部配有0.47pF增量的可调电容)

四、TCXO控制模块

Under certain circumstances, typically small form factor designs with reduced heat dissipation or environments with extreme temperature variation, it may be required to use a TCXO (Temperature Compensated Crystal Oscillator) to achieve better frequency accuracy.(某些情况下,由于体积小和极端散热,所以需要使用TCXO以获得较好的频率精度)


A complete Reset of the chip as described in Section 8.1 "Reset" on page 48 is required to get back to normal XOSC operation, after the chip has been set to TCXO mode with the command SetDIO3AsTCXOCtrl.(在使用SetDIO3AsTCXOCtrl命令将芯片设置为TCXO模式后,需要按照第48页8.1节“Reset”所述对芯片进行完全复位,才能恢复正常的XOSC操作。)


五、PLL

A fractional-N third order sigma-delta PLL acts as the frequency synthesizer for the LO of both receiver and transmitter chains. SX1268 is able to cover continuously all the sub-GHz frequency range 410 MHz to 810 MHz. The PLL is capable of auto-calibration and has low switching-on or hopping times. Frequency modulation is performed inside the PLL bandwidth. The PLL frequency is derived from the crystal oscillator circuit which uses an external 32 MHz crystal reference.(SX1268可覆盖410MHz-810MHz频率。PLL可以自动校准,开关和调频时间较短,频率调制是在锁相环带宽内进行的。锁相环的频率来源于晶体振荡器电路,该电路使用一个外部的32mhz晶体基准。)


六、E22-400M22S

E22-400M22S内部使用DIO3为TCXO供电,应调用SetDIO3asTCXOCtrl命令,使能后方可给有源晶振供电。


七、SetDIO3AsTCXOCtrl函数

函数

八、校准

九、程序实现

typedef enum

{

    TCXO_CTRL_1_6V                          = 0x00,

    TCXO_CTRL_1_7V                          = 0x01,

    TCXO_CTRL_1_8V                          = 0x02,

    TCXO_CTRL_2_2V                          = 0x03,

    TCXO_CTRL_2_4V                          = 0x04,

    TCXO_CTRL_2_7V                          = 0x05,

    TCXO_CTRL_3_0V                          = 0x06,

    TCXO_CTRL_3_3V                          = 0x07,

}RadioTcxoCtrlVoltage_t;

 

typedef union

{

    struct

    {

        uint8_t RC64KEnable    : 1;                             //!< Calibrate RC64K clock

        uint8_t RC13MEnable    : 1;                             //!< Calibrate RC13M clock

        uint8_t PLLEnable      : 1;                             //!< Calibrate PLL

        uint8_t ADCPulseEnable : 1;                             //!< Calibrate ADC Pulse

        uint8_t ADCBulkNEnable : 1;                             //!< Calibrate ADC bulkN

        uint8_t ADCBulkPEnable : 1;                             //!< Calibrate ADC bulkP

        uint8_t ImgEnable      : 1;

        uint8_t                : 1;

    }Fields;

    uint8_t Value;

}CalibrationParams_t;

void SX126xSetDio3AsTcxoCtrl(RadioTcxoCtrlVoltage_t tcxoVoltage, uint32_t timeout);

void SX126xCalibrate(CalibrationParams_t calibParam);

void CSX1268::SX126xSetDio3AsTcxoCtrl(RadioTcxoCtrlVoltage_t tcxoVoltage, uint32_t timeout)

{

uint8_t buf[4];

 

buf[0] = tcxoVoltage & 0x07;

buf[1] = (uint8_t)((timeout >> 16) & 0xFF);

buf[2] = (uint8_t)((timeout >> 8) & 0xFF);

buf[3] = (uint8_t)(timeout & 0xFF);

 

SX126xWriteCommand(RADIO_SET_TCXOMODE, buf, 4);

}

 

void CSX1268::SX126xCalibrate(CalibrationParams_t calibParam)

{

SX126xWriteCommand(RADIO_CALIBRATE, ( uint8_t* )&calibParam, 1);

}

推荐阅读

史海拾趣

Cal Crystal Lab Inc / Comclok Inc公司的发展小趣事

随着电子行业的快速发展,技术创新和合作成为了企业发展的重要驱动力。Cal Crystal Lab Inc深知这一点,积极寻求与其他企业的技术合作。通过与国内外知名高校和研究机构的深入合作,公司不断引进新技术、新工艺,提升了产品的技术含量和附加值。同时,Cal Crystal Lab Inc还与其他企业建立了战略合作关系,共同开发新产品、拓展新市场,实现了共赢发展。

FLIR公司的发展小趣事

FLIR公司成立于1978年,总部位于美国俄勒冈州波特兰市。起初,公司专注于高性能、低成本机载应用红外热成像系统的研发与生产。在那个时代,红外热成像技术主要应用于军事领域,成本高昂且难以普及。然而,FLIR凭借其技术创新,成功打破了这一局面,推出了性价比极高的机载红外热成像系统。这些系统能够在完全漆黑的环境或恶劣天气条件下,透过烟雾和阴霾等空气污染物清晰成像,极大地提升了军事侦察和夜间作战的能力。这一突破不仅让FLIR在军事领域崭露头角,也为后续的商业应用奠定了坚实基础。

EBG RESISTORS LLC公司的发展小趣事

随着技术的不断进步,EBG RESISTORS LLC公司不断投入研发,致力于推动电阻器技术的创新。在XXXX年,公司成功研发出一种新型高精度电阻器,具有更高的稳定性和更低的温度系数。这一创新产品迅速在市场上获得了广泛应用,极大地提升了公司的市场竞争力。

Aerotronics Marketing Inc公司的发展小趣事

Aerotronics Marketing Inc公司注重与高校和研究机构的合作,通过产学研合作的方式推动技术创新。公司与多所知名高校建立了紧密的合作关系,共同开展无人机技术的研发和应用研究。这种合作模式不仅为公司提供了源源不断的技术支持和人才储备,还推动了整个电子行业的技术进步。

兆易创新(GigaDevice)公司的发展小趣事

Aerotronics Marketing Inc公司注重与高校和研究机构的合作,通过产学研合作的方式推动技术创新。公司与多所知名高校建立了紧密的合作关系,共同开展无人机技术的研发和应用研究。这种合作模式不仅为公司提供了源源不断的技术支持和人才储备,还推动了整个电子行业的技术进步。

Hamamatsu公司的发展小趣事

Aerotronics Marketing Inc公司在市场定位上独具慧眼,准确抓住了电子行业中无人机市场的增长趋势。公司制定了一系列精准的营销策略,包括线上线下推广、行业展会展示、合作伙伴计划等,有效提升了品牌知名度和市场占有率。同时,公司还注重客户关系管理,通过提供优质的售后服务和技术支持,赢得了客户的信任和忠诚。

问答坊 | AI 解惑

FPGA任意分频包括小数分频设计

本帖最后由 paulhyde 于 2014-9-15 09:23 编辑    赶快下载吧,很好的分频措施,可以做到任意整数分频,小数分频  …

查看全部问答>

急急急 大4毕业设计开题报告

基于单片机的激光警戒系统设计,如题,麻烦好新人给点借鉴~查资料实在不好查,谢谢…

查看全部问答>

测试流接口驱动的测试程序如何写啊?

怎么写测试流接口驱动的测试程序啊?就是在应用程序中如果调用流接口驱动的那几个接口函数啊? 呵呵 有个简单的例子更好。。…

查看全部问答>

求sim300网络测试软件

跪求sim300服务器端的测试软件!!!!!! 可以接受sim300的连接请求,接收gprs发送过来的数据。。。…

查看全部问答>

多线程问题

由于电脑上没有安装linux,请问以下程序的运行结果是什么?谢谢 #include #include #include #include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; int lock_var; time_t end_time; int sum; void pthread1(void ...…

查看全部问答>

在Win CE下访问局域网使用密码的处理

在Win CE 5.0下,首次通过局域网访问另外一台电脑的时候会弹出一个对话框,要求输入对方的用户名、密码和域名。像下图所示的: 我想知道的是,有没有这样一个函数,提供了这几个参数的接口,以便我在写程序时就可以把用户名、密码写进去,而不需 ...…

查看全部问答>

Bootloader 的结构

    在移植之前先了解Bootloader 的一些通用概念,对理解它的代码会有所帮助。    嵌入式Linux 系统从软件的角度通常可以分为以下4 个层次。   (1)引导加载程序,包括固化在固件(firmware)中的boot 代 ...…

查看全部问答>

DIY FPGA学习板 新鲜出炉

拖了很久了,呵呵,是在不要意思   先睹为快,上图     来个3D的 …

查看全部问答>

只想用定时计数PWM功能的时候,用汇编可行吗?

对它的高速度PWM感兴趣,如果不写复杂的算法和人机界面,单纯用汇编语言可行吗?哪些开发工具最简单易用?  我的意思是既然STM32那么便宜,功能强大速度快,干脆大大小小的项目都用这个,省得好多种单片机感觉很累。…

查看全部问答>

使用XTR106的位置检测电路

工业上应用的使用XTR106(XTR104)的位置检测电路。稍加改进即可应用在其他方面用作位置检测控制。  …

查看全部问答>