现代数字控制实践报告.pdf

上传人:罗晋 文档编号:9054348 上传时间:2021-01-31 格式:PDF 页数:21 大小:658.90KB
返回 下载 相关 举报
现代数字控制实践报告.pdf_第1页
第1页 / 共21页
现代数字控制实践报告.pdf_第2页
第2页 / 共21页
现代数字控制实践报告.pdf_第3页
第3页 / 共21页
现代数字控制实践报告.pdf_第4页
第4页 / 共21页
现代数字控制实践报告.pdf_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《现代数字控制实践报告.pdf》由会员分享,可在线阅读,更多相关《现代数字控制实践报告.pdf(21页珍藏版)》请在三一文库上搜索。

1、 Harbin Institute of Technology 现代现代数字数字控制控制 实践实践报告报告 题 目:基于 PC104 及 XR16C2850 的高 速 RS422 串口系统设计 专 业: 控制科学与工程 姓 名: 学 号: 指导老师: 日 期: 哈尔滨工业大学 2017 年 6 月 数字控制实践数字控制实践设计设计报告报告 一、一、设计设计目的目的 由于一般的工业控制计算机或 PC 机的 RS232 串口 (COM1, COM2, COM3, COM4 等)只能提供最高不超过 115200 波特率的串行通讯,而实际控制中常常 要用到 960K 甚至更高的串行通讯,并且要求传输距

2、离较远,因此需要设计一套 高速串行 RS422 的串行通讯接口。 它能完成一般 PC 机或者工业控制计算机与下 位基于 PC104 的主控数字系统的高速串行通讯,实现包括上位机给下位机传送 指令等信息及下位机反馈给上位机的各种实时数据等功能。 二、设计二、设计内容内容 (1)要求设计一整套完整的数据通讯系统,并给出完整的原理图。 (2)设计相应的通讯软件程序(基于 C 语言) 三、实验验证三、实验验证 完成原理设计后,可以基于已有的硬件系统(教师提供)对自己设计的串行 通讯程序进行验证。 上位机方面可以采用现成的串口助手等工具,而下位机 PC104 方面可以基 于 DOS3.1 的 C 语言编

3、译调试环境软件, 来设计 C 语言通讯程序, 并进行调试和 验证。 四、使用四、使用芯片芯片 4.1 PC104 的使用的使用 4.1.1 PC104 简介简介 PC/104 是一种专门为嵌入式系统而设计的工业控制总线,PC104 嵌入式计 算机模块系列是一整套低成本、高可靠性,能迅速配置成产品的结构化模块。由 于与通用的 PC 和 PC/AT 标准(IEEE-P996)完全兼容,可以很快掌握其软、硬 件的使用,而且费用低,风险小,大大地缩短了产品开发周期,体现最新技术。 PC104的CPU模块包括PC/AT的所有标准功能, 同时又有一些独特的功能: (1) 尺寸小,90mm*96mm; (2

4、) 低功耗,典型值低于 2W; (3) 可通过堆接方式方便的扩充模块; (4) 可通过串口来显示和控制设备; (5) 可使用固态盘,适合嵌入式应用。 在实际应用中,PC104 可以像芯片一样来使用,PC104 的 104 条总线插针以 及串、 并口及键盘插针可以看作芯片的管脚, PC104的单一+5V供电可通过PC104 的总线中的+5V 引脚供电,PC104 的插针可以直接焊在印制板上,也可以使用质 量好的双排插座来连接,要注意 PC104 的总线驱动能力是不一样的。最后要注 意用金属柱子及螺母连接好 PC104 的四个固定孔。PC104 还具有看门狗复位功 能,当 PC104 受到外界的干

5、扰工作不稳定时,看门狗可以及时使 PC104 恢复正 常发工作状态。 4.1.2 PC104 端口端口 PC/104 总线信号定义和功能与它们在 ISA 总线相应部分是完全相同的。 104 根线分为 5 类:地址线、数据线、控制线、时钟线、电源线。 (1) 地址线:SA0SA19 和 LA17LA23:SA0SA19 是可锁存的地址信 号,LA17LA23 是非锁存信号,由于没有锁存延迟,因而给外设插板提供了 一条快捷途径。SA0SA19 加上 LA17LA23 可实现 16MB 空间寻址(其中 SA17SA19 和 LA17LA19 是重复的) (2) 数据线: 数据线 SD0SD15, 其

