您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > 现代数字控制实践报告
HarbinInstituteofTechnology现代数字控制实践报告题目:基于PC104及XR16C2850的高速RS422串口系统设计专业:控制科学与工程姓名:学号:指导老师:日期:哈尔滨工业大学2017年6月数字控制实践设计报告一、设计目的由于一般的工业控制计算机或PC机的RS232串口(COM1,COM2,COM3,COM4等)只能提供最高不超过115200波特率的串行通讯,而实际控制中常常要用到960K甚至更高的串行通讯,并且要求传输距离较远,因此需要设计一套高速串行RS422的串行通讯接口。它能完成一般PC机或者工业控制计算机与下位基于PC104的主控数字系统的高速串行通讯,实现包括上位机给下位机传送指令等信息及下位机反馈给上位机的各种实时数据等功能。二、设计内容(1)要求设计一整套完整的数据通讯系统,并给出完整的原理图。(2)设计相应的通讯软件程序(基于C语言)三、实验验证完成原理设计后,可以基于已有的硬件系统(教师提供)对自己设计的串行通讯程序进行验证。上位机方面可以采用现成的串口助手等工具,而下位机PC104方面可以基于DOS3.1的C语言编译调试环境软件,来设计C语言通讯程序,并进行调试和验证。四、使用芯片4.1PC104的使用4.1.1PC104简介PC/104是一种专门为嵌入式系统而设计的工业控制总线,PC104嵌入式计算机模块系列是一整套低成本、高可靠性,能迅速配置成产品的结构化模块。由于与通用的PC和PC/AT标准(IEEE-P996)完全兼容,可以很快掌握其软、硬件的使用,而且费用低,风险小,大大地缩短了产品开发周期,体现最新技术。PC104的CPU模块包括PC/AT的所有标准功能,同时又有一些独特的功能:(1)尺寸小,90mm*96mm;(2)低功耗,典型值低于2W;(3)可通过堆接方式方便的扩充模块;(4)可通过串口来显示和控制设备;(5)可使用固态盘,适合嵌入式应用。在实际应用中,PC104可以像芯片一样来使用,PC104的104条总线插针以及串、并口及键盘插针可以看作芯片的管脚,PC104的单一+5V供电可通过PC104的总线中的+5V引脚供电,PC104的插针可以直接焊在印制板上,也可以使用质量好的双排插座来连接,要注意PC104的总线驱动能力是不一样的。最后要注意用金属柱子及螺母连接好PC104的四个固定孔。PC104还具有看门狗复位功能,当PC104受到外界的干扰工作不稳定时,看门狗可以及时使PC104恢复正常发工作状态。4.1.2PC104端口PC/104总线信号定义和功能与它们在ISA总线相应部分是完全相同的。104根线分为5类:地址线、数据线、控制线、时钟线、电源线。(1)地址线:SA0~SA19和LA17~LA23:SA0~SA19是可锁存的地址信号,LA17~LA23是非锁存信号,由于没有锁存延迟,因而给外设插板提供了一条快捷途径。SA0~SA19加上LA17~LA23可实现16MB空间寻址(其中SA17~SA19和LA17~LA19是重复的)(2)数据线:数据线SD0~SD15,其中SD0~SD7位为低8位数据,SD8~SD15为高8位数据。(3)控制线:AEN:地址允许信号,输出线,高电平有效。AEN=1,表明处于DMA控制周期:AEN=0,表示非DMA周期。此信号用来在DMA期间禁止I/O端口的地址译码。BALE:允许地址锁存,输出线,这信号由总线控制器8288提供,作为CPU地址的有效标志,当BALE为高电平时,将SA0~SA19接到系统总线,其下降沿用来锁存SA0~SA19。IOR:I/O读命令,输出线,低电平有效,用来把选中的I/O设备的数据读到数据总线上。在CPU启动的周期,通过地址线选择I/O:在DMA周期,I/O设备由DACK选择。IOW:I/O写命令,输出线,低电平有效,用来把数据总线上的数据写入被选中的I/O端口。SMEMR和SMEMW:存储器读/写命令,低电平有效,用于对SA0~SA19这20位地址寻址的1MB内存的读/写操作。MEMW和MEMR:存储器读/写命令,低电平有效,用于对24位地址线全部存储空间读/写操作。MEMCS16和I/OCS16:它们是存储器16位片选信号和I/O16位片选信号,分别指明当前数据传送是16位存储器周期和16位I/O周期。SBHE:总线高字节允许信号,该信号有效时,表示数据总线上传送的是高位字节数据。IRQ0~IRQ15:用于作为来自外部设备的中断请求输入线,分别连在主MCU上。这些中断请求线都是边沿(上跳边)触发,三态门驱动器驱动。优先级排队是IRQ0最高,依次为IRQ1,IRQ8~IRQ15,然后是IRQ3~IRQ7。DRQ0~DRQ3和DRQ4~DRQ7:来自外部设备的DMA请求输入线,高电平有效,分别连在主片DMA控制器输入端。DRQ0优先级最高,DRQ7最低。DACK0~DACK3和DACK4~DACK7:DMA回答信号,低电平有效。有效时,表示DMA请求被接受,DMA控制器占用总线,进入DMA周期。T/C:DMA终末/记数结束,输出线。该信号是一个正脉冲,表明DMA传送的数据已达到其程序预置的字节数,用来结束一次DMA数据块传送。MASTER:输出信号,低电平有效。它由要求占用总线的有主控能力的外设卡驱动,并与DRQ一起使用。外设的DRQ得到确认(DACK有效)后,才使MASTER有效,从此该设备保持对总线的控制直到MASTER无效。RESETDRV:系统复位信号,输出线,高电平有效。此信号在系统电源接通时为高电平,当所有电平都达到规定以后变低,即上电复位时有效。用它来复位和初始化接口和I/O设备。IOCHCHK:I/O通道检查,输出线,低电平有效。当它变为低电平时,表明接口插件的I/O通道出现了错误,它将产生一次不可屏蔽中断。I/OCHDRY:I/O通道就绪,输入线,高电平表示“就绪”。该信号线可供低速I/O设备或存储器请求延长总线周期之用。当低速设备在被选中,且收到读或写命令时将此线电平拉低,表示未就绪,以便在总线周期中加入等待状态TW,但最多不能超过10个时钟周期。REFRESH:刷新信号,为了防止在内存刷新周期内产生不必要的中断,ISA提供该刷新信号,防止中断发生。KEY2:钥匙位。ENDXFR:零等待状态信号,输入线。该信号为高电平时,无需插入等待周期。(4)时钟线SYSCLK:系统时钟。OSC:主振信号输出。(5)除了以上信号外,还有电源正负12V、正负5V、地线GND。4.1.2PC104端口的使用(1)地址线用到了SA0~SA9,寻址空间为1KB,且地址信号可锁存,地址线分别与EPM7128S的相应I/O端口相连。(2)数据线用到了SD0~SD15,可向EPM7128S传送16位的数据。(3)控制线AEN:地址允许信号,高电平有效,用来与地址线配合从而实现地址译码,与EPM7128S的GCLR端口相连。IOR与IOW:读写选择端口,都是低电平有效,分别用来选择读取EPM7128S的信息或者是向EPM7128S写入数据。IRQ9~IRQ12&IRQ15:中断请求端口,与EPM7128S的I/O端口相连。IOCS16:周期控制信号线,与EPM7128S相连。(4)电源与地线按芯片要求分别接+5V,GND。以上所述端口使用情况见图1。图1PC104端口使用情况图4.2EPM7128S的使用4.2.1EPM7128S简介EPM7128S采用了第二代MAX架构,是一种基于EEPROM的高性能可编程逻辑器件(PLD)。通过内置的标准JTAG接口(IEEEStd.1149.1),EPM7128S支持在系统可编程ISP(InSystemProgrammable),集成了2500个可用门、128个宏单元和8个逻辑阵列块,I/O引脚最多有100个。其ISP电路与IEEEStd.1532相兼容。引脚到引脚之间的延时为5ns,工作频率最高可达175.4MHz。MAX7128S在结构上包括逻辑阵列块LABs(LogicArrayBlocks)、宏单元(Macrocells)、扩展乘积项(共享和并联)(ExpenderproductTerms)、可编程连线阵列PIA(ProgrammableInterconnectArray)和I/O控制块(I/OControlBlocks)。EPM7128S的内部结构如图2所示。图2EPM7128S内部结构图逻辑阵列块(LABs)由16个宏单元阵列组成,多个逻辑阵列块通过可编程连线阵列(PIA)互连在一起。可编程连线阵列(PIA)构成了所需的逻辑布线通道。它能够把器件中任何信号源连到其目的地。所有MAX7000的专用输入、I/O引脚和宏单元输出均馈送到可编程连线阵列(PIA)。PIA可把这些信号送到整个器件内的各个地方。每个LAB的输入信号包括:来自PIA的36个信号、全局控制信号(用于宏单元内的寄存器实现辅助功能)和从I/O引脚到寄存器的直接输入信号。对于顺序和组合逻辑运算,MAX7000宏单元都可以单独配置。宏单元由三个功能模块组成:逻辑阵列、乘积项选择矩阵以及可编程寄存器。图3为EPM7128S的宏单元内部结构图。组合逻辑运算是在逻辑阵列中实现的。对于每个宏单元,逻辑阵列都会提供五个乘积项。乘积项选择矩阵将分配这些乘积项作为主逻辑输入(或门和异或门)来实现组合函数,或作为宏单元寄存器清零、预置、时钟以及时钟使能控制的次级输入。有两种扩展乘积项(扩展器)可用于宏单元逻辑资源:(1)共享扩展器,是反馈回逻辑阵列中的逆乘积项;(2)并联扩展器,是从邻近宏单元中挪用的乘积项。图3EPM7128S宏单元内部结构图4.2.2EPM7128S端口的使用MAX7000系列中的EMP7128S用作外围接口电路,将PC104的传送过来的地址、数据、控制信号解码,输入给XR16C2850。同时,EMP7128S又将XR16C2850的信号回送给PC104。EPM7128S的内部功能通过编程实现。本设计具体的引脚使用情况如图4所示。图4引脚使用情况图其中SD0~SD15为EMP7160S与PC104进行数据通信的接口,这8位数据线即可实现由PC104向EMP7128S写数据,还可以实现EPM7128S向PC104回送数据,即SD0~SD7为双向口,具体实现功能由控制信号决定。当IOR为1时,74LS245是从A向B传送数据的,即EPM7128S从PC104读入8位数据,并分别存储在ISD0~ISD7中。当IOR为0时,74LS245是从B向A传送数据的,即EPM7128S向PC104写入8位数据,如图5。其中,IOR与IOW分别控制了XR16C2850的读写逻辑,即当IOR为1时,IOR1为0,XR16C2850开始从EPM7128S的ISD0~ISD7端口读取数据;当IOW为1时,IOW1为0,XR16C2850开始向EPM7128S的ISD0~ISD7端口写入数据。图5EPM7128S数据传送图其中,SA3与SA5用来选通芯片XR16C2850,只有当SA3,SA5同时为低电平0时才允许对XR16C2850进行操作。SA6~SA9所代表的地址要分别与SAC62、SAC72、SAC82、SAC9和SAC61、SAC71、SAC81、SAC9通过74LS85进行比较,并与SA3、SA5共同决定XR16C2850的选通情况。只有比较结果为相等时,CSA和CSB才能够被选通。同时这两组比较信号又通过了或非门去控制74LS245的使能端,只有当两个比较信号中有一个高电平(即有一组比较结果为相等)时,74LS245才能被使能正常工作。当74LS85的两组预比较信号相等时,其最终的A=B端口的输出主要取决于锁存信号AEN。当AEN为低电平时,A=B端口输出为高电平1;当AEN为高电平时,A=B端口输出为低电平0。需要注意的是,这里我们在将AEN信号输入至74LS85的3端口前,利用74LS04做了一个信号的反相处理。以上叙述的具体结构可参见图6。EPM7128S还带有测试口TCK1、TD
本文标题:现代数字控制实践报告
链接地址:https://www.777doc.com/doc-6685169 .html