当前位置:首页 > 通信技术 > 通信技术
[导读]数据交换机的传送速率很高,当其和串行口通信时,在发送前把数据分为两部分分别发送到串行口,然后经过数据合并转换器把各个串行口的数据合并在一起并转换成PCM流。本文介绍了基于CPLD芯片EPM7128设计的数据合并转换

数据交换机的传送速率很高,当其和串行口通信时,在发送前把数据分为两部分分别发送到串行口,然后经过数据合并转换器把各个串行口的数据合并在一起并转换成PCM流。本文介绍了基于CPLD芯片EPM7128设计的数据合并转换器。

1 数据合并转换器硬件电路

EPM7128是可编程的大规模逻辑器件,为ALTERA公司的MAX7000系列产品,具有高阻抗、电可擦等特点,可用门单元为2500个,管脚间最大延迟为5ns,工作电压为+5V。

IDT7205为FIFO型异步读写的存储器芯片,容量为8192×9比特,存取时间为12ns,有空、半满、满三个标志位,最大功耗为660mW,工作电压为+5V。

MSM4860DX属于PC104嵌入式系统的5X86系旬,为AMD-133MHz CPU,具有COM1、COM2两个串口,一个LPT并口,一个ELOPPY接口,一个IDE接口,一个VGA/LCD接口,一个AT-KEYBOARD接口,16个中断,额定功率为8W,工作电压为+5V。

    1.2 数据合并转换器电路框图    2.2 数据移位部分    设PCMCLK的频率为f(MHz),则FRAMECLK的频率为f/8,由于帧长为64,所以有:帧频=f/(8×64),PCM流速率=f(bit/s)。分频器的分频比是通过软件设定的,所以PCM流的速率可编程。

可编程的数据合并转换器电路框图如图1所示。图中,DB为数据总线,AB为地址总线,R和W分别为读写信号线,INT5、INT7、INT10 INT11为四个中断,CS1、CS2和CS3是在CPLD内部生成的地址译码器Addr-encoder分别送给分频器、两个串行口的片选信号,ORG是晶振送给分频器的振荡脉冲,CLK是分频器输出的脉冲FRAMECLK和PCMCLK,WFIFO、RFIFO是由CPLD生成的包含地址信息的访问FIFO的读写脉冲,DATA_IN1和DATA_IN2为串行口输入数据,PCM_DATA是数据合并转换器输出的PCM流,PCMCLKA为输出的码同步时钟,WORLDCLKA为输出的字同步时钟。

1.3 电路工作分析

晶振把时钟脉冲送给分频器,分频器含有两个可编程的定时器。分频器把可控的FRAMECLK和PCMCLK送给CPLD,在CPLD内部经过逻辑组合形成三路脉冲信号,一路控制计数器形成INT5、INT7两个帧频中断触发脉冲,CPU接到中断后立即写FIFO;另一路控制移位寄存器把并行数据转换成串行数据PCM流;第三路形成RFIFO去连续读FIFO。两个串行口通过中断方式(INT10、INT11)接收到外部数据后,暂存缓冲区内,按一定格式由中断INT5控制写给FIFO。

2 CPLD内部逻辑电路

CPLD内部逻辑电路如图2所示。图中,虚线框内为CPLD内部电路,虚线框外为CPLD的I/O口。

2.1 地址译码器

地址译码器Addr-encoder用VHDL语言生成。Addr-encoder的输出有总线驱动器芯片74245的使能脉冲ENB,总线传输方向的使能脉冲DIR,写FIFO操作脉冲WFIFO,分频器和串行口的片选CS1、CS2和CS3,FIFO数据空满标志脉冲RFIFOFLAG,FIFO复位时钟脉冲WCTRL。

 

FRAMECLK周期是PCMCLK的8位,它们都是分频送来的脉冲。FRAMECLK反相后作为FIFO的读信号,两次反相后作为字同步时钟。PCMCLK直接作为移位寄存器74165的时钟触发脉冲,两者与非后的输出低电平作为74165重数据的触发电平。它们的信号时序如图3所示。

从三者的时序图可知,每当一个字节的最后一位完成移位后,在FRAMECLK脉冲反相的下降沿触发下读取FIFO数据,这时74165的装载使能74165STD恰好为低电平(与非结果),完成部数据装载,然后在PCMCLK脉冲的上升沿作用下开始新一软次的数据移位。

2.3 帧长计数器的部分

两个74161设计长1/64的分频器,也叫帧长计数器,此计数器的时钟为FRAMECLK,计数器的输出最高两位逻辑与为中断INT7,把与门输出与次高位逻辑异或为中断INT5。这样,INT7比INT5在时序上早半个周期。开始复位后,INT7脉冲首先产生,触发中断,COU中断后在服务程序中把64个字节数据写到FIFO,然后屏蔽中断INT7,半个周期后,FIFO中还剩32个字节数据(因此FIFO的读脉冲和FRAMECLK反相同频)。然后中断INT5到来,CPU响应后,再写64个字节数据给FIFO,使FIFO中一直保持有数据的状态(可避免读FIFO正好落在两个写FIFO之间,FIFO因无数据而读死)。这样,每当中断INT5到来,都写64字节给FIFO,周而复始,所以把64字节定为帧长。

 

3 软件设计

outp(0x303,0x36);//方式3,方波。//

outp(0x300,0x50);//timer0,分频比为80。//

outp(0x300,0x00);

outp(0x303,0x74);//方式2,脉冲。//

outp(0x301,0x08);//timer1,分频比为8。//

outp(0x301,0x00);

数据合并:

if((com1_count%24)= =0) ;//串行口1的24字节数据放在数组Frame的4~27的位置。//

{

com_buf1[com1_count++]=db1; //串行口1接收数据//

int Original_Counter;

Original_Counter=com1_count/24;

memcpy(Frame[Original_Counter-1]+4,&com_buf1[com1_count-24],24);

}

if((com2_count%24)= =0); //串行口2的24字节数据放在数组Frame的28~51的位置。//

{

com_buf2[com2_count++]=db2 ;//串行口2接收数据//

int Original_Counter;

Original_Counter=com2_count/24;

Memcpy(Frame[Original_Counter-1]+28,&com_buf2[com2_count-24],24) ;//合并后的数据放在Frame数组中。//

写FIFO:

void Send_To_Fifo(int number); //Send_To_Fifo函数为中断服务程序的一部分。//

{

for(int i=0;i<64;i++)

outp(WFIFO,Frame[number][i]); //数组送给FIFO,实现数据合并//

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