PC机与嵌入式计算机系统串行通讯的硬软件实现

发布者:温柔的爱情最新更新时间:2011-10-25 关键字:PC机  串行通讯 手机看文章 扫描二维码
随时随地手机看文章
1 引 言
  目前,先进的嵌入式计算机以其优良的品质、高可靠性及模块化,广泛地应用于工业控制、航空航天、医疗、智能仪表、通讯、数控、自动化生产设备、数据采集等领域。在实际应用中,有时需要借助微机的强大的数据处理能力和丰富的软件资源,使得组成的系统功能更为强大。这样,为了提升系统的整体性能,必须实现PC机和嵌入式计算机之间的通讯。它们之间的通讯可以通过并行通讯或串行通讯两种方式来实现。由于串行通讯相对于并行通讯有接线数量少,抗干扰性能好等优点,所以,这里采用串行通讯的方式。
2 嵌入式计算机的硬件和通讯软件的设计
2.1 系统的功能简介
  本文以温控系统为背景作介绍。现场的嵌入式计算机的模拟量采集模块和数字量采集模块采集温度湿度、以及执行机构的开关量状态,经自身的MCU(微控器)进行简单的处理后,经串行通讯的方式,将这些数据上传至微机,微机则先将模拟量资料存入数据库中(为了中长期地跟踪温控系统的控制效果,便于以后的分析),再通过控制算法来计算输出控制量,并通过通讯下传到嵌入式计算机中,然后再由其控制量输出至相应的执行机构进行控制。整个系统这样设计的优点在于:通过微机上的图形控制接口,生动实时地向用户显示控制对象的情况;友好的用户接口使得用户可以在微机上直接手动输出来控制被控对象;同时又发挥了嵌入式计算机系统的稳定性、可靠性和高度灵活性等特点。
2.2 嵌入式计算机的硬件结构
  嵌入式计算机系统由以下几部分组成:模拟量采集部分,数字量采集部分及输出部分,通讯部分和微控器的综合控制部分。
  模拟量采集部分最少可以采集32路的模拟量,并可以通过硬件的跳线设置最多采集64路的模拟量。通过模拟开关的切换,可以将模拟量信号经过A/D芯片转化为数字量信号,再做进一步的处理。A/D芯片用的是德州仪器公司(Texas InstrumentsIncorporation)的TLC2543C。TLC2543C是渐次逼近式的A/D转换器,具有12位的精度,可以同时对11路信号进行转换。数字量采集部分及输出部分使用了NEC8255芯片,通过软件对NEC8255进行设置来选择数字量的输入与输出的方向。通讯部分将MCU的TTL电平转换为进行RS-485通讯所需的485电平。微控器的综合控制部分的作用是:对模拟量采集部分、数字量采集部分及输出部分、以及通讯部分进行协调控制,同时可以接受用户的按键输入,它也将负责将采集到的模拟量转换后,在现场的LED上显示出来。系统框图如图1所示。

2.3 嵌入式计算机的通讯部分硬件设计
  通讯部分将MCU的TTL电平转换为进行RS-485通讯所需的485电平,进行电平转换的是MAX1480C。MAX1480B是一种完全电气隔离的RS422/RS485数据通信接口,在一个标准的DIP封装
中有完整的接口,包括收发器、光耦合器和变压器,逻辑侧的单电源+5V给接口两侧供电。信号于电源在内部跨过隔离层进行传送,电源通过中心抽头的变压器从隔离层的逻辑侧(非隔离侧)变换至隔离侧,信号由高速的光耦合器从隔离的一侧传至另一侧。MAX1480B具有有限斜率驱动器,即驱动器发送的数字信号,其边沿斜率是受限制的,以使电磁干扰(EMI)最小,且能减小由于电缆终端不匹配而引起的反射,在数据速率高达250kbps时能做到无误差的数据传送。驱动器具有限制短路电流的功能,并使用热关闭电路保护,使之功耗不致过大。热关闭电路可把驱动器的输出置于高阻状态,接收器输入端具有故障保护的特性,如果输入开路,可保证输出为高点平。MCU与MAX1480B的硬件接口如图2所示。




2.4 嵌入式计算机的通讯部分软件设计
  由于嵌入式计算机系统中的微控器(MCU)是AT89C55,要和PC机进行通讯,必须对微控器的串行口进行初始化,设置通讯方式(协议)、通讯速度、传送的资料格式和长度,然后打开通讯口进行通讯。嵌入式计算机系统中的编程语言使用的是KEILINCORPORATION公司的KeilC6.12。通讯部分的软件流程如图3所示。
    相应的重要通讯代码:


3 Windows98平台上的串行通讯程序
  为了和嵌入式计算机进行485通讯,所以在上位微机中我们采用了研华工控的基于ISA的485电平转换板卡。在视窗98操作系统下,操作系统全面地接管了PC机的硬件系统,所以在Windows98下,通过自己编写低层端口的驱动程序将十分麻烦。而VisualBasic6.0中的MSComm则解决了开发者对Windows管理低层硬件不熟悉的问题。所以我们使用VisualBasic6.0中的MSComm来编制通讯程序。VB中的MSComm为应用程序提供了串行通讯功能,它通过串行口发送和接收数据,非常方便地实现串行通讯。MSComm控件提供了一系列的标准通讯命令的使用界面。使用它可以建立与串行口的连接,通过串行口连接到其他通讯设备,进行数据交换,以及监视和响应串行连接中发生的事件和错误。下面先来介绍一下MSComm的一些属性和事件,见表1。



    OnComm事件是MSComm中的唯一的一个事件。无论何时当CommEvent属性的值变化时,就产生OnComm事件,标志发生了一个通讯事件或一个错误。
  在属性中,根据笔者的调试经验有以下两点值得注意:
  (1)Input属性和InputMode属性之间的关系:
InputMode属性确定用Input属性读取的数据类型。如果设置InputMode为comInputModeText,Input属性通过一个Variant返回文本数据。如果设置InputMode为comInputModeBinary,Input属性通过一个Variant返回一二进制数据的数组。因为,根据本系统的通讯协议要求,通讯中数据部分的数值可能会大于127,而comInputModeText方式采用ASCII编码,其最大值只有127,所以要用comInputModeBinary方式。
  (2)Output属性讨论:Output属性可以传输文本数据或二进制数据。用Output属性传输文本数据,必须定义一个包含一个字符串的Variant。而字符串中的字符也是用ASCII编码,这样也不符合通讯协议的要求。所以要用Output属性传输二进制数据,这样才能与符合通讯协议的要求。发送二进制数据,必须传递一个包含字节数组的Variant到Output属性。具体发送做法如下:

    下面是一些重要的程序代码:




4 结束语
  本系统在实际应用中,运行稳定,得到了用户的好评。由嵌入式计算机和微机(PC)组成的系统,通过发挥各自的长处,并通过串行通讯相连,极大地提高了系统的稳定性和可靠性,同时从成本的角度来考虑,它也是经济实惠的,高性价比的。

参考文献

1 范逸之著.VisualBasic与Rs-232串行通讯控制.北京:中国青年出版社,2000
2 李朝青著.单片机原理及接口技术.北京:北京航空航天大学出版社,2000
关键字:PC机  串行通讯 引用地址:PC机与嵌入式计算机系统串行通讯的硬软件实现

上一篇:单片机应用电路板的故障诊断方法及实现
下一篇:传感器与AT89S52单片机的接口电路设计

推荐阅读最新更新时间:2024-03-16 12:44

Mini2440开发板与PC机连接方式汇总
拿到开发板的时候,附件中已经自带了一些连接线,主要有串口直连线、USB线、网线、JTAG烧写器。对于开发板的这些连线的使用,对于初学者来说肯定会很迷茫,现在一一讲解它们的用途。 JTAG烧写器 JTAG烧写器主要在开发板第一次下载bootloader的时候用的,一旦开发板里面已经存有bootloader,那么后面的下载bootloader以及内核和文件系统都可以通过串口和USB实现,这时JTAG烧写器就可以不用了。因为刚买来的开发板一般都已经下载了bootloader,所以可以说这个JTAG烧写器在后续的开发中几乎用不上。JTAG烧写器的外观如图1所示。 图1 JTAG烧写器 JT
[单片机]
联发科看淡ARM进入Windows PC机
  据美国媒体报道,尽管过去几年比较糟糕,但今年晚些时候 Windows PC将依靠 ARM 芯片回归,只是只有高通芯片。另一家重要的 ARM 芯片制造商联发科(MediaTek)并未争取将 ARM 芯片安装到 Windows PC的机会,因为该公司认为这种机会有限。下面就随嵌入式小编一起来了解一下相关内容吧。   联发科的芯片已经使用到Chromebook中,但ARM在 Windows 中的应用历史比较糟糕,这是该公司置身局外的另一个原因。ARM进入PC的情况如同英特尔试图打入智能手机市场一样--联发科的销售总经理分巴尔·莫伊尼翰(FinbarrMoynihan)表示,这是冒险的主张。PC主要运行英特尔和AMD的x86芯片,但
