单片机串行扩展

这篇具有很好参考价值的文章主要介绍了单片机串行扩展。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

单片机需要串行扩展的原因:

  1. 远距离,大范围,多目标的单片机控制应用,只能以串行方式进行。

社区安全报警系统,要对社区内众多地点的多个项目(例如,煤气泄漏,门磁开关,红外人体移动,温度,烟雾,玻璃破碎振动等)进行检测和报警,一旦出现异常情况能及时传送到物业管理部门或公安机关. 在这样一个庞大的监视网络中,众多的检测节点只能以串行方式接入系统.

  1. 手持无线化单片机控制系统

推广使用的无线抄表技术,由于无线化的要求,不但要串行方式而且还必须采用串行无线数据传输的蓝牙接口

  1. 单片机Internet技术的发展,使得串行化变得不可缺少

单片机Internet技术是为了把单片机接入互联网,进行控制信息的互联网传送,以实现更远距离以至异地自动检测与控制。而要把单片机接入互联网只能以串行方式。

虽然串行系统有速度较慢的缺点,但是随着单片机工作频率和性能的不断提高,速度问题已被逐渐淡化。
另外,串行方式还有连线简单,结构简化和成本低等优点,所以串行拓展已逐渐被广泛应用。

单片机串行扩展的实现方法主要有三种,即专用串行标准总线方法,串行通信口UART方法和软件模拟方法。

通过专用串行标准总线实现

使用专用串行标准总线是串行扩展的主要方法。 目前常用的串行总线标准主要有: I2C总线,串行总线SPI和通用串行总线USB

串行外围设备接口总线SPI

通用串行总线USB

存取访问总线ACCESS

I2C总线

I2C总线是一种串行同步通信技术,是Philips公司针对单片机需要而研制的,用于实现单片机串行外围扩展. I2C总线通过两条线以及两组信号的相互配合,就可以实现串行数据传输. I2C总线具有完善的总线协议,其内容涉及多个方面,这里只介绍其中的相关内容.

I2C总线结构和信号

I2C总线具有严格的规范,具体表现在接口的电气性能,信号时序,信号传输的定义,总线状态设置和处理,以及总线管理规则等方面.

I2C总线结构
I2C总线是由串行时钟线SCL和串行数据线SDA构成的双向数据传输通路,其中SCL用于传送时钟信号,SDA用于传送数据信号. 通过I2C总线构成的单片机串行系统中,挂接在总线上的单片机以及各种外围芯片和设备等统称为器件.

一个I2C总线系统允许接入多个器件,传输速率不同也可以,甚至还可以是另一个远程I2C系统的驱动电路,从而形成两个I2C系统的相互交接. I2C总线系统中的器件都具有独立的电气性能,相互之间没有影响,可用独立电源供电(但需共地),并且可以在系统工作的情况下插拔

I2C总线器件接入
I2C总线的两条线SCL和SDA都是通过上拉电阻(一般为10kΩ)以漏极开路或集电极开路输出的形式接入I2C总线的.

I2C总线如此连接产生如下硬件关系:

  1. 总线系统中各器件对SCL线是逻辑“与”的关系,对SDA线也是逻辑“与”的关系。
  2. 对于低电平是逻辑“或”的关系,即系统中任一器件输出低电平都会使与之相连的总线变低。
    这种关系使得I2C总线具有一大优点,即器件可以随时接入或移出,而不会对系统产生任何不良影响。
    此外,SCL和SDA均为双向传输线,因为各器件中都有输入和输出控制。

I2C总线的状态和信号
I2C总线中的状态和信号都有严格的配合规则,并为相互配合关系赋予固定的含义。它们是I2C总线的基本元素,使用中应给予认真对待。

  1. 总线空闲
    SCL和SDA均处于高电平状态,即为总线空闲状态,表明尚未有器件占有它。
    总线空闲的高电平状态是线路连接造成的,因为它通过上拉电阻与电源相连
  2. 占有总线和释放总线
    器件若想使用总线,应当先占有它,占有总线的主控器件向SCL线发出时钟信号。数据传输完成后应当及时释放总线,即解除对总线的控制(或占有),使其恢复为空闲状态。
  3. 时钟信号和数据信号
    时钟信号出现在SCL线上,而数据信号在SDA线上传输。数据传输以位为单位,一个时钟周期只能传输一位数据。 SDA线上高电平为数据位1,低电平为数据位0. 时钟信号和数据信号的配合关系是:
    在时钟信号高电平期间数据线上的电平状态必须保持稳定,只有在时钟信号为低电平的时候,才允许数据位状态发生变化。
  4. 启动信号和停止信号
    串行数据传输的开始和结束由总线的启动信号和停止信号控制,启动信号和停止信号只能由主控器件发出,他们所对应的是SCL的高电平和SDA的跳变。
    当SCL线为高电平时,主控器件在SDA线上产生一个电平负跳变,这便是启动信号
    当SCL线为高电平时,主控器件在SDA线上产生一个电平正跳变,这便是停止信号
    停止信号出现后,要间隔一定时间,才能认为总线被释放并返回空闲状态。
    通常启动信号用S表示,停止信号用P表示。启动信号之后便开始I2C总线上的数据传输操作。此外在数据传输过程中也可能出现启动信号,但这个启动信号称为重复启动信号,用Sr表示,发出重复启动信号是为了开始一次与前面不同的新的数据传输,例如,改变数据传输方向或寻址一个新的从器件等。
  5. 应答信号和非应答信号
    应答信号是对字节数据传输的确认,每当一个字节数据传输完成后,应当由接收器件返回一个应答信号。

