當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]首先簡(jiǎn)介傳送流語(yǔ)法和TMS320C5402 DSP芯片,然后重點(diǎn)介紹該芯片在復(fù)用器中的應(yīng)用,最后談?wù)剬?duì)象芯片進(jìn)行軟件編程的體會(huì)。

摘要:首先簡(jiǎn)介傳送流語(yǔ)法和TMS320C5402 DSP芯片,然后重點(diǎn)介紹該芯片在復(fù)用器中的應(yīng)用,最后談?wù)剬?duì)象芯片進(jìn)行軟件編程的體會(huì)。

    關(guān)鍵詞:傳送流 TMS320C5402 復(fù)用器

引言

隨著信息技術(shù)的發(fā)展,電視信號(hào)的數(shù)字化編碼、數(shù)字化存儲(chǔ)、數(shù)字化處理已經(jīng)越來(lái)越廣泛。新開(kāi)發(fā)的數(shù)字有限電視廣播系統(tǒng)主要包括MPEG-2編碼器、數(shù)字傳輸復(fù)用器、數(shù)字調(diào)制器以及機(jī)頂盒。復(fù)用器是該系統(tǒng)的重要組成部分,完成對(duì)多路符合MPEG-2系統(tǒng)層標(biāo)準(zhǔn)ITU-TREC.H.222.1|ISO/IEC13818-1的TS流(Transport Stream)的復(fù)用,經(jīng)過(guò)64 QAM調(diào)制后,以便在1路6MHx的帶寬中傳送多路數(shù)字化節(jié)目??紤]到處理的實(shí)時(shí)性,我們使用美國(guó)德州儀器公司(TI)的TMS320C5402(簡(jiǎn)稱(chēng)C5402)DSP作為主控芯片。本文首先介紹TS流的結(jié)構(gòu)、C5402芯片、復(fù)有器的組成,然后重點(diǎn)介紹該芯片在復(fù)用器的應(yīng)用,最后就利用CCS開(kāi)發(fā)仿真器一經(jīng)驗(yàn)介紹。

1 TS流簡(jiǎn)介

主要包括分組方法、程序特殊信息(PSI)表以及程序參考時(shí)鐘(PCR)的提取。

(1)分組方法

傳送流分組長(zhǎng)度固定為188字節(jié),分組由分組首部及有效負(fù)載組成,如圖1所示。

(2)PSI

PSI被分成4類(lèi)表。如表1所示,每個(gè)表可被分成1段或多段置于傳送流中。這4類(lèi)表是:程序關(guān)聯(lián)表PAT(Program Association Table)、程序映射表PMT(Program Map Table)、網(wǎng)絡(luò)信表NIT(Network Information Table)、條件訪(fǎng)問(wèn)表CAT(Conditional Access Table)。這4類(lèi)表中包含進(jìn)行多路解調(diào)和顯示程序的必要和足夠的信息。

表1 程序特殊信息

結(jié)構(gòu)名 流類(lèi)型 保留的PID# 描    述
程序關(guān)聯(lián)表 ITU-T Rec.H.222.0|
ISO/IEC 13818-1
0x00 關(guān)聯(lián)程序號(hào)與程序映射表PID
程序映射表 ITU-T Rec.H.222.0|
ISO/IEC 13818-1
賦值的 說(shuō)明1個(gè)或多個(gè)程序組成部分的PID值
網(wǎng)絡(luò)信息表 私用 賦值的 物理網(wǎng)絡(luò)參數(shù):FDM頻率、發(fā)送器號(hào)碼等等
條件訪(fǎng)問(wèn)表 ITU-TRec.H.222.0|
ISO/IEC 13818-1
0x01 建立1個(gè)或多個(gè)(私用)EMM流與每個(gè)獨(dú)立的PID值的聯(lián)系

系統(tǒng)層解復(fù)用,首先要獲取PAT表。PAT表中包含了該傳送流中所有程序的一個(gè)清單。通過(guò)PAT表,就可獲取該傳送中所包含每個(gè)程序的PMT表。

在每個(gè)程序的PMT表中,就有該程序中各個(gè)原始流的信息,包括PID、原始流類(lèi)型以及該程序中包含有效PCR字段的傳送流中PID。通過(guò)PAT及PMT表,就可掌握傳送流中每個(gè)程序以及每個(gè)程序中各原始之間的關(guān)系。

(3)PCR

在傳送流中,解碼的同步實(shí)現(xiàn)是靠相應(yīng)的程序參考時(shí)間PCR值。PCR是將比特流本身的時(shí)序編碼的時(shí)間標(biāo)簽,它可以由同一道程序的視頻和音頻的PTS所用的共同時(shí)間基點(diǎn)推出。由于每道程序都有自己的時(shí)間基點(diǎn),所以含有多道程序的傳送流的每一道程序都有獨(dú)立的PCR字段。

