CPLD在通信数据传输中的应用
时间:10-12
来源:互联网
点击:
3.3 地址产生
在使用双口RAM作为数据缓存时,有两部分地址产生电路:OMAP侧地址产生电路和AD9861侧地址产生电路。AD9861侧地址产生电路和OMAP侧地址产生电路大致相同,但由于这2个地址发生器同时使用,所以不能复用。OMAP的地址发生器框图如下:
图5 OMAP 的地址发生器
CAS 时钟只负责对低3 位地址进行计数,而最高位由于选择2 个8×8RAM 中的一个,为防止adda 和OMAP 同时读写同一个RAM,将OMAP 侧的高位地址线取值为AD9861 侧的地址最高位的反相。DMA 请求清零信号作用:在AD9861 侧每触发一次DMA 请求,就生成一个DMA 请求清零信号,用于复位OMAP 侧地址发生器,避免由于某此误触发引起OMAP 读写地址混乱。AD9861 侧地址发生器如下:
图6 AD9861 侧地址发生器
4位地址总线的低3位用于选择同一片RAM中的8个地址,最高位用于选择2个8×8RAM中的一个,收发切换信号用于在收发切换时给地址发生器清零,复位由于逻辑误触发导致的地址总线错误。
3.4 LAN 控制信号产生
lan91c93是一款嵌入式以太网控制器,和OMAP一起构成了嵌入式的以太网网络接口卡。OMAP用异步的FLASH接口时序来访问lan91c93,由于lan91c93没有片选输入端,所以把flash的片选和读写信号通过作一定处理后输出给lan91c93。OMAP把CS1空间分配给了lan91c93,当nFLASH_CS1为低时,把nFLASH_WE,nFLASH_OE输出给nLAN_WE,nLAN_OE,否则nLAN_WE,nLAN_OE为高电平。同时把LAN_RDY信号通过CPLD透传给OMAP,通知OMAP lan91c93准备好数据的交换。
4 仿真和实测
4.1 数据接收状态仿真
置V_D_SEL 为高,TX_RX 也为低,表示现在处于数据接收状态。依据时序关系产生所需的时钟,复位信号;产生AD9861 数据线上的数据,模拟AD 的输出; 产生ADA 使能输入控制信号AD_DA_ENABLE;SDRAM CAS 信号等等。如下图所示,DINB为AD9861数据线上的数据,WRCLK为内部产生的6.4M锁存时钟,用来把DA数据线上的数据写入双口RAM中,AD9861侧的地址ADDRB是对写时钟WRCLK的下降沿计数得到的。当ADDRB为8或0时,产生一DMA中断,触发OMAP通过EMIFF接口把数据读到DSP的MEMORY进行处理,每个DMA请求读8个数据,产生8个低脉冲的CAS信号,对CAS的脉冲个数进行计数,得到OMAP侧地址的低3位,最高位由ADDRB的MSB取反得到,这样能避免读写冲突。可以看出AD的输出数据能够被正确地复现在OMAP的EMIFF接口数据线上,并被OMAP正确地读进去。
图7 数据接收状态信号时序
4.2 数据发射状态仿真
置V_D_SEL 为高,TX_RX 为高,表示现在处于数据发射状态。依据时序关系产生所需的时钟,复位信号;产生EMIFF 接口数据线上的数据,模拟OMAP 输出的发射数据; 模拟产生ADA 使能输入控制信号AD_DA_ENABLE;SDRAM CAS 信号等等。如下图所示,ADA_CLK为内部产生的6.4M时钟,输出作为ad9861的DA转换的主时钟。对ADA_CLK的上升沿计数得到AD9861侧的地址ADDRB,当ADDRB为8或0时,产生一DMA中断,触发OMAP通过EMIFF接口把发射数据输出到EMIFF接口数据总线上,每个DMA请求写8个数据,产生8个低脉冲的CAS信号,对CAS的脉冲个数进行计数,得到OMAP侧地址的低3位,最高位由ADDRB的MSB取反得到,这样能避免读写冲突。DINA为EMIFF接口数据线上的数据,用CAS延迟信号的下降沿来锁存DINA,满足EMIFF的SDRAM写时序,可以正确地把数据写入到双口RAM中。DOUTB为输出给DA的数据,同时按照时序要求产生一发射同步信号TX_SYNC,用来指示发射的I和Q,用ADA_CLK的上升沿采样,正好能采样到DOUTB和TX_SYNC的中间,确保数据的稳定性。
图8 数据发射状态信号时序
4.3 数据实测结果
记录的频谱图,时域波形图和星座图如下,频谱为250K,跟信号源设置的频偏一致。时域波形I 落后Q 90 度,且I 的最大值对应于Q 的零点,两者的正交性得到了保证,星座图是一个圆同样证明了这一点。
图9 接收信号频谱图
图10 接收信号时域波形图
图11 接收信号星座图
在使用双口RAM作为数据缓存时,有两部分地址产生电路:OMAP侧地址产生电路和AD9861侧地址产生电路。AD9861侧地址产生电路和OMAP侧地址产生电路大致相同,但由于这2个地址发生器同时使用,所以不能复用。OMAP的地址发生器框图如下:
图5 OMAP 的地址发生器
CAS 时钟只负责对低3 位地址进行计数,而最高位由于选择2 个8×8RAM 中的一个,为防止adda 和OMAP 同时读写同一个RAM,将OMAP 侧的高位地址线取值为AD9861 侧的地址最高位的反相。DMA 请求清零信号作用:在AD9861 侧每触发一次DMA 请求,就生成一个DMA 请求清零信号,用于复位OMAP 侧地址发生器,避免由于某此误触发引起OMAP 读写地址混乱。AD9861 侧地址发生器如下:
图6 AD9861 侧地址发生器
4位地址总线的低3位用于选择同一片RAM中的8个地址,最高位用于选择2个8×8RAM中的一个,收发切换信号用于在收发切换时给地址发生器清零,复位由于逻辑误触发导致的地址总线错误。
3.4 LAN 控制信号产生
lan91c93是一款嵌入式以太网控制器,和OMAP一起构成了嵌入式的以太网网络接口卡。OMAP用异步的FLASH接口时序来访问lan91c93,由于lan91c93没有片选输入端,所以把flash的片选和读写信号通过作一定处理后输出给lan91c93。OMAP把CS1空间分配给了lan91c93,当nFLASH_CS1为低时,把nFLASH_WE,nFLASH_OE输出给nLAN_WE,nLAN_OE,否则nLAN_WE,nLAN_OE为高电平。同时把LAN_RDY信号通过CPLD透传给OMAP,通知OMAP lan91c93准备好数据的交换。
4 仿真和实测
4.1 数据接收状态仿真
置V_D_SEL 为高,TX_RX 也为低,表示现在处于数据接收状态。依据时序关系产生所需的时钟,复位信号;产生AD9861 数据线上的数据,模拟AD 的输出; 产生ADA 使能输入控制信号AD_DA_ENABLE;SDRAM CAS 信号等等。如下图所示,DINB为AD9861数据线上的数据,WRCLK为内部产生的6.4M锁存时钟,用来把DA数据线上的数据写入双口RAM中,AD9861侧的地址ADDRB是对写时钟WRCLK的下降沿计数得到的。当ADDRB为8或0时,产生一DMA中断,触发OMAP通过EMIFF接口把数据读到DSP的MEMORY进行处理,每个DMA请求读8个数据,产生8个低脉冲的CAS信号,对CAS的脉冲个数进行计数,得到OMAP侧地址的低3位,最高位由ADDRB的MSB取反得到,这样能避免读写冲突。可以看出AD的输出数据能够被正确地复现在OMAP的EMIFF接口数据线上,并被OMAP正确地读进去。
图7 数据接收状态信号时序
4.2 数据发射状态仿真
置V_D_SEL 为高,TX_RX 为高,表示现在处于数据发射状态。依据时序关系产生所需的时钟,复位信号;产生EMIFF 接口数据线上的数据,模拟OMAP 输出的发射数据; 模拟产生ADA 使能输入控制信号AD_DA_ENABLE;SDRAM CAS 信号等等。如下图所示,ADA_CLK为内部产生的6.4M时钟,输出作为ad9861的DA转换的主时钟。对ADA_CLK的上升沿计数得到AD9861侧的地址ADDRB,当ADDRB为8或0时,产生一DMA中断,触发OMAP通过EMIFF接口把发射数据输出到EMIFF接口数据总线上,每个DMA请求写8个数据,产生8个低脉冲的CAS信号,对CAS的脉冲个数进行计数,得到OMAP侧地址的低3位,最高位由ADDRB的MSB取反得到,这样能避免读写冲突。DINA为EMIFF接口数据线上的数据,用CAS延迟信号的下降沿来锁存DINA,满足EMIFF的SDRAM写时序,可以正确地把数据写入到双口RAM中。DOUTB为输出给DA的数据,同时按照时序要求产生一发射同步信号TX_SYNC,用来指示发射的I和Q,用ADA_CLK的上升沿采样,正好能采样到DOUTB和TX_SYNC的中间,确保数据的稳定性。
图8 数据发射状态信号时序
4.3 数据实测结果
记录的频谱图,时域波形图和星座图如下,频谱为250K,跟信号源设置的频偏一致。时域波形I 落后Q 90 度,且I 的最大值对应于Q 的零点,两者的正交性得到了保证,星座图是一个圆同样证明了这一点。
图9 接收信号频谱图
图10 接收信号时域波形图
图11 接收信号星座图
集成电路 单片机 CPLD 电子 电路 仿真 射频 Maxim ADI LTE 总线 嵌入式 DSP 相关文章:
- 高性能、高集成度的TD-SCDMA模拟基带集成电路的实现和应用(01-09)
- Vitesse芯片组提升高密度40G/100G光学系统性能(02-25)
- 无线设备中CMOS频率源的应用趋势(05-08)
- 光互连技术(12-29)
- 利用串行RapidIO交换机设计模块化无线基础系统(03-12)
- 基于FPGA的USB接口IP核设计(03-13)