让找料更便捷
电子元器件
采购信息平台
生意随身带
随时随地找货
一站式电子元器件
采购平台
半导体行业观察第一站
标签:
摘要: 摘要: 本文介绍了基于Windows CE 的PC104模块与基于MCS51单片机的GPIB接口构成自动测试仪器的实现方法,其中GPIB接口与单片机间的数据传输和PC104模块与单片机之间的串行通信是系统实现的关键。本文详细介绍了整个系统的软件与硬件设计。 关键词:GPIB接口;PC104;Windows CE;串行通信;多线程1 引言 &n
摘要: 本文介绍了基于Windows CE 的PC104模块与基于MCS51单片机的GPIB接口构成自动测试仪器的实现方法,其中GPIB接口与单片机间的数据传输和PC104模块与单片机之间的串行通信是系统实现的关键。本文详细介绍了整个系统的软件与硬件设计。
1 引言
目前,先进的嵌入式工业计算机PC104,以其优良的品质、高可靠性及模块化。广泛应用于工业控制、航空航天、智能仪器仪表、通信数控、自动化生产设备、数据采集、便携式计算机等领域。在PC104模块上一般运行实时操作系统(RTOS),Windows CE是一紧凑、高效和可扩展的操作系统,它是面向32位移动智能设备的模块化抢先式多任务实时嵌入式操作系统。基于Windows CE的PC104模块能够方便快速构建新一代内存少体积小的智能设备。而GPIB总线又称IEEE-488总线标准,是组建自动测试系统的通用国际标准接口。作为一种用途广、功能强的8位数据通道并行接口标准,特别适用于实时控制与快速数据采集等场合。随着通用并行接口的发展与测量自动化上的广泛应用,为了使仪器能够与装配有GPIB接口的仪器构成自动测试系统,GPIB接口是必不可少的。本文首先介绍如何将GPIB接口与PC104模块进行硬件连接,然后讲述了单片机中进行数据转换的软件编程思路和Windows CE下的串行口软件编程方法。
2 硬件实现
用MCS-51单片机对来自PC104模块的串口信号和来自通用接口电路上的数据进行转发是本系统的关键。通用接口电路由GPIB接口芯片和信号驱动芯片构成,常用的GPIB接口转换芯片有几种,如MC68488,intel 8291、8292、8293及PD7210等,本文以intel 8291为例介绍数据转换的方法。
利用单片机的串口,将接收到的由PC104计算机发出的来自串行接口芯片的GPIB命令,按IEEE488的规则,通过GPIB接口芯片发送到GPIB总线,并将从总线上接收到的数据从接口芯片中取回,经由串行接口芯片发送到PC104模块上的RS-232C串口。其硬件框图如图1所示:
图1 :GPIB接口转RS232接口硬件框图
3 软件设计
3.1 MCS-51单片机的GPIB接口通信编程
这部分的软件编程主要是实现将RS-232接口收到的命令转化为IEEE488接口的命令,即按IEEE488的规则将命令送出,同时将从IEEE488接口传来的数据转发至串口。
① 设备初始化
为了接口芯片的正常工作,需要正确地初始化GPIB接口芯片。a.系统复位,发送本地芯片复位命令;b.设置设备地址;c.设置系统时钟;d.设置中断条件;e.设置数据接收发送条件;f.设置数据接收应答模式;e.发出立即执行命令。还要设置串口通信方式如下,1位起始位,8位数据位,1位停止位,无奇偶校验,波特率38400bit/s。传输数据采用ASCII模式。指令形式的格式为“SYN****@”,其中‘SYN’和 ‘@’ 分别表明该指令的起始和结束,‘****’为指令内容。
② 基本功能的实现
下面讲述了将GPIB接口信号转发到串口的方法,从串口到GPIB接口数据的传输可以用类似的方法实现。对来自GPIB总线上的信号接收采用中断方式,并在收到停止位时置位结束标志,以通知主程序进行串口数据发送。中断接收子程序的软件流程如图2所示
图2 GPIB接收中断子程序
当主程序根据结束标志检测到有新的来自GPIB总线上的数据时,通过串行口将数据发送到RS232总线上由PC104接收。在没有检测到结束标志时主程序处于等待状态。其软件流程图如图3所示:
图3:主程序流程图
3.2 Windows CE 下PC104模块的串口通信编程
Windows CE打开与关闭串口设备与打开与关闭文件的操作相同,所以串口编程使用与文件I/O操作完全相同的函数,即使用文件I/O函数CreateFile、ReadFile、WriteFile、CloseHandle访问串口。用CreateFile打开串口,一旦串口被打开和配置后就可以用WriteFile向串口发送数据,也可以用ReadFile从串口读出数据。由于Windows CE 下只支持同步文件访问,不支持重叠I/O。使用多线程管理串口通信可以充分利用资源,提高数据处理速度。创建线程监听串口并使用消息传递机制通知串口处理函数读取接收缓冲区的数据。
PC104串口通信的基本步骤如下:
型号 | 厂商 | 价格 |
---|---|---|
EPCOS | 爱普科斯 | / |
STM32F103RCT6 | ST | ¥461.23 |
STM32F103C8T6 | ST | ¥84 |
STM32F103VET6 | ST | ¥426.57 |
STM32F103RET6 | ST | ¥780.82 |
STM8S003F3P6 | ST | ¥10.62 |
STM32F103VCT6 | ST | ¥275.84 |
STM32F103CBT6 | ST | ¥130.66 |
STM32F030C8T6 | ST | ¥18.11 |
N76E003AT20 | NUVOTON | ¥9.67 |