大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式数据传输里的差错检测技术-奇偶校验. 在嵌入式应用里,除了最核心的数据处理外,我们还会经常和数据传输打交道.数据传输需要硬件传输接口的支持,串行接口由于占用引脚少的优点目前应用比并行接口广泛,常用的串行接口种类非常多,比如UART,SPI,I2C,USB等,在使用这些接口传输数据时避不可免会遇到一个问题,如果传输过程中遇到未知硬件干扰发生bit错误怎么办? 痞子衡今天给大家讲的就是数据传输过程中用于差错检测的最简单的方法,即奇偶…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里数据差错控制技术-奇偶校验. 在系列第一篇文章里,痞子衡给大家介绍了最简单的校验法-重复校验,该校验法实现简单,检错纠错能力都还不错,但传输效率实在是不高,在效率至上的大背景下,这种方法是不能容忍的.今天痞子衡继续给大家介绍另一种也非常简单但效率较高的校验法-即奇偶校验法. 一.奇偶校验法基本原理 1.1 校验依据 奇偶校验法的校验依据就是判断一次传输的一组二进制数据中bit "1"的奇偶性(奇数个还是偶数个)在传输…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是走进二维码(QR Code)的世界专题的引言. 如今二维码可以说是深入走进大家的生活了,推送名片.扫码支付都离不开它,大家几乎每天都会和二维码打交道.虽然大家都知道二维码的各种应用,但很多人并不知道二维码的原理.做嵌入式这行的人一大特质就是喜欢研究各种技术本身,痞子衡早就对二维码技术感兴趣了.上期<嵌入式半月刊>的最后,痞子衡介绍了一个基于i.MXRT1050的扫码支付终端(QM50),这是一个二维码识别的应用.这个应用彻底激活了…
自打2016年10月选定清爽又复古的博客园平台作为痞子衡的个人博客主战场之后,痞子衡就一直坚持在博客园首发原创技术文章,然后再同步到其他平台(CSDN,知乎,微信公众号...),在坚持更文近四年半(2016.10 - 2021.02)之后,痞子衡终于达成了写文之初就立下的几个目标中的第一个目标. 是的,痞子衡的原创技术文章总量累计到了223篇,这个数字意味着啥呢?其实本身没什么意义,但是它让痞子衡有幸追平了一位痞子衡的同样爱写技术文章的同事,这位同事目前就职恩智浦北京研发中心FAE部门,他的名字…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里数据差错控制技术-重复校验. 在嵌入式应用里,除了最核心的数据处理外,我们还会经常和数据传输打交道.数据传输需要硬件传输接口的支持,串行接口由于占用引脚少的优点目前应用比并行接口广泛,常用的串行接口种类非常多,比如UART,SPI,I2C,USB等,在使用这些接口传输数据时避不可免会遇到一个问题,如果传输过程中遇到未知硬件干扰发生bit错误怎么办? 痞子衡今天给大家讲的就是数据传输过程中用于差错检测的最简单的方法,即重复校验法…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式里数据差错控制技术-和校验. 在系列前一篇文章里,痞子衡给大家介绍了比较简单的校验法-奇偶校验,该校验法主要是针对byte传输校验而言,而在实际应用中我们不仅要保证byte的完整性,还需要校验由多个byte组成的数据包packet的完整性.今天痞子衡继续给大家介绍针对packet校验的最简单的校验法-即和校验法. 一.和校验法基本原理 1.1 校验依据 和校验法的校验依据就是判断一次传输的n bytes组成的packet的所有b…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中FlexSPI外设不常用的读选通采样时钟源 - loopbackFromSckPad. 最近碰到一个客户,他们在 i.MXRT500 上使能了 FlexSPI->MCR0[RXCLKSRC] = 2(即 loopbackFromSckPad),这个选项字面上的意思是设置读选通采样时钟源为 SCK 引脚,这个选项在恩智浦官方的代码包里未曾使能过.客户在使用过程中遇到高频时 SCK 引脚被降压的问题(从正常的 1.8V 降…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生之串口功能实现. 串口调试助手是最核心的当然是串口数据收发与显示的功能,Jays-PyCOM借助的是pySerial库实现串口收发功能,今天痞子衡为大家介绍pySerial是如何在Jays-PyCOM发挥功能的. 一.pySerial简介 pySerial是一套基于python实现serial port访问的库,该库的设计者为Chris Liechti,该库从2001年开始推出,一直持续更新至今,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT启动头FDCB里的lookupTable. 一个MCU内部通常有很多外设模块,这些外设模块是各MCU厂商做差异化产品的本质,也是各厂商核心竞争力所在(这里特指那些生产ARM Cortex-M内核MCU的厂商).在做MCU开发时有时候并不需要了解全部的外设,因为有些外设在项目里不一定会用到,但是要想把恩智浦i.MXRT系列MCU玩起来,有一个外设是必须要有所了解的,它就是FlexSPI,这个外设负责与外部串行NOR Fla…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是嵌入式里串口(UART)自动波特率识别程序设计与实现. 串口(UART)是嵌入式里最基础最常用也最简单的一种通讯(数据传输)方式,可以说是工程师入门通讯领域的启蒙老师,同时串口打印也是嵌入式项目里非常经典的调试与交互方式. 最精简的串口仅使用两根单向信号线:TXD.RXD,这两根信号线是独立工作的,因此数据收发既可分开也可同时进行,这就是所谓的全双工.串口没有主从机概念,并且没有专门的时钟信号 SCK,所以串口通信也属于异步传输.…