基于单片机的串口通信模块设计
基于51单片机的软串口设计

基于 5 单 片机 的软 串 口设 计 1
李 玮 , 红 霞 杨
( 中共 安 阳市委 党校 , 南 安 阳 4 5 0 ) 河 5 0 0
摘 要 : 绍 了利 用单 片机 的 两个 通 用 IO 口配 合 相 应 的 软 件 来 模 拟 串 口进 行数 据通 信 的 方 案 利 用 这 种 方 案 既 可 以 介 /
使 用延 时 程 序来 实 现 不 同 的数 据 位 传 送 的时 间 间 隔, 从而 确 定波 特率 。 比如 , 波特 率 为 9 0 is 那 6 0bd , 么 串行 通 信 过 程 中每 两 个 数 据 位之 间 的时 间 间 隔
2 01 1年 7月
安 阳工 学 院学 报
J un l fA y n n t ueo e h oo y o r a o n a gI si t fT c n lg t
Jl_Ol t2 】 l
Vo .0 No. Ge1N 5 11 4f r 2) .
第 1 0卷 第 4期 ( 第 5 总 2期 )
闲 位
起始
位
8 数据 位
奇偶 止 停
位 位
图 1 异 步 通信 数 据 格 式
12 软 串 口 的 设 计 思 Байду номын сангаас .
就 为 1/ 6 0 1 4 t。 s9 0 = 0 b s
软 串 口是 指 利 用 两 个 通 用 I 口配 合 相 应 的 / O
2硬 件 系统描 述 本 系 统 采 用 的 硬 件 是 A ME T L公 司 的 8 S 2 9 5 单 片 机 , 有 4个 I 口 , 个 定 时器/ 数 器 , 它 / O 一 计 一 个 硬 串 口。 围设 备用 的 是非接 触 式 I 外 C卡 , 因为 目 前 , 接触 式 I 非 C卡 以其 方 便 、 易用 、 可靠 性 等 优 高 点 在众 多领 域 获得 应 用 。本 方 案 选 择 北 京 园志 科 信公 司的 M1 4 系列读 写模 块 ,这 种读 写模 块 的 0X 主 要 特点 是 :采 用高 度 集 成读 写 卡 片 MF C 2 R 52 射 频 基 站 , 合 IO14 3T P 符 S 4 4 Y E A标 准 , 且 该 并 模块 具有寻卡 、 取 、 入 、 始化 电子钱包 , 读 写 初 增 值 、 值 、 询 余 额 及 装 载 密 码 等 功 能 的命 令 集 , 减 查
基于单片机的数据串口通信

基于单片机的数据串口通信随着科技的不断进步,我们生活中越来越多的设备需要进行数据传输和通信。
而技术成为了我们日常生活中无法忽视的一部分。
本文将从单片机的基本原理、串口通信的工作原理以及应用案例三个方面来详细介绍。
一、单片机的基本原理单片机,是一种集成电路芯片,具有微处理器、内存、输入输出设备以及其他辅助功能电路等一系列电子元件。
单片机通常包含中央处理器(CPU)、存储器、定时器/计数器、输入/输出接口等功能单元。
它的特点是集成度高、体积小、功耗低,适合嵌入式应用。
二、串口通信的工作原理串口通信是指通过串行接口进行的数据传输方式。
串口通信中使用的串行通信接口有RS-232、RS-485等。
在单片机中实现串口通信,需要通过串口通信芯片与外部设备进行交互。
在串口通信中,数据通过逐位传输的方式进行传输。
发送端通过发送器将数据位、起始位、停止位以及校验位等信息编码成串行数据,通过串口发送出去。
接收端通过接收器解码接收到的串行数据,将其还原成数据位、起始位、停止位以及校验位等信息,供单片机进行处理。
三、应用案例技术在现实生活中有着广泛的应用。
下面将介绍几个常见的应用案例。
1. 远程监控系统技术可以用于远程监控系统,如智能家居、安防系统等。
通过单片机和传感器建立连接并实现数据采集,再通过串口与中央服务器进行通信,实现信息传输和远程控制。
2. 工业自动化在工业自动化领域中,技术被广泛应用于控制系统。
通过串口连接各种传感器和执行器,收集和传输数据,实现自动控制。
例如,监测温度、湿度、气压等信息,并根据预设条件自动控制设备的开关。
3. 移动设备数据传输技术也可以用于移动设备的数据传输。
例如,通过串口与智能手机进行连接,将单片机中收集到的数据传输到智能手机上,便于用户实时获取数据并进行分析。
总结:技术在现代生活中扮演着重要的角色。
通过串口通信,单片机可以与其他设备进行数据传输和通信,实现各种应用需求。
从远程监控到工业自动化,再到移动设备数据传输,技术正越来越广泛地应用于各个领域,为我们的生活带来了更多便利与可能性技术在现实生活中的广泛应用为我们的生活带来了许多便利和可能性。
单片机MSP430与PC机串口通讯设计

