第5章_嵌入式系统常用模块设计_第1页
第5章_嵌入式系统常用模块设计_第2页
第5章_嵌入式系统常用模块设计_第3页
第5章_嵌入式系统常用模块设计_第4页
第5章_嵌入式系统常用模块设计_第5页
已阅读5页,还剩153页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1嵌入式系统原理与设计嵌入式系统原理与设计第五讲第五讲 嵌入式系统常用模块设计嵌入式系统常用模块设计 2l嵌入式系统常用外设除了存储设备以外还包括:通信嵌入式系统常用外设除了存储设备以外还包括:通信总线及接口(如总线及接口(如UART、USB、I2C、SPI等)、人机等)、人机交互设备(如交互设备(如LCD、键盘、触摸屏等)、其他输入输、键盘、触摸屏等)、其他输入输出设备(如出设备(如A/D、D/A、PWM等)。等)。 3本章提要本章提要复位电路复位电路 键盘模块设计键盘模块设计 UART异步串口模块设计异步串口模块设计 A/D转换器转换器 触摸屏模块设计触摸屏模块设计 电源模块设计电源模块设

2、计 LCD模块设计模块设计 PWM直流电机控制接口直流电机控制接口 I2C总线接口应用设计总线接口应用设计 45.1电源模块设计电源模块设计5.1.1 电源工作原理电源工作原理l系统工作状态系统工作状态l(1)系统挂起模式)系统挂起模式l 只有只有SDRAM 、处理器功耗管理电处理器功耗管理电路、唤醒电路处于路、唤醒电路处于工作状态工作状态l 图图5-1 系统运行模式的转换系统运行模式的转换 5(1)系统挂起模式)系统挂起模式 只有只有SDRAM 、处理器功耗管理电路、唤醒电路处于工作状态、处理器功耗管理电路、唤醒电路处于工作状态。以下是进入挂起模式的典型步骤。以下是进入挂起模式的典型步骤。l

3、用户指定、超时、低电量状态等因素启动了挂起模式用户指定、超时、低电量状态等因素启动了挂起模式l操作系统调用驱动程序把外设调整到节电状态操作系统调用驱动程序把外设调整到节电状态l处理器为保存的寄存器存入处理器为保存的寄存器存入SDRAMlSDRAM进入自刷新模式进入自刷新模式l处理器进入挂起模式。在该模式下,处理器的主时钟处理器进入挂起模式。在该模式下,处理器的主时钟停止,系统中各供电模块关闭。停止,系统中各供电模块关闭。6(2) 系统关闭状态系统关闭状态 对对ARM系统来说,挂起状态虽然已大大减小了功耗,但系系统来说,挂起状态虽然已大大减小了功耗,但系统在挂起状态下也消耗能量,因而需要一种关闭

4、模式,像系统统在挂起状态下也消耗能量,因而需要一种关闭模式,像系统没有电源一样。这种模式在电池耗尽时可以有效保护电池不被没有电源一样。这种模式在电池耗尽时可以有效保护电池不被损坏;同时可使系统在安装有电池的情况下进行传输和存储。损坏;同时可使系统在安装有电池的情况下进行传输和存储。(3) 软启动软启动 大多数系统需要一种软启动功能,软启动时,处理器被复位大多数系统需要一种软启动功能,软启动时,处理器被复位 ,但,但SDRAM里面的内容仍旧保持。目前,大部分编写式系统都里面的内容仍旧保持。目前,大部分编写式系统都选择在选择在SDRAM中存储用户文件,这是一项非常有用的功能。中存储用户文件,这是一

5、项非常有用的功能。72外设耗电考虑外设耗电考虑 l显示及背光显示及背光l低功耗低功耗SDRAMl音频音频l备用电源备用电源l紧急情况紧急情况l漏电问题漏电问题85.1.2 硬件电路设计硬件电路设计l电源线与地线设计电源线与地线设计(1)电源)电源/电源线设计电源线设计l尽量加粗电源线的宽度尽量加粗电源线的宽度 l电源线、地线的走向和数据线传递的方向一致电源线、地线的走向和数据线传递的方向一致 l模拟电路和数字电路部分要独立供电模拟电路和数字电路部分要独立供电 一种是数字电源与模拟电源,以及数字地与模拟地之一种是数字电源与模拟电源,以及数字地与模拟地之间加铁氧体磁珠或电感构成无源滤波电路,如图间

6、加铁氧体磁珠或电感构成无源滤波电路,如图5-3(a)所示。)所示。 另一种是采用多路稳压器的方法,如图另一种是采用多路稳压器的方法,如图5-3(b)所示)所示。 9图图5-3 电源数电源数/模独立供电设计模独立供电设计10(2)地线设计)地线设计地线设计的原则如下所示。地线设计的原则如下所示。l数字地与模拟地分开。如线路板上既有数字电路又有模数字地与模拟地分开。如线路板上既有数字电路又有模拟电路,则应使它们尽可能分开。低频电路的地应尽量拟电路,则应使它们尽可能分开。低频电路的地应尽量采用单点并联接地,实际布线有困难时可部分串联后再采用单点并联接地,实际布线有困难时可部分串联后再并联接地。高频电

