第1页:嵌入式系统常见电路章节封面与导览
嵌入式系统常见电路章节封面与导览
本页以图示为主,展示嵌入式系统原理与设计课件嵌入式系统常见电路章节封面与导览部分的相关内容,源文件未提取到更多文字,建议对照原课件图片查看。
第2页:复位管理
复位管理
- 内容
- 复位管理
- IIC总线规范
- 实时时钟(RTC
- RS-232
第3页:复位实例手动复位按钮
复位实例手动复位按钮
第4页:计算机中的复位功能
计算机中的复位功能
- 计算机中的复位功能
- 复位操作将处理器和系统中其他功能部件置于一个可知的初始状态,并使系统从这个状态开始工作
- 不同处理器复位后执行的第一条指令的存储地址不同
- PC中的8086处理器在FFFF0H处
- 8051单片机复位后的第一条指令在0000H处
- FreescaleHCS08单片机复位后的第一条指令在FFFEH处
- ARM处理器在0000H处
第5页:常见复位类型
常见复位类型
- 常见复位类型
- 上电复位(冷启动
- 手动复位(热启动
- 看门狗复位
- 系统异常复位
第6页:常见复位类型:例
常见复位类型:例
第7页:RC复位电路简单、低成本
RC复位电路简单、低成本
- 上电复位及手动复位
- 在电源电压稳定之前,使处理器处于复位状态,只有电压稳定之后,处理器才开始工作。VCCVCC低有效RST#(a)(b)D1D1C1C1K1K1R1R1
第8页:上电复位及手动复位
上电复位及手动复位
第9页:看门狗(
看门狗(
- 看门狗(Wathdog)复位
- 例:FreescaleHCS08
- HCS08系列MCU内部具有看门狗(COP,Computeroperatingproperly)模块。HCS08COREHCS08SYSTEMCONTROLRESETSANDINTERRUPTSMODESOFOPERATIONPOWERMANAGEMENTBDCRTICPUCOPIRQLVDBKGD/MSRESETIRQSERIALCOMMUNICATIONSINTERFACEMODULE(SCI2)RxD2TxD2IICMODULE(SCI1)SDA1SCL1DEBUGMODULE(DBG)USERFLASH(AW60=63,280BYTES)(AW48=49,152BYTES)(AW32=32,768BYTES)(AW16=16,384BYTES)USERRAMAW60/48/32=2048BYTESAW16=1024BYTESINTERNALCLOCKGENERATOR(ICG)LOW-POWEROSCILLATORVOLTAGEREGULATORSERIALPERIPHERALINTERFACEMODULE(SPI1)6-CHANNELTIMER/PWMMODULE(TPM1)SERIALCOMMUNICATIONSINTERFACEMODULE(SCI1)RxD2TxD22-CHANNELTIMER/PWMMODULE(TPM2)TPM2CLK8-BITKEYBOARDINTERRUPTMODULE(KBI1)KBI1P7-10-BITANALOG-TO-DIGITALCONVERTER(ADC1)PORTCPTA7PTA6PTA5PTA4PTA3PTA2PTA1PTA0PTB7/AD1P7PTB6/AD1P6PTB5/AD1P5PTB4/AD1P4PTB3/AD1P3PTB2/AD1P2PTB1/AD1P1PTB0/AD1P0PTC6PTC5/RxD2PTC4PTC3/TxD2PTC2/MCLKPTC1/SDA1PTC0/SCL1PORTBPORTAPORTDPTD7/AD1P15/KBI1P7PTD6/AD1P14/TPM1CLKPTD5/AD1P13PTD4/AD1P12/TPM2CLKPTD3/AD1P11/KBI1P6PTD2/AD1P10/KBI1P5PTD1/AD1P9PTD0/AD1P8PTE7/SPSCK1PTE6/MOSI1PTE5/MISO1PTE4/SS1PORTFPTE1/RxD1PTE0/TxD1PTF7PTF6PTF5/TPM2CH1PTF4/TPM2CH0PTF3/TPM1CH5PTF2/TPM1CH4PTF1/TPM1CH3PTF0/TPM1CH2PTG6/EXTALPTG5/XTALPTG4/KBI1P4PTG3/KBI1P3PTG2/KBI1P2PTG1/KBI1P1PTG0/KBI1P0PORTGPORTEPTE3/TPM1CH1PTE2/TPM1CH0SPSCK1MOSI1MISO1SS1TPM1CLKTPM1CH5-TPM1CH0AD1P7-AD1P08AD1P15-AD1P8KBI1P53TPM2CH1-TPM2CH02KBI1P4-KBI1P056VDDADVSSADVREFLVREFHVDDVSS注:.对于作为输入的I/O管脚,可以通过软件为其配置内部上拉电阻;2.如果允许IRQ(IRQPE=1),那么IRQ管脚可以通过软件配置内部上拉/下拉电阻,如果选择了上升沿触发(IRQEDG=1),那么允许内部下拉电阻;3.IRQ管脚没有钳位二极管连接到VDD,IRQ管脚电压不能超过VDD;4.所有管脚具有内部上拉电阻;PTD7,PTD3,PTD2和PTD4管脚同时具有内部上拉和下拉电阻,当允许KBI(KBIPEn=1)并且选择上升沿触发时,将允许内部下拉电阻。EXTALXTAL
第10页:看门狗(
看门狗(
- 看门狗(Wathdog)复位
- 例:FreescaleHCS08
- HCS08系列MCU内部的看门狗(COP,Computeroperatingproperly)实质上是一个计数器,它从0开始对总线时钟BUSCLK脉冲进行加1计数,即每一个BUSCLK脉冲,COP计数器加1,当COP计数器计满213个或218个BUSCLK脉冲,就会产生COP复位,使得MCU重新开始执行程序
- 如果在COP计数器计满213个或218个BUSCLK脉冲之前,通过STASRS指令周期性地清零COP计数器,那么就不会产生COP复位
- 也就是说,如果在用户程序中周期性地执行STASRS指令,并且执行周期小于213个或218个BUSCLK脉冲周期,那么只要用户程序正常运行,COP就不会复位,而一旦由于外界干扰使得用户程序“跑飞”,那么经过213个或218个BUSCLK周期,就会产生COP复位使得系统重新开始运行程序
第11页:FreescaleHCS08COP原理
FreescaleHCS08COP原理
- FreescaleHCS08COP原理
- COP清0指令:STASRS;清零COP,并不改变SRS值
- COP寄存器
- 思考:如何禁止COP
- CLRA
- STASOPT软件喂狗:一定要在COP计数器计满213个或218个BUSCLK之前周期性执行才行
第12页:专用的复位管理
专用的复位管理
- 专用的复位管理IC
- RC上电复位可靠性一般,如果上电稳定太慢、或电源不稳定时,不能保证输出有效的复位信号
- 处理器本身没有复杂、有效的复位管理机制
- 此时可以使用专用复位管理IC
- 复位管理IC实例——MAX705
- 上电复位
- 手动复位
- Watchdog
- 1.25V门限检测
- 4.65V精密电源监测
第13页:复位管理IC实例
复位管理IC实例
第14页:复位管理IC实例
复位管理IC实例
第15页:复位管理IC实例
复位管理IC实例
第16页:复位管理IC实例
复位管理IC实例
第17页:复位管理IC实例
复位管理IC实例
- 复位管理IC实例——MAX705
- 典型应用电路喂狗:由处理器指令控制GPIO管脚,产生喂狗脉冲信号,若程序跑飞则不能喂狗而导致复位,从而使处理器恢复正常
第18页:复位管理IC实例
复位管理IC实例
第19页:系统异常复位
系统异常复位
第20页:阅读
阅读
- 课后作业
- 阅读
- 借阅:杨明.FreescaleHCS08单片机原理及应用.5.1节内容
- 阅读MAX705的数据手册:MAX705.PDF
第21页:IIC总线规范
IIC总线规范
- 内容
- 复位管理
- IIC总线规范
- 实时时钟(RTC
- RS-232
第22页:I2C总线规范
I2C总线规范
第23页:原理框图
原理框图
- I2C应用实例——小型视频记录器(硬盘录像机
- 原理框图SlideFIC8120MPEG-4视频编码SOCSAA7113视频A/DSDRAMFlashIDE硬盘RS-232驱动DM9161E以太网物理层接口摄像机CVBS视频输入RS-232接口接串口终端10/100Mbps以太网接口CCIR-656数字视频总线I2C控制总线22模拟视频数字视频
第24页:FIC8120与视频A/D接口I2C总线
FIC8120与视频A/D接口I2C总线
第25页:FIC8120与视频A/D接
FIC8120与视频A/D接
- I2C应用实例——小型视频记录器(硬盘录像机
- FIC8120与视频A/D接口CCIR-656数字视频总线I2C总线
第26页:什么是
什么是
- 什么是I2C
- I2C,即InterIC,是Philips一种简单的双向两线总线,用于IC之间的信息通信
- I2C只有两根信号线,因此最大程度简化了芯片之间的连接,使电路板的设计、制造更简单
- I2C常用于处理器与外部控制器、处理器与串行存储器、甚至处理器与处理器之间的信息(命令)交互.2I2C总线规范
第27页:I2C常用术语
I2C常用术语
第28页:I2C特点
I2C特点
- I2C特点
- 总线只有两个信号:SDA和SCL
- I2C是一个多主设备总线,具有总线仲裁机制
- 总线上每个从设备具有唯一的地址,主设备根据地址选择操作的目的设备
- 总线定义三种传输速率:标准模式下可达100kbit/s;快速模式下可达400kbit/s;高速模式下可达3.4Mbit/s
- 片上滤波器可以滤去数据线上的毛刺,提高数据传输的可靠性
- 同一I2C总线上可以挂接的芯片数量只受到总线400pF最大负载电容限制.2I2C总线规范
第29页:I2C信号
I2C信号
- I2C信号
- I2C总线由两个信号组成:SCL(串行时钟)和SDA(串行数据
- SDA和SCL都是双向信号,电路中通过电阻上拉到正电源,总线空闲时都是高电平
- SDA的数据位在SCL的同步下传输
- 同一I2C总线上各节点的SDA、SCL输出都是集电极开路(OC)或漏极开路(OD)的,信号具有“线与”功能.2I2C总线规范
第30页:线与:多个OC/OD门输出连在一起
线与:多个OC/OD门输出连在一起
- 线与:多个OC/OD门输出连在一起,其中一个为低,所有的都为低
- I2C信号
- 集电极开路(OC)或漏极开路(OD)+5V输入输出输出输入为0时开关闭合;输入为1时开关断开+5V输出(b)(a)(c)T1T2RRL
第31页:I2C总线信号连接原理SCL输出
I2C总线信号连接原理SCL输出
I2C总线信号连接原理SCL输出SCL输入SDA输出SDA输入
第32页:I2C总线拓扑结构
I2C总线拓扑结构
- I2C总线拓扑结构SCLSDA微处理器ALCD驱动器静态RAM微处理器BA/D转换串行EEPROM
第33页:I2C电路实例CPU串行
I2C电路实例CPU串行
第34页:I2C总线信号时序
I2C总线信号时序
- I2C总线信号时序
- 一个标准的IIC通信由下列四部分组成
- START信号
- 从设备地址发送
- 数据传输
- STOP信号主器件首先产生START信号发起通信;然后主器件发送期望通信的从器件的地址(7位)和读写信息(1位);主器件接收到从器件发出的确认(ACK)信息后,进行字节信息的传递;所有信息传递完毕,主器件产生STOP信号结束通信
第35页:I2C总线信号时序:一个标准的IIC通信
I2C总线信号时序:一个标准的IIC通信
第36页:I2C总线信号时序
I2C总线信号时序
第37页:I2C总线信号时序
I2C总线信号时序
- I2C总线信号时序
- 一个标准的IIC通信由下列四部分组成
- START信号
- 从设备地址发送
- 数据传输
- STOP信号紧跟在START信号之后,主设备发送的的第一个字节数据是从设备的地址信息。在一个系统中的两个从设备不能具有相同的地址。在这个7位的呼叫地址之后还跟着1位R/W位。R/W位用于把主设备所期望的数据传输方向告诉从设备:1=主设备读,0=主设备写
第38页:I2C总线信号时序
I2C总线信号时序
- I2C总线信号时序
- 一个标准的IIC通信由下列四部分组成
- START信号
- 从设备地址发送
- 数据传输
- STOP信号应答(Acknowledge):只有从设备的地址和主设备发出的呼叫地址相同,此从设备才能通过发回一个Acknowledge位来准备响应主设备。Acknowledge位是指从设备在第9个时钟周期把SDA拉低
第39页:I2C总线信号时序:I2C从设备地址发送
I2C总线信号时序:I2C从设备地址发送
第40页:I2C总线信号时序:I2C总线的设备寻址
I2C总线信号时序:I2C总线的设备寻址
第41页:I2C从设备地址发送
I2C从设备地址发送
第42页:I2C总线信号时序
I2C总线信号时序
- I2C总线信号时序
- 一个标准的IIC通信由下列四部分组成
- START信号
- 从设备地址发送
- 数据传输
- STOP信号I2C是串行数据总线,SCL每个时钟周期传输一个数据位;数据传输过程中,SDA信号只有在SCL为低电平时才允许改变;数据传输过程中,SCL为高电平时,SDA必须保持稳定状态;地址信息传输时也是如此,否则就是START或STOP信号SDASCL为低电平时数据才可改变SCL为高电平时数据必须保持稳定SCL
第43页:I2C总线信号时序
I2C总线信号时序
- I2C总线信号时序
- 一个标准的IIC通信由下列四部分组成
- START信号
- 从设备地址发送
- 数据传输
- STOP信号一个字节8个二进制位,MSB在前,LSB在后,按位传输每个字节后都要有一个应答位,应答由接收器发出如果SLAVE因事(如处理中断)不能收/发下一个完整的字节,可将SCL拉到低电平,从而使Master进入等待状态SDASCL为低电平时数据才可改变SCL为高电平时数据必须保持稳定SCL
第44页:I2C总线信号时序:数据传输
I2C总线信号时序:数据传输
第45页:I2C总线信号时序
I2C总线信号时序
- I2C总线信号时序
- START命令之后,master紧跟着发出控制字节,其中包含slave地址和读写控制信息START地址读/写应答STOP数据1应答数据2应答
第46页:I2C可能的数据传输格式
I2C可能的数据传输格式
第47页:在第一个控制字节后
在第一个控制字节后
- I2C可能的数据传输格式2
- 在第一个控制字节后,主机立即读从机数据。在第一次响应后,主机发送器变成主机接收器,从机接收器变成从机发送器
- 第一次响应仍由从机产生
第48页:I2C可能的数据传输格式3:复合格式
I2C可能的数据传输格式3:复合格式
- I2C可能的数据传输格式3
- 复合格式:传输改变方向的时侯起始条件和从机地址都会被重复,但R/W位取反读写方向改变
第49页:I2C的时钟同步
I2C的时钟同步
- I2C的时钟同步
- 所有主机在SCL线上产生它们自己的时钟来传输I2C总线上的报文
- 数据只在时钟的高电平周期有效
- 不同device的SCL信号通过线与连接I2Cmaster2时钟SCL实际状态master1时钟
第50页:I2C的仲裁–I2C没有中央主机
I2C的仲裁–I2C没有中央主机
I2C的仲裁–I2C没有中央主机,总线也没有任何定制的优先权–主机只能在总线空闲的时侯启动传送–当SCL线是高电平时,仲裁在SDA线发生;在其他主机发送低电平时,发送高电平的主机将断开它的数据输出级,因为总线上的电平与它自己的电平不相同SDA实际总线信号SCL主设备2DATA2主设备1DATA1因为SDA信号与自己试图驱动的状态不一致,主设备1在此失去总线控制高低起始条件
第51页:I2C应用实例
I2C应用实例
- I2C应用实例:24C01
- 嵌入式系统中广泛应用串行EEPROM
- 24Cxx是一个I2C接口串行EEPROM系列
- 24Cxx包括:24C01(128B)、24C02(256B)、24C04(512B)、24C08(1024B)、24C16(2048B
- 下面以24C01为例进行讨论
第52页:I2C应用实例
I2C应用实例
第53页:管脚功能说明功能引脚名称工作
管脚功能说明功能引脚名称工作
- I2C应用实例:24C01
- 管脚功能说明功能引脚名称工作电压范围宽,如1.8V~5.5V,不同厂家产品可能略有差别芯片的电源引脚VCC信号地VSS24C01是I2C总线上可读、可写的从设备I2C总线时钟信号SCLI2C总线数据信号SDAWP为高电平时,芯片被设置为写保护状态,只能读,不能写芯片写保护信号WP对应着芯片I2C地址的低三位,没有外部连接时默认为“0”芯片I2C地址设置A0、A1、A2
第54页:I2C应用实例:
I2C应用实例:
- I2C应用实例:24C01
- 地址设置
- 24C01芯片I2C地址的高4位固定为“1010”
- 通过A0~A2设置I2C地址的低三位
- A0~A2在没有外部连接时默认为“0”,若A0、A1、A2三个引脚悬空,这时芯片的7位I2C地址为“1010000”
- 通过对A0~A2的设置,一个I2C总线上最多可挂接8个24C01芯片MSBLSBR/W#A0A1A20101固定高4位地址可设置低3位地址
第55页:I2C应用实例:
I2C应用实例:
- I2C应用实例:24C01
- 字节写操作
- 24C01有两种写模式:“字节写”和“页写”
- 在“字节写”模式下,I2C主设备(如微处理器)首先发出起始条件和24C01(从设备)的7位地址及读写标志位(此时该位为“0”
- 主设备收到24C01的响应位后,再向24C01发出8位需要写入数据的字节地址
- 主设备收到24C01另一个响应位后,发出要写入的数据
- 24C01再次发出响应位,随后主设备产生停止条件
- 而24C01开始内部数据的擦写,在内部擦写过程中,24C01不再响应主设备的任何操作.2I2C总线规范
第56页:字节写操作数停地写寻起据止址
字节写操作数停地写寻起据止址
- I2C应用实例:24C01
- 字节写操作数停地写寻起据止址标址始应条应志应条答件答位答件24C01地址1010XXX0字节的目的地址需要写入的数据
第57页:页写操作–“页写”模式下
页写操作–“页写”模式下
- I2C应用实例:24C01
- 页写操作–“页写”模式下,24C01可一次写入8个字节数据–数据“页写”操作的启动和“字节写”一样–不同之处在于主设备传送了1个字节数据后并不产生停止条件,而是连续再发送7个字节的数据,最后才给出停止条件–如果在发送停止条件之前主器件发送超过8个字节,最后面的数据会覆盖最前面的数据–在接收到8字节数据和主器件发送的停止条件后,24C01启动内部写周期将数据写到数据区起始条件写寻标址志应位答24C01地址1010XXX0字节的目的地址地址应答数据应答数停据止应条答件数据应答数据0数据1数据7ss
第58页:“立即地址读”
“立即地址读”
- I2C应用实例:24C01
- “立即地址读”
- 24C01有三种读操作:“立即地址读”、“选择读”和“连续读”
- 24C01内部有地址计数器,每次读一个字节数据后,地址计数器加1,指向下一个字节的地址
- “立即地址读”操作中,主设备总线发出总线起始条件、从设备地址和读标志位(为“1”),对应地址上的24C01给出响应位后,将当前地址的一个字节数据发给主设备
- 主设备接收到一个字节的数据后,给出“非响应位”(即保持SDA为高电平),随后发出停止条件,结束总线操作.2I2C总线规范
第59页:“立即地址读”无停读寻起应止
“立即地址读”无停读寻起应止
- I2C应用实例:24C01
- “立即地址读”无停读寻起应止标址始答条志应条件位答件24C01地址1010XXX1当前地址的数据
第60页:I2C应用实例:
I2C应用实例:
- I2C应用实例:24C01
- “选择读”
- 主设备可以读24C01的任意地址
- 主设备首先向总线发出起始条件,并以写操作的形式寻址24C01
- 得到响应后,向24C01写入要读取的字节地址
- 再次得到24C01的响应后,主设备发出重复起始条件
- 并用读操作的形式再次寻址24C01
- 24C01在发出响应位后,即可输出对应地址的一个字节数据
- 主设备在接收到需要的数据后,给出“非响应位”,结束本次总线操作.2I2C总线规范
第61页:“选择读”无停读寻地重写寻起
“选择读”无停读寻地重写寻起
- I2C应用实例:24C01
- “选择读”无停读寻地重写寻起应止标址址复标址始答条志应应起志应条件位答答始位答件24C01地址1010XXX0字节所在地址n地址n对应的数据24C01地址1010XXX1
第62页:I2C应用实例:
I2C应用实例:
- I2C应用实例:24C01
- “连续读”
- “连续读”操作可通过“立即读”和“选择读”操作启动
- 在24C01发送完一个8位字节数据后,主设备产生一个响应位(单个字节的读操作中主设备发出“非响应位”),告知24C01主设备要求连续地读下一个字节的数据
- 对应主设备产生的每个响应位,24C01将发送一个8位数据字节
- 当主设备不发送响应位、而发出停止位时结束此次总线“连续读”操作.2I2C总线规范
第63页:“连续读”起始条件
“连续读”起始条件
- I2C应用实例:24C01
- “连续读”起始条件24C01地址1010XXX1数据0数据1ss无停数数读寻应止据据标址答条应应志应件答答位答数据n
第64页:I2C总线规范
I2C总线规范
第65页:I2C应用实例:
I2C应用实例:
- I2C应用实例:24C01SCL时钟信号SDA数据信号I2C信号上拉电阻
第66页:I2C总线规范
I2C总线规范
第67页:借阅:杨明
借阅:杨明
- 课后作业
- 阅读
- 借阅:杨明.FreescaleHCS08单片机原理及应用.13章内容
- 学习I2C总线标准
- 研究24CXX芯片数据手册
- 思考
- 用单片机的IO管脚实现I2C主设备的读、写,根据I2C协议,如何编写相关C语言代码
- 用FPGA的IO管脚实现I2C主设备的读、写,根据I2C协议,如何编写相关Verilog代码
第68页:实时时钟
实时时钟
- 内容
- 复位管理
- IIC总线规范
- 实时时钟(RTC
- RS-232
第69页:时钟实例
时钟实例
第70页:嵌入式系统需要实时时钟
嵌入式系统需要实时时钟
第71页:什么是RTC:RTC
什么是RTC:RTC
- 什么是RTC
- RTC:RealTimeController
- 在计算机中,RTC为系统提供不间断的时间信息:年、月、日、时、分、秒
- 实时时钟(RTC)通常由电池供电,系统主电源掉电后RTC在电池的支持下照常进行时间计数
- RTC工作电流很小,甚至不到1uA,一颗纽扣电池可让RTC持续工作若干年
- 在很多嵌入式系统中,RTC是一个必须的功能.3实时时钟(RTC
第72页:RTC的实现方式
RTC的实现方式
- RTC的实现方式
- RTC是一个电池供电的独立功能模块,可能是一个独立的芯片,也可能是一个“大”芯片中的一个功能部分
- RTC主要包括时钟发生器、计数器、寄存器及接口单元几个部分
- 对独立芯片形式的RTC,CPU一般通过串行总线与其进行通讯,实现时间设置、时间获取.3实时时钟(RTC
第73页:时钟实例:
时钟实例:
时钟实例:S3C2410处理器中的RTC(RTC)ARM920T处理器核AHB至APB桥控制器SDRAM控制器LCD控制器···RTC实时时钟···I2C控制器APB总线AHB总线
第74页:时钟实例:S
时钟实例:S
第75页:实时时钟
实时时钟
第76页:时钟实例:S
时钟实例:S
- 时钟实例:S-35390ARTC
- 特点
- 内置32.768kHz石英振荡电路宽工作电压:1.3V~5.5V
- 内置稳压电路
- I2C串行总线
- 支持定时中断
- 内置到2099年为止的自动日历,润年自动运算功能
- 应用
- 数码相机、摄像机、手机
- 仪器仪表
- 影碟机
- 汽车电子
- 其它嵌入式系统.3实时时钟(RTC
第77页:S-35390A的晶体振荡电路
S-35390A的晶体振荡电路
第78页:典型应用
典型应用
第79页:实际应用电路
实际应用电路
第80页:实际应用电路(RTC)I2C总线
实际应用电路(RTC)I2C总线
第81页:S-35390A的I2C接口通信
S-35390A的I2C接口通信
- 时钟实例:S-35390ARTC
- S-35390A的I2C接口通信(RTC)STA00C2C1起始位S-35390A固定地址11寄存器地址应答位C0R/W#ACK应答位写入或读出的数据STPACKB0B1B2B3B4B5B6B7停止位读写控制位
第82页:S-35390A的I2C指令码
S-35390A的I2C指令码
第83页:S-——“存取实时数据”
S-——“存取实时数据”
第84页:S-(RTC)震荡器分频器/时序发生器
S-(RTC)震荡器分频器/时序发生器
- 时钟实例:S-35390ARTC
- S-35390A原理结构(RTC)震荡器分频器/时序发生器INT1控制器INT1寄存器比较器1秒分时周日月年时钟校正寄存器状态寄存器1状态寄存器2用户自定义寄存器比较器2INT2控制器INT2寄存器I2C接口控制器电压稳压与检测XINXOUTVCCGNDSDASCLINT2INT1实时数据寄存器
第85页:实时时钟
实时时钟
- Y80Y40Y20Y10Y8Y4Y2Y10D1D2D4D8D10D200AM#/PM0H1H2H4H8H10H20m1m2m4m8m10m20m4000S40S20S10S8S4S2S1
- 时钟实例:S-35390ARTC
- S-35390A实时数据寄存器:BCD格式记录年(00~99),如2053年表示为“11001010”月(01~12),如12月表示为“01001000”M1M2M4M8M10000日(01~31),如29日表示为“10010100”周(00~06),用户设定星期与计数器的对应W1W2W400000由AM#/PM位确定“时”表示方式(12/24小时)分(00~59),如32分表示为“01001100”秒(00~59),如19秒可表示为“10011000”
第86页:S-35390A状态寄存器
S-35390A状态寄存器
- 时钟实例:S-35390ARTC
- S-35390A状态寄存器1B7B6B5B4B3(RTC)POCBLDINT2INT1SC1SC012#/24RESETB0B1B2RRRRR/W#WR/W#R/W#R:ReadonlyW:WriteonlyR/W#:Read/Write
第87页:S-(RTC)B/W#R/W#R
S-(RTC)B/W#R/W#R
- 时钟实例:S-35390ARTC
- S-35390A状态寄存器2(RTC)B0B1B2B3B4B5B6B7TESTINT2AEINT2MEINT2FE32KEINT1AEINT1MEINT1FER/W#R/W#R/W#R/W#R/W#R/W#R/W#R/W#R/W#:Read/Write
第88页:中断寄存器闹钟时间数据格式
中断寄存器闹钟时间数据格式
- 时钟实例:S-35390ARTC
- 中断寄存器闹钟时间数据格式
- 12小时计时,每天下午7:00闹钟,设置“xxxxxxx01110001100000001”
- 24小时计时,每天下午19:00闹钟,设置为“xxxxxxx01001101100000001”(RTC
第89页:中断寄存器自定义频率数据格式
中断寄存器自定义频率数据格式
- 时钟实例:S-35390ARTC
- 中断寄存器自定义频率数据格式(RTC)4Hz8Hz16HzSC2SC3SC4B0B1B2B3B4B5R/W#R/W#R/W#R/W#R/W#R/W#中断1寄存器B7B61Hz2HzR/W#R/W#4Hz8Hz16HzSC5B0B1B2B3B4B5B6B7R/W#R/W#SC6SC7R/W#R/W#R/W#:Read/WriteR/W#R/W#1Hz2HzR/W#R/W#中断2寄存器
第90页:S-35390A的数据手册
S-35390A的数据手册
- 课后作业
- 阅读
- S-35390A的数据手册:S-35390A.pdf
第91页:RS
RS
- 内容
- 复位管理
- IIC总线规范
- 实时时钟(RTC
- RS-232
- 基本概念
- PC中的RS-232
- 51单片机中的RS-232
- Freescale单片机中的RS-232
第92页:RS-232基本概念
RS-232基本概念
- RS-232基本概念
- RS-232串行通讯接口标准全称:“数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准"通讯介质DTEDTE
- RS-232是EIA(电子工业联合会)制定的异步串行接口标准
- RS-232是各类计算机中普遍存在的通信接口
- 嵌入式系统中,RS-232常用于系统调试、数据通信DCEDCERS-232RS-232
第93页:RS-232在嵌入式开发中的应用
RS-232在嵌入式开发中的应用
- RS-232在嵌入式开发中的应用
- 嵌入式系统中RS-232功能
- 数据通信
- 程序下载
- 系统控制台
- …RJ-45以太网开发板RJ-45RS232
第94页:ARM7开发板调试环境实例
ARM7开发板调试环境实例
第95页:HCS08开发板调试环境实例
HCS08开发板调试环境实例
第96页:RS-232软件
RS-232软件
- RS-232在嵌入式开发中的应用
- RS-232软件:Windows的超级终端
- 超级终端是嵌入式系统调试常用的工具。另外还有secureCRT等工具可选
第97页:RS-232软件
RS-232软件
第98页:RS-232软件:串口调试助手, ……
RS-232软件:串口调试助手, ……
第99页:RS-:串口调试助手, ……
RS-:串口调试助手, ……
第100页:RS-232实时数据传输实例
RS-232实时数据传输实例
- RS-232在嵌入式开发中的应用
- RS-232实时数据传输实例图像分析检测结果CIS管DSP图像采集与分析点超机主控单片机机械控制RS-232计算机A计算机B
第101页:RS-232串行接口
RS-232串行接口
- RS-232在嵌入式开发中的应用
- RS-232实时数据传输实例A/DTMS320DM6437DDR-IICPLDSRAMJTAGRS-232RS-232驱动器
第102页:RS-232是全双工总线
RS-232是全双工总线
第103页:信号定义(DB9)计算机上为
信号定义(DB9)计算机上为
信号定义(DB9)计算机上为male(公)123456789
第104页:起止式异步串行通信协议0/10/10/
起止式异步串行通信协议0/10/10/
起止式异步串行通信协议0/1
第105页:波特率
波特率
- 波特率
- 在串行通信中,用“波特率”来描述数据的传输速率
- 波特率,即每秒钟传送的二进制位数,其单位为bps(bitspersecond
- 接收方的接收波特率必须与发送方的发送波特率相同
第106页:串口字节传输速率
串口字节传输速率
- 串口字节传输速率
- “起始位+数据+校验位+停止位”
- 在异步串行通信中,若传送一个字符包括12位:1个起始位,8个数据位,1个校验位,2个停止位。其传输速率是1200b/s,则每秒所能传送的字节数是1200/(1+8+1+2)=100
第107页:TxD
TxD
RS-232的三线制连接(近距离)TxD
第108页:电话机
电话机
RS-232与MODEM之间的连接(远距离)调制解调器电话机
第109页:连接MODEM时的信号意义说明方向引脚
连接MODEM时的信号意义说明方向引脚
连接MODEM时的信号意义说明方向引脚MODEM通知计算机检测到载波MODEM至计算机CD计算机接收MODEM数据MODEM至计算机RxD计算机向MODEM发送数据计算机至MODEMTxD计算机通知MODEM可以传输计算机至MODEMDTR信号地GNDMODEM通知计算机READYMODEM至计算机DSR计算机请求MODEM将数据送出计算机至MODEMRTSMODEM通知计算机可送出数据MODEM至计算机CTSMODEM通知计算机电话打入MODEM至计算机RI
第110页:RS-232的信号电平定义
RS-232的信号电平定义
- RS-232的信号电平定义
- RS-232信号是负逻辑,正电平为“0”,负电平为“1”
第111页:RS-232信号是负逻辑
RS-232信号是负逻辑
- RS-232的信号电平定义
- RS-232信号是负逻辑,正电平为“0”,负电平为“1”
- 与传统的TTL等数字电路的逻辑电平不兼容,两者之间必须使用电平转换IC
第112页:RS-232的信号电平转换
RS-232的信号电平转换
第113页:RS-232收发器
RS-232收发器
第114页:RS-232的流控制
RS-232的流控制
- RS-232的流控制
- “流”,指的是数据流
- 流控制可以控制数据传输的进程,防止数据的丢失(如缓冲区溢出
- PC机中常用的两种流控制是硬件流控制(包括RTS/CTS、DTR/CTS等)和软件流控制XON/XOFF(继续/停止
- 硬件流控制常用的有RTS/CTS流控制和DTR/DSR
- 软件流控制:当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符(十进制的19或Control-S),发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符(十进制的17或Control-Q),发送端收到XON字符后就立即开始发送数据
第115页:RS-232通信端口的初始化
RS-232通信端口的初始化
- RS-232通信端口的初始化
- 数据传送单位:每个数据的位数,5/6/7/8
- 起始位:1位。逻辑值“0”
- 停止位:1/1.5/2。逻辑值“1”
- 校验位:奇校验或偶校验,检查数据中“1”奇/偶数1001110010011100100111000100111001偶校验奇校验
第116页:RS-232通信实现
RS-232通信实现
- RS-232通信实现
- 计算机实现串行通信需要专门的接口控制器
- 由于CPU与接口控制器之间按并行方式传输,接口控制器与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串→并)和“发送移位寄存器”(并→串)串并转换并串转换地址信号嵌入式处理器数据信号控制信号TTL/CMOS电平RS-232电平RS-232电平RxDTxDRS-232接口控制器RS-232接口驱动器TTL/CMOS电平
第117页:ARM7开发板中的
ARM7开发板中的
- ARM7开发板中的RS-232串口SP3232(MAX3232C
第118页:ARM7开发板中的RS-232串口
ARM7开发板中的RS-232串口
第119页:PC中的RS-232串口控制
PC中的RS-232串口控制
- PC中的RS-232串口控制
- COM口寄存器
- 端口地址3F8H和3F9H复用,故使用线路控制寄存器LCR(37BH)中的最高位bit7——DLAB来控制区分
第120页:COM口寄存器用于选择
COM口寄存器用于选择
- PC中的RS-232串口控制
- COM口寄存器用于选择3F8H和3F9H用途用于设定通信数据帧格式3FBH
第121页:COM口寄存器
COM口寄存器
- PC中的RS-232串口控制
- COM口寄存器
- 8250的基准时钟频率为1.8432MHz,内部操作的时钟频率是波特率的16倍,于是有以下算式﹕分频比=1.8432MHz÷(16×波特率)=115.2÷波特率(kbps
- 表8.4列出了8种标准波特率的分频比值。用于设定通信波特率3F9H/3F8H
第122页:COM口寄存器.4RS-232串行接口
COM口寄存器.4RS-232串行接口
第123页:PC中的RS-232串口控制
PC中的RS-232串口控制
第124页:COM口编程
COM口编程
- PC中的RS-232串口控制
- COM口编程
- 通过线路控制寄存器(3FBH)设定数据传送的格式
- 选定好通信波特率,通过分频比寄存器(3F9H/3F8H)设定波特率分频比
- 若用中断方式检测数据收/发,则初始化中断请求允许寄存器(3F9H:DLAB=0时
- 若用Modem方式通信,则对Modem控制寄存器(3FCH)进行初始化。.4RS-232串行接口
第125页:[例]若COM1口采用“1位
[例]若COM1口采用“1位
- PC中的RS-232串口控制
- COM口编程
- [例]若COM1口采用“1位起始位+8位数据位+1位停止位,无校验位”的数据帧格式,9600Baud,编写初始化程序段。;线路控制寄存器;选用分频Regs,无校,8位MOVDX,3FBHMOVAL,10000011BOUTDX,ALMOVAL,00HMOVDX,3F9HOUTDX,ALMOVAL,0CHMOVDX,3F8HOUTDX,AL;表8.4——9600Baud;分频Regs高位;表8.4——9600Baud;分频Regs低位
- 可以通过高级语言中:串行通信控件MSCOMM、MFCCFile类、WindowsAPI等进行串行通信的程序开发
第126页:xDT
xDT
51单片机中的RS-232中断请求运算器控制器4KBROM128BRAM总线控制器4组I/O扩展片内震荡器中断控制器2个定时器RS-232串口片外晶体控制信号P0P2P1P3RxDT
第127页:51单片机中的
51单片机中的
- 51单片机中的RS-232
- 结构框图及功能●通过引脚RXD和TXD进行串行数据收发;端)与外界进行通信。●有两个物理上独立的接收、发送缓冲器SBUF,它们占用同一地址99H,可同时发送、接收数据。●发送缓冲器只能写入,不能读出,CPU写SBUF,一方面修改发送寄存器,同时启动数据串行发送;●接收缓冲器只能读出、不能写入。读SBUF,就是读接收寄存器
第128页:51单片机中的RS-232:寄存器
51单片机中的RS-232:寄存器
第129页:寄存器
寄存器
第130页:51单片机中的RS-232:程序流程
51单片机中的RS-232:程序流程
第131页:51单片机中的RS-232:程序流程
51单片机中的RS-232:程序流程
第132页:51单片机中的RS-232:程序流程
51单片机中的RS-232:程序流程
第133页:51单片机中的RS-232:程序流程
51单片机中的RS-232:程序流程
第134页:编程举例:接线如图
编程举例:接线如图
- 51单片机中的RS-232
- 编程举例:接线如图,编一个自发自收程序,检查单片机的串行口是否完好,f=12MHz,波特率=600。89C51RXDTXDP1.0●取SMOD=0,依据公式波特率=1fosc3212(256x)求得x=204=CCH
第135页:编程举例#
编程举例#
- 51单片机中的RS-232
- 编程举例#include<reg51.h
- Main{unsignedintI;TMOD=0x20;TH1=0xcc;TL1=0xcc;//初始化T1TR1=1;//无限循环执行一下发送和接收语句SCON=0x50;While(1){TI=0;P1=0xfe;//LED灭for(I=0;I<10000;I++);//延时SBUF=0xff;//发送数据FFHwhile(RI==0);//RI=0等待RI=0;// RI=1清RIP1=SBUF;//接收数据并送P1口,灯亮while(TI==0);//TI=0等待for(I=0;I<10000;I++);//延时}}
第136页:MC9S08AW60系列包含
MC9S08AW60系列包含
- FreescaleHCS08中的RS-232
- MC9S08AW60系列包含两个独立的串行通信接口(SCI,SerialCommunicationInterface)模块,分别和端口E、端口C的管脚复用
第137页:内部结构
内部结构
- FreescaleHCS08中的RS-232
- 内部结构
- 波特率生成器SCI波特率=BUSCLK/(SBR[12:0]x16)其中,SBR[12:0]由SCI波特率寄存器SCIxBDH/L设定
第138页:HCS08:RS-232:内部结构
HCS08:RS-232:内部结构
- HCS08:RS-232
- 内部结构
- 发送器通过设置SCIxC2中的TE位为1来允许发送器;通过写SCI数据寄存器SCIxD可以把数据存储到发送数据缓冲器中
第139页:HCS08:RS-232:接收器
HCS08:RS-232:接收器
- HCS08:RS-232
- 内部结构
- 接收器.4RS-232串行接口通过设置SCIxC2中的RE位为1来允许接收器;RDRF——接收数据满标志
第140页:HCS08单片机RS-232模块的寄存器
HCS08单片机RS-232模块的寄存器
第141页:RS-232串行接口
RS-232串行接口
第142页:RS-232串行接口
RS-232串行接口
第143页:HCS08单片机
HCS08单片机
- HCS08单片机RS-232模块的寄存器.4RS-232串行接口
第144页:HCS08单片机
HCS08单片机
- HCS08单片机RS-232模块的寄存器.4RS-232串行接口
第145页:HCS08单片机
HCS08单片机
- HCS08单片机RS-232模块的寄存器.4RS-232串行接口
第146页:HCS08单片机
HCS08单片机
- HCS08单片机RS-232模块的寄存器.4RS-232串行接口
第147页:RS-232串行接口
RS-232串行接口
第148页:RS-232串行接口
RS-232串行接口
第149页:RS-232串行接口
RS-232串行接口
第150页:RS-232串行接口
RS-232串行接口
第151页:此寄存器实际上是两个独立的寄存器
此寄存器实际上是两个独立的寄存器
- HCS08单片机RS-232模块的寄存器
- 此寄存器实际上是两个独立的寄存器:SCI接收数据寄存器和SCI发送数据寄存器。读操作返回只读型接收缓冲器中的内容,而写操作把数据写入只写型发送数据缓冲器中。对此寄存器的读写操作还和SCI状态标志位的自动清零机制相关联
第152页:HCS08单片机RS-232模块使用设置
HCS08单片机RS-232模块使用设置
- HCS08单片机RS-232模块使用设置
- 根据通信双方的波特率,设定SCI波特率寄存器SCIxBD中分频因子。需要先写SCIxBDH,再写SCIxBDL
- 更新SCI控制寄存器1(SCIxC1),设定环路模式、8位还是9位数据位、是否允许硬件奇偶校验等,如无特别需求,可取其缺省值而不做设定
- 更新SCI控制寄存器2(SCIxC2)来允许发送、接收,以及是否允许发送中断和接收中断等
- 如需要,更新SCI控制寄存器3(SCIxC3),再对发送数据是否取反、是否允许错误中断等进行设定
第153页:允许SCI发送之后
允许SCI发送之后
- HCS08单片机RS-232模块使用设置
- 允许SCI发送之后,通过读SCI状态寄存器1(SCIxS1)判断其中的TDRE位是否为1来判断发送数据寄存器是否为空,当发送数据寄存器为空时,可以写发送数据到发送数据寄存器SCIxD
- 写发送数据到SCIxD之后,通过查询或中断方式判断SCIxS1中的发送完成标志位TC是否为1来判断当前数据是否发送完成,当前字符发送完成后,可以回到上一步继续下一个数据的发送
- 允许SCI接收之后,通过查询或中断方式判断SCIxS1中的接收数据寄存器满标志位RDRF是否为1来判断是否接收到了新数据,当接收到新数据时,读寄存器SCIxD来保存新数据,之后还要通过清零RDRF的操作清零RDRF标志位
第154页:MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$1860处存储了一字符串“
第155页:MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$1860处存储了一字符串“FreescaleSemiconductor”,试通过PC机的COM口,将此字符串发送给PC。试编写软件代码。设总线时钟为4MHz。查询方式参考代码:;包含头文件MC9S08AW60.inc$0070ORGINCLUDE;发送一次字符串标志1DSSend_Flag$1860ORGSend_CharDC.B$0A,$0D,‘FreescaleSemiconductor’;SCI1模块初始化子程序;先写高8位,再写低8位#$00,SCI1BDHMOVSCI1_Init:;4MHz总线时钟产生9600baud#$1A,SCI1BDLMOV;禁止环路模式,8位数据#$00,SCI1C1MOV;允许发送和接收,禁止收发中断#$0C,SCI1C2MOV;禁止所有SCI错误中断,Tx输出不取反;IRQ模块初始化#$00,SCI1C3MOVRTSIRQ_Init
第156页:MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$1860处存储了一字符串“FreescaleSemiconductor”,试通过PC机的COM口,将此字符串发送给PC。试编写软件代码。设总线时钟为4MHz。查询方式参考代码:.4RS-232串行接口;IRQ模块初始化#%0001
第157页:MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$1860处存储了一字符串“FreescaleSemiconductor”,试通过PC机的COM口,将此字符串发送给PC。试编写软件代码。设总线时钟为4MHz。查询方式参考代码:.4RS-232串行接口;禁止看门狗SOPTSTA;发送标志初始化#$00,Send_FlagMOV;IRQ管脚初始化IRQ_InitJSR;初始化SCI1,8位数据,9600baudSCI1_InitJSR;是否需要发送字符串7,Send_Flag,*BRCLRAgain:;发送标志清零#$00,Send_FlagMOVCLRX;查表Send_Char,XLDASend:;等到发送寄存器空(TDRE=1)为止7,SCI1S1,*BRCLR;发送字符SCI1DSTA;等到发送完成(TC=1)为止6,SCI1S1,*BRCLRINCX;所有字符是否发送完#$17CPX;未发完继续发送下一个字符SendBNE
第158页:MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$
MC9S08AW60内部Flash地址$1860处存储了一字符串“FreescaleSemiconductor”,试通过PC机的COM口,将此字符串发送给PC。试编写软件代码。设总线时钟为4MHz。查询方式参考代码:Send:;查表Send_Char,XLDA;等到发送寄存器空(TDRE=1)为止7,SCI1S1,*BRCLR;发送字符SCI1DSTA;等到发送完成(TC=1)为止6,SCI1S1,*BRCLR;所有字符是否发送完#$17INCXCPX;未发完继续发送下一个字符SendBNEAgainBRA;IRQ中断向量$FFFAIRQ_ISRORGDC.W;上电复位地址$FFFEMainORGDC.W
第159页:借阅:杨明.
借阅:杨明.
- 课后作业
- 阅读
- 借阅:杨明.FreescaleHCS08单片机原理及应用.5.1节内容
- 阅读MAX705的数据手册:MAX705.PDF
- 借阅:杨明.FreescaleHCS08单片机原理及应用.13章内容
- 学习I2C总线标准
- 研究24CXX芯片数据手册
- S-35390A的数据手册:S-35390A.pdf
- SP3232数据手册:SP3232E.pdf
- MAX3232C数据手册:MAX3232C.pdf
第160页:思考
思考
- 课后作业
- 思考
- 用单片机的IO管脚实现I2C主设备的读、写,根据I2C协议,如何编写相关C语言代码
- 用FPGA的IO管脚实现I2C主设备的读、写,根据I2C协议,如何编写相关Verilog代码
- 实践