CN102547255A - Asi信号发送的方法和装置 - Google Patents

Asi信号发送的方法和装置 Download PDF

Info

Publication number
CN102547255A
CN102547255A CN2012100502507A CN201210050250A CN102547255A CN 102547255 A CN102547255 A CN 102547255A CN 2012100502507 A CN2012100502507 A CN 2012100502507A CN 201210050250 A CN201210050250 A CN 201210050250A CN 102547255 A CN102547255 A CN 102547255A
Authority
CN
China
Prior art keywords
mpts
clock
asi
data
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012100502507A
Other languages
English (en)
Other versions
CN102547255B (zh
Inventor
胡伯平
呼大明
郑海鸥
倪骏
于天歌
何畅
徐昕
孙立斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING BASTRIVER CO LTD
Original Assignee
BEIJING BASTRIVER CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING BASTRIVER CO LTD filed Critical BEIJING BASTRIVER CO LTD
Priority to CN2012100502507A priority Critical patent/CN102547255B/zh
Publication of CN102547255A publication Critical patent/CN102547255A/zh
Application granted granted Critical
Publication of CN102547255B publication Critical patent/CN102547255B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及音视频数据传输领域,具体涉及ASI(异步串行接口)信号发送的方法和装置。本发明公开了一种ASI信号发送的方法和装置,通过本发明,可根据预先配置的数据传输码率,输出恒定速率的ASI信号。本发明所提出的ASI信号发送装置既可以作为一个独立的ASI发送系统,也可以作为数字音视频信号处理过程中的模块使用。

Description

ASI信号发送的方法和装置
技术领域
本发明涉及音视频数据传输领域,具体涉及ASI(异步串行接口)信号发送的方法和装置。
背景技术
在目前广播电视系统的传输接口和数字音视频信号的处理过程中,异步串行接口标准ASI的应用十分普遍。ASI传输流可以有不同数据输入速率,但输出速率恒定,为270Mbps;在ASI的转换过程中,当要求输入一个新字、而数据源还没有准备好时,应插入一个K28.5的同步字,以达到ASI的固定270Mbps的传输速率。一般情况下,插入K28.5由ASI的转换器件完成。
由于ASI的传输数据长度为10bit,ASI传输数据的最大码率为27M×8=216Mbps,对于任意在1~216Mbps间给定的数据码率,通过下列公式计算得出数据发送的时间:
t = 270 M / 10 r / 8 = 27 M × 8 / r = 216 M / r ............公式(1)
其中,
r表示传输流的输入数据码率;
t表示传输流的每个字节数据发送的时间间隔t。
由于现有的可编程逻辑器件不适合计算浮点乘除法运算,一般情况下,由处理器通过公式(1)计算的时间来推算每个字节数据发送的时间点,由于r可以取1~216Mbps之间的任意值,因此,t可能为小数,甚至为无限小数,这种情况下,随着发送时间的推移,小数的误差会逐渐累加,出现累计误差。时间累计越长,误差累计值越大,并且,当r取值越大时,累计误差会越明显。这样就不可能实现以设定的数据码率进行数据的传输。此外,当输入数据码率出现波动时,会导致插入K28.5的频率不均匀。
发明内容
本发明的目的是提供一种简易、高性能、低功耗、低成本ASI信号发送的方法和装置。
根据本发明,提供一种ASI信号发送的方法,该方法包括:
配置传输流的码率r并以该码率输入传输流,1≤r≤216Mbps;
根据所述传输流的码率r计算该传输流的每个字节数据发送的时间间隔t,取t的整数部分得到ti,根据精度要求将t的小数部分扩大10n倍并取整得到td′,n为大于等于0的整数,该td′用于计算td值;
在第0个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td=td′;
从第0个时钟开始,执行步骤A:隔ti个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td值更新为td+td′;
当td<10n时,重复上述步骤A;
当td>10n时,隔ti+1个时钟从所述传输流中读取一个字节数据并转换为ASI信号输出,td值更新为10n-td,然后重复步骤A;
在上述间隔内没有读取数据的每个时钟都插入K28.5。
优选地,所述每个字节数据发送的时间间隔t的计算公式为:
Figure BDA0000139431750000021
优选地,该方法进一步包括,将所述ti和td′转换为十六进制数据。
优选地,该方法进一步包括:在信号发送的过程中,当从所述传输流中读取的数据为空时,每个时钟都插入K28.5。
根据本发明,还提供一种ASI信号发送的装置,该装置包括:
配置单元,用于配置传输流的码率r并以该码率输入传输流,1≤r≤216Mbps;处理器,用于根据所述输入传输流的码率r计算该传输流的每个字节数据发送的时间间隔t,取t的整数部分得到ti,将t的小数部分扩大10n倍并取整得到td′,n为大于等于1的整数,该td′用于计算td值,将所述ti、td′发送至可编程逻辑器件,将所述传输流数据写入先入先出队列中;
先入先出队列,用于存储来自处理器的传输流数据并发送状态信号至可编程逻辑器件;
可编程逻辑器件,用于根据来自先入先出队列的状态信号读取先入先出队列中的数据,并执行如下操作:
当所述状态信号表示先入先出队列不为空时:
在第0个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td=td′;
从第0个时钟开始,执行步骤A:隔ti个时钟,从所述传输流中读取一个字节数据并写入至ASI串行转换器件,td值更新为td+td′;
当td<10n时,重复步骤A;
当td>10n时,隔ti+1个时钟从所述传输流中读取一个字节数据并写入至ASI串行转换器件,td值更新为10n-td,然后重复步骤A;
在上述间隔内没有读取数据的每个时钟都插入K28.5;
当所述状态信号表示先入先出队列为空时:每个时钟都写入K28.5至ASI转换器件;
ASI串行转换器件,用于接收来自可编程逻辑器件的数据,将该数据转换为ASI信号输出。
通过本发明,可根据预先配置的数据传输码率,输出恒定速率的ASI信号。本发明所提出的ASI信号发送装置既可以作为一个独立的ASI发送系统,也可以作为数字音视频信号处理过程中的模块使用。
附图说明
图1示出根据本发明实施例的一种ASI信号发送的方法的流程图。
图2示出根据本发明实施例的ASI信号发送装置的结构图。
图3示出数据码率为5.1Mbps时ASI发送码率时序图。
图4示出K28.5插入时序图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步阐述。
图1示出根据本发明实施例的一种ASI信号发送的方法的流程图。
在步骤S11中,配置传输流的码率r并以该码率输入传输流,1≤r≤216Mbps。正如在背景技术部分所述的,r可以取1到216Mbps之间的任意值。
在步骤S12中,根据所述传输流的码率r计算该传输流的每个字节数据发送的时间间隔t,取t的整数部分得到ti,根据精度要求将t的小数部分扩大10n倍并取整得到td′,n为大于等于0的整数,该td′用于计算td值。
具体地,对于0~216Mbps间任意给定的数据码率,计算公式(2)和(3)。
ti=INT(t)        公式(2)
INT(t):为t的整数部分
公式(3)
DEC(t):为t的小数部分
n为大于等于1的整数
ti为t的整数部分,用以确定每一个字节发送的时钟间隔。
td′为t的小数部分扩大10n倍并取整,用来消除时间累加带来的时间累计误差。根据本发明实施例,根据精度要求将td′扩展10n倍并取整,相当于提高td′的精度到10-n,这样,当td′为无限小数时,便可降低累计误差到允许的范围之内。例如,当我们将td′扩展108倍,这样,就把td′的精度提高到10-8,每100M时钟会出现1个时钟的误差,27M时钟就会出现27M/100M=0.27个时钟的误差,而每个时钟发送数据的最大速率为8bps,那么,0.27个时钟发送数据的最大速率为0.27x8=2.16bps,因此,27M时钟发送数据时,发送速率的最大误差为2.16bps。
根据本发明实施例,还需将上述ti和td′转换十六进制数据,以便满足计算机处理器的需要。
在步骤S13中,在第0个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td=td′。
在步骤S14中,从第0个时钟开始,执行步骤A:隔ti个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td值更新为td+td′;
当td<10n时,重复步骤A;
当td>10n时,隔ti+1个时钟从所述传输流中读取一个字节数据并转换为ASI信号输出,td值更新为10n-td,然后重复步骤A;
在上述间隔内没有读取数据的每个时钟都插入K28.5。
根据本发明实施例,在该步骤中,当从所述传输流中读取的数据为空时,每个时钟插入K28.5。
图2示出根据本发明实施例的ASI信号发送装置的结构图。
如图2所示,该装置包括以下部分:配置单元,用于配置传输流的码率r并以该码率输入传输流,1≤r≤216Mbps。处理器,用于根据所述输入传输流的码率r计算该传输流的每个字节数据发送的时间间隔t,取t的整数部分得到ti,将t的小数部分扩大10n倍并取整得到td′,n为大于等于1的整数,该td′用于计算td值,将所述ti、td′发送至可编程逻辑器件,将所述传输流数据写入先入先出队列中。先入先出队列,用于存储来自处理器的传输流数据并发送状态信号至可编程逻辑器件。可编程逻辑器件,用于根据来自先入先出队列的状态信号读取先入先出队列中的数据,并执行如下操作:
当所述状态信号表示先入先出队列不为空时:
在第0个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td=td′;
从第0个时钟开始,执行步骤A:隔ti个时钟,从所述传输流中读取一个字节数据并写入至ASI串行转换器件,td值更新为td+td′;
当td<10n时,重复步骤A;
当td>10n时,隔ti+1个时钟从所述传输流中读取一个字节数据并写入至ASI串行转换器件,td值更新为10n-td,然后重复步骤A;
在上述间隔内没有读取数据的每个时钟都插入K28.5。
如图4所示,当所述状态信号表示先入先出队列为空时:每个时钟写入K28.5至ASI转换器件。
ASI串行转换器件,用于接受来自可编程逻辑器件的数据,将该数据转换为ASI信号输出。
为更加清楚地描述本发明,下面举三个实例,以便帮助人们更清楚、准确地理解本发明。
例1:
当配置r=4Mbps时,计算出的t为整数,t=24;
ti=24   td′=0
处理器把ti和td′分别转换成32bit十六进制值,通过总线写入到可编程逻辑器件的寄存器regi和regd中,此时,regi和regd中的值如下:
Vregi=0x00000018
Vregd=0x00000000
可编程逻辑器件根据Vregi和Vregd,分别初始化自身的计数器,每隔Vregi个时钟,从FIFO(先入先出队列)中读取一个字节数据,写入到ASI转换器件的数据总线上,由ASI转换器件对数据进行8bit/10bit编码、并/串转换、ASI输出。在不读取数据的Vregi-1时钟期间,可编程逻辑器件每个时钟会写入K28.5到ASI转换器件的数据总线上。
例2:
当r=5.1M时计算出的t为有限小数
t=42.35  ti=42
当取n=8时,td′=0.35x108=35000000
此时,Vregi=0x0000002A  Vregd=0x02160EC0
在第0个时钟,发送数据1  Vregd=35000000
在第1、2....41个时钟,插入K28.5
在第42个时钟,发送数据2  Vregd=70000000
在第43、44....83个时钟,插入K28.5
在第84个时钟,发送数据3  Vregd=105000000
此时td大于108,因此:
在第85、86....126个时钟,插入K28.5
在第126+1个时钟,发送数据4  Vregd=5000000
在第128、129....168个时钟,插入K28.5
在第169个时钟,发送数据5  Vregd=40000000
依次类推,如图3所示。
例3:
当r=5.2M时计算出的t为无限小数
t≈41.538461538461538461538461538462
ti=41,
当取td′的精度为10-8时,即n=8时,
td′=53846153;
此时,Vregi=0x00000029  Vregd=0x0335A089
在第0个时钟,发送数据1  Vregd=53846153
在第1、2....40个时钟,插入K28.5
在第41个时钟,发送数据2  Vregd=107692306
此时td大于108,因此:
在第42、43....82个时钟,插入K28.5
在第82+1个时钟,发送数据3  Vregd=7692306
依次类推。
以上借助实施例对本发明进行了具体说明。应当理解,本发明的上述描述是示例性的而非限制性的。本领域技术人员通过阅读本说明书,在不偏离本发明精神的情况下可以对本发明进行修改和变型。本发明的保护范围仅由所附权利要求限定。

Claims (5)

1.一种ASI信号发送的方法,其特征在于,该方法包括:
配置传输流的码率r并以该码率输入传输流,1≤r≤216Mbps;
根据所述传输流的码率r计算该传输流的每个字节数据发送的时间间隔t,取t的整数部分得到ti,根据精度要求将t的小数部分扩大10n倍并取整得到td′,n为大于等于0的整数,该td′用于计算td值;
在第0个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td=td′;
从第0个时钟开始,执行步骤A:隔ti个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td值更新为td+td′;
当td<10n时,重复上述步骤A;
当td>10n时,隔ti+1个时钟从所述传输流中读取一个字节数据并转换为ASI信号输出,td值更新为10n-td,然后重复步骤A;
在上述间隔内没有读取数据的每个时钟都插入K28.5。
2.根据权利要求1所述的方法,其特征在于,所述每个字节数据发送的时间间隔t的计算公式为:
Figure FDA0000139431740000011
3.根据权利要求1所述的方法,其特征在于,该方法进一步包括,将所述ti和td′转换为十六进制数据。
4.根据权利要求1所述的方法,其特征在于,该方法进一步包括:在信号发送的过程中,当从所述传输流中读取的数据为空时,每个时钟都插入K28.5。
5.一种ASI信号发送的装置,其特征在于,该装置包括:
配置单元,用于配置传输流的码率r并以该码率输入传输流,1≤r≤216Mbps;处理器,用于根据所述输入传输流的码率r计算该传输流的每个字节数据发送的时间间隔t,取t的整数部分得到ti,将t的小数部分扩大10n倍并取整得到td′,n为大于等于1的整数,该td′用于计算td值,将所述ti、td′发送至可编程逻辑器件,将所述传输流数据写入先入先出队列中;
先入先出队列,用于存储来自处理器的传输流数据并发送状态信号至可编程逻辑器件;
可编程逻辑器件,用于根据来自先入先出队列的状态信号读取先入先出队列中的数据,并执行如下操作:
当所述状态信号表示先入先出队列不为空时:
在第0个时钟,从所述传输流中读取一个字节数据并转换为ASI信号输出,td=td′;
从第0个时钟开始,执行步骤A:隔ti个时钟,从所述传输流中读取一个字节数据并写入至ASI串行转换器件,td值更新为td+td′;
当td<10n时,重复步骤A;
当td>10n时,隔ti+1个时钟从所述传输流中读取一个字节数据并写入至ASI串行转换器件,td值更新为10n-td,然后重复步骤A;
在上述间隔内没有读取数据的每个时钟都插入K28.5;
当所述状态信号表示先入先出队列为空时:每个时钟都写入K28.5至ASI转换器件;
ASI串行转换器件,用于接收来自可编程逻辑器件的数据,将该数据转换为ASI信号输出。
CN2012100502507A 2012-02-29 2012-02-29 Asi信号发送的方法和装置 Expired - Fee Related CN102547255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012100502507A CN102547255B (zh) 2012-02-29 2012-02-29 Asi信号发送的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012100502507A CN102547255B (zh) 2012-02-29 2012-02-29 Asi信号发送的方法和装置

Publications (2)

Publication Number Publication Date
CN102547255A true CN102547255A (zh) 2012-07-04
CN102547255B CN102547255B (zh) 2013-12-11

Family

ID=46353062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012100502507A Expired - Fee Related CN102547255B (zh) 2012-02-29 2012-02-29 Asi信号发送的方法和装置

Country Status (1)

Country Link
CN (1) CN102547255B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105657480A (zh) * 2015-12-31 2016-06-08 惠州市伟乐科技股份有限公司 一种分数倍调整ts流码率的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001058104A1 (fr) * 2000-02-04 2001-08-09 Mitsubishi Denki Kabushiki Kaisha Dispositif de reproduction de temporisation et demodulateur
US20070230460A1 (en) * 2006-04-04 2007-10-04 Samsung Electronics Co., Ltd. Method of and apparatus for transmitting digital broadcasting signal in advanced-vsb (a-vsb) system in which transport packet without adaptation field is provided at fixed location in data field slices
CN101231632A (zh) * 2007-11-20 2008-07-30 西安电子科技大学 应用fpga进行浮点fft处理的方法
CN101835036A (zh) * 2009-03-13 2010-09-15 北京北广科技股份有限公司 将asi码流转换为spi码流的方法及实现该方法的接口电路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001058104A1 (fr) * 2000-02-04 2001-08-09 Mitsubishi Denki Kabushiki Kaisha Dispositif de reproduction de temporisation et demodulateur
US20070230460A1 (en) * 2006-04-04 2007-10-04 Samsung Electronics Co., Ltd. Method of and apparatus for transmitting digital broadcasting signal in advanced-vsb (a-vsb) system in which transport packet without adaptation field is provided at fixed location in data field slices
CN101231632A (zh) * 2007-11-20 2008-07-30 西安电子科技大学 应用fpga进行浮点fft处理的方法
CN101835036A (zh) * 2009-03-13 2010-09-15 北京北广科技股份有限公司 将asi码流转换为spi码流的方法及实现该方法的接口电路

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105657480A (zh) * 2015-12-31 2016-06-08 惠州市伟乐科技股份有限公司 一种分数倍调整ts流码率的方法及装置
CN105657480B (zh) * 2015-12-31 2020-07-14 惠州市伟乐科技股份有限公司 一种分数倍调整ts流码率的方法及装置

Also Published As

Publication number Publication date
CN102547255B (zh) 2013-12-11

Similar Documents

Publication Publication Date Title
Patel et al. VHDL implementation of UART with status register
CN109564761B (zh) 将经编码的音频帧分组化成经压缩-脉冲编码调制(pcm)(cop)分组以供在pcm接口上传输
CN104335521A (zh) 数据接口同步
US20120120967A1 (en) Universal Serial Interface
CN105208034A (zh) 一种spi总线与can总线协议转换电路及方法
CN101702639B (zh) 循环冗余校验的校验值计算方法及装置
WO2016058344A1 (zh) 一种确定链路延时的方法、装置、通信设备和存储介质
TW201346583A (zh) 單傳輸線傳輸方法
Agrawal et al. The design of high speed UART
CN102789442A (zh) 校正移动产业处理器接口中信号偏移方法及相关传输系统
CN103970692A (zh) RapidIO串行数据处理方法
CN104991883A (zh) 片间互联的发送、接收装置及发送、接收方法及系统
CN102547255B (zh) Asi信号发送的方法和装置
TW201728182A (zh) 音頻-視頻資料的發送方法、接收方法和音頻-視頻資料的傳輸系統
CN104572337B (zh) 一种芯片间的数据传输方法
US8675798B1 (en) Systems, circuits, and methods for phase inversion
US8826058B1 (en) Delay tolerant asynchronous interface (DANI)
US7605737B2 (en) Data encoding in a clocked data interface
US20130124588A1 (en) Encoding densely packed decimals
CN105553801B (zh) 一种低延迟1394物理层转发电路
CN105701055A (zh) 电子装置及其数据传输方法
CN109474370B (zh) 数字广播系统的管道数据传输方法和设备
CN106033231B (zh) 一种信息处理方法、时钟分频装置及信息处理系统
US10031547B2 (en) CCIe receiver logic register write only with receiver clock
CN204244255U (zh) 一种多路e1解帧器系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20131211

CF01 Termination of patent right due to non-payment of annual fee