7、路宜采用多点串联接地,地线应粗而并联接地。高频电路宜采用多点串联接地,地线应粗而短,高频元件周围应尽量用栅格状大面积地箔。短,高频元件周围应尽量用栅格状大面积地箔。l接地线应尽量加粗。若接地线用很细的线条,则接地点接地线应尽量加粗。若接地线用很细的线条,则接地点位随电流的变化而变化,使抗噪性能降低。因此应将接位随电流的变化而变化,使抗噪性能降低。因此应将接地线加粗,使它能通过地线加粗,使它能通过3倍于电路板上的允许电流。如有倍于电路板上的允许电流。如有可能,接地线应在可能,接地线应在23mm以上。以上。l接地线构成比环路。只由数字电路组成的印制板,其接接地线构成比环路。只由数字电路组成的印制板

8、,其接地电路布成闭环路大多能提高抗噪声能力。地电路布成闭环路大多能提高抗噪声能力。11(3)电源滤波设计电源滤波设计电源滤波如图电源滤波如图5-4所示。所示。l电源引入出必须考虑低频和高频的滤波。电源引入出必须考虑低频和高频的滤波。l低频滤波电容均匀分布在低频滤波电容均匀分布在PCB上,每个大功率器件应上,每个大功率器件应安装一个安装一个16uF以上的电解电容或钽电容,并由其所放以上的电解电容或钽电容,并由其所放位置处负载的特性及纹波要求来确定适当的容值。位置处负载的特性及纹波要求来确定适当的容值。l元器件的每个(组)电源元器件的每个(组)电源/地均应安装至少一个高频滤地均应安装至少一个高频滤

9、波电容。波电容。l高频滤波电容必须靠近器件的电源高频滤波电容必须靠近器件的电源/地引脚。地引脚。122直流电压产生方法直流电压产生方法在系统中需要使用在系统中需要使用+12VDC、+5VDC、+3.3VDC的直流稳压的直流稳压电源,其中,内核工作需电源,其中,内核工作需3.3V电源,电源,ARM的的IO端口工作和部分端口工作和部分器件需器件需3.3V电源,为电源,为LCD提供提供5V的直流稳压电源。扩展板的电的直流稳压电源。扩展板的电源模块负责提供核心板和扩展板上电路的供电,采用线性稳压源模块负责提供核心板和扩展板上电路的供电,采用线性稳压器。器。这这3种电压的产生方法是种电压的产生方法是+1

10、2VDC从外部直接引入,作为整从外部直接引入,作为整个系统的总电源,一路直接供给作为工作电源,一路分流到个系统的总电源,一路直接供给作为工作电源,一路分流到LM7805的输入端;的输入端;LM7805电源稳压芯片的输出端产生电源稳压芯片的输出端产生+5VDC,一路供给核心板上器件各,一路供给核心板上器件各+5V,一路分流到,一路分流到+3.3VDC稳压芯片稳压芯片ALSlll7的输入端,其输出端产生的输入端,其输出端产生+3.3VDC。还可以采用线性稳。还可以采用线性稳压电源压电源LM1085将将DC 5V转换成转换成2.5V。1314本章提要本章提要复位电路复位电路 键盘模块设计键盘模块设计

11、 UART异步串口模块设计异步串口模块设计 A/D转换器转换器 触摸屏模块设计触摸屏模块设计 电源模块设计电源模块设计 LCD模块设计模块设计 PWM直流电机控制接口直流电机控制接口 I2C总线接口应用设计总线接口应用设计 155.2复位电路复位电路5.2.1 ARM复位原理复位原理1ARM复位源类型复位源类型复位源复位源复位对象复位对象复位逻辑复位逻辑系统配置系统配置时钟模块时钟模块上电复位上电复位是是是是是是外部硬件复位外部硬件复位否否是是是是内部硬件内部硬件复位复位锁相环失锁复位锁相环失锁复位否否是是是是软件看门狗复位软件看门狗复位检错停机复位检错停机复位测试端口硬复位测试端口硬复位JT

12、AGJTAG复位复位否否否否否否外部软件复位外部软件复位否否否否否否内部软件内部软件复位复位调试端口软复位调试端口软复位否否否否否否JTAGJTAG软复位软复位162复位工作原理复位工作原理图图5-6 系统复位过程系统复位过程175.2.2复位硬件电路设计复位硬件电路设计1复位电路原理图 183看门狗软件复位看门狗软件复位 看门狗复位电路主要是利用看门狗复位电路主要是利用ARM正常工作时,定时复位计正常工作时,定时复位计数器,使得计数器的值不超过某一值:当数器,使得计数器的值不超过某一值:当ARM不能正常工作时不能正常工作时,由于计数器不能被复位,因此其计数会超过某一值,从而产,由于计数器不能

13、被复位,因此其计数会超过某一值,从而产生复位脉冲,使得生复位脉冲,使得ARM恢复正常工作状态。恢复正常工作状态。 看门狗复位电路的可靠性主要取决于软件设汁,即将定时问看门狗复位电路的可靠性主要取决于软件设汁,即将定时问复位电路发出脉冲的程序放在何处,在复位电路发出脉冲的程序放在何处,在般设计中,将此段程般设计中,将此段程序放在定时器中断服务子程序中。序放在定时器中断服务子程序中。 19在进行在进行ARM处理器复位电路设计时需要注意如下问处理器复位电路设计时需要注意如下问题:题:l要正确理解上电复位硬件复位、软件复位和测试复位要正确理解上电复位硬件复位、软件复位和测试复位的功能及其之间的区别。当