单片机MSP430与PC机串口通讯设计一、引言串口通信是指通过串行通信接口进行数据传输的一种通信方式。
单片机MSP430和PC机的串口通信设计可以实现二者之间的数据传输和通信交互。
本文将从串口介绍、硬件设计和软件实现等方面详细介绍该设计。
二、串口介绍串口是一种串行通信接口,常用的有RS232和RS485等。
RS232是一种使用较为广泛的串口通信协议。
RS232接口有三根线,分别为发送线Tx、接收线Rx和地线GND。
该协议规定,发送端与接收端之间的电平差为±3至±15V,其中正电平表示逻辑0,负电平表示逻辑1三、硬件设计1.MSP430硬件设计MSP430是一种低功耗的专用于嵌入式应用的16位RISC微控制器。
它具有丰富的外设资源,包括多个通用输入输出引脚(GPIO)和两个USART (UART)接口。
其中一个USART接口用于将MSP430与PC机连接。
2.PC机硬件设计PC机通过串口连接到MSP430。
首先,需要将PC机的串口RS232转换为TTL电平,即RS232转TTL电平转换器。
其次,将转换后的TTL电平通过杜邦线连接至MSP430的USART接口的Tx和Rx引脚。
四、软件实现1.MSP430软件设计(1)串口初始化:设置数据位长度、停止位、奇偶校验等。
(2)发送数据:将要发送的数据存入发送缓冲区,并使能发送中断。
(3)接收数据:开启接收中断,并将接收到的数据存入接收缓冲区。
(4)中断处理:发送中断和接收中断时,分别从发送缓冲区和接收缓冲区读取数据并发送/接收。
2.PC机软件设计(1)打开串口:设置串口参数,如波特率、数据位长度等。
(2)发送数据:向串口发送数据,可以通过打开的串口进行写入。
(3)接收数据:使用轮询或中断方式读取串口接收到的数据。
五、总结与展望本文详细介绍了单片机MSP430与PC机串口通信设计,主要包括了串口介绍、硬件设计和软件实现。
通过串口通信,MSP430和PC机可以实现数据传输和通信交互,从而满足各种嵌入式应用的需求。
单片机多机串口的通信

摘要本文详细介绍了基于RS-485总线的单片机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计。
该设计是由单片机与单片机组成的主从控制系统,其中单片机做为上位机对下位单片机是实现控制和监视功能。
它包括通信和控制两个功能模块。
单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令。
由于此通信的单片接口是RS232的9针接口,且下位机数目有限(32台)。
所以本设计采用了RS485总线以及RS232转RS485的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并叙述了设计过程中必备的绘图软件Protel DXP的应用,以及编辑源代码软件keil uVision2的应用,实现了单片机对多个单片机组成采集终端的通信与管理。
关键词:单片机单片机RS-485 通信AbstractThe communication 、realized method and corresponding design of hardware and software between 单片and multiple MCUs based on RS-485 is described in detai in the article. This design instroduces a pincipal and subordinate control system which is composed of 单片and single chip. Divided from its function, it includes two parts: communication and control, in which 单片is used as master, and MCUs is used as slave so as to receive the single order from the master.The bus interface conversion and the design of master-slave communication protocol is introduced and The program flowchart of communication with interrupt process is also given. In the process of design, the use of unnecessary painter software and code editor software is depicted so that realize the communication and administration between 单片and multiple MCUs which composed collection terminal.Keywords: 单片MCUs RS-485 communication目录第一章绪论 (1)第二章课题实施方案 (2)2.1 系统硬件设计 (2)2.2 系统软件设计 (3)第三章硬件电路设计 (9)3.1 C51单片机结构 (9)一CPU结构 (10)二ROM存储器 (11)三I/O端口 (11)四定时器/计数器 (12)五中断系统 (13)3.1.2 51单片机引脚功能及其连接 (13)3.1.3 51 中断系统 (15)3.1.4 C-51的串行通信 (15)3.2.1串行接口RS232结构与引脚功能 (21)3.3 Protel DXP 2004原理图设计 (23)3.3.1 Protel 2004的基本操作 (23)3.3.2绘制原理图 (25)3.3.3制作芯片原理图库 (27)第四章软件电路设计 (30)4.1 系统的通信协议 (31)4.2 C51编程实现单片机与单片机之间的串行通信 (31)4.3 Windows集成开发环境uVision2 (35)4.3.1启动uVision2 (35)4.3.2创建程序 (36)总结 (41)致谢 (42)参考文献 (43)第一章绪论单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。
嵌入式基于stm32串口通信课程设计