6、中 SD0SD7 位为低 8 位数据, SD8 SD15 为高 8 位数据。 (3) 控制线: AEN:地址允许信号,输出线,高电平有效。AEN=1,表明处于 DMA 控 制周期:AEN=0,表示非 DMA 周期。此信号用来在 DMA 期间禁止 I/O 端口 的地址译码。 BALE: 允许地址锁存, 输出线, 这信号由总线控制器 8288 提供, 作为 CPU 地址的有效标志,当 BALE 为高电平时,将 SA0SA19 接到系统总线,其下 降沿用来锁存 SA0SA19。 IOR:I/O 读命令,输出线,低电平有效,用来把选中的 I/O 设备的数据读 到数据总线上。在 CPU 启动的周期,通过

7、地址线选择 I/O:在 DMA 周期,I/O 设备由 DACK 选择。 IOW:I/O 写命令,输出线,低电平有效,用来把数据总线上的数据写入被 选中的 I/O 端口。 SMEMR 和 SMEMW:存储器读/写命令,低电平有效,用于对 SA0SA19 这 20 位地址寻址的 1MB 内存的读/写操作。 MEMW 和 MEMR:存储器读/写命令,低电平有效,用于对 24 位地址线 全部存储空间读/写操作。MEMCS16 和 I /OCS16:它们是存储器 16 位片选信 号和I/O 16 位片选信号, 分别指明当前数据传送是16 位存储器周期和16 位I/O 周期。 SBHE:总线高字节允许信号

8、,该信号有效时,表示数据总线上传送的是高 位字节数据。 IRQ0IRQ15: 用于作为来自外部设备的中断请求输入线, 分别连在主 MCU 上。这些中断请求线都是边沿(上跳边)触发,三态门驱动器驱动。优先级排队 是 IRQ0 最高,依次为 IRQ1,IRQ8IRQ15,然后是 IRQ3IRQ7。 DRQ0DRQ3 和 DRQ4DRQ7:来自外部设备的 DMA 请求输入线,高电 平有效, 分别连在主片 DMA 控制器输入端。 DRQ0 优先级最高, DRQ7 最低。 DACK0DACK3 和 DACK4DACK7:DMA 回答信号,低电平有效。有 效时,表示 DMA 请求被接受,DMA 控制器占用

9、总线,进入 DMA 周期。 T/C:DMA 终末/记数结束,输出线。该信号是一个正脉冲,表明 DMA 传 送的数据已达到其程序预置的字节数,用来结束一次 DMA 数据块传送。 MASTER:输出信号,低电平有效。它由要求占用总线的有主控能力的外设 卡驱动,并与 DRQ 一起使用。外设的 DRQ 得到确认(DACK 有效)后,才使 MASTER 有效,从此该设备保持对总线的控制直到 MASTER 无效。 RESET DRV:系统复位信号,输出线,高电平有效。此信号在系统电源接 通时为高电平,当所有电平都达到规定以后变低,即上电复位时有效。用它来复 位和初始化接口和 I/O 设备。 IOCHCHK

10、:I/O 通道检查,输出线,低电平有效。当它变为低电平时,表 明接口插件的 I/O 通道出现了错误,它将产生一次不可屏蔽中断。 I/O CHDRY:I/O 通道就绪,输入线,高电平表示“就绪” 。该信号线可供 低速 I/O 设备或存储器请求延长总线周期之用。 当低速设备在被选中, 且收到读 或写命令时将此线电平拉低, 表示未就绪, 以便在总线周期中加入等待状态 TW, 但最多不能超过 10 个时钟周期。 REFRESH:刷新信号,为了防止在内存刷新周期内产生不必要的中断,ISA 提供该刷新信号,防止中断发生。 KEY2:钥匙位。 ENDXFR:零等待状态信号,输入线。该信号为高电平时,无需插入

