含RS-232接口的I/O板卡的开发

来源 :电子世界 | 被引量 : 0次 | 上传用户:sunshineaigeng
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  随着计算机控制技术的发展,各专业公司推出了许多种总线型的工业控制卡,其中,大多数都是ISA及PCI并行接口的。虽然,这些I/O控制卡的速度快,实时性也高,但在很多控制系统中不太适用。原因有三个方面,其一是这些卡的操作复杂,灵活性不太好,使用卡的人必须编制相应的驱动程序去控制卡的运行,而且在Windows界面下的编程也很复杂;其二,各种I/O控制卡的价格昂贵;其三,大多数PC提供多种插槽,但那些超薄型计算机,如便携式电脑和嵌入式电脑并没有控制卡的空间和扩展槽的位置,故不能用这些电脑实现I/O卡控制。本文介绍一种含RS-232接口的I/O板卡,将计算机串口进行二次开发,用于工业现场控制系统,代替控制卡的作用,并提供相应的驱动程序,具有成本低、操作简单、兼容性好等优点。
  
   系统功能简介
  
  本I/O卡主要用于需要采用计算机在工业现场进行控制的场合,主要功能如下:提供11路12位的A/D转换、4路12位的D/A转换、16路带光电隔离的开关量输出、16路带光电隔离的开关量输入及1路16位计数器输入;提供一个带光电隔离的RS-232接口,上位机(通常指PC)能通过此端口对本卡上所有的资源进行控制与读入;另扩展一片8255,其PA、PB口作为输入端用,PC口作为本控制卡的一些设置,如用它作为波特率等的设置;本卡还可由DS12C887完成日期、时间、星期的设置、调整和输出。本文主要就系统硬件电路的设计(包括地址译码)及软件设计(通讯协议为主)来对系统的功能进行描述。
  


   硬件电路设计
  
  本控制卡原理框图如图1所示。其中,微控制器采用美国ATMEL公司的AT89C51,它内部有4K的程序存贮器,可以为本板卡节省空间,同时扩展一片数据存贮器62256芯片(32K)及X25045(512×8bits)看门狗电路构成基本的单片机系统。考虑到在一般的工业控制系统中,由于对A/D、D/A转换的速度不太高,所以本卡中的A/D转换采用TLC2543,它是TI公司生产的带串行控制的11路12位A/D转换器件,能对0~5V信号进行12位转换;D/A转换器采用TI公司的双路12位串行接口的D/A转换芯片TLC5618。为了适合更多的工业控制要求,本控制卡目前使用了两片TLC5618,共可以输出4路模拟量。为了提高抗干扰能力,对输入输出端口采用TL521-4进行光电隔离。RS-232接口采用MAXIM公司的MAX232芯片作为电平转换,实现单片机的TTL电平与计算机的RS-232电平的转换。同时为了提高整个系统的工作稳定性,对RS-232通讯口进行光电隔离。由于系统通讯速度可能要求比较高,所以采用了高速光耦6N137作为隔离元件,同时增加一个DC-DC变换器,产生隔离电源,供隔离后的电路使用(如图2所示)。在本卡中,P1用于对一些串行接口的芯片进行控制,为了节省口线,对公共的CLK、DI、DO线公用,组成一条串行总线系统,P13、P14、P15、P16分别为各芯片的片选信号。具体接法如图3所示。
  


  本控制卡由ATF16V8可编程逻辑芯片负责地址译码。62256地址为0~7FFFH,其片选信号直接接地址线A15。8255基地址FF00H,其片选信号 CS=A8+A9+A10+A11+A12+A13+A14+A15;2片输出口扩展74LS377地址分别为FB00H和FC00H,其片选信号为CS1=A15+A14+A13+A12+A11+A10+A9+A8;CS2=A15+A14+A13+A12+A11+A10+A9+A8。
  
  软件设计
  
  本卡软件采用C语言设计,串行口的接收采用中断方式,串口发送采用查询方式,当收到一个完整的指令后,由中断程序置一标志,主程序检测到这一标志后,对收到的指令进行处理,主程序框图如图4所示。
  为了本控制卡使用方便,我们制定了一套较为完善的通讯协议。协议规定每一条指令或返回数据由以下几部分组成。
  


  第一字节:为一帧数据的长度,以字节为单位,指第二字节到最后一个字节的字节总数。
  第二字节:一个表示数据或指令类型的ASCII码,“D”表示开关量,“A”表示模拟量,“T”表示计算返回的值。
  第三字节:一个表示输入输出类型的ASCII码。“O”表示输出,“I”表示输入。
  最后字节:表示除第一字节和最后一字节外的校验和,取低8位。
  中间的其余字节为数据内容,表示模拟量时为模拟量的二进制值,表示开关量时为开关量的状态。在通讯时,接收方如正确接收则返回1AH,否则返回1CH,请求重发。具体的指令设置包括有以下几种情况:
  读开关量状态 格式:字节数 “D”“I”;响应:字节数 “D” “I” “FFFF”,其中,FFFF为2个字节,分别对应16路开关量的状态,为“1”时表示有电压输入。
  写开关量状态 格式:字节数“D”“O”“N”“M”;响应:无;N(00H~0FH)表示通道号;M表示状态,0表示无输出;当N=FF时,表示对所有通道进行操作,此时M为16位(两字节)。
  


  读A/D 格式:字节长“A” “I” “N”;响应:字节长 “A” “I” “N” “FFFF”;N为A/D通道号;FFFF为双字节,是A/D转换的结果,高4位在前,低8位在后。
  写D/A 格式:字节长 “D” “I” “N” “FFFF”;响应:无;FFFF为双字节,是D/A转换的结果,高4位在前,低8位在后。
   读计数器 格式:字节长 “T” “I”;响应:字节长 “T” “I” “FFFF”;FFFF为计数结果。
  启动计数功能 格式:字节长 “T” “S”;响应:无,在此协议的基础上,我们还可以设置一些其它指令,但需要在控制卡运行相应的程序。
  
  应 用
  
  本控制卡价格低廉,使用方便,无需打开计算机装卡。这样,在工业控制现场,用一台笔记本电脑就可以很方便地调试系统,且可以利用许多现成的串口通讯控件,如VB中的MSCOMM控件,VC中的Microsoft Communication Control这一Active类控件来很方便地编写应用程序。