嵌入式基于stm32串口通信课程设计嵌入式系统是近年来发展迅速的一种新型计算机系统,其特点是硬件与软件紧密结合,功能强大,具有体积小、功耗低、性能高等优点,广泛应用于工业控制、汽车电子、医疗设备等领域。
在嵌入式系统中,串口通信是一种常见且重要的通信方式,其通过串行传输数据,可以与其他设备进行数据交换。
在嵌入式系统的开发过程中,串口通信的设计是一项非常关键的工作。
本文将以基于STM32的串口通信课程设计为例,详细介绍串口通信的实现原理和相关技术。
首先,我们需要了解串口通信的基本原理。
串口通信一般包括发送端和接收端两个部分。
发送端将需要传输的数据转化为串行数据,并通过串口发送出去;接收端接收串口传输过来的数据,并将其转化为需要的格式。
串口通信需要通过一定的协议进行数据的传输,常见的协议有UART、USART、SPI等。
在基于STM32的串口通信课程设计中,我们可以使用STM32开发板作为嵌入式系统的硬件平台。
STM32是一款由ST公司推出的基于ARM Cortex-M内核的系列单片机,具有高性能、低功耗等特点。
在STM32中,有多个通用串行接口(USART)可用于实现串口通信功能。
我们可以通过编程控制STM32的USART模块,实现串口通信的发送和接收功能。
首先,我们需要初始化STM32的USART模块。
在初始化过程中,需要设置波特率、数据位数、校验位等参数,以适应不同的通信需求。
然后,我们需要编写发送函数和接收函数。
发送函数将需要传输的数据转化为串行数据,并通过USART发送出去;接收函数则负责接收USART传输过来的数据,并将其转化为需要的格式。
在接收函数中,我们还可以添加一些错误检测和容错机制,以确保数据的准确性。
在完成了USART的初始化工作后,我们还需要编写主程序来调用发送函数和接收函数,实现数据的发送和接收。
在主程序中,我们可以通过外部中断、定时器或其他触发方式来触发数据的发送和接收操作。
单片机串口通信设计方案

