位置:51电子网 » 技术资料 » EDA/PLD

FPGA的ARINC429总线接口卡设计

发布时间:2008/8/8 0:00:00 访问次数:459

引言

  arinc429总线广泛应用于商务运输航空领域,如空中客车a310/a320、a330/a340飞机,波音公司727、737、747、757和767飞机,麦道公司md-11飞机等。它采用异步双极性归零码进行数据的编码,并通过双绞线传输,具有很强的抗干扰性能。目前市场上的arinc429总线接口设计一般都采用专用接口芯片,如device engineering公司的dei-1016,intersil公司的hs-3282等,这些专用芯片价格昂贵,且路数有限,使用非常不灵活。本设计将altera公司的fpga芯片应用于arinc429标准数据传输,并完成了与计算机usb接口的通信,有效缩小了系统体积并降低了成本,同时也增加了系统配置的灵活度。

arinc429总线数据

  arinc429数据总线协议规定一个数据字由32位组成,以脉冲形式发送,采用双极性归零码,码速率为12.5kb/s或100kb/s。电气特性为:高电平(+10v)为逻辑1;低电平(-10v)为逻辑0;0电平(0v)发送自身时钟脉冲,字与字之间以一定间隔(不少于4位)分开,以此间隔作为字同步。一个32位的数据字由五部分组成:标志位(label),用于标识传输数据的信息类型;源/目的标识码(s/d),用于判断在一个多系统中的源系统;数据区(data);符号/状态位(ssm),用于标识数据字的特征或数据发生器的状态;奇偶校验位(parity),arinc429数字信息传输使用奇校验。

fpga内部逻辑设计

  根据arinc429总线协议,要完成数据的收发以及对usb总线接口的逻辑控制, fpga 芯片应完成的逻辑功能框图如图1所示,其中虚线框中是fpga实现的部分。

发送器

  发送器结构如图2所示,由缓冲存储器、信号发生器和发送控制逻辑三部分构成,用于将来自总线接口通信模块的32位429格式数据转换成调制前的两路串行数据,即图2中ttl0和ttl1。其中使用缓存是为了提高数据传输速度,用户向缓存写进想要发送的多个32位数据字后,就可以通过entx信号控制数据从缓存连续不断地读出,并经过信号发生器转换成串行数据后送给总线驱动电路。在这里,缓存是直接调用altera提供的lpm_fifo+宏功能模块来实现的。

  信号发生器由位计数器、字间隔计数器、码元调制、移位寄存器以及相应的控制逻辑组成,结构如图3所示。其中,位数计数器用来控制429数字字的位数,字间隔计数器用于产生字间隔。在本设计中,采用状态机来实现信号发生器的功能,共分3个状态:

  a)idle:初始状态,当复位或是发送完一个32位数后进入该状态,在该状态完成字间隔的产生,并用移位寄存器的load信号来锁存待转换数据,并在至少四位字间隔后进入trans状态,否则等到直到有新数据载入。

  b)trans:进行数据的并串转换,同时进行奇偶校验,即每产生一位串行数据就进行一次异或运算,并由位数计数器控制计到31时就进入parity状态。

  c)parity:输出奇偶校验位并回到idle状态。

  码元调制是在信号busy的有效区间内,将串行输出数据serial_data与时钟做逻辑运算得到的ttl0和ttl1(如图4)送至外部调制电路,并转换为429总线规范要求的双极性归零信号。其verilog语言描述如下:

always @(busy,clk_tx,serial_data)

begin

if (busy)

begin

ttl1<=serial_data&clk_tx;

ttl0<=~serial_data&clk_tx;

end

else begin

ttl1<=0;

ttl0<=0;

end

end

endmodule

  发送控制逻辑用于协调缓存和信号发生器之间的数据传递。在缓存非空、busy无效(信号发生器状态机处于trans状态下busy有效)的条件下,一旦允许转换信号entx有效,便开启缓存的读使能rden,并产生转换数据的装载信号load,以完成缓存数据的自动转换和发送。

接收器

  双极性的arinc429 信号通过解调电路转换为两路ttl 信号,ttl1和ttl0。后经接收器转换成32位并行数据供主机读取。接收器结构如图5所示。为使数据接收具有一定的抗干扰能力,本设计采用一个16倍于码速率的高速时钟对数据进行检测。同步字头检测模块对高速时钟进行计数,当计数值计满64