2 C5402介紹

C5402是TI公司1999年10月推出的性?xún)r(jià)比較高的定點(diǎn)數(shù)字信號(hào)處理器,其主要特點(diǎn)如下:

*先進(jìn)的改造型哈佛結(jié)構(gòu),操作速率可達(dá)100MIPS;

*先進(jìn)的多總線(xiàn)結(jié)構(gòu),3條16位數(shù)據(jù)存儲(chǔ)器總線(xiàn)和1條程序存儲(chǔ)器總線(xiàn);

*40位算術(shù)邏輯單元(ALU),包括1個(gè)40位桶形移位器和2個(gè)40位累加器;

*1個(gè)17×17乘法器和1個(gè)40位專(zhuān)用加法器,允許16位帶(或不帶)符號(hào)的乘法;

*8個(gè)輔助寄存器及1個(gè)軟件棧,允許使用業(yè)界最先進(jìn)的定點(diǎn)DSP C語(yǔ)言編譯器;

*數(shù)據(jù)/程序?qū)ぶ房臻g1M×6bit,內(nèi)置4K×16bit ROM和16K×16bit RAM。

*內(nèi)置可編程等待狀態(tài)發(fā)生器、鎖相環(huán)時(shí)鐘產(chǎn)生器、2個(gè)多通道緩沖串行口、1個(gè)8位并行與外部處理器通信的HPI口、2個(gè)16位定時(shí)器以及6通道DMA控制器;

*低功耗,工作電源有3V和1.8V(內(nèi)核使用)。

3 復(fù)用器硬件框圖及流程

復(fù)用器硬件框圖如圖2所示。

(1)合成控制卡(主卡)流程

主卡流程:主要完成6塊卡處理的實(shí)施監(jiān)控,生成PSI等信息并周期性發(fā)送。主卡的PSI信息:6個(gè)PMT的PID以及每個(gè)子卡輸入來(lái)的視頻、音頻、PCR的PID號(hào)是事先規(guī)定好的。

(2)單路TS流處理卡(子卡)流程

子卡流程:TS流進(jìn)入FIFO緩存,由DSP進(jìn)行PSI信息的提取和碼率的計(jì)算;將有關(guān)信息送入合成處理卡進(jìn)行分析、綜合;根據(jù)需要從輸入的流中提取1路視頻、1路音頻和PCR包,并將它們的PID改為事先規(guī)定的。子卡的功能相當(dāng)于一個(gè)簡(jiǎn)易的碼流分析儀,而且可以提供1路單獨(dú)的TS流。

4 C5402的幾個(gè)典型應(yīng)用

C5402在該系統(tǒng)中的應(yīng)用:對(duì)輸入的TS流進(jìn)行分析;對(duì)6路碼流進(jìn)行均勻交織和PSI信息的重置;主卡與子卡之間通過(guò)C5402 HPI接口進(jìn)行通信;利用C5402串口與計(jì)算機(jī)RS232串口相連。

4.1 輸入的TS流分析

DSP從FIFO中讀取TS流到內(nèi)部RAM中去,如圖3所示,根據(jù)13位的PID號(hào)0x000找到PAT表,在PAT表中獲得PMT的ID號(hào)和NIT的ID號(hào);根據(jù)PMT_PID獲得視頻、音頻、PCR的PID號(hào)以及其它私有信息的PID號(hào);根據(jù)PCR_PID和pcr_flag,找到PCR包;根據(jù)公式計(jì)算出碼率:

其中i'、i''為相鄰2個(gè)PCR包,求得多個(gè)碼率,然后求算術(shù)平均,獲得平均碼率。利用FIFO進(jìn)行數(shù)據(jù)傳輸,速率在10~25MB/s之間。由于DSP處理能力為100MIPS,子卡中DSP傳輸數(shù)據(jù)量是大為2MB/s,約耦時(shí)0.1~0.2s,這樣處理時(shí)間足夠(0.8~0.9s)。子卡輸入FIFO采用8KB大小,在其半滿(mǎn)時(shí),DSP等待時(shí)間最大為(188/10 000)×6=0.1128ms,期間FIFO的填充量為0.112 8×1=0.112 KB,遠(yuǎn)不能輸入碼流將子卡的輸入FIFO填充滿(mǎn)而導(dǎo)致溢出。

4.2 碼流交織和PSI信息配置