单片机串口通信设计方案1.绪论1.1课题背景及意义目前,单片机的发展速度大约每两、三年要更新一代,集成度增加一倍,功能翻一番。
其发展速度之快、应用范围之广已达到了惊人的地步,它已渗透到生产和生活的各个领域,应用非常广泛。
在汽车、通信、智能仪表、家用电器和军事设备的智能化以及实时过程控制等方面,单片机都扮演着非常重要的角色[1]。
因此单片机的设计开发具有广阔的前景。
所以,对于电气类学生而言,学习一种单片机的开发是十分必要的。
而51系列的单片机,随着半导体技术的发展,其处理速度更快,性能更优越,在工业控制领域上占据十分重要的地位,通过对51系列单片机的学习而掌握单片机开发的过程是一种不错的选择。
然而单片机是一门综合性、实践性都很强的学科,其学习涉及的实验环节比较多,硬件设备投入比较大,对于大多数人而言很难投入大笔资金去购买实验器件。
而且要进行硬件电路测试和调试,必须在电路板制作完成、元器件焊接完毕之后进行,但这些工作费时费力。
因此引入EDA软件仿真系统建立虚拟实验平台,不仅可以大大提高单片机的学习效率,而且大大减少硬件设备的资金投入,同时降低对硬件设备的维护工作。
EDA设计思路是:从元器件的选取到连接、直至电路的调试、分析和软件的编译,都是在计算机中完成,所用的工作都是虚拟的。
虽然现在的电路设计软件已经很多,诸如PROTEL、ORCAD、EWB 、Multisim等,不过这些软件之间的差别都不大:都有原理图和PCB制作功能,都能进行诸如频率响应,噪音分析等电路分析,主要用于模拟电路、数字电路、模数混合电路的性能仿真与分析,但对于单片机设计及软件编程,最重要的是两者的联调,这些软件都无法实现,所以造成了单片机系统设计周期长、设计费用高等缺点[2]。
新款的EDA软件Proteus解决了上述软件的不足,成为目前最好的一款单片机学习仿真软件。
Proteus 软件是由英国Lab Center Electronics 公司开发的EDA 工具软件。
基于51单片机的多机通信系统设计

基于51单片机的多机通信系统设计多机通信系统是指通过一台主机与多台从机之间进行数据交互和通信的系统。
在本设计中,我们将使用51单片机实现一个基于串行通信的多机通信系统。
系统硬件设计如下:1.主机:使用一个51单片机作为主机,负责发送数据和接收数据。
2.从机:使用多个51单片机作为从机,每个从机负责接收数据和发送数据给主机。
3.串口:主机和从机之间通过串口进行通信。
我们可以使用RS232标准通信协议。
系统软件设计如下:1.主机设计:a.初始化串口:设置串口参数,如波特率、数据位、停止位等。
b.发送数据:将需要发送的数据存储在发送缓冲区中,通过串口发送给从机。
c.接收数据:接收从机发送的数据,并存储在接收缓冲区中。
2.从机设计:a.初始化串口:设置串口参数,如波特率、数据位、停止位等。
b.接收数据:接收主机发送的数据,并存储在接收缓冲区中。
c.发送数据:将需要发送的数据存储在发送缓冲区中,通过串口发送给主机。
系统工作流程如下:1.主机启动,执行初始化操作,包括初始化串口。
2.从机启动,执行初始化操作,包括初始化串口。
3.主机发送数据给从机:主机将需要发送的数据存储在发送缓冲区中,通过串口发送给从机。
4.从机接收并处理数据:从机接收主机发送的数据,并存储在接收缓冲区中,对接收到的数据进行处理。
5.从机发送数据给主机:从机将需要发送的数据存储在发送缓冲区中,通过串口发送给主机。
6.主机接收并处理数据:主机接收从机发送的数据,并存储在接收缓冲区中,对接收到的数据进行处理。
7.主机和从机循环执行步骤3-6,实现多机之间的数据交互和通信。
多机通信系统的设计考虑到以下几个方面:1.硬件设计:需要合理选择单片机和串口的类型和参数,确保系统的稳定性和可靠性。
2.软件设计:需要设计适应系统需求的通信协议和数据处理提取方法,保证数据的准确性和完整性。
3.通信协议:需要定义主机和从机之间的通信协议,包括数据的格式、传输方式等,以便实现正确的数据交互。
基于PROTEUS的单片机串口通信的实例设计与仿真