其他文献
设计并制作一个简易智能电动车,设计功能及要求见本刊第10期,其行驶路线示意图如图1。    1.方案设计与论证    采用凌阳公司16位单片机SPCE061A做核心控制。3个I/O口控制双刀双掷继电器从而控制电机的正向和反向转动;2个黑白线传感器,用来控制小车寻线行走;3个光电传感器控制小车寻找光源,进入车库;1个金属传感器用来检测金属铁片;4位LED动态显示检测到的金属铁片,并在到达终点以后显示
期刊
MCS-96系列单片机是Intel公司生产的十六位单片机,该系列约有20多个品种50余个型号。大体上可以归为两大类型,即早期生产的8X9X类型和后期生产的8XC19X类型,后者在性能上有所改进,但两者共用一套指令系统,硬件结构也大体相同,换型使用很方便。8098属于8X9X中的一个型号,而80C198属于8XC19X中的一个型号,它们都是准十六位单片机,是MCS-96系列中的最简单的同时也是最廉价
期刊
在很多科幻作品中,都提到过一些为人们料理家务的机器人管家。因此,我们就设想制造一个智能机器人,用它能够控制家里现有的一些硬件设备,监测家中的环境状况,即使是主人不在家的时候,它也能够按照主人的“吩咐”,将家里的生活安排得井井有条,就像一个忠诚的管家一样,服务于人们的家庭中。使曾经的科学幻想变为现实是我们的设计的主要目标。  要做一个真正的机器人管家,就要用机器人实现管家所应当完成的任务,并且主人可
期刊
MAX8530是MAXIM公司生产的器件,它是一种双输出、低功耗、低压差线性稳压器。该器件主要特点:输出1(OUT1)保证输出200mA;输出2(OUT2)保证输出150mA;OUT1及OUT2有多种电压输出(详见表1),用户也可根据电路需要确定要求的OUT1及OUT2的电压(在1.5~3.3V范围之内)向工厂订货;两个电源是相互独立的并且都是低压差,在100mA输出时其压差典型值为100mV;工
期刊
美国德克萨斯(TI)仪器公司近日推出了最新数字功放电路TAS5111和TAS5112。它采用所谓“纯数字路径”(PurePath Digital)技术,使得DVD输出的数字信号一直保持到功放扬声器前的末级放大。据称,这是目前市场上效率最高的功放电路,可以用于DVD和AV功放、小型/微型的组合音响、数字电视和合并式家庭影院系统以及汽车音响等。这类数字功放除了放大效率较高外,在动态范围、高保真度和高集
期刊
AT45D041是一由单5V供电、带串行接口的快闪存储器,该芯片特别适合于在系统反复编程,其4兆位的存储容量被分为2048页,每页264个字节。除了主存储页外,AT45D041还包含2个SRAM数据缓冲区,每个区的容量均为264个字节,当主存储页正在编程时,缓冲区可接收外部数据。传统快闪存储器往往利用多条地址线和并行接口来实现随机存取数据,而AT45D041则利用串行接口来实现连续存取数据。简单的
期刊
通常我们见到的直流稳压电源,要么输出电流较大(3A左右),但输出电压不高(最高200V左右),要么输出电压较高(最高可达500V),但输出电流不大(仅几十mA~1A)。而在工业应用场合,有时需要用到输出电压调整范围大、输出电流也大的高性能稳压电源,而且要求发热量小、持续工作的可靠性要高。这不是一般的串联线性稳压电源能达到的。开关电源尽管效率高、自耗小,但它的输出电压通常为固定输出,要做到大范围内调
期刊
IR2520D是美国国际整流器(IR)公司最近研制的荧光灯电子镇流器控制器和半桥驱动器单片IC。该新型器件的主要特点是含有自适应零电压开关(ZVS)和波峰因数(即峰值电流与平均电流之比值)过电流保护。IR2520D的核心是一个0~5V的压控振荡器(VCO),其最低频率(即灯正常燃点时的输出频率)可由外部电阻来编程。IR2520D的半桥驱动器输出专门用作驱动MOSFET或IGBT。IR2520D仅需
期刊
I2C总线控制与调整    在该遥控系统中,主控微处理器IC001(LA863348)和TV信号处理集成电路IC201(LA76810)之间的数据传输是通过I2C总线进行的。由于LA863348和LA76810集成电路都具有I2C总线标准接口(译码器,D/A转换器等),因而不需要其它接口电路,而直接挂在数据线(SPA)和时钟线(SCL)上即可。  在该机里,所有选择音视频信号滤波器的中心频率和幅频
期刊
康佳P2901彩电设有可控硅保护电路, 当行输出级电流过大或显像管束电流过大时,进入保护状态,避免更大的损失。    保护电路工作原理    该机的保护电路见图1所示,其保护电路与开关机电路、取样误差放大电路并联,稳压环路的取样误差放大电路、开关机控制电路、保护电路均通过光耦N902对开关电源初级的厚膜电路STR-S6709的稳压控制端脚进行控制:开机时,由稳压环路的三端取样误差放大电路控制,N9
期刊