14、上电复位有效时可以产生处的功能及其之间的区别。当上电复位有效时可以产生处理器内部硬复位和软复位;当硬件复位时,可以产生处理理器内部硬复位和软复位;当硬件复位时,可以产生处理器内部硬复位和软复位;但是,软件复位只能产生处理器器内部硬复位和软复位;但是,软件复位只能产生处理器内部的软复位。内部的软复位。l在进行具有下电模式的低功耗嵌入式系统复位电路设计在进行具有下电模式的低功耗嵌入式系统复位电路设计时,由于要求上电复位电路的供电来自带有电池的保持电时,由于要求上电复位电路的供电来自带有电池的保持电源有效,因此在设计时应尽量选择低功耗器件作为复位电源有效,因此在设计时应尽量选择低功耗器件作为复位电路

15、的主器件。路的主器件。20本章提要本章提要复位电路复位电路 键盘模块设计键盘模块设计 UART异步串口模块设计异步串口模块设计 A/D转换器转换器 触摸屏模块设计触摸屏模块设计 电源模块设计电源模块设计 LCD模块设计模块设计 PWM直流电机控制接口直流电机控制接口 I2C总线接口应用设计总线接口应用设计 215.3.1异步串行通信概述异步串行通信概述lUART(Universal Asynchronous Receiver and Transmitter,通用异步收发器)接口。,通用异步收发器)接口。l而而RS232、RS499、RS423、RS422和和RS485等,等,是物理接口标准规范

16、和总线标准规范,对应各种异步是物理接口标准规范和总线标准规范,对应各种异步串行通信口的接口标准和总线标准,它规定了通信口串行通信口的接口标准和总线标准,它规定了通信口的电气特性、传输速率、连接特性和接口的机械特性的电气特性、传输速率、连接特性和接口的机械特性等内容。等内容。 221异步串行通信协议异步串行通信协议 异步串行方式是将传输数据的每个字符一位接一位异步串行方式是将传输数据的每个字符一位接一位(例如先例如先低位、后高位低位、后高位)地传送。数据的各不同位可以分时使用同一传输地传送。数据的各不同位可以分时使用同一传输通道,因此串行通道,因此串行I/O可以减少信号连线,最少用一对线即可进行

17、可以减少信号连线,最少用一对线即可进行。 1111/01/01/01/01/01/01/01/01100D0D0D0D3D4D5D6第第n个字符个字符空空闲闲位位空空闲闲位位空空闲闲位位停停止止位位奇奇偶偶位位起起始始位位数据位数据位微机异步串行通信中,常用的波特率为微机异步串行通信中,常用的波特率为50,95,110,150,300,600,1200,2400,4800,9600 ,115200等等。23接收方按约定的格式接收数据,并进行检查,一般可以查出接收方按约定的格式接收数据,并进行检查,一般可以查出以下三种错误:以下三种错误:1)奇偶错:在约定奇偶检查的情况下,接收到的字符奇偶)奇偶

18、错:在约定奇偶检查的情况下,接收到的字符奇偶状态和约定不符。状态和约定不符。2)帧格式错:一个字符从起始位到停止位的总位数不对。)帧格式错:一个字符从起始位到停止位的总位数不对。3)溢出错:若先接收的字符尚未被微机读取,后面的字符)溢出错:若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。又传送过来,则产生溢出错。 242异步串行通信接口定义异步串行通信接口定义一般一般UART接口定义四根引脚,分别如下:接口定义四根引脚,分别如下:1)RxD( Receive Data)数据接收引数据接收引脚,用于串行通信数据接收;脚,用于串行通信数据接收;2)TxD( Transmit Da

19、ta)数据发送引数据发送引脚,用于串行通信数据发送;脚,用于串行通信数据发送;3)RTS(Request to Send)请求数据请求数据发送引脚,用于标明接收设备有没有准备发送引脚,用于标明接收设备有没有准备好接收数据,即当终端要发送数据时,使好接收数据,即当终端要发送数据时,使该信号有效;该信号有效;4)CTS(Clear to Send)允许数据发允许数据发送引脚,用于送引脚,用于CTS来起动和暂停来自计算来起动和暂停来自计算机的数据流,用来表示从设备准备好接收机的数据流,用来表示从设备准备好接收主设备发来的数据,是对请求发送信号主设备发来的数据,是对请求发送信号RTS的响应信号。的响应

20、信号。UART AUART BTxDRxDCTSRTSTxDRxDCTSRTS253、 RS-232-C 目前目前RS-232RS-232是是PCPC机与通信工业中应用最广泛的种串行接口机与通信工业中应用最广泛的种串行接口。RS-232RS-232被定义为一种在低速率串行通信中增加通信距离的单被定义为一种在低速率串行通信中增加通信距离的单端标准。端标准。RS-232RS-232遵循遵循RS-232-CRS-232-C标准,美国电子工业协会标准,美国电子工业协会(Electronic Industries Association(Electronic Industries Association

21、,EIA)EIA)把把RS-232-CRS-232-C定定义为:义为:“在数据终端设备和数据通信设备之间使用串行二进制在数据终端设备和数据通信设备之间使用串行二进制数据交换的接口数据交换的接口”。 RS-232-CRS-232-C标准是一种硬件协议,用于连标准是一种硬件协议,用于连接接DIE(Data Terminal EquipmentDIE(Data Terminal Equipment,数据终端设备,数据终端设备) )和和DCE(Data Communications EquipmentDCE(Data Communications Equipment,数据通信设备,数据通信设备) )两

