1 引 言
PC/104作为一种普及性的工控机模块,以其低廉的价格、丰富的接口等优势,广泛应用于工业控制,通信等领域。复杂可编程逻辑器件(CPLD)在较小的封装内集成了大量的逻辑门电路,便捷的系统在线编程(ISP)使得CPLD广泛应用于IO接口扩展,时序控制等领域。
根据应用需求,系统中由单片机控制液晶模块实现人机交互,通过异步串行通信接口向中央处理单元发送信息查询申请指令;PC/104作为系统的中央处理单元,需要按约定的通信协议将查询结果以数据帧的形式,通过异步串行通信接口发送到单片机上。为实现PC/104与单片机之间异步串行通信,提出了一种基于CPLD实现ISA总线扩展异步串行通信接口的解决方案。该接I21带发送数据缓存及波特率可调,为PC/104总线上扩展多个串行通信接口提供了可能性。PC/104应用层的程序中可以方便地设置波特率,适用于不同速率的异步串行通信接口。CPLD与PC/104间使用标准的ISA总线互连,便于移植到各类ISA总线架构的应用中。
2 开发平台
硬件平台为:PC/104(研华PCM一3341?)作为异步串行通信的上位机,单片机DEMO 板(A rmega64系列l2 )作为异步串行通信的下位机,CPLD(Xilinx公司的XC95288XL )外挂于PC/104的ISA总线上,为ISA总线扩展一个带发送缓存的串行通信接口。PC/104的ISA总线信号为+5V的TTL电平,CPLD的IO端口推荐使用+3.3V的LVTrL电平,二者之间通过SN74ALVC164245芯片 实现电平转换。CPLD与单片机间使用标准RS232接口实现串行通信,CPLD内设计的串行接口通过MAX3232芯片实现TTL电平与RS232电平的转换。硬件连接关系如图1所示。
软件平台为:CPLD的开发工具是Xilinx公司的ISE8.2.03i,仿真工具是Model公司的ModelSimSE6.1b,开发源代码采用VHDL语言编写。