11、等待周 期。 (4) 时钟线 SYSCLK:系统时钟。OSC:主振信号输出。 (5) 除了以上信号外,还有电源正负 12V、正负 5V、地线 GND。 4.1.2 PC104 端口端口的使用的使用 (1)地址线 用到了 SA0SA9,寻址空间为 1KB,且地址信号可锁存,地址线分别 与 EPM7128S 的相应 I/O 端口相连。 (2)数据线 用到了 SD0SD15,可向 EPM7128S 传送 16 位的数据。 (3)控制线 AEN:地址允许信号,高电平有效,用来与地址线配合从而实现地址译 码,与 EPM7128S 的 GCLR 端口相连。 IOR 与 IOW:读写选择端口,都是低电平有效

12、,分别用来选择读取 EPM7128S 的信息或者是向 EPM7128S 写入数据。 IRQ9 IRQ12 & IRQ15: 中断请求端口, 与 EPM7128S 的 I/O 端口相连。 IOCS16:周期控制信号线,与 EPM7128S 相连。 (4)电源与地线 按芯片要求分别接+5V,GND。 以上所述端口使用情况见图 1。 图1 PC104端口使用情况图 4.2 EPM7128S 的使用的使用 4.2.1 EPM7128S 简介简介 EPM7128S采用了第二代MAX架构, 是一种基于EEPROM的高性能可编程逻 辑器件(PLD) 。通过内置的标准JTAG 接口(IEEE Std. 114

13、9.1),EPM7128S支持 在系统可编程ISP (In System Programmable),集成了2500个可用门、128个宏单 元和8个逻辑阵列块,I/O引脚最多有100个。其ISP电路与IEEE Std.1532相兼容。 引脚到引脚之间的延时为5ns,工作频率最高可达175.4 MHz。MAX 7128S 在结 构上包括逻辑阵列块LABs (Logic Array Blocks) 、宏单元(Macrocells) 、扩展乘 积项(共享和并联)(Expender product Terms)、可编程连线阵列PIA(Programmable Interconnect Array)和I

14、/O控制块(I/O Control Blocks)。EPM7128S的内部结构如图2 所示。 图2 EPM7128S内部结构图 逻辑阵列块(LABs)由16个宏单元阵列组成,多个逻辑阵列块通过可编程 连线阵列(PIA)互连在一起。可编程连线阵列(PIA)构成了所需的逻辑布线 通道。它能够把器件中任何信号源连到其目的地。所有MAX 7000的专用输入、 I/O引脚和宏单元输出均馈送到可编程连线阵列 (PIA) 。 PIA可把这些信号送到整 个器件内的各个地方。每个LAB的输入信号包括:来自PIA的36个信号、全局控 制信号(用于宏单元内的寄存器实现辅助功能)和从I/O引脚到寄存器的直接输 入信号

15、。 对于顺序和组合逻辑运算,MAX 7000宏单元都可以单独配置。宏单元由三 个功能模块组成:逻辑阵列、乘积项选择矩阵以及可编程寄存器。图3为EPM 7128S的宏单元内部结构图。 组合逻辑运算是在逻辑阵列中实现的。对于每个宏单元,逻辑阵列都会提供 五个乘积项。 乘积项选择矩阵将分配这些乘积项作为主逻辑输入 (或门和异或门) 来实现组合函数,或作为宏单元寄存器清零、预置、时钟以及时钟使能控制的次 级输入。有两种扩展乘积项(扩展器)可用于宏单元逻辑资源: (1) 共享扩展器,是反馈回逻辑阵列中的逆乘积项; (2) 并联扩展器,是从邻近宏单元中挪用的乘积项。 图3 EPM7128S宏单元内部结构图

16、 4.2.2 EPM7128S 端口的使用端口的使用 MAX7000系列中的EMP7128S用作外围接口电路,将PC104的传送过来 的地址、数据、控制信号解码,输入给XR16C2850。同时,EMP7128S 又将 XR16C2850的信号回送给PC104。EPM7128S 的内部功能通过编程实现。本 设计具体的引脚使用情况如图4所示。 图4 引脚使用情况图 其中SD0SD15为EMP7160S 与PC104 进行数据通信的接口,这8位数 据线即可实现由PC104向EMP7128S写数据,还可以实现EPM7128S向PC104 回送数据,即SD0SD7为双向口,具体实现功能由控制信号决定。当