引言

  arinc429总线广泛应用于商务运输航空领域,如空中客车a310/a320、a330/a340飞机,波音公司727、737、747、757和767飞机,麦道公司md-11飞机等。它采用异步双极性归零码进行数据的编码,并通过双绞线传输,具有很强的抗干扰性能。目前市场上的arinc429总线接口设计一般都采用专用接口芯片,如device engineering公司的dei-1016,intersil公司的hs-3282等,这些专用芯片价格昂贵,且路数有限,使用非常不灵活。本设计将altera公司的fpga芯片应用于arinc429标准数据传输,并完成了与计算机usb接口的通信,有效缩小了系统体积并降低了成本,同时也增加了系统配置的灵活度。

arinc429总线数据

  arinc429数据总线协议规定一个数据字由32位组成,以脉冲形式发送,采用双极性归零码,码速率为12.5kb/s或100kb/s。电气特性为:高电平(+10v)为逻辑1;低电平(-10v)为逻辑0;0电平(0v)发送自身时钟脉冲,字与字之间以一定间隔(不少于4位)分开,以此间隔作为字同步。一个32位的数据字由五部分组成:标志位(label),用于标识传输数据的信息类型;源/目的标识码(s/d),用于判断在一个多系统中的源系统;数据区(data);符号/状态位(ssm),用于标识数据字的特征或数据发生器的状态;奇偶校验位(parity),arinc429数字信息传输使用奇校验。

fpga内部逻辑设计

  根据arinc429总线协议,要完成数据的收发以及对usb总线接口的逻辑控制, fpga 芯片应完成的逻辑功能框图如图1所示,其中虚线框中是fpga实现的部分。

发送器

  发送器结构如图2所示,由缓冲存储器、信号发生器和发送控制逻辑三部分构成,用于将来自总线接口通信模块的32位429格式数据转换成调制前的两路串行数据,即图2中ttl0和ttl1。其中使用缓存是为了提高数据传输速度,用户向缓存写进想要发送的多个32位数据字后,就可以通过entx信号控制数据从缓存连续不断地读出,并经过信号发生器转换成串行数据后送给总线驱动电路。在这里,缓存是直接调用altera提供的lpm_fifo+宏功能模块来实现的。

  信号发生器由位计数器、字间隔计数器、码元调制、移位寄存器以及相应的控制逻辑组成,结构如图3所示。其中,位数计数器用来控制429数字字的位数,字间隔计数器用于产生字间隔。在本设计中,采用状态机来实现信号发生器的功能,共分3个状态:

  a)idle:初始状态,当复位或是发送完一个32位数后进入该状态,在该状态完成字间隔的产生,并用移位寄存器的load信号来锁存待转换数据,并在至少四位字间隔后进入trans状态,否则等到直到有新数据载入。

  b)trans:进行数据的并串转换,同时进行奇偶校验,即每产生一位串行数据就进行一次异或运算,并由位数计数器控制计到31时就进入parity状态。

  c)parity:输出奇偶校验位并回到idle状态。

  码元调制是在信号busy的有效区间内,将串行输出数据serial_data与时钟做逻辑运算得到的ttl0和ttl1(如图4)送至外部调制电路,并转换为429总线规范要求的双极性归零信号。其verilog语言描述如下:

always @(busy,clk_tx,serial_data)

begin

if (busy)

begin

ttl1<=serial_data&clk_tx;

ttl0<=~serial_data&clk_tx;

end

else begin

ttl1<=0;

ttl0<=0;

end

end

endmodule

  发送控制逻辑用于协调缓存和信号发生器之间的数据传递。在缓存非空、busy无效(信号发生器状态机处于trans状态下busy有效)的条件下,一旦允许转换信号entx有效,便开启缓存的读使能rden,并产生转换数据的装载信号load,以完成缓存数据的自动转换和发送。

接收器

  双极性的arinc429 信号通过解调电路转换为两路ttl 信号,ttl1和ttl0。后经接收器转换成32位并行数据供主机读取。接收器结构如图5所示。为使数据接收具有一定的抗干扰能力,本设计采用一个16倍于码速率的高速时钟对数据进行检测。同步字头检测模块对高速时钟进行计数,当计数值计满64

相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!