[嵌入式]
开关电源技术:PC机电源内部结构分析
我们要看电源是由什么组成的,最好的方法是我们打开电源的外壳,看看电源的内部结构。 二极管组成,另一种是将四个二极管封装在一起。而后一种的方式就被称为全桥。全桥和二极管所能承受的最低耐压程度和最大电流是有限值的:耐压应不低于700V,最大电流应不大于1A。 4.开关三极管 开关三极管是开关电源的中心枢纽,它主要负责将直流电送到开关变压器上。其耐压程度不能小于800V,输出的电流通常不能小于5A。开关三极管是容易损坏的部件,而它又是开关电源的核心。所以开关三极管的质量和对于电源的好坏是息息相关的。 5.开关变压器 电源中,在两个散热片之间的金属线包就是我们看到的开关变压器。它的主要作用就是将高压转变为低压,根据电磁学的原理,
[电源管理]
Windows环境下PC机与单片机串行通信的实现
  串行通信是计算机和外设进行通讯、对外设进行监控并获取由外设采集到的监测数据的一个非常重要的手段。由于其所用的传输线少,成本低,实现起来方便易行,因而得到广泛的应用。   以往在Windows平台上的串行通信多使用其提供的API函数来实现,这种方法使用起来需要许多底层设置,因而较为繁琐,且难以理解。本文结合笔者在开发遥感CCD相机控制子系统的过程中对串行通信编程的一些经验,介绍在32 b Windows操作系统下,用VisualC++6.0的ActiveX技术实现PC机与单片机之间串行通信的一些方法。 1 硬件组成   系统中采用80C31单片机作为下位机,PC机为上位机,二者通过RS232串行口接收或上传数据。接线图如图1
[单片机]
Windows环境下<font color='red'>PC机</font>与单片机串行通信的实现
PIC16系列单片机与PC机 串行通信的软硬件实现
1 前言 美国Microchip公司的PIC16系列单片机是一种新型的CMOS工艺的8位单片机。其中,PIC16FXX单片机的程序存储器为电可擦除闪速存储器(flash),可多次修改程序,甚至可以在线编程。PIC16F83和PIC16F84片内数据存储器除RAM外,还有64字节的EEPROM,可以当作一般的或非易失性的数据存储器使用,简单方便。它还具有片内上电复位、延时电路、看门狗电路等。另外,PIC16系列单片机功耗极低,因而是一种非常适合在各种便携式设备中使用的高性价比的单片机,并已经得到了越来越广泛的应用。 但是在许多需要大量计算的运用中,还必须借助微机的强大数据处理能力。这样必须通过通信电路实现PIC单片机与微机间
[单片机]
PIC16系列单片机与<font color='red'>PC机</font>  串行通信的软硬件实现
用ST16C2552实现DSP高速串行通讯扩展
1 引言 随着大规模集成电路工艺技术的迅速发展,DSP已经越来越广泛地应用于工业场合。工业现场由于许多场合通讯双方相距较远,为了保证通讯成本和可靠性,必须采用串行方式进行通讯。目前TI公司DSP都只有一个UART口,比如TMS320LF2407,当同时需要与上位机和下面的被控对象进行通讯,或者同时连接几个上位机时,则需要对DSP进行串行通讯口扩展,而使用可编程的ST16C2552可以一次扩展两组相互独立的串口,满足各种条件下串行通讯的要求。 2 ST16C2552介绍 ST16C2552是Exar公司生产的通用异步通讯扩展器件,并与飞利浦公司的SC16C2552相兼容,可扩展2路独立的串行通讯,可编程设定通讯起始位、停止位和
[嵌入式]
基于单片机的通用数据采集和通讯仪的设计
0 引言 单片机数据采集系统是指利用单片机对现场的各种信号,包括:非电量信号(如温度、压力、流量等),电信号(电压、电流),以及开关量,频率量信号等进行采集,存储,显示,传输的系统。目前,8位单片机由于其控制功能强大、品种多、价格低廉,正广泛应用于各个领域,特别是应用在数据采集,设备控制等方面,是单片机应用中的主流机种。本文采用台湾华邦公司生产的高性能Turbo-51系列单片机 W77E58,实现了一种基于单片机的通用数据采集和通讯仪的研制,具有较高的实用价值。为了使设计的数据采集仪应用方便,系统利用PTR2000无线数据传输模块与上位机进行通讯,以便能随时响应控制中心的PC机的数据上传命令,将采集到的数据实时上传给控制中心
[单片机]
PC机间串行通信的实现
DSP在电子工业领域得到了越来越广泛的应用。在DSP应用系统设计中,必不可少的是各种通信接口的设计。与并行接口相比,串行接口的最大特点是减少了器件引脚数目,降低了接口设计复杂性。串行数据传输可分为同步和异步两种模式。通用PC机的RS-232接口为通用异步接口UART(Universal Asynchronous Receiver and Transmitter),而MOTOROLA公司的串行外围设备接口SPI、队列SPI(QSPI)、PHILIPS公司的内部IC总线(I2C),National公司的微总线(MICROWIRE)均为同步串行协议。 目前几乎所有的数字信号处理器都提供了一个或多个串行接口,然而,多数DSP芯片提供的
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved