第08章串行通信接口SCI与串行外设接口SPI课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第08章串行通信接口SCI与串行外设接口SPI课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 08 串行 通信 接口 SCI 外设 SPI 课件
- 资源描述:
-
1、第八章第八章 串行通信接口串行通信接口SCI与串行外设接口与串行外设接口SPI 主要内容v串行通信基本知识概要vSCI的外围硬件电路与基本编程原理 vSCI模块的编程结构 v串行通信编程实例vSPI模块的编程结构及应用实例vSPI应用实例高位A/D扩展接口8.1 串行通信基本知识概要 8.1 串行通信基本知识概要串行通信基本知识概要 8.1.1 基本概念基本概念()异步串行通信的格式()异步串行通信的格式 SCI通常采用通常采用NRZ数据格式,即:数据格式,即:standard non-return-zero mark/space data format,译为:,译为:“标准不归零传号标准不归
2、零传号/空号数据格空号数据格式式”。“不归零不归零”的最初含义是:用正、负电平表示二进制值,不使的最初含义是:用正、负电平表示二进制值,不使用零电平。用零电平。“mark/space”即即“传号传号/空号空号”分别是表示两种状态的物分别是表示两种状态的物理名称,逻辑名称记为理名称,逻辑名称记为“1/0”。下图给出了。下图给出了 8位数据、无校验情况的位数据、无校验情况的传送格式。传送格式。第第0位位第第1位位第第2位位第第3位位第第4位位第第5位位第第6位位第第7位位停止位停止位开始位开始位SCI数据格式8.1 串行通信基本知识概要(2)串行通信的波特率)串行通信的波特率 波特率(波特率(ba
3、ud rate):每秒内传送的位数。):每秒内传送的位数。波特率单位是位波特率单位是位/秒,记为秒,记为bps。通常情况下,波特率的单位可以。通常情况下,波特率的单位可以省略。通常使用的波特率有省略。通常使用的波特率有300、600、900、1200、1800、2400、4800、9600、19200、38400。8.1 串行通信基本知识概要 字符奇偶校验检查(字符奇偶校验检查(character parity checking)称为称为垂直冗余检查(垂直冗余检查(vertical redundancy checking,VRC),它是每),它是每个字符增加一个额外位使字符中个字符增加一个额外
4、位使字符中“1”的个数为奇数或偶数。的个数为奇数或偶数。奇校验奇校验:如果字符数据位中:如果字符数据位中“1”的数目是偶数,校验位应为的数目是偶数,校验位应为“1”,如果如果“1”的数目是奇数,校验位应为的数目是奇数,校验位应为“0”。偶校验偶校验:如果字符数据位中:如果字符数据位中“1”的数目是偶数,则校验位应为的数目是偶数,则校验位应为“0”,如果是奇数则为,如果是奇数则为“1”。(3)奇偶校验)奇偶校验8.1 串行通信基本知识概要 单工(单工(Simplex):):数据传送是单向的,一端为发送端,另一端数据传送是单向的,一端为发送端,另一端为接收端。这种传输方式中,除了地线之外,只要一根
5、数据线就可以为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以了。有线广播就是单工的。了。有线广播就是单工的。全双工(全双工(Full-duplex):):数据传送是双向的,且可以同时接收数据传送是双向的,且可以同时接收与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,MCU的异步串行通信接口均是全双工的。的异步串行通信接口均是全双工的。半双工(半双工(Half-duplex):):数据传送也
6、是双向的,但是在这种传数据传送也是双向的,但是在这种传输方式中,除了地线之外,一般只有一根数据线。任何一个时刻,只输方式中,除了地线之外,一般只有一根数据线。任何一个时刻,只能由一方发送数据,另一方接收数据,不能同时收发。在能由一方发送数据,另一方接收数据,不能同时收发。在freescale的的HC08系列系列MCU中,监控模式的通信就采用这种方式。中,监控模式的通信就采用这种方式。(4)串行通信的传输方式)串行通信的传输方式8.1 串行通信基本知识概要 MCU引脚一般输入引脚一般输入/输出使用输出使用TTL电平,而电平,而TTL电平的电平的“1”和和“0”的特征电压分别为的特征电压分别为2.
7、4V和和0.4V,适用于板内数据传输。为,适用于板内数据传输。为了使信号传输得更远,美国电子工业协会了使信号传输得更远,美国电子工业协会EIA(Electronic Industry Association)制订了串行物理接口标准制订了串行物理接口标准RS-232C。RS-232C采用负逻辑,采用负逻辑,-3V-15V为逻辑为逻辑“1”,+3V+15V为逻为逻辑辑“0”。RS-232C最大的传输距离是最大的传输距离是30m,通信速率一般低于,通信速率一般低于20Kbps。8.1.2 RS-232C总线标准总线标准8.1 串行通信基本知识概要 8.1.2 RS-232C总线标准总线标准 RS-2
8、32接口,简称接口,简称“串口串口”,它主要用于连接具有同样接口的室内它主要用于连接具有同样接口的室内设备。目前几乎所有计算机上的串行设备。目前几乎所有计算机上的串行口都是口都是9芯接口。右图给出了芯接口。右图给出了9芯串芯串行接口的排列位置,相应引脚含义见行接口的排列位置,相应引脚含义见表表8-1。4 41 12 23 35 56 67 78 89 99 9芯串行接口排列芯串行接口排列表8-1 9芯串行接口引脚含义表引脚号功 能引脚号功 能12345接收线信号检测(载波检测DCD)接收数据线(RXD)发送数据线(TXD)数据终端准备就绪(DTR)信号地(SG)6789数据通信设备准备就绪(D
9、SR)请求发送(RTS)清除发送振铃指示返回返回8.2 SCI的外围硬件电路与基本编程原理8.2 SCI的外围硬件电路与基本编程原理的外围硬件电路与基本编程原理8.2.1 SCI的外围硬件电路的外围硬件电路(1)电源供给与滤波)电源供给与滤波(2)晶振电路)晶振电路(3)复位电路)复位电路(4)SCI电平转换电路电平转换电路8.2 SCI的外围硬件电路与基本编程原理MAX232CPE16 15 14 13 12 11 10 916 15 14 13 12 11 10 91 2 3 4 5 6 7 81 2 3 4 5 6 7 8 0.1+5V11 12 13 14 15 16 17 18 19
10、 2011 12 13 14 15 16 17 18 19 20+5V10K51RST0.1复位电路复位电路20P10K15P32.768 150K晶振电路晶振电路0.470.0110KPLL L滤波滤波30 29 28 27 26 25 24 23 22 2130 29 28 27 26 25 24 23 22 210.1+5V40 39 38 37 36 35 34 33 32 3140 39 38 37 36 35 34 33 32 311 2 3 4 5 6 7 8 9 101 2 3 4 5 6 7 8 9 10232232电平电平OUT IN+5V+5VTTLTTL电平电平OUT
11、INTTLTTL电平电平转为转为232232电平电平14MC68HC908GP32具有串行通信功能的具有串行通信功能的MC68HC908G932最小系统电路原理图最小系统电路原理图8.2 SCI的外围硬件电路与基本编程原理8.2.2 SCI的基本编程原理的基本编程原理SCI编程模型SCI 数据寄存器数据寄存器MCU MCU 的的 内内 部部 总总 线线 (Internal BusInternal Bus)接收移位寄存器发送移位寄存器接收引脚接收引脚RxD发送引脚发送引脚TxDSCI 控制寄存器控制寄存器SCI状态寄存器状态寄存器SCI波特率寄存器波特率寄存器返回返回8.3 SCI模块的编程结构
12、8.3 SCI模块的编程结构模块的编程结构8.3.1 SCI的寄存器的寄存器 MC68HC908GP32的的SCI有有7个寄存器,地址为个寄存器,地址为$0013$0019。(1)SCI波特率寄存器波特率寄存器(SCI Baud Rate Register,SCBR)SCBR的作用是设置串行通信的波特率的作用是设置串行通信的波特率,其地址是,其地址是$0019。D7、D6、D3:未定义;:未定义;D5D4 SCP:波特率预分频位:波特率预分频位(SCI Baud Rate Prescaler Bits)SCP1、SCP0=00 01 10 11 PD=1 3 4 13数据位 D7 D6 D5
13、D4 D3 D2 D1 D0定义 x x SCP1 SCP0 x SCR2 SCR1 SCR0复位 0 0 0 0 0 0 0 08.3 SCI模块的编程结构 D2D0 SCR:波特率选择位(:波特率选择位(SCI Baud Rate Select Bits),),定义波特率另一分频值,记为:定义波特率另一分频值,记为:BD,定义如下,定义如下:SCR2、1、0=000 001 010 011 100 101 110 111 BD=1 2 4 8 16 32 64 128 设设fSCI为串行通信时钟源频率,为串行通信时钟源频率,fSCI=fBUS或或CGMXCLK,取决于,取决于CONFIG2
14、的的SCIBDSRC,一般设定,一般设定SCIBDSRC=1,SCI用内部总线时用内部总线时钟,则钟,则fSCI=fBUS,则波特率的定义公式为:,则波特率的定义公式为:BtfBUS/(64PDBD)(1)SCI波特率寄存器波特率寄存器(SCI Baud Rate Register,SCBR)8.3 SCI模块的编程结构(2)SCI控制寄存器控制寄存器1(SCI Control Register 1,SCC1)SCC1的地址是:的地址是:$0013,定义为:定义为:数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义 LOOPS ENSCI TXINV M WAKE ILTY
15、PEN PTY复位复位 0 0 0 0 0 0 0 0循环模式循环模式选择位选择位SCI允许位允许位奇偶校验类奇偶校验类型选择位型选择位奇偶校验奇偶校验允许位允许位空闲线空闲线类型位类型位唤醒条件位唤醒条件位模式模式-字符字符长度选择位长度选择位发送反转发送反转标志位标志位8.3 SCI模块的编程结构(3)SCI控制寄存器控制寄存器2(SCI Control Register 2,SCC2)SCC2的地址是:的地址是:$0014,定义为:定义为:发送中断发送中断允许位允许位 发送完成中发送完成中断允许位断允许位 发送终止位发送终止位 接收器唤接收器唤醒位醒位接收器接收器允许位允许位 发送器允许
16、位发送器允许位 空闲线中空闲线中断允许位断允许位接收中断接收中断允许位允许位 数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义SCTIE TCIE SCRIE ILIE TE RE RWU SBK复位复位 0 0 0 0 0 0 0 08.3 SCI模块的编程结构(4)SCI控制寄存器控制寄存器3(SCI Control Register 3,SCC3)SCC3的地址是:的地址是:$0015,定义为:定义为:接收位接收位8 发送位发送位8 接收器奇偶错接收器奇偶错误中断允许位误中断允许位 接收器帧接收器帧错误中断错误中断允许位允许位 接收器噪接收器噪声错误中声错误中断允许位
17、断允许位 接收器溢出接收器溢出中断允许位中断允许位 DMA发送发送允许位允许位 DMA接收接收允许位允许位 数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义定义R8 T8 DMARE DMATE ORIE NEIE FEIE PEIE 复位复位 0 0 0 0 0 0 0 08.3 SCI模块的编程结构(5)SCI状态寄存器状态寄存器1(SCI Status Register 1,SCS1)SCS1的地址是:的地址是:$0016,定义为:定义为:发送缓冲区发送缓冲区空标志位空标志位 发送完成发送完成标志位标志位 接收器奇接收器奇偶错误标偶错误标志位志位 接收器帧错接收器帧错误标
18、志位误标志位 接收器噪接收器噪声标志位声标志位 接收器溢接收器溢出标志位出标志位 接收器空接收器空闲标志位闲标志位 接收器满接收器满标志位标志位 数据位数据位 D7 D6 D5 D4 D3 D2 D1 D0定义(只读)定义(只读)SCTE TC SCRF IDLE OR NF FE PE复位复位 1 1 0 0 0 0 0 08.3 SCI模块的编程结构(6)SCI状态寄存器状态寄存器2(SCI Status Register 2,SCS2)SCS2的地址是:的地址是:$0017,定义为:定义为:未定义未定义 接收进行接收进行标志位标志位 终止码标志位终止码标志位 数据位数据位 D7 D6 D
19、5 D4 D3 D2 D1 D0定义(只读)定义(只读)BKF RPF复位复位 0 0 0 0 0 0 0 08.3 SCI模块的编程结构(7)SCI数据寄存器数据寄存器(SCI Data Register,SCDR)SCDR为为SCI系统最常用的寄存器,它的地址是:系统最常用的寄存器,它的地址是:$0018。写入。写入时,为要发送的时,为要发送的8位数据,记为:位数据,记为:T7T0;读出时,为接收的;读出时,为接收的8位数位数据,记为:据,记为:R7R0。不受复位影响。不受复位影响。8.3 SCI模块的编程结构(1)SCI初始化初始化 对对SCI进行初始化,最少由以下三步构成:进行初始化,
20、最少由以下三步构成:第一步:定义波特率。第一步:定义波特率。LDA#%00000010 STA SCBR ;总线频率总线频率fBUS2.4576MHz,定义波特率,定义波特率Bt=9600 第二步:写控制字到第二步:写控制字到SCI控制寄存器控制寄存器1(SCC1)。)。LDA#%01000000 STA SCC1 ;设置允许设置允许SCI,正常码输出、,正常码输出、8位数据、无校验位数据、无校验 第三步:写控制字到第三步:写控制字到SCI控制寄存器控制寄存器2(SCC2)。)。LDA#%00001100 STA SCC2 ;设置允许发送、允许接收,查询方式收发设置允许发送、允许接收,查询方式
21、收发8.3.2 串行口初始化与收发编程的基本方法串行口初始化与收发编程的基本方法8.3 SCI模块的编程结构(2)发送一个数据与接收一个数据)发送一个数据与接收一个数据 发送数据是通过判断状态寄存器发送数据是通过判断状态寄存器SCS1的第的第7位(位(SCTE)进行的,)进行的,而接收数据是通过判断状态寄存器而接收数据是通过判断状态寄存器SCS1的第的第5位(位(SCRF)进行的。)进行的。不论是发送还是接收,均使用不论是发送还是接收,均使用SCI数据寄存器数据寄存器SCDR。发送时,将要。发送时,将要发送的数据送入发送的数据送入SCDR即可,接收时,从即可,接收时,从SCDR中取出的即是收到
展开阅读全文