22、种两种设备。设备。 RS-232-CRS-232-C定义包括以下几个方面:定义包括以下几个方面:l接口的机械特性;接口的机械特性;l电气信号特征;电气信号特征;l交换功能特性。交换功能特性。26 RS-232-CRS-232-C采用采用2525针连接器,阳极针连接器,阳极( (插头插头) )接接DTEDTE,阴极,阴极( (插座插座) )接接DCEDCE。虽然本标准没有规定连接器的实际类型,但工业上对。虽然本标准没有规定连接器的实际类型,但工业上对D-25D-25类型类型的连接器实行了标准化。的连接器实行了标准化。 在电气方向,在电气方向, RS-232-CRS-232-C作了以下规定:作了以

23、下规定:l驱动器上的负载电容不超过驱动器上的负载电容不超过2500pF2500pF。l驱动器上的负载电阻在驱动器上的负载电阻在30003000欧欧-7000-7000欧之间。欧之间。l在指定负载下,数据信号传输率在指定负载下,数据信号传输率( (或波特率或波特率) )低于低于2000bps2000bps。l相对于信号地线,相对于信号地线,RS-232-CRS-232-C线的最高电压不超过线的最高电压不超过15v15vl驱动器能产生驱动器能产生+5- +15v(+5- +15v(逻辑逻辑0)0)和和-5- -15v(-5- -15v(逻辑逻辑1)1)的电压。的电压。l输入端能接收输入端能接收+5

24、- +15v(+5- +15v(逻辑逻辑0)0)和和-5- -15v(-5- -15v(逻辑逻辑1)1)的信号。的信号。27 在在RS-232-CRS-232-C标准建议信号的传输速度控制在标准建议信号的传输速度控制在20kbps20kbps内,在内,在高速传输时,建议电缆长度不超过高速传输时,建议电缆长度不超过5050英尺。简单的计算公式为英尺。简单的计算公式为:2525英尺英尺( (半负载量半负载量) )时数据信号传输率增加到时数据信号传输率增加到40kbps40kbps、12.512.5英英尺时数据信号传输率增加到尺时数据信号传输率增加到80kbps80kbps、6 6英尺时数据信号传输

25、率增英尺时数据信号传输率增加到加到160kbps160kbps。事实上,许多通信包能使两台计算机之间的数据。事实上,许多通信包能使两台计算机之间的数据信号传输率达到信号传输率达到115.2kbps115.2kbps。注意,。注意, RS-232-CRS-232-C标准并没有定义标准并没有定义“标推标推”波特率。波特率。 RS-232-CRS-232-C标准允许数据在同一时刻收发,也标准允许数据在同一时刻收发,也就是全双工通信方式。就是全双工通信方式。 RS-232-CRS-232-C标准定义的标准定义的2525针实际上仅用了其中针实际上仅用了其中9 9针。针。RS-232-CRS-232-C通

26、信所保留的通信所保留的9 9针见表针见表6-76-7。注意,。注意,PCPC机上的通信端口一般是作机上的通信端口一般是作为为DTEDTE连接连接 ( (即阳性连接器即阳性连接器) ) 。 在实际的应用中,利用在实际的应用中,利用RS-232-CRS-232-C的通信通常只使用其中的的通信通常只使用其中的3 3根线,即根线,即RdRd、TxDTxD和和 GNDGND。28说明说明编写词编写词DTE DB-25M针脚号针脚号DTE DB-9M针脚号针脚号方向方向DTE DB-9F针脚号针脚号DTE DB-25F针脚号针脚号发送发送TxD2333接收接收RxD3222发送请求发送请求RTS4785清

27、除发送清除发送CTS5874数据设置数据设置准备好准备好DSR66420数据载波数据载波准备好准备好DCD8118数据终端数据终端准备好准备好DTR20466振铃检测振铃检测IndicatorTL2299信号地信号地GroundSG75529 4RS-422 RS-422由由RS-232发展而来。为改进发展而来。为改进RS-232通信距离短、通信距离短、速度低的缺点,速度低的缺点,RS-422定义了一种平衡通信接口,将传输定义了一种平衡通信接口,将传输速率提高到速率提高到10Mbps,允许在一条平衡总线上连接最多,允许在一条平衡总线上连接最多10个个接收器。接收器。RS-422是一种单机发送、

28、多机接收的单向、平衡是一种单机发送、多机接收的单向、平衡传输规范。传输规范。RS-422的数据信号采用差分传输方式,也称做的数据信号采用差分传输方式,也称做平衡传输。它使用一对双绞线进行数据传输。平衡传输。它使用一对双绞线进行数据传输。 驱动器能产生驱动器能产生+2- +6v(+2- +6v(逻辑逻辑0)0)和和-2- -6v(-2- -6v(逻辑逻辑1)1)30 RS-422标准全称是标准全称是“平衡电压数字接口电路的电气特性平衡电压数字接口电路的电气特性”。由于接收器采用高输入阻抗并且发送驱动器具有比由于接收器采用高输入阻抗并且发送驱动器具有比RS-232更更强的驱动能力,故允许在相同传输

29、线上连接多个接收节点,强的驱动能力,故允许在相同传输线上连接多个接收节点,最最多可接多可接10个节点个节点,即一个主设备,即一个主设备(Master),其余为从设备,其余为从设备(Slave),从设备之间不能通信,所以,从设备之间不能通信,所以RS-422支持点对多的双支持点对多的双向通信。向通信。RS-422四线接口由于采用单独的发送和接收通道,四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,备装置之间任何必须的信号交换均可因此不必控制数据方向,备装置之间任何必须的信号交换均可以按软件方式以按软件方式(XON/XOFF握手握手)或硬件方式或硬件方式(一对单独的双绞一对单独的双绞线

30、线)实现。实现。31 RS-422的最大传输距离为的最大传输距离为4000英尺英尺(约约1219米米),最大,最大传输速率为传输速率为1Mbps。其平衡双绞线的长度与传输速率成反比。其平衡双绞线的长度与传输速率成反比,在,在100Kbps速率以下,才可能达到最大传输距离。只有在速率以下,才可能达到最大传输距离。只有在很短的距离厂才能获得最高传输速率。一般很短的距离厂才能获得最高传输速率。一般100米长的双绞线米长的双绞线上所能获得的最大传输速率仅为上所能获得的最大传输速率仅为1Mbps。 RS-422需要一终接电阻,要求其阻值约等于传输电缆的特需要一终接电阻,要求其阻值约等于传输电缆的特性阻抗

31、。在短距离传输时可不需终接电阻,即一般在性阻抗。在短距离传输时可不需终接电阻,即一般在300米以米以下不需终接电阻。终接电阻接在传输电缆的最远端。下不需终接电阻。终接电阻接在传输电缆的最远端。32 5RS-485串行总线接口串行总线接口 为扩展应用范围,为扩展应用范围,EIA在在RS-422的基础上制定了的基础上制定了RS-485标标准,增加了多点、双向通信能力,通常在要求通信距离为几十准,增加了多点、双向通信能力,通常在要求通信距离为几十米至上千米时,广泛采用米至上千米时,广泛采用R5-485收发器。收发器。 RS-485收发器采用平衡发送和差分接收,即在发送端,驱收发器采用平衡发送和差分接

32、收,即在发送端,驱动器将动器将TTL电平信号转换成差分信号输出;在接收端,接收器电平信号转换成差分信号输出;在接收端,接收器将差分信号变成将差分信号变成TTL电平,因此具有抑制共模干扰的能力,加电平,因此具有抑制共模干扰的能力,加上接收器具有高的灵敏度,能检测低达上接收器具有高的灵敏度,能检测低达200mV的电压,故数的电压,故数据传输可达千米以外。据传输可达千米以外。33 RS-485许多电气规定与许多电气规定与RS-422相仿,如都采用平衡传输相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻等。方式、都需要在传输线上接终接电阻等。RS-485可以采用二可以采用二线与四线方式,二线制可

33、实现真正的多点双向通信。而采用四线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,与线连接时,与RS-422一样只能实现点对多的通信,即只能有一样只能实现点对多的通信,即只能有一个主一个主(Master)设备,其余为从设备,但它比设备,其余为从设备,但它比RS-422有所改有所改进。无论四线还是二线连接方式总线上都可连接进。无论四线还是二线连接方式总线上都可连接多达多达32个设个设备备。34 RS-485与与RS-422的共模输出电压是不同的。的共模输出电压是不同的。RS-485共共模输出电压在模输出电压在-7V至至+12V之间,而之间,而RS-422在在-6V至至+6V之间,之

34、间,RS-485接收器最小输入阻抗为接收器最小输入阻抗为12千欧;千欧;RS-422是是4千欧;千欧;RS-485满足所有满足所有RS-422的规范,所以的规范,所以RS-485的驱动器可以的驱动器可以在在RS-422网络中应用,但网络中应用,但RS-422的驱动器并不完全适用于的驱动器并不完全适用于RS-485网络。网络。 RS-485与与RS-422一样,最大传输速率为一样,最大传输速率为10Mb/s。当波特。当波特率为率为1.2kbps时,最大传输距离理论上可达时,最大传输距离理论上可达15千米。平衡双绞千米。平衡双绞线的长度与传输速率成反比,在线的长度与传输速率成反比,在100kbps

35、速率以下,才可能使速率以下,才可能使用规定最长的电缆长度。用规定最长的电缆长度。 RS-485需要需要2个终接电阻,接在传输总线的两端,其阻值个终接电阻,接在传输总线的两端,其阻值要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电要求等于传输电缆的特性阻抗。在矩距离传输时可不需终接电阻,即一般在阻,即一般在300米以下不需终接电阻。米以下不需终接电阻。355.3.2 S3C440BX UART串口介绍串口介绍l通用异步收发器通用异步收发器(UART) S3C44B0XS3C44B0X的的UART (Universal Asynchronous UART (Universal Asynchr

36、onous Receiver and TransmitterReceiver and Transmitter,通用异步收发器,通用异步收发器) )单元单元提供两个独立的异步串行提供两个独立的异步串行I/OI/O口,都可以运行于中断口,都可以运行于中断模式或模式或DMADMA模式。也就是说,模式。也就是说,UARTUART可以产生中断请求可以产生中断请求或或DMADMA请求,以便在请求,以便在CPUCPU和和UARTUART之间传递数据。它最高之间传递数据。它最高可支持可支持115200bps115200bps的传输率。的传输率。S3C44B0XS3C44B0X中每个中每个UARTUART通通道

37、包含两个用于接收或发送数据的道包含两个用于接收或发送数据的1616位位FIFOsFIFOs队列。队列。36通用异步收发器通用异步收发器(UART)的结构的结构数据接收器数据接收器数据接收器数据接收器控制单元控制单元波特率发生器波特率发生器接收接收FIFOFIFO(16Byte(16Byte)接收移相器接收移相器发送移相器发送移相器发送发送FIFOFIFO(16Byte(16Byte)TXDnTXDnRXDnRXDn时钟源时钟源375.3.3串口硬件电路设计串口硬件电路设计385.3.4串口驱动程序设计串口驱动程序设计与与UART 有关的寄存器主要有以下几个:有关的寄存器主要有以下几个:(1)U

38、ART线性控制寄存器线性控制寄存器ULCONn,主要对串口的功能、奇偶校验、数,主要对串口的功能、奇偶校验、数据位长度等进行配置。据位长度等进行配置。(2)UART控制寄存器控制寄存器UCONn,该寄存器决定,该寄存器决定UART 的各种摸式。的各种摸式。(3)UART FIFO 控制寄存器控制寄存器UFCONn,决定,决定UART中中FIFO的摸式。的摸式。UFCONn 的第的第0 位决定是否启用位决定是否启用FIFO。(4)UART MODEM 控制寄存器,决定控制寄存器,决定UART中中MODEM的摸式。的摸式。UMCONn 的第的第0 位是请求发送位,对我们来说是比较重要的。位是请求发

39、送位,对我们来说是比较重要的。(5)读写状态寄存器)读写状态寄存器UTRSTAT 以及错误状态寄存以及错误状态寄存UERSTAT,可以反映芯,可以反映芯片目前的读写状态以及错误类型。片目前的读写状态以及错误类型。FIFO 状态寄存器状态寄存器UFSTAT 和和MODEM 状态寄存器状态寄存器UMSTAT,通过前者可以读出目前,通过前者可以读出目前FIFO 是否满以及其中的字是否满以及其中的字节数;通过后者可以读出目前节数;通过后者可以读出目前MODEM 的的CTS状态。状态。(6)发送寄存器)发送寄存器UTXH 和接收寄存器和接收寄存器URXH,这两个寄存器存放着发送和接,这两个寄存器存放着发

40、送和接收的数据,当然只有一个字节位数据。需要注意的是在发生溢出错误的收的数据,当然只有一个字节位数据。需要注意的是在发生溢出错误的时候,接收的数据必须要被读出来,否则会引发下次溢出错误。时候,接收的数据必须要被读出来,否则会引发下次溢出错误。39(7)最后是波特率配置寄存器)最后是波特率配置寄存器UBRDIV。计算公式如。计算公式如下:下: UBRDIVn = (round_off)(MCLK/(bps 16) ) -1 其中其中MCLK 是系统频率,例如在是系统频率,例如在40MHz 的情况下的情况下,当波特率取,当波特率取115200 时,时,UBRDIVn = (int)(4000000

41、0/(115200 16)+0.5 ) -1= (int)(21.7+0.5) -1= 22 -1 = 2140定义各个寄存器地址定义各个寄存器地址#define rULCON0 (*(volatile unsigned *)0 x1d00000)#define rULCON1 (*(volatile unsigned *)0 x1d04000) volatilevolatile关键字是一种类型修饰符,关键字是一种类型修饰符,用它声明的类型变量表用它声明的类型变量表示可以被某些编译器未知的因素更改,示可以被某些编译器未知的因素更改,比如:操作系统、硬件或比如:操作系统、硬件或者其它线程等。遇到

42、这个关键字声明的变量,编译器对访问该变者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。一般说来,一般说来,volatilevolatile用在如下的几个地方:用在如下的几个地方: (1)(1)、中断服务程序中修改的供其它程序检测的变量需、中断服务程序中修改的供其它程序检测的变量需 要加要加volatilevolatile; (2)(2)、多任务环境下各任务间共享的标志应该加、多任务环境下各任务间共享的标志应该加volatilevolatile; (3)(3)、存储器映射的硬

43、件寄存器通常也要加、存储器映射的硬件寄存器通常也要加volatilevolatile说明,因为说明,因为每次对它的读写都可能由不同意义;每次对它的读写都可能由不同意义; 41l寄存器宏定义寄存器宏定义#define rULCON0 (*(volatile unsigned *)0 x1d00000)#define rUCON0 (*(volatile unsigned *)0 x1d00004)#define rUFCON0 (*(volatile unsigned *)0 x1d00008)#define rUMCON0 (*(volatile unsigned *)0 x1d0000c)#

44、define rUTRSTAT0 (*(volatile unsigned *)0 x1d00010)#define rUERSTAT0 (*(volatile unsigned *)0 x1d00014)#define rUFSTAT0 (*(volatile unsigned *)0 x1d00018)#define rUMSTAT0 (*(volatile unsigned *)0 x1d0001c)#define rUBRDIV0 (*(volatile unsigned *)0 x1d00028)#define rUTXH0 (*(volatile unsigned char *)0

