积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式硬件 >> 相关文章
  相关分类: 相关文章 | ARM | 新产品 | 下载 | MIPS | X86 |
PC机与嵌入式计算机系统串行通讯的硬软件实现
 
作者:季宏锋,吴军辉,徐立鸿   来源:单片机与嵌入式系统IC网    点击数:175   更新时间:2008-5-30
您可以添加到网摘 让更多人关注此文章:

    

 :介绍了微机(PC)与嵌入式计算机系统的串行通讯的方法,叙述了嵌入式计算机在温控系统中的应用和硬件结构,给出了Windows98下的串行通讯程序。
关键词:微机(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



相关文章
· 计算机与CPLD串口通信[64]
· 计算机在新型多电机同步系统中的应用[103]
· 世界最小计算机揭秘:仅有17个分子[111]
· 微软展望2020年:人与计算机生理界限将消失[157]
· IBM超级计算机"走鹃"运算速度达1 petaflop[155]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
Hitachi Elect
中国芯片供需缺口达七成
西班牙研发出视觉鼠标 眨眼
首条OLED生产线昆山投产 
宇航服电子元器件:航天员的“生命保护
美研发出可卷曲太阳能电池
美国研发嗅觉感受器获新进展 
首尔半导体就日亚(NICHIA)专利
MIPS 科技授权国家集成
美国微芯科技公司与安森美半导体拟以每
 
热门下载 [更多]
 
[ PCB设计] Protel99教程下载
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
 
论坛新帖 [更多]
 
Agilent代理商 0755...
AD代理商 0755-8832...
Actel代理商 0755-8...
嵌入式系统免费网上学习!...
ARM与uClinux...
ARM与uClinux...
NORDIC最新推出nRF24...
网络摄像机技术的调试与测试...
对于新人,为什么公司不再会成为...
[转帖]低价销售各种数码相机,...

 
赞助商 [更多]
 

ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网