用CPLD实现基于PC104总线的429接口板
发布时间:2008/6/3 0:00:00 访问次数:545
1 系统总体设计
cpld是一种复杂的用户可编程逻辑器件,由于采用连续连接结构,易于预测延时,从而使电路仿真更加准确。再加上使用方便的开发工具,如max+plusii、quartus等,使用cpld器件可以极大地缩短产品开发周期,给设计修改带来很大方便。本论文描述了利用开发工具max+plus ii实现cpld处理arinc429数据通信。系统设计方案如图1所示。
arinc429收发电路部分,由两组3282和3l82芯片构成,其中每组芯片实现二路接收、一路发送,其中的控制信号均有cpld编程产生:在cpld部分,d[0...15]为16位双向数据总线,实现ar1nc429收发电路与pc104总线接口之间的数据通信,io16为16位芯片选择信号;在pc104总线接口部分,xd[0...15]为16位双向数据总线,xa[1...9]为地址总线,连接cpld,进行选片操作,xior和xiow 为io读写信号,xaen 是允许dma控制地址总线、数据总线和读写命令线进行dma传输以及对存储器和i/o设备的读写。
2 系统硬件组成
429的pc104总线接口板的硬件组成框图如图2所示,主要包括ar1nc429收发电路(hs3282和hs3l82芯片组)、cpld、429板与pc 机的接口总线pc104总线、与外部的429接口idc16插座、中断控制开关等,其关系如图2所示。
本接口板元器件布局如图3所示。
3 cpld内部功能及实现
3.1 开发流程描述
本系统中的cpld使用altera公司的max7000s系列可编程逻辑器件中的epm7128sqc100-6型号,从最初的电路设计思想到max+plusii的波形仿真,再到cpld芯片编程结束要经过的一般开发流程如图4所示。
3.2 cpld中的模块设计
本设计中cpld 的功能是实现arinc429收发电路与接口板的接口总线pc104总线的数据通信。其功能模块可以分为6部分,以下逐一介绍各模块的功能及其实现的方法。
(1)产生ar1nc429控制器hs3282所需的ttclk时钟信号模块
ttclk即发射器时钟信号,本设计中该信号有480 khz和1 mhz两种可选频率,是由一个48 mhz的晶振提供信号给cpld,然后由cpld编程产生480khz和1mhz两种信号以备选择。该模块用图形编辑的方式实现。要产生3282所需要的480khz信号需要对输入48mhz信号进行两次10分频,要产生1 mhz信号需要对输入信号进行6分频再8分频。6分频电路采用3个jk触发器实现,8分频电路采用74393实现,10分频电路采用7490实现。
(2)产生复位信号/mr和控制发射器使能信号entx的信号ent模块/mr是对3282的主复位信号,/mr将直接送到hs3282,而ent将送到另一模块中,用于控制发射器使能信号entx的产生,entx=ent*/txr,其中txr为发送缓冲区空标志。该模块也采用电路设计输入方式。其电路主要由4个d型触发器74ls74芯片来完成。输入为总线驱动器的前4个输出,即d0~d3,时钟脉冲为产生hs3282读写信号模块的一个输出信号/wr3,输出为两个hs3282的复位信号/mr1和/mr2以及ent1和ent2。本模块具体实现电路如图5所示。
(3)产生片选信号/mcs的模块
本模块产生的/mcs信号用于驱动双向总线驱动器,进行数据传输,并用于选片对hs3282进行读写。此模块用一片8位判决电路74ls688来实现其功能。其中p5-p1接一组基址选择开关,q5~q1分别接pc104总线的地址总线的xa7、xa9、xa8、xa6和xa5,g接pc104总线的地址使能信号端xaen。只有当xaen输入为低时,并且p5~pl与q5-q1的对应端相等时,输出为低,才有效。
(4)双向总线驱动器模块
该模块实现ar1nc429收发电路与接口板的接口总线pc104总线的16位数据传输。该模块设计过程为,先用vhdl设计输
1 系统总体设计
cpld是一种复杂的用户可编程逻辑器件,由于采用连续连接结构,易于预测延时,从而使电路仿真更加准确。再加上使用方便的开发工具,如max+plusii、quartus等,使用cpld器件可以极大地缩短产品开发周期,给设计修改带来很大方便。本论文描述了利用开发工具max+plus ii实现cpld处理arinc429数据通信。系统设计方案如图1所示。
arinc429收发电路部分,由两组3282和3l82芯片构成,其中每组芯片实现二路接收、一路发送,其中的控制信号均有cpld编程产生:在cpld部分,d[0...15]为16位双向数据总线,实现ar1nc429收发电路与pc104总线接口之间的数据通信,io16为16位芯片选择信号;在pc104总线接口部分,xd[0...15]为16位双向数据总线,xa[1...9]为地址总线,连接cpld,进行选片操作,xior和xiow 为io读写信号,xaen 是允许dma控制地址总线、数据总线和读写命令线进行dma传输以及对存储器和i/o设备的读写。
2 系统硬件组成
429的pc104总线接口板的硬件组成框图如图2所示,主要包括ar1nc429收发电路(hs3282和hs3l82芯片组)、cpld、429板与pc 机的接口总线pc104总线、与外部的429接口idc16插座、中断控制开关等,其关系如图2所示。
本接口板元器件布局如图3所示。
3 cpld内部功能及实现
3.1 开发流程描述
本系统中的cpld使用altera公司的max7000s系列可编程逻辑器件中的epm7128sqc100-6型号,从最初的电路设计思想到max+plusii的波形仿真,再到cpld芯片编程结束要经过的一般开发流程如图4所示。
3.2 cpld中的模块设计
本设计中cpld 的功能是实现arinc429收发电路与接口板的接口总线pc104总线的数据通信。其功能模块可以分为6部分,以下逐一介绍各模块的功能及其实现的方法。
(1)产生ar1nc429控制器hs3282所需的ttclk时钟信号模块
ttclk即发射器时钟信号,本设计中该信号有480 khz和1 mhz两种可选频率,是由一个48 mhz的晶振提供信号给cpld,然后由cpld编程产生480khz和1mhz两种信号以备选择。该模块用图形编辑的方式实现。要产生3282所需要的480khz信号需要对输入48mhz信号进行两次10分频,要产生1 mhz信号需要对输入信号进行6分频再8分频。6分频电路采用3个jk触发器实现,8分频电路采用74393实现,10分频电路采用7490实现。
(2)产生复位信号/mr和控制发射器使能信号entx的信号ent模块/mr是对3282的主复位信号,/mr将直接送到hs3282,而ent将送到另一模块中,用于控制发射器使能信号entx的产生,entx=ent*/txr,其中txr为发送缓冲区空标志。该模块也采用电路设计输入方式。其电路主要由4个d型触发器74ls74芯片来完成。输入为总线驱动器的前4个输出,即d0~d3,时钟脉冲为产生hs3282读写信号模块的一个输出信号/wr3,输出为两个hs3282的复位信号/mr1和/mr2以及ent1和ent2。本模块具体实现电路如图5所示。
(3)产生片选信号/mcs的模块
本模块产生的/mcs信号用于驱动双向总线驱动器,进行数据传输,并用于选片对hs3282进行读写。此模块用一片8位判决电路74ls688来实现其功能。其中p5-p1接一组基址选择开关,q5~q1分别接pc104总线的地址总线的xa7、xa9、xa8、xa6和xa5,g接pc104总线的地址使能信号端xaen。只有当xaen输入为低时,并且p5~pl与q5-q1的对应端相等时,输出为低,才有效。
(4)双向总线驱动器模块
该模块实现ar1nc429收发电路与接口板的接口总线pc104总线的16位数据传输。该模块设计过程为,先用vhdl设计输