17、IOR 为1时, 74LS245是从A向B传送数据的, 即EPM7128S从PC104读入8位数据, 并分别存储在ISD0ISD7中。 当IOR为0时, 74LS245是从B向A传送数据的, 即EPM7128S向PC104写入8位数据,如图5。其中,IOR与IOW分别控制了 XR16C2850的读写逻辑,即当IOR为1时,IOR1为0,XR16C2850开始从 EPM7128S的ISD0ISD7端口读取数据;当IOW为1时,IOW1为0, XR16C2850开始向EPM7128S的ISD0ISD7端口写入数据。 图5 EPM7128S数据传送图 其中,SA3与SA5用来选通芯片XR16C285

18、0,只有当SA3,SA5同时为低 电平0时才允许对XR16C2850进行操作。SA6SA9所代表的地址要分别与 SAC62、 SAC72、 SAC82、 SAC9和SAC61、 SAC71、 SAC81、 SAC9通过74LS85 进行比较,并与SA3、SA5共同决定XR16C2850的选通情况。只有比较结果 为相等时,CSA和CSB才能够被选通。同时这两组比较信号又通过了或非门 去控制74LS245的使能端,只有当两个比较信号中有一个高电平(即有一组 比较结果为相等)时,74LS245才能被使能正常工作。当74LS85的两组预比 较信号相等时,其最终的A=B端口的输出主要取决于锁存信号AEN

19、。当AEN 为低电平时,A=B端口输出为高电平1;当AEN为高电平时,A=B端口输出 为低电平0。 需要注意的是, 这里我们在将AEN信号输入至74LS85的3端口前, 利用74LS04做了一个信号的反相处理。以上叙述的具体结构可参见图6。 EPM7128S还带有测试口TCK1、TDO1、TMS1和TDI1,通过这些口, 我们可以下载程序文件至EPM7128S中, 关于这些信号的具体生成电路如图7 所示。 图6 EPM7128S选通信号图 图7 EPM7128S测试信号图 一般在设置XR16C2850时,都禁止发送中断,故这里的COMA、B中断都只 用于接收。接收中断是INT的上升沿触发,PC

20、104的IRQ11及IRQ10设置也为上沿 触发。具体的接收通路如图8所示。 图8 EPM7128S中断IRQ10、IRQ11接收通路图 EPM7128S的RST信号的生成电路如图9。 图9 EPM7128S的RST信号生成电路图 4.3 XR16C2850 的使用的使用 4.3.1 XR16C2850 简介简介 XR16C2850是增强型双通用型异步收发器(UART) 。增强功能包括128字节 的TX和RX FIFO,可编程TX和RX FIFO触发电平,FIFO级别计数器,自动(RTS / CTS)硬件和(Xon / Xoff)软件流量控制,自动RS-485半双工方向控制输出和 在5V和8X

21、采样时钟,数据速率高达6.25 Mbps。板载状态寄存器为用户提供操作 状态和数据错误标志。 内部回送功能允许系统诊断。 XR16C2850具有完整的调制 解调器接口, 可工作在2.97V至5.5V, 与Exar的ST16C2550和XR16L2750 (48-TQFP 封装除外)的引脚对引脚兼容。XR16C2850的结构图如图10所示。XR16C2850 数据总线连接图如图11所示。 XR16C2850具有如下主要特征: (1)在顶级标记日期代码为“F2 YYWW”的设备中添加了新功能: I. 5V容限输入 II. 0ns地址保持时间(TAH) (2)引脚到引脚兼容和功能兼容Exar的ST1

22、6C2550和XR16L2750和TI的 TL16C752B在44-PLCC封装 (3)类似Exar的XR16L2750和ST16C2550 48-TQFP封装,但带有额外的 CLK8 / 16,CLKSEL和HDCNTL输入 (4)两个独立的UART通道 I. 寄存器集兼容16C550 II. 5V时为6.25 Mbps,3.3V时为4 Mbps III. 128字节的发送和接收FIFO IV. 可编程TX和RX FIFO触发电平 V. 发送和接收FIFO级别计数器 VI. 自动硬件(RTS / CTS)流量控制 VII. 可选自动RTS流量控制迟滞 VIII. 自动软件流量控制 IX. 自