例如在主发送方式下,应答信号的发出过程是:主发送器释放SDA线并在SCL线上发出一个时钟脉冲(相当于本字节传送的第9个时钟脉冲),被释放而转为高电平的SDA线转由接收器控制并将SDA线拉低。所以对应于第9个时钟脉冲高电平期间的SDA低电平就是应答信号。对应于第9个时钟脉冲,SDA线仍保持高电平,则为非应答信号。

在使用时,应答信号以ACK(或A)表示,非应答信号以 A C K ‾ \overline{ACK} ACK(或NA)表示。
6. 等待状态
在I2C总线中,赋予接收数据的器件使系统进入等待状态的权力,但等待状态只能在一个数据字节完整接收之后进行。

例如,当进行主发送从接收的数据传输操作时,如果从器件在接收到一个数据字节之后,由于中断处理等各种原因而不能按时接收下一个字节。对此从接收器件可以通过把SCL线下拉为低电平,强行使系统进入等待状态。

在等待状态下,发送方不能发送数据,直到接收器认为自己能继续接收数据时,再释放SCL线,使系统退出等待状态,发送方才可以继续进行数据发送。

等待状态也称为延时状态,其实质是通过延长时钟脉冲周期而改变数据传输速率。
设置等待状态有两个作用:

  1. 为接收器留出进行其他操作的机会
  2. 允许系统接入速度不同的器件

正因为此,I2C总线系统对接入器件的速度没有要求。文章来源地址https://www.toymoban.com/news/detail-818465.html

通过串行通信口UART实现

通过软件模拟实现

到了这里,关于单片机串行扩展的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 单片机和Linux嵌入式区别

    单片机是一种集成电路,它能够在一个芯片上完成各种计算、控制和管理任务。单片机没有明确的分层,这是因为它通常被用来设计嵌入式系统,其程序结构和功能要根据具体的应用需求来设计。 在单片机的程序设计中,可以通过一些方法将程序分为不同的层次,比如可以将

    2024年01月17日
    浏览(60)
  • 【单片机/嵌入式】最完整学习路线

            关于这个问题我在网上寻找到 了 相关文章解释得很详细,不了解的同学可以参考一下这篇文章: 到底什么是嵌入式?什么是单片机? - 知乎         一个人学习是孤独的,如果你是一名学生,建议加入学校的电子社团或者实验室,有老师的帮助和同学的互助

    2024年02月03日
    浏览(51)
  • 嵌入式51单片机04-矩阵按键系列

    一、矩阵按键基础知识 矩阵按键工作原理 : 逐行扫描 :通过高四位轮流输出低电平来对矩阵键盘进行扫描,当低四位接收到的数据不全为1的时候,说明有按键按下,然后通过判断低四位数据中哪一位为零来判断哪一个按键被按下。 逐列扫描 :通过低四位轮流输出低电平来

    2024年02月07日
    浏览(61)
  • 【唠唠嵌入式】__如何学习单片机?

    目录 前言 个人定位,从事软件还是硬件? 学习内容 (* ̄︶ ̄)创作不易!期待你们的 点赞、收藏和评论喔。 作为一个老司机,多年来跟 单片机 、 Keil 、 C语言 、 AD 、 烙铁 、 风枪 、 示波器 、 电子元器件 纠缠不清。期间经历了不少磨练,熬过了很多夜晚,也掉了大把头

    2024年02月06日
    浏览(67)
  • 嵌入式(二)单片机基础 | 单片机特点 内部结构 最小系统 电源 晶振 复位

    上一篇文章我们介绍了嵌入式系统 嵌入式系统(Embedded System)是一种特定用途的计算机系统,它通常嵌入在更大的产品或系统中,用于控制、监测或执行特定的任务。这些系统通常由硬件和软件组成,旨在满足特定的需求,如嵌入在家电、汽车、医疗设备、工业自动化、消费

    2024年02月02日
    浏览(104)
  • 嵌入式Linux知识第六章——单片机

    目录 6.1 CPU 内存 虚拟内存 磁盘/硬盘 的关系⭐⭐⭐ 6.2 CPU内部结构⭐⭐⭐⭐ 6.3 ARM结构处理器简析 ⭐⭐ 6.4波特率是什么,为什么双方波特率要相同,高低波特率有什么区别;⭐⭐⭐⭐ 6.5arm和dsp有什么区别⭐⭐ 6.6 ROM RAM的概念浅析⭐⭐⭐ 6.7 IO口工作方式:上拉输入 下拉输入

    2024年04月10日
    浏览(73)
  • 嵌入式软件必读10本书_单片机篇

    大家好,我是知微! 虽然现在网上的技术文章非常多,但缺点是知识点太零散。 书籍是经过精心整理和编排的,仍旧是非常优秀的学习资料。下面一起来看看本文推荐的10本书吧! 这本书物融合了生动活泼的漫画、风趣幽默的文字,以浅显易懂的方式探讨编程思维。 特别适

    2024年02月19日
    浏览(62)
  • 梳理一下嵌入式和单片机之间的关系

    一定有很多人都听说过嵌入式和单片机,但在刚开始接触时,不知道大家有没有听说过嵌入式就是单片机这样的说法,其实嵌入式和单片机还是有区别的。单片机与嵌入式到底有什么关系? 下面我们就来说说嵌入式和单片机之间的联系和区别吧。 01  什么是单片机? 首先,

    2024年02月04日
    浏览(47)
  • 嵌入式项目分享 stm32智能运动计步系统 - 物联网 嵌入式 单片机

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(72)
  • 嵌入式硬件与51单片机:演变、挑战与未来

    导言:         嵌入式硬件及其代表之一的51单片机在电子领域扮演着至关重要的角色。本文将深入剖析这一领域的发展历程,包括初期的崛起、面临的挑战、重大公关危机、核心业务、当前研究方向、采用的技术、实际应用场景、未来展望,并提供相关链接,为读者呈现

    2024年01月24日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包