45、 x1d00020)#define rURXH0 (*(volatile unsigned char *)0 x1d00024)#define rUTXH0 (*(volatile unsigned char *)0 x1d00020)#define rURXH0 (*(volatile unsigned char *)0 x1d00024)#define UTXH0 (*(volatile unsigned char *) 0 x1d00020) /byte_access address by BDMA#define URXH0 (*(volatile unsigned char *) 0

46、x1d00024)42编写串口驱动函数编写串口驱动函数串口初始化串口初始化串口初始化包括:串口初始化包括: 设置波特率;设置波特率; 设置起始位、奇偶设置起始位、奇偶校验位等校验位等 设置中断等设置中断等将寄存器将寄存器ULCONnULCONn、UCONnUCONn置零置零设置寄存器设置寄存器ULCONnULCONn、UCONnUCONn、UBRDIVUBRDIV延时延时43void Uart_Init(int mclk,int baud) int i;if(mclk=0) mclk=MCLK; rUFCON0=0 x0; /FIFO disable rUMCON0=0 x0; /UART0

47、rULCON0=0 x3; /Normal,No parity,1 stop,8 bit rUCON0=0 x245; /rx=edge,tx=level,disable timeout int., enable rx error int.,normal,interrupt or polling rUBRDIV0=( (int)(mclk/16./baud + 0.5) -1 );for(i=0;i100;i+);44编写收发数据函数编写收发数据函数发送数据主要是将需发送的数据放入发送数据寄存器发送数据主要是将需发送的数据放入发送数据寄存器发送数据发送数据开始开始发送队列发送队列是否为空是否为

48、空延时延时发送数据发送数据WrUTXHO(data)WrUTXHO(data)否否是是45UTRSTATn寄存器寄存器46void Uart_SendByte(unsigned char data) while(!(rUTRSTAT0 & 0 x2); /Wait until THR is empty. Delay(1); rUTXH0=data;47接收数据主要是将已到达的数据从接受寄存器中取出接收数据主要是将已到达的数据从接受寄存器中取出接收数据接收数据开始开始接收队列接收队列是否为满是否为满延时延时接收数据接收数据RdURXHn()RdURXHn()否否是是48unsigned

49、char Uart_Getch(unsigned char* Revdata)while(!(rUTRSTAT0 & 0 x1); /Receive data read*Revdata=rURXH0;return TRUE;49本章提要本章提要复位电路复位电路 键盘模块设计键盘模块设计 UART异步串口模块设计异步串口模块设计 A/D转换器转换器 触摸屏模块设计触摸屏模块设计 电源模块设计电源模块设计 LCD模块设计模块设计 PWM直流电机控制接口直流电机控制接口 I2C总线接口应用设计总线接口应用设计 505.4 A/D 5.4 A/D 转换器转换器 A/D A/D 转换器有以下类型

50、:逐位比较型、积分型、计数型转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压频率型,主要应根据使用场合的具体要、并行比较型、电压频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。常用的有以下两种:决定选择何种类型。常用的有以下两种:1 1)双积分型的)双积分型的A/D A/D 转换器转换器 双积分式也称二重积分式,其实质是测量和比较两个积双积分式也称二重积分式,其实质是测量和比较两个积分的时间,一个是对模拟输入电压积分的时间分的时间,一个是对模拟输入电压积分的时间T T0

51、 0,此时间往往,此时间往往是固定的;另一个是以充电后的电压为初值,对参考电源是固定的;另一个是以充电后的电压为初值,对参考电源V VRefRef反向积分,积分电容被放电至零所需的时间反向积分,积分电容被放电至零所需的时间T T1 1。模拟输入电压。模拟输入电压V Vi i 与参考电压与参考电压V VRefRef 之比,等于上述两个时间之比。由于之比,等于上述两个时间之比。由于V VRefRef 、T T0 0 固定,而放电时间固定,而放电时间T T1 1 可以测出,因而可计算出模拟输入可以测出,因而可计算出模拟输入电压的大小电压的大小(V(VRefRef 与与V Vi i 符号相反符号相反)

52、 )。5152 由于由于T T0 0、V VRefRef 为已知的固定常数,因此反向积分为已知的固定常数,因此反向积分时间时间T T1 1 与输入模拟电压与输入模拟电压V Vi i 在在T T0 0 时间内的平均值成正时间内的平均值成正比。输入电压比。输入电压V Vi i 愈高,愈高,V VA A 愈大,愈大,T T1 1 就愈长。在就愈长。在T T1 1 开始时刻,控制逻辑同时打开计数器的控制门开始计开始时刻,控制逻辑同时打开计数器的控制门开始计数,直到积分器恢复到零电平时,计数停止。则计数数,直到积分器恢复到零电平时,计数停止。则计数器所计出的数字即正比于输入电压器所计出的数字即正比于输入

53、电压V Vi i 在在T T0 0 时间内的时间内的平均值,于是完成了一次平均值,于是完成了一次A/D A/D 转换。转换。 由于双积分型由于双积分型A/D A/D 转换是测量输入电压转换是测量输入电压V Vi i 在在T T。时间内的平均值,所以对常态干扰时间内的平均值,所以对常态干扰( (串模干扰串模干扰) )有很强有很强的抑制作用,尤其对正负波形对称的干扰信号,抑制的抑制作用,尤其对正负波形对称的干扰信号,抑制效果更好。效果更好。532 2)逐次逼近型的)逐次逼近型的A/D A/D 转换器转换器 逐次逼近型逐次逼近型( (也称逐位比较式也称逐位比较式) )的的A/D A/D 转换器,应转