23、动RS-485半双向方向控制 X. 无线红外(IrDA 1.0)编码器/解码器 XI. 全调制解调器接口 (5)设备识别和修订 (6)晶振或外部时钟输入 (7)工业和商业温度范围 (8)48-TQFP和44-PLCC包 (9)无铅,符合RoHS标准的版本 XR16C2850目前主要应用于便携式家电、电信网络路由器、以太网路由器、 蜂窝无线数据设备以及工厂自动化和过程控制。 图10 XR16C2850结构图 4.3.2 XR16C2850 端口端口 A0 A2: 地址数据线。 在数据总线交换期间, 三条地址线选择UART通道A/B 的一个内部寄存器。 D0 D7:数据总线(双向) 。 IOR#:

24、输入/输出读命令(低电平有效) 。下降沿触发内部读周期并从由地址 线A0 A2指向的内部寄存器取数。数据字节被放置在数据总线上,允许主处理 器在上升沿读取它。IOR#不能与IOW#同时处于激活状态。 IOW#: 输入/输出写命令(低电平有效) 。下降沿触发内部写周期,上升沿将 数据总线上的字节传送至由地址线指向的内部寄存器。IOW#不能与IOR#同时处 于激活状态。 图11 XR16C2850数据总线连接图 CSA#&CSB#: UART通道选择(低电平有效) 。使能UART通道用于数据总线 操作。 INTA&INTB: UART通道A/B中断输出。输出状态由用户通过MCR3的软件 设置来定义

25、。 当MCR3设置为逻辑1时, INTA和INTB被设定成激活模式, OP2A# 或OP2B#的输出为逻辑0;当MCR3设置为逻辑0(默认设置)时,INTA和INTB 被设定成三态模式,OP2A#或OP2B#的输出为逻辑1。具体可参见MCR3。 TXRDYA#&TXRDYB: UART通道A/B发送器就绪信号(低电平有效) 。输出 为发送通道A/B提供TX FIFO/THR状态。如果该端口未使用,悬空即可。 RXRDYA#&RXRDYB: UART通道A/B接收器器就绪信号(低电平有效) 。输 出为接收通道A/B提供RX FIFO/RHR状态。如果该端口未使用,悬空即可。 TXA&TXB: U

26、ART通道A/B发送数据或红外发送数据。当MCR6=0时,使能 标准发送和接收端口。在此模式下,TX信号在复位和空闲期间输出为逻辑1。当 MCR6=1时,使能红外IrDA发送和接收端口。在红外模式下,红外编码器/解码 器端口的无效状态(无数据)为逻辑0。如果该端口未使用,悬空即可。 RXA&RXB: UART通道A接收数据或红外接收数据。正常接收数据输入必须 在逻辑1条件下保持空闲状态。红外接收器脉冲信号通常在逻辑0时为空闲状态。 如果该端口未使用,则需将其连接至VCC或100K欧姆的上拉电阻。 RTSA#&RTSB: UART通道A或B请求发送命令(低电平有效)或通用目的输 出 。 必 须

27、在 使 用 自 动 RTS 流 量 控 制 之 前 声 明 此 输 出 。 具 体 可 参 见 EFR6,MCR1,FCTR1:0,EMSR5:4以及IER6。 CTSA#&CTSB#: UART通道A或B清除发送命令(低电平有效)或通用 目的输入。可用于自动CTS流量控制,具体可参见EFR 7和IER 7。 该输 入应在不使用时连接到VCC端。 DTRA#&DTRB#: UART通道A或B数据终端就绪命令(低电平有效)或 通用目的输出。该端口应在不使用时悬空。 DSRA#&DSRB#: UART通道A或B数据设置就绪命令(低电平有效)或 通用目的输入。该端口应在输入不使用时连接到VCC端。该

28、输入对UART没 有影响。 CDA#&CDB#: UART通道A或B载波检测命令 (低电平有效) 或通用目的 输入。该端口应在输入不使用时连接到VCC端。该输入对UART没有影响。 RIA#&RIV#: UART通道A或B环形指示灯命令(低电平有效)或通用目 的输入。 该端口应在输入不使用时连接到VCC端。 该输入对UART没有影响。 OP2A#&OP2B#: 输出端口2通道A或B。输出状态由用户通过MCR3的 软件设定。 当MCR 3设置为逻辑时1, INTA或INTB设置为激活模式且OP2A# 或OP2B#的输出为逻辑0。当MCR 3设置为逻辑0时,INTA或INTB设置为三 态模式,OP

