基于CPCI总线的嵌入式计算机通用接口设计研究
2016-03-02任群
任 群
(亳州师范高等专科学校 电子与信息工程系,安徽 亳州 236800)
基于CPCI总线的嵌入式计算机通用接口设计研究
任群
(亳州师范高等专科学校 电子与信息工程系,安徽 亳州 236800)
摘要:对嵌入式计算机通用接口的设计进行研究.设计方法采用了现场编程技术和硬件、软件相结合的方式,分别设计了相应的通用函数、共享存储区、硬件接口电路等部分,成功设计出了基于CPCI总线的嵌入式计算机通用接口,同时在实践当中得到了成功的应用.
关键词:CPCI总线;嵌入式计算机;通用接口;设计研究
在微电子技术大力发展的背景下,嵌入式计算机得到了越来越广泛的应用.嵌入式计算机实际上指的是一种专用的计算机,其主要面对的是一些特定的应用,融合了半导体技术和计算机技术等多项先进技术,通过在不同领域当中的应用与结合最终形成的.系统的中心是应用,基础是计算机,在体积、成本、可靠性、功能性等方面,都有着较高的要求.嵌入式计算机相比于普通的计算机,具有更高的设计要求,需要将最佳的性能实现在最小的面积当中.
1传统嵌入式计算机设计中存在的问题
在设计嵌入式计算机的过程中,需要分别进行硬件和软件的设计.其中,硬件设计主要包含了具体功能模块、系统体系结构等方面的设计,而软件设计主要包含应用软件、底层驱动软件等方面的设计.在传统的硬件和软件设计方法中,主要是按照实际需求.首先设计计算机硬件,然后根据具体设计的各个功能模块硬件,对相应的底层驱动软件进行编制,使其能够初始化和驱动相应的硬件芯片,从而实现相应功能[1].利用这种方法进行设计,底层驱动软件的设计,都是面向相应的硬件模块来进行的,二者之间存在着相互关联性.如果硬件模块由于一些原因发生改变,在芯片的各种寄存器当中,定义和地址也会发生改变.而此时底层驱动软件要想继续发挥作用,就必须做出相应的调整.
嵌入式计算机的生命周期很长,而电子元器件的生命周期却越来越短.因此,时常会遇到更换和升级硬件芯片的情况.在传统的计算机设计当中,如果硬件芯片进行了更换,相应的底层驱动软件也要随之调整.不同的厂家在设计和生产同一种产品的时候,都会采用各自不同的技术.因此,如果用户在一个系统中,选择了多个厂家的产品,就会导致计算机扩展版当中的硬件和驱动程序不同,相互之间可能发生不兼容的情况,从而给用户使用和维护计算机带来麻烦.
2基于CPCI总线的嵌入式计算机
将紧凑型外围设备互联成为CPCI,基于CPCI总线的嵌入式计算机具有安全可靠、结构紧凑、性能强大、体积小等优点.在各类比较恶劣的工作环境当中,也能够进行较好的应用.在当前的实际应用中,基于CPCI总线的嵌入式计算机以其较强的电测兼容性和环境适应性,再加上其良好的灰尘、高温、冲击、振动等方面的防护能力,目前已经广泛的应用在军事、汽车、通信、航空航天、仪器仪表等领域当中[2].
在设计嵌入式计算机的过程中,为了能够充分的满足环境和功能等方面的需求,设计思想应当坚持模块化,在坚固的机箱当中进行电源、功能器件、主板的部件的安装,同时与主板之间利用CPCI总线进行连接,使系统能够正常的发挥作用.而基于CIPI总线的嵌入式计算机通用接口,主要是用于连接不同功能扩展版与主板之间的软件和硬件接口.通过对通用接口的利用,能够使主板有效的控制扩展版,实现传输和采集相关数据的功能.
3基于CPCI总线的嵌入式计算机通用接口的设计
3.1硬件设计
3.1.1CPCI总线的接口设计
在嵌入式领域和工业领域当中,为了使计算机能够在恶劣的环境中正常工作,因此采用了CPCI总线.它是在PCI总线的基础上衍生和发展而来的.相比于面向桌面型的PCI总线来说,CPCI连接器的结构设计为加固型规范模块,具有更高的可靠性和环境适应性.CPCI总线是一种服务数据或地址的同步总线,拥有32位的总线宽度,能够进行64位扩展,最高可支持64 MHz的工作频率.能够实现Cache操作、猝发传输、快速背对背传输,具有良好的扩展性、数据吞吐率和传输速率.CPCI总线能够自动进行配置,在初始化系统的时候,按照设备的要求POST程序会自动进行I/O空间和存储器空间等系统资源的分配.因此,基于CPCI总线的各种设备,通常都具有即插即用的功能.只要是接口满足CPCI总线规范的系统设备,就能够实现互通和互连.而通用接口的设计,正是以CPCI总线的这些特点为基础的,其接口设计具体包含了匹配电路、外围控制、总线桥接芯片等[3].
3.1.2板上微处理器
在局部总线当中,板上微处理器也就是下位机,是其中的主设备,在硬件差异的屏蔽当中,发挥着重要的作用.其程序驱动利用逻辑设备实现,控制具体的硬件功能芯片,从而使扩展版实现通信、采集数据等功能,与主板之间利用双口RAM来交换数据.在设计当中,板上微处理器采用了能够对工业标准MCS-51系列指令集进行兼容,带有4K字节的Flash存储器能够实现片内重复编程,内部RAM选择128×8位,输入和输出引脚可编程32个,串行通道1个可编程,计数器16位2个[4].
3.1.3可编程逻辑芯片
可编程逻辑芯片需要访问和控制双口RAM、访问双口RAM竞争状态机、地址译码、内部寄存器等动能.在设计过程中,实现现场可编程逻辑阵列M4A5192/96.可编程逻辑芯片中能够兼容CPCI,兼容303V和5V的信号,供电采用5V.其中含有可编程的内部上拉信号、单相输入引脚16个、双向输入和输出引脚96个、宏单元192个.其符合IEEE1149.1标准,能够进行在线编程和边界扫描测试.
控制信号和地址通过局部总线由内部寄存器进行输入,同时所存输入和输出的数据.对于双口RAM的主板和扩展板上微处理器访问请求,由双口访问竞争状态机进行处理.这样,就能够避免在一方进行双口RAM读取的时候,另一方在双口RAM中写入操作同一单元的问题.对于双口RAM的主板访问,由双口RAM访问控制来实现[5].
3.1.4双口RAM及其数据定义
在双口RAM当中,两个口分别能够独立进行BUSY信号、地址、数据的输出,同时具有片选和读写的能力,具有16位宽度的数据线,11位宽度的地址线,两个口能够分别进行异步操作.数据在主板和扩展板之间进行交换,是以双口RAM为基础的,按照不同的功能实现,对数据结构进行相应的定义,可将双口RAM进行存储区相互独立的划分[6].扩展板上的处理器对于扩展板初始化参数的读取,是在其初始化参数区完成的,进而实现初始化本板的硬件.控制参数从扩展板控制参数去进行读取,从而实时控制本板.数据从发送数据去进行读取和处理,从而传输物理上的数据.在双口RAM接收数据去写入接收到的数据,读取由上位机进行.
3.2软件设计
3.2.1主板通用设备驱动程序的主要函数功能
在系统内存中,驻留了设备驱动程序,优先级较高.运行主板的过程中,通用硬件接口的控制和初始化通过CPCI总线进行,通用硬件接口中交换数据,是通过双口RAM来进行的.在软件程序中,对数据接收、数据发送、扩展板控制、扩展板初始化、上位机初始化等进行了定义,分别利用General_Data_Recv()、General_Data_Recv_Find()、General_Data_Send()、General_Data_Send_Find()、General_Slave_Ctl()、General_Master_Initial()等函数来实现的.
在这些函数当中,General_Data_Recv主要是按照预定义的消息号、发送数据的长度、发送数据的指针、时间间隔等信息,在上位机中读取和处理双口RAM接收数据区中等待接收的数据.General_Data_Recv_Find对是否有数据在双口RAM接收数据区等待接收[7].General_Data_Send是按照预定义消息号、发送数据长度、发送数据指针、时间间隔等信息,在双口RAM发送数据区中写入上位机等待发送的数据.General_Data_Send_Find对是否有数据在上位机中等待发送.General_Slave_Ctl是在双口RAM扩展板控制参数区写入工作模式和工作状态等控制参数.General_Master_Initia是对扩展板的版本号、设备号、生产厂商号和文件配置名称与路径等信息进行读取.
3.2.2扩展版逻辑设备驱动程序的主要函数功能
在下位机中逻辑设备驱动程序运行,操作硬件面向扩展板.在软件程序中,对本板数据发送、本板发送判断、本板数据接收、本板接收判断、本板控制、下位机初始化等功能进行了定义[8].分别利用Logical_Slave_Data_Recv()、Logical_Slave_Data_Recv_Find()、Logical_Slave_Data_Send()、Logical_Slave_Data_Send_Find()、Logical_Slave_Ctl()、Logical_Master_Initial()等函数来实现的.
在这些函数当中,Logical_Slave_Data_Recv负责通过本板功能芯片发送数据.Logical_Slave_Data_Recv_Find对是否有数据等待发送进行判断.Logical_Slave_Data_Send负责将数据写入双口RAM.Logical_Slave_Data_Send_Find对本板是否有等待接收的数据进行判断.Logical_Slave_Ctl负责设置工作状态和工作模式,同时控制本板.Logical_Master_Initial对本板中的初始化参数进行读取,利用双口RAM扩展板初始化参数区,对配置文件的名称和路径进行读取,同时设置本板动作的方式[9].
4结语
嵌入式计算机通用接口在计算机的实际应用中,发挥着十分重要的作用.而基于CPCI总线的嵌入式计算机通用接口的设计,更是极大的提升了其工作效率和安全可靠性.硬件芯片差异的屏蔽、软件驱动程序和硬件接口电路的标准化,都是由CPCI总线为基础进行解决的,使嵌入式计算机通用接口应用中存在的问题得到了很好的解决.
[参考文献]
[1]邓娟.CPCI总线背景下嵌入式计算机通用接口设计分析[J].电子技术与软件工程,2013,20(2):234.
[2]李力.一种基于CPCI总线的自动化测试系统的设计与实现[D].北京:中国科学院大学(工程管理与信息技术学院),2014.
[3]徐宏.基于CPCI总线下显视频信号源系统的设计[D].成都:成都理工大学,2014.
[4]管叙民.嵌入式计算机标准互联体系及传输方法研究[D].北京:北京理工大学,2014.
[5]陈欣.基于CPCI总线的可重构系统研究与设计[D].长沙:国防科学技术大学,2012.
[6]薛国凤.用于星载计算机的CompactPCI总线技术的研究[D].北京:中国科学院研究生院(空间科学与应用研究中心),2010.
[7]白效贤,袁炳南,张俊民.基于cPCI总线的嵌入式遥测前端处理器系统设计[J].电子技术应用,2013,12(3):108-110.
[8]侯飞.CPCI-GPIB控制器转换接口设计[D].成都:电子科技大学,2011.
[9]巫幪.通用信号处理板卡的CPCI总线接口设计和驱动开发[D].西安:西安电子科技大学,2012.
[责任编辑王新奇]
Research on the Design of Embedded ComputerInterface Based on CPCI Bus
REN Qun
( Department of Electronic and Information Engineering, Bozhou Teachers college, Bozhou 236800, China )
Abstract:In this paper, the design of the common interface of the embedded computer was studied. The design method uses the combination of field programming technique and hardware and software, and the general functions, shared memory area, hardware interface circuit and other parts were designed respectively. Finally, the embedded computer interface based on CPCI bus was successfully designed, and it has been successfully applied in practice.
Key words:CPCI bus; embedded computer; common interface; design and research
中图分类号:TP334.7
文献标志码:A
作者简介:任群(1982—),女,安徽亳州人,亳州师范高等专科学校电子与信息工程系讲师,硕士,主要从事计算机动漫设计与图形图像处理、计算机网络与技术的教学与研究.
基金项目:安徽省青年人才基金重点项目(2013SQRL127ZD)阶段性成果之一
收稿日期:2015-10-08
文章编号:1008-5564(2016)01-0020-03