為了將6塊子卡輸入的TS流復(fù)合成1路TS流,主卡DSP的功能就是將6路TS流均勻交織。主卡數(shù)據(jù)通過(guò)HPI送到主卡的DSP內(nèi)部RAM中,再寫(xiě)到外部FIFO中。由于各種碼流的PID叫可能相同,需要對(duì)各路TS流的ID號(hào)進(jìn)行重新設(shè)置。主卡根據(jù)預(yù)先設(shè)置的所有PID生成新的PSI表,并按照一定時(shí)間間隔發(fā)送到外部的FIFO中去。主卡的CPU以100MHz運(yùn)行,輸出FIFO的大小為8KB,以固定5MHz的碼率發(fā)送,子卡填寫(xiě)的數(shù)據(jù)不會(huì)導(dǎo)致主卡上溢。當(dāng)主卡的輸出FIFO沒(méi)有達(dá)半滿(mǎn)時(shí),填充空包,使FIFO不會(huì)下溢。

在子卡中根據(jù)分析得到的PSI信息,可以提取1路或者多路的節(jié)目流,并將PID號(hào)改為事先規(guī)定的,通過(guò)HPI通信接口傳送到主卡。

4.3 HPI接口

HPI(Host Port Interface)接口可以方便地實(shí)現(xiàn)主卡與子卡之間的通信,而不需要額外的器件。C5402的HPI操作是8位的。當(dāng)C5402運(yùn)行在100MHz主頻時(shí),通信速度可達(dá)到25MB/s。HPI接口具有3個(gè)16bit寄存器:HPIA(地址寄存器)、HPID(數(shù)據(jù)寄存器)、HPIC(控制寄存器)。主卡與子卡的DSP芯片之間的連接如圖4所示:HD0~HD7是8位數(shù)據(jù)線(xiàn),直接接到主設(shè)備的數(shù)據(jù)線(xiàn)上;HCS為選通信號(hào);HDS1~HDS2為數(shù)據(jù)鎖存信號(hào),在主設(shè)備的存取周期控制數(shù)據(jù)的傳輸,一般連到設(shè)備的數(shù)據(jù)選通;HR/W是讀寫(xiě)信號(hào);HCNTL0/HCNL1用于主設(shè)備選擇存取HPI的哪一個(gè)寄存器和對(duì)寄存器的存取類(lèi)型,連至主設(shè)備的地址線(xiàn)。由于HPI寄存器是16位的,而HPI與主設(shè)備僅以8位數(shù)據(jù)線(xiàn)相連,因而用HBIL決定當(dāng)前存取的是1個(gè)字的第1個(gè)字節(jié)還是第2個(gè)字節(jié),連到主設(shè)備地址線(xiàn)。

對(duì)HPI操作首先將控制字寫(xiě)入HPIC,然后將要存取的地址寫(xiě)入HPIA,最后豐取HPID,就可從HPI存儲(chǔ)塊或?qū)?shù)據(jù)寫(xiě)入HPI存儲(chǔ)塊。此外,還可選擇HPIA自動(dòng)增加方式,將初始地址寫(xiě)入HPIA,可不再操作HPIA,每存取1次數(shù)據(jù),地址都會(huì)自動(dòng)加1,因而加快了存取速度。

4.4 主卡DSP與計(jì)算機(jī)接口

為了實(shí)現(xiàn)系統(tǒng)自檢、碼率以及節(jié)目信息提取、輸出,我們通過(guò)DSP的串口與計(jì)算機(jī)的串口進(jìn)行通信。如圖5所示,采用的是異步通信方式。其中75C189和75C188為電平轉(zhuǎn)換芯片,C5402有2個(gè)McBSP(多通道緩沖串行口)。McBSP提供了全雙工的通信制以及雙緩存的發(fā)送寄存器和三級(jí)存的接收寄存器,允許連續(xù)的數(shù)據(jù)流傳輸,數(shù)據(jù)長(zhǎng)度可以為8、12、16、20、24、32;同時(shí)還提供了A-律和μ-律壓擴(kuò),多達(dá)128個(gè)通道的發(fā)送和接收。數(shù)據(jù)經(jīng)McBSP與外設(shè)的通信通過(guò)DR和DX引腳相連。控制信號(hào)則由CLKX、CLKR、FSX、FSR四條引腳來(lái)實(shí)現(xiàn)。

4.5 DSP程序BOOTL0ADER的實(shí)現(xiàn)

BOOTLOADER是為了在上電時(shí),將用戶(hù)代碼從外部加載到內(nèi)部的存儲(chǔ)器以加快運(yùn)行速度。我們使用C5402外部8位并行I/O口實(shí)現(xiàn)BOOTLOADER程序。C5402讀I/O口0xffff,這里面存放著外部存儲(chǔ)器的首地址(數(shù)據(jù)區(qū))。若在這個(gè)首地址內(nèi)讀到了關(guān)鍵字08 AA,就進(jìn)行8位加載;若是10AA則表示16位加載。硬件系統(tǒng)就是加了1片3.3V的Flash,程序用編程器燒入Flash。