29、2A#或者OP2B#为逻辑1。具体参见MCR 3。 该输出不能用作 通用输出否则会干扰INTA或INTB输出功能。 XTAL1:晶振或外部时钟输入。 XTAL2:晶振或缓冲时钟输出。 HDCNTL#:通道A和B的RS-485半双工方向控制(低电平有效) 。连接到 VCC用于正常的RTS#功能并连接到GND用于RS-485半双工方向控制。RTS# 引脚输出低电平以进行发送,高电平以进行接收。 CLKSEL: 时钟预分选机。 连接到VCC除以1(默认)和GND除以4。 在 复位或初始化之后, MCR 7可以覆盖该引脚的状态。 CLK8/16:发送/接收数据采样率。 连接到VCC用于正常的16X采样

30、时钟 (标准波特率,默认)或连接到GND用于8X采样时钟。 RESET: 复位(高电平有效) 。该引脚上长于40 ns的逻辑1脉冲将复位内 部寄存器和所有输出。在此期间,UART发送器输出将保持在逻辑1,接收器 输入将被忽略,输出将被复位(见外部复位条件) 。 VCC: 3.3V或5V电源供电。请注意输入在3.3V时不耐5V电压。 GND: 接地。 N.C.: 无连接。此引脚悬空,但通常为了保证良好的设计应用,一般接 地。 4.3.3 XR16C2850 端口端口的的使用使用 芯片 XR16C2850 在使用时的外围电路如图 12 所示。其中,MAX490 用于 RS-485 与 RS-422

31、 通信的低功耗收发器,具有一个驱动器和一个接收器,驱动器 摆率不受限制,可以实现最高 2.5Mbps 的传输速率。设计过程中,我们用两片 MAX490 分别进行 RXA/TXA、 RXB/TXB 的转换。 其中, MAX490 实现 RXB/TXB 的通信转换电路如图 13 所示。 注意到电路设计时,我们在 VCC 与地之间都会接上一个电容,这主要是综 合考虑了两方面原因。 其一, 储能和旁路储能。 电路的耗电有时候大, 有时候小, 当耗电突然增大的时候如果没有电容,电源电压会被拉低,产生噪声,振铃,严 重会导致 CPU 重启,这时候大容量的电容可以暂时把储存的电能释放出来,稳 定电源电压,就

32、像河流和水库的关系旁路。电路电流很多时候有脉动,例如数字 电路的同步频率,会造成电源电压的脉动,这是一种交流噪声,小容量的无极电 容可以把这种噪声旁路到地(电容可以通交流,阻直流,小容量电容通频带比大 电容高得多),也是为了提高稳定性。其二,电源滤波。电容的容量 = 介电常 数面积/距离,通常介电常数、距离是不易改动的量,只能改动面积来改变电容 量。当电容很大时,面积必然大,为了减小体积,不得不用卷叠的方式,但卷叠 必然增加电感量 (尽管对称双绕) 。 电容实际是电阻、 电感、 电容的组合, 如此, 大电容相对电感量也大。例如:用 2200uF 电容时,对于低频 50Hz 是很好的, 但是对于

33、高频来说, 一点用也没有, 因为电感太大。 所以需要考虑到电源的滤波, 我们常会采用大、中、小三种电容,分别针对低、中、高频来滤波。 图12 XR16C2850外围接线图 图13 MAX490的RXB/TXB通信转换图 芯片 XR16C2850 的外围电路中,我们在两个晶振端口并接了一个 2K的 电阻。电阻的作用是将电路内部的反向器加一个反馈回路,形成放大器,当晶体 并在其中会使反馈回路的交流等效按照晶体频率谐振, 由于晶体的Q值非常高, 因此电阻在很大的范围变化都不会影响输出频率。且对于没有使用到的端口,如 RIA、CDA、DSRA、CTSA 等,我们均将其与电源相连,并在端口与电源之间 加入了上拉电阻。 上拉电阻的作用就是将不确定的信号通过一个电阻钳位在高电 平,同时起限流作用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1