【 关键 词】rtu 软件 ; Poes 串口通信 ; 仿真
O
引言
Viul e a P r r a S r l ot XP软 件 是 一 种 高级 的 配置 工 具 。用 于模 拟 RS 3 t i s 22
串 口通 信 , 以使 用 它 为 应 用 程 序 提 供 虚 拟 串 口 . 个 虚 拟 串 口的 功 可 这 Poe s 件 是 由英 国 L bC ne lcrnc 司 开 发 的 E A 工 rtu 软 a etr et i E o s公 D 能 就像 标 准 的硬 件 串 口一 样 , 研 发 人 员 提 供便 利 。 为 具 软件 , 已有 近 2 0年 的 历 史 , 全 球 已得 到广 泛 使 用 。 它不 仅 是模 拟 在 使 用 软件 V r a ei o sX , 开 软 件 后 . 图 2所 示 .OM3 iu l r l r P 打 t S aPt 如 C 电 路 、 字 电路 、 数 混 合 电路 的 设 计 与 仿 真平 台, 是 目前 最 先进 的 数 模, 也 是 电脑 上 实 际 的 物 理 串 口 , 击 “ d ar可 立 即 添加 一 对 虚 拟 串 口 单 A dp i ” 实 现嵌 入 式 系 统 在 计 算 机 上 完 成从 原 理 图设 计 、代 码调 试 与仿 真 、 系 C M1和 C M2 这 样 就 连 接 好 一对 虚 拟 串 口 。 O O , 统 测 试 与 功 能 验 证 到 形 成 P B的完 整 的设 计 、 真 和 研 发 的 平 台 。在 C 仿 22 上位 机 软 件 设 置 . 缺 乏 硬 件 的情 况 下 , 是 一 款 非 常 实用 的仿 真 软 件 , 仿 真 的原 理 图 经 这 其 P C与 单 片 机 的通 信 常 用 V B或 V 中的 MS o C C mm控 件 编写 . 设 本 验证后可直接应用到现实中。 计 使 用 “ 口调 试 助 手 ” 实 现 P 对 Poe s 联 系媒 介 。 如 图 3所 串 来 C rtu 的 目前 , 多 高 校 已引 入 这 套 软 件 , 为理 论 教 学 和 实 践 教 学 的 必 很 作 示 , 类 软件 的使 用 一 定 要 注 意 串 口通 信 的 参 数 的 设 置 ( 串 口 , 特 该 如 波 要补充 , 践证明效果很好 ; 且 , 实 而 在一 些 像 海 尔 等知 名 公 司也 已将 它 率 , 据位 , 验 位 , 止 位 )它 们 必 须 与 单 片 机 程 序 总 的 串 E设 置 相 数 校 停 , l 作 为仿 真 和 研 发 平 台 , 大 提 高 了 工作 效 率 , 短 了研 发 周 期 。 大 缩 对 应 。串 口调 试 助 手 则 可 以 真 实 的模 拟 上 位 机 与 单 片 机 进 行 通 信 。正 本 文 通 过 实 例 , A 8 C 1 片 机 为 核 心 , 计 了一 个 P 以 T9 5 单 设 c与 单 确 地使 用 所 有 的信 号 线 和 模 拟 波 特 率 的 工作 , 以 和 使 用 真 实 串 口一 可 片机 的进 行 串 口通信 的 功 能 , 详 细 说 明 了 在 P O E 并 R T US平 台 下 进 行 样 传输 文 件 、 据 。 数 串 口使 用 和 调 试 的 基 本 方 法 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 绪论1.1 研究背景通信是指不同的独立系统利用线路互相交换数据,它的主要目的是将数据从一端传送到另一端,实现数据的交换。
在现代工业控制中,通常采用计算机作为上位机与下层的实时控制与监测设备进行通讯。
现场数据必须通过一个数据收集器传给上位机,同样上位机向现场设备发命令也必须通过数据收集器。
串行通信因其结构简单、执行速度快、抗干扰能力强等优点,已被广泛应用于数据采集和过程控制等领域。
计算机与外界的信息交换称为通信。
基本的通信方式有并行通信和串行通信两种。
串行通信是指一条信息额各位数据被逐位按顺序传送的通信方式。
串行通信的特点是:数据位传送,按位顺序进行,最少只需要一根传输线即可完成,成本低但传送速度快,串行通信的距离可以从几米到几千米。
随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行监测和控制。
PC机具有强大的监控和管理能力,而单片机则具有快速及灵和的控制特点,通过PC 机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
而随着USB接口技术的成熟和使用的普及,由于USB 接口有着RS-232(DB-9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步地为USB 接口所替代。
而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-232(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC 机联络的单片机设备的使用围。
当前USB接口逐步取代RS-232(DB-9)串口已是大势所趋,单片机同计算机的USB通信在实际工作中的应用围也将越来越广。
本文所介绍的单片机和PC机的USB通信方法,电路简单,兼容性好,可移植性强,故可作为单片机同计算机的USB通信模块广泛应用于工业和电子产品的开发中。
因此研究如何实现PC机与单片机通过USB之间的通信具有非常重要的现实意义。
1.2 国外研究现状由于计算机工业自动控制和检测系统越来越多地采用集总分散系统,而主从式是其中最为普遍的一种方式,因此各种各样主从式总线通信系统的方法不断涌现。
目前比较常用的有利用IIC总线传输协议设计的主从式总线通信系统,还有的是利用SPI总线传输协议和USB协议以及串口通信等设计的主从式总线通信系统[6,7]。
由于主从式总线通信系统采用的方法众多,因此目前国外一般是根据实际情况而采用不同的方法去实现主从式通信系统的功能[8]。
比如,如果要设计的主从式通信系统只是小围传送数据,甚至只是板间传送数据,或者要求使用的I/O口很少,而对于数据的抗干扰能力的要求不是很高的话,则采用IIC总线传输协议是最合适不过的了。
IIC总线支持任何一种IC制造工艺,并且PHILIPS和其他厂商提供了种类非常丰富的I2C兼容芯片。
作为一个专利的控制总线,IIC已经成为世界性的工业标准。
每个器件都有一个唯一的地址,而且可以是单接收的器件(例如:LCD驱动器)或可以接收也可以发送的器件(例如:存储器)。
发送器或接收器可以在主模式或从模式下操作,这取决于芯片是否必须启动数据的传输还是仅仅被寻址。
IIC是一个多主总线,即它可由多个连接的器件控制[9]。
基本的I2C总线规于20年前发布,其数据传输速率最高为100Kbits/s,采用7位寻址。
但是由于数据传输速率和应用功能的迅速增加,I2C总线也增强为快速模式(400Kbits/s)和10位寻址以满足更高速度和更大寻址空间的需求[10]。
IIC总线始终和先进技术保持同步,但仍然保持其向下兼容性。
并且最近还增加了高速模式,其速度可达3.4Mbits/s。
它使得IIC总线能够支持现有以及将来的高速串行传输应用,例如EEPROM和Flash存储器[11]。
而如果需要远距离传输数据,且对数据传送的抗干扰能力要求有点高,则可以使用RS-422或者RS-485协议进行主从式通信系统的设计[12]。
另外,USB协议则是一种比较新型、快速、灵活的总线传输方法,此通信系统通常只有一个主机,利用此方法设计的通信息有如下特点:(1)适用围广泛,适用于数码相机,高速数据采集等多种设备;(2)支持热拔插,且此过程由系统自动完成,无需用户干预;(3)采用菊花链式的星型总线结构,支持多达127个外设同时连接;(4)5Mbps、12Mbps和480Mbps的3种速度模式,可以满足不同外设对速度的要求。
USB发展到今天,总共有三种标准:1996年发布的USB1.0,1998年发布的USB1.1以及刚刚发布的最新标准USB2.0,此三种标准最大的差别就在于数据传输率方面,在其他方面也不同程度的改进,总体来说,就目前的USB2.0而言,已经拥有什么出众的性能与传输速率。
USB数据线由两对线组成,一对电力线,通过电力线可以为USB设备提供5V电压,允许通过最大电流为500mA,这个数字不算很大,但好在聊胜于无,可以满足一些耗电量较少的设备的需求,通过特殊的USB互联设备,我们还可以用USB口实现双机联网,速度是USB1.1的标准达12Mbps(1.5MB/S),可惜仅能进行简单的数据交换,不能称作真正的网络[13,14]。
当所要设计的主从式总线通信系统采用譬如MSP430单片机当主机或者从机时,由于此单片机具有支持SPI的片串行通信接口,所以可以采用SPI总线传输协议进行设计。
SPI是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口[15]。
是Motorola首先在器MC68HCXX系列处理器上定义的[16]。
SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。
SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200。
串行外围设备接口SPI是一种同步串行接口,因其硬件功能强,与SPI有关的软件就相当简单,可使MSP430单片机有更多的时间处理其他任务。
此时,所设计的系统拥有极低的功耗,丰富的片外设,卓越的工作性能和方便灵活等优点[17]。
1.3 本课题研究的主要容(1)串行通信原理介绍;(2)USB技术原理分析;(3)单片机和PC机通过USB实现串行通信设计与实现。
本设计主要包含以下两个方面:(1)硬件设计:单片机及外围电路设计;(2)软件设计:单片机的通信控制程序,PC机的通信程序。
2 串行通信基础2.1 串口通信的基本知识2.1.1并行通信与串行通信微机的信息交换有两种方式进行:串行通信方式和并行通信方式。
1.串行通信串行通信的设备是最古老的沟通机制之一。
从IBM个人电脑和兼容式电脑的时代开始,几乎所有的计算机都配有一个或多个串行端口和一个并行端口。
顾名思义,一个串行端口发送和接收串行数据,一次一位数据。
相反,一个并行端口一次发送和接收8位数据,使用8个单独的线路。
提示:要使串行通信工作,你只需要一根三根线的电缆——1根发送,1根用来接收,1根接地。
对于并行通信,你需要采用8条导线。
尽管相对较慢的传输速度远低于并行端口,串行端口通信依然因为它简单的设备、高的成本效益以及差错可控性强而成为一个受欢迎的连接选项。
图2-1显示了使用串行口连接到计算机的设备。
图2-1 一些常见的串行设备,调制解调器,鼠标和路由器虽然今天的消费产品中在串行连接的地方使用USB连接,但还有很多的设备使用串行端口作为与外部世界的唯一连接。
一个串行设备一次发送和接收一位数据,有些设备因为在同一时间发送和接收数据,被称为全双工设备。
其他可以在任何时间发送或接收被称为单双工。
开始传输时,设备先发送一个起始位,其次是数据位。
该数据位可以是五,六,七,或8位,基于商定而定。
两个发送方和接收器必须设置为相同的数据通信比特或正确的比特率。
数据位被发送完后,就会发送一个停止位。
一个停止位可以是一位,一个半位,或两位。
波特率是数据从一个设备到另一个的传输速度。
波特率通常以每秒的位数(bps)来计量。
注意:大多数串行设备传输七,八位数据。
为了检测数据已被正确发送,一个可选的校验位可以同数据位在一起。
一个校验位可以是以下容:奇数,偶数,mark,space或无(空的奇偶位标志几乎总是被使用)。
使用校验位提供了一个基本的机制,以检测已发送数据损坏,但不保证检查数据本身的错误。
然而,校验位可用于改善完整性数据传送。
大多数串行端口使用RS232C标准,它指定了一个连接器25针或9针(见图2-2)。
大多数系列设备使用9针连接器。
图2-2 25针和9针串行接口2.并行通信在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。
如果一组数据的各数据位在多条线上同时被传送,这种传输被称为并行通信,如图2-3所示。
并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。
并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。
计算机或PLC各种部总线就是以并行方式传送数据的。
图2-3 并行通信2.1.2串行通信工作模式如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。
如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。
如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。
线就是二线全双工信道。
由于采用了回波抵消技术,双向的传输信号不致混淆不清。
双工信道有时也将收、发信道分开,采用分离的线路或频带传输相反方向的信号,如回线传输。
在串行通信中,数据通常是在两个站(如终端和微机)之间进行传送,按照数据流的方向可分成三种基本的传送方式:全双工、半双工、和单工。
但单工目前已很少采用,下面仅介绍前两种方式。
1.半双工方式若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制,如图2-4所示。
采用半双工方式时,通信系统每一端的发送器和接收器,通过收/发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。
收/发开关实际上是由软件控制的电子开关。
图2-4半双工方式当计算机主机用串行接口连接显示终端时,在半双工方式中,输入过程和输出过程使用同一通路。
有些计算机和显示终端之间采用半双工方式工作,这时,从键盘打入的字符在发送到主机的同时就被送到终端上显示出来,而不是用回送的办法,所以避免了接收过程和发送过程同时进行的情况。
目前多数终端和串行接口都为半双工方式提供了换向能力,也为全双工方式提供了两条独立的引脚。
在实际使用时,一般并不需要通信双方同时既发送又接收,像打印机这类的单向传送设备,半双工甚至单工就能胜任,也无需倒向。