54、换器,应用比积分型更为广泛,其原理框图如图所示,主要由用比积分型更为广泛,其原理框图如图所示,主要由逐次逼近寄存器逐次逼近寄存器SARSAR、D/A D/A 转换器、比较器以及时序转换器、比较器以及时序和控制逻辑等部分组成。它的实质是逐次把设定的和控制逻辑等部分组成。它的实质是逐次把设定的SAR SAR 寄存器中的数字量经寄存器中的数字量经D/A D/A 转换后得到电压转换后得到电压Vc Vc 与与待转换模拟电压待转换模拟电压V V。进行比较。比较时,先从。进行比较。比较时,先从SAR SAR 的的最高位开始,逐次确定各位的数码应是最高位开始,逐次确定各位的数码应是“1”1”还是还是“0”0”

55、,其工作过程如下:,其工作过程如下:54数数 /模模 转转 换换S A R时时 序序 及及 控控 制制 逻逻 辑辑数数字字量量输输 出出转转 换换 命命 令令状状 态态 线线 基基 准准 电电 源源比比 较较 器器+-输输 入入 模模 拟拟 电电 压压xVfV55逐次逼近式的逐次逼近式的A/D A/D 转换器的主要特点是:转换器的主要特点是:l 转换速度较快,在转换速度较快,在1100/s 1100/s 以内,分辨率可以达以内,分辨率可以达18 18 位,特别适用于工业控制系统。位,特别适用于工业控制系统。l 转换时间固定,不随输入信号的变化而变化。转换时间固定,不随输入信号的变化而变化。l

56、抗干扰能力相对积分型的差。例如,对模拟输入信号采抗干扰能力相对积分型的差。例如,对模拟输入信号采样过程中,若在采样时刻有一个干扰脉冲迭加在模拟信号样过程中,若在采样时刻有一个干扰脉冲迭加在模拟信号上,则采样时,包括干扰信号在内,都被采样和转换为数上,则采样时,包括干扰信号在内,都被采样和转换为数字量,这就会造成较大的误差,所以有必要采取适当的滤字量,这就会造成较大的误差,所以有必要采取适当的滤波措施。波措施。562A/D 转换的重要指标转换的重要指标1 1)分辨率)分辨率(Resolution)(Resolution) 分辨率反映分辨率反映A/D A/D 转换器对输入微小变化响应的能力,转换器

57、对输入微小变化响应的能力,通常用数字输出最低位通常用数字输出最低位(LSB)(LSB)所对应的模拟输入的电平值表所对应的模拟输入的电平值表示。示。n n 位位A/D A/D 能反应能反应1/2n 1/2n 满量程的模拟输入电平。由于分满量程的模拟输入电平。由于分辨率直接与转换器的位数有关,所以一般也可简单地用数辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即字量的位数来表示分辨率,即n n 位二进制数,最低位所具位二进制数,最低位所具有的权值,就是它的分辨率。有的权值,就是它的分辨率。2 2)精度)精度(Accuracy)(Accuracy) 精度有绝对精度精度有绝

58、对精度(Absolute Accuracy)(Absolute Accuracy)和相对精度和相对精度(Relative Accuracy)(Relative Accuracy)两种表示方法。两种表示方法。57 绝对误差绝对误差 在一个转换器中,对应于一个数字量的实际模拟输入电压和在一个转换器中,对应于一个数字量的实际模拟输入电压和理想的模拟输入电压之差并非是一个常数。我们把它们之间的差理想的模拟输入电压之差并非是一个常数。我们把它们之间的差的最大值,定义为的最大值,定义为“绝对误差绝对误差”。通常以数字量的最小有效位。通常以数字量的最小有效位(LSB)(LSB)的分数值来表示绝对误差,例如:

59、的分数值来表示绝对误差,例如: 1LSB 1LSB 等。绝对误差等。绝对误差包括量化误差和其它所有误差。包括量化误差和其它所有误差。 相对误差相对误差 是指整个转换范围内,任一数字量所对应的模拟输入量的实际是指整个转换范围内,任一数字量所对应的模拟输入量的实际值与理论值之差,用模拟电压满量程的百分比表示。值与理论值之差,用模拟电压满量程的百分比表示。 例如,满量程为例如,满量程为10V10V,10 10 位位A/D A/D 芯片,若其绝对精度为芯片,若其绝对精度为1/2LSB1/2LSB,则其最小有效位的量化单位:,则其最小有效位的量化单位:9.77mV9.77mV,其绝对精度为,其绝对精度为

60、4.88mV4.88mV,其相对精度为,其相对精度为4.88/104.88/104 4=0.048%=0.048%。583 3)转换时间)转换时间(Conversion Time)(Conversion Time) 转换时间是指完成一次转换时间是指完成一次A/D A/D 转换所需的时间,即由发出转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。启动转换命令信号到转换结束信号开始有效的时间间隔。 转换时间的倒数称为转换速率。例如转换时间的倒数称为转换速率。例如AD570 AD570 的转换时间为的转换时间为25us25us,其转换速率为,其转换速率为40KHz40KHz。4 4)电源灵敏

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论