5 C5402的軟件編程體會(huì)

(1)C語(yǔ)言與匯編混合編程

在運(yùn)算能力不是十分緊張的情況下,用C語(yǔ)言開(kāi)發(fā)DSP程序不僅使DSP開(kāi)發(fā)的速度大大加快,而且開(kāi)發(fā)出來(lái)的DSP程序的可讀性和可移植性大大加強(qiáng),程序修改也極為方便。采用C編譯器的優(yōu)化功能可以增加C代碼的效率。

一般情況下,采用C語(yǔ)言和匯編混合編程方法有3種:①獨(dú)立編寫(xiě)C程序和匯編程序;②直接在C語(yǔ)言程序的相應(yīng)位置嵌入?yún)R編語(yǔ)句;③對(duì)C程序進(jìn)行編譯生成相應(yīng)匯編程序,然后對(duì)匯編程序進(jìn)行手工優(yōu)化和修改??梢詮腃程序中訪(fǎng)問(wèn)匯編程序的變量和常量,也可以在匯編程序中訪(fǎng)問(wèn)C程序變量。

(2)預(yù)防流水線(xiàn)沖突

流水線(xiàn)操作是DSP實(shí)現(xiàn)高速度、高效率的關(guān)鍵技術(shù)之一。在TMS320C54X中采用了深度與6級(jí)的流水線(xiàn)操作,因此流水線(xiàn)沖突不可避免的。一般情況下,當(dāng)發(fā)生流水線(xiàn)沖突時(shí),由DSP自動(dòng)插入延遲解剖沖突問(wèn)題,但有時(shí)需要程序員通過(guò)調(diào)整程序語(yǔ)句的次序或在程序中插入一定量的NOP來(lái)解決。例如:

STLM A,BRC

NOP

RPTB LOOP

語(yǔ)句

LOOP

(3)存儲(chǔ)空間要正確分配

C5402總共有192K字大小存儲(chǔ)空間,64K字的程序區(qū)、64K字的數(shù)據(jù)區(qū)和64K字的I/O區(qū)。當(dāng)寄存器PMST的OVLY=0時(shí),片內(nèi)RAM在數(shù)據(jù)區(qū)內(nèi)可訪(fǎng)問(wèn),在程序區(qū)不可訪(fǎng)問(wèn);當(dāng)OVLY=1時(shí),片內(nèi)RAM映射到程序區(qū)和數(shù)據(jù)區(qū),但數(shù)據(jù)頁(yè)(地址從0H~7FH)不映射到程序空間。我們?cè)诔绦蚓幊讨羞x用后種模式。程序和數(shù)據(jù)同一塊片內(nèi)RAM,在編寫(xiě)CMD文件時(shí)程序和數(shù)據(jù)區(qū)間不能發(fā)生重疊。

(4)指令的使用

①TMS320C54X的匯編有算術(shù)指令和程序指令,2種指令可以互換。當(dāng)外部端口操作時(shí)使用端口指令PORTW和PORTR。

②利用DADST和DSADT指令,可以同時(shí)在1個(gè)累加器中進(jìn)行2次運(yùn)算。

③利用DADD和DSUB可實(shí)現(xiàn)32的加減法。

④利用CMPS、SACCD、SRCCD、STRCD四個(gè)條件存儲(chǔ)指令,以減少條件判斷指令的開(kāi)銷(xiāo);利用MAX、MIN、FIRS、LMS可以減少運(yùn)算所需的指令周期;利用C54的并行指令可以省去多次數(shù)據(jù)存儲(chǔ),提高編程的效率。

⑤充分利用*(IK)尋址(在數(shù)據(jù)區(qū)內(nèi)指明所要訪(fǎng)問(wèn)的地址),可以減少輔助寄存器的使用。

(5)少用函數(shù)和子程序調(diào)用

雖然結(jié)構(gòu)化程序給軟件和調(diào)試帶來(lái)方便,但一個(gè)函數(shù)和子程序的調(diào)用和返回都將使C5402產(chǎn)生1次流水線(xiàn)刷新,增加了指令周期,因而在存儲(chǔ)空間足夠時(shí),應(yīng)多使用宏結(jié)構(gòu);但在編程時(shí)又必須考慮程序的大小,所以在對(duì)設(shè)備處理速度影響不大的情況下,也可以使用函數(shù)和子程序。

(6)關(guān)于中斷服務(wù)程序的編寫(xiě)

中斷有軟中斷和硬中斷。在編寫(xiě)中斷服務(wù)程序時(shí),最重要的是將中斷向量表放置正確。首先在PMST寄存中設(shè)置IPTR,然后把INT放到規(guī)定的位置,將中斷模式INTM=0;將中斷使能寄存器的對(duì)應(yīng)位置1。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