嵌入式技术基础与实践第7章 串行通信接口SCI
- 格式:ppt
- 大小:778.00 KB
- 文档页数:42
第7章串行通信接口(SCI)目前几乎所有的台式电脑都带有9芯的异步串行通信口,简称串行口或COM口。
有的台式电脑带有两个串行口,分别称为COM1、COM2口。
大部分的笔记本电脑也带有串行口。
随着USB接口的普及,串行口的地位逐渐变低了。
但是,作为设备间的一种简便的通信方式,在相当长的时间内,串行口还不会消失。
因为简单且常用的串行通信只需要三根线(发送线、接收线和地线),所以,串行通信可以作为MCU与外界通信的简便方式之一。
大部分嵌入式MCU都具有串行通信接口(Serial Communication Interface,SCI),掌握SCI的编程是学习MCU的重要内容之一。
本章从掌握规范的SCI基本编程角度讨论串行通信编程,把与芯片型号相关内容和与芯片型号无关内容区别开来,便于读者融会贯通与实际应用。
本章7.1、7.2节是与芯片无关的有关串行通信的通用基础知识,只有理解这些基础知识,才能进行串行通信的应用。
7.3、7.4节阐述GP32芯片的SCI模块的编程方法,在此基础上,重点掌握7.5节给出的编程实例。
注意,在汇编程序中,只有初始化子程序与GP32相关,收发程序在整个08系列中是通用的,在C程序中,只有初始化子程序与GP32相关,收发程序对任何芯片是通用的。
当然,要注意头文件SCI.h相关位的定义。
关于串口程序的测试,最好利用教学资料中提供的PC机方的高级语言源程序进行。
根据自己对高级语言的熟悉程度选用VB、C#、VC或其他高级语言。
实际上,掌握一门PC机方的高级语言编程对嵌入式系统开发是必要的。
7.1异步串行通信的基础知识本节简要概括了串行通信中的通常使用的相关基本概念,为学习MCU的串行接口编程做准备。
对于已经了解这方面知识的读者,可以略读本节。
7.1.1基本概念“位”(bit)是单个二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。
在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte)。
sci串行通信接口工作原理
SCI(Serial Communication Interface)是一种串行通信接口,用于在数字系统中进行串行数据传输。
SCI通常包括发送和接收端,通过串行方式传递数据,它在嵌入式系统和通信领域中被广泛使用。
以下是SCI串行通信接口的基本工作原理:
1.帧结构:SCI通信以帧为单位,每一帧包含了一定数量的比特,通常包括起始位、数据位、奇偶校验位(可选)、停止位等。
这种帧结构有助于接收端正确解析和识别数据。
2.波特率设置:波特率是SCI通信的速率,表示每秒传输的比特数。
在SCI通信中,发送端和接收端必须配置相同的波特率,以确保数据的正确传输。
3.起始位和停止位:为了使接收端能够准确识别帧的起始和结束,通常在每帧的开始设置一个起始位,结束时设置一个或多个停止位。
4.数据传输:数据以二进制形式传输,由发送端按照事先定义好的帧结构进行发送。
接收端在正确配置的情况下,能够识别并解析这些帧,将二进制数据还原为原始数据。
5.同步机制:为确保数据的同步传输,通常在帧的开始设置一个起始位,作为同步信号,帮助接收端正确解析后续的数据。
6.协议选择:在SCI通信中,数据的传输可以使用不同的协议,例如异步传输和同步传输。
异步通信不需要与时钟同步,而同步通信则需要与外部时钟同步。
总体而言,SCI串行通信接口通过在帧中使用起始位、数据位、停止位等结构,按照事先定义好的协议传输数据。
这种方式具有灵活性和可靠性,适用于许多嵌入式系统和通信场景。
嵌入式系统中常见的通信接口介绍与实践嵌入式系统是一种专门设计用于控制特定任务的计算机系统。
通信接口是嵌入式系统中非常重要的一个组成部分,它负责将系统与外部设备进行数据传输和通信。
在本文中,我们将介绍一些常见的嵌入式系统通信接口,并探讨它们的特点以及在实践中的应用。
串口是嵌入式系统中最简单且最常见的通信接口之一。
它通过一组电线来进行数据传输,包括一个传输数据线、一个接收数据线和一个用于控制信号的线。
串口通信速度相对较慢,但它在短距离通信和与其他设备(如传感器、显示器等)的数据传输中非常便捷。
I2C(Inter-Integrated Circuit)是另一个常见的嵌入式系统通信接口。
它通常用于连接多个芯片或传感器,使它们可以在同一总线上进行通信。
I2C接口只需两根传输数据的线(SDA和SCL),并且可以通过对设备进行编址来与不同的设备进行通信。
I2C通信速度相对较快,适合连接多个设备的应用场景。
SPI(Serial Peripheral Interface)是一种高速的串行通信接口,常用于连接嵌入式系统和外围设备(如存储器、显示器、模拟转换器等)。
SPI接口可以同时传输和接收数据,具备多主机和多从机的功能。
它通过四根线(SCK、MISO、MOSI、SS)来进行通信,其中SCK是时钟线,MISO是主机接收线,MOSI是主机传输线,SS是片选线。
SPI通信速度非常快,适用于对实时性要求较高的场景。
CAN(Controller Area Network)是一种用于实时通信的串行总线协议。
它一般用于汽车、工业控制和航空等领域。
CAN接口使用DLC(数据连接层)和物理层来实现通信。
它具有高可靠性和抗干扰性,并且能够在复杂的电磁环境下工作。
CAN通信速度较快,可以在多设备之间进行高效的数据传输和通信。
除了上述常见的嵌入式系统通信接口,还有许多其他的接口,如 Ethernet、USB、Bluetooth等,它们在不同的应用场景中具有各自的特点和优势。
《嵌入式系统实验报告》串行通信实验南昌航空大学自动化学院050822XX 张某某一、实验目的:掌握μC/OS-II操作系统的信号量的概念。
二、实验设备:硬件:PC机1台;MagicARM2410教学实验开发平台台。
软件:Windows 98/2000/XP操作系统;ADS 1.2集成开发环境。
三、实验内容:实验通过信号量控制2个任务共享串口0打印字符串。
为了使每个任务的字符串信息(句子)不被打断,因此必须引入互斥信号量的概念,即每个任务输出时必须独占串口0,直到完整输出字符串信息才释放串口0。
四、实验步骤:(1)为ADS1.2增加DeviceARM2410专用工程模板(若已增加过,此步省略)。
(2)连接EasyJTAG-H仿真器和MagicARM2410实验箱,然后安装EasyJTAG-H仿真器(若已经安装过,此步省略),短接蜂鸣器跳线JP9。
(3)启动ADS 1.2,使用ARM Executable Image for DeviceARM2410(uCOSII)工程模板建立一个工程UART0_uCOSII。
(本范例在ADS文件夹中操作)(4)在ADS文件夹中新建arm、Arm_Pc、SOURCE文件夹。
将μC/OS 2.52源代码添加到SOURCE文件夹,将移植代码添加到arm文件夹,将移植的PC服务代码添加到Arm_Pc文件夹。
(5)在src组中的main.c中编写主程序代码。
(6)选用DebugRel生成目标,然后编译链接工程。
(7)将MagicARM2410实验箱上的UART0连接跳线JP1短接,使用串口延长线把MagicARM2410实验箱的CZ11与PC机的COM1连接。
注意:CZ11安装在MagicARM2410实验箱的机箱右侧。
(8)PC机上运行“超级终端”程序(在Windows操作系统的【开始】->【程序】->【附件】->【通讯】->【超级终端】),新建一个连接,设置串口波持率为115200,具体设置参考图3.5,确定后即进入通信状态。
嵌入式技术基础与实践(第二版)习题参考答案目录嵌入式技术基础与实践(第二版) (1)习题参考答案 (1)第 1 章概述习题参考答案. (2)第 2 章 FreescaleS08微控制器习题参考答案 (3)第 3 章第一个样例程序及工程组织习题参考答案. (4)第 5 章串行通信接口SCI 习题参考答案 (6)第 6 章 GPIO的应用实例—键盘、LED与 LCD习题参考答案 (9)第 7 章定时器模块习题参考答案 (10)第 8 章串行外设接口SPI 习题参考答案 (11)第 9 章 Flash 存储器在线编程习题参考答案 (13)第 1章概述习题参考答案1.嵌入式系统的基本含义是什么?为什么说单片机是典型的嵌入式系统?答:即 MCU的含义是:在一块芯片上集成了中央处理单元( CPU)、存储器( RAM/ROM等)、定时器 / 计数器及多种输入输出( I/O )接口的比较完整的数字处理系统。
大部分嵌入式系统以 MCU为核心进行设计。
MCU从体系结构到指令系统都是按照嵌入式系统的应用特点专门设计的,它能很好地满足应用系统的嵌入、面向测控对象、现场可靠运行等方面的要求。
因此以MCU为核心的系统是应用最广的嵌入式系统。
2.简述嵌入式系统的特点以及应用领域。
答:嵌入式系统属于计算机系统,但不单独以通用计算机的面目出现 ; 嵌入式系统开发需要专用工具和特殊方法 ; 使用 MCU设计嵌入式系统,数据与程序空间采用不同存储介质 ; 开发嵌入式系统涉及软件、硬件及应用领域的知识 ; 嵌入式系统的其他特点 , 比如紧的资源,较高稳定性要求,低功耗,低成本等。
一般用于工业控制,智能家电,日常电子等领域。
4.比较 MCU与 CPU的区别与联系。
答: CPU是一个单独的PC处理器。
而MCU,则有微处理器,存储器(RAM/ROM等)、定时器 / 计数器及多种输入输出(I/O )接口的比较完整的数字处理系统。
所以可以这么说,MCU是一个包含微处理器的嵌入式系统,而CPU紧紧是一个处理器而已。