在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > TMS320 DSP的并行I/O引導(dǎo)裝載方法研究

            TMS320 DSP的并行I/O引導(dǎo)裝載方法研究

            作者: 時(shí)間:2016-12-21 來源:網(wǎng)絡(luò) 收藏

              TMS320VC5402(以下簡稱C5402)是德州儀器公司(TI)1999年10月推出的性價(jià)比極高的定點(diǎn)數(shù)字信號(hào)處理器(DSP).C5402主要特點(diǎn)如下[1]:

              ·操作速率達(dá)100MIPS;

              ·具有先進(jìn)的多總線結(jié)構(gòu),三條16位數(shù)據(jù)存儲(chǔ)器總線和一條程序存儲(chǔ)器總線;

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

              ·一個(gè)17×17乘法器和一個(gè)40位專用加法器,允許16位帶/不帶符號(hào)的乘法;

              ·整合維特比加速器,用于提高維特比編譯碼的速度;

              ·單周期正規(guī)化及指數(shù)譯碼;

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

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

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

              ·低功耗,工作電源有3V和1.8V(內(nèi)核),特別適合電池供電設(shè)備.

              由此可見,與TMS32054X系列的其它芯片相比,C5402以其獨(dú)有的高性能、低功耗和低價(jià)格特性,使得一推出就受到業(yè)內(nèi)用戶的歡迎.但它的內(nèi)部結(jié)構(gòu)和片內(nèi)掩模的引導(dǎo)裝載(Bootloader)程序與C54X系列的其它DSP處理器[2]有較大的差異,而它的應(yīng)用對(duì)象又大多是要求能脫機(jī)運(yùn)行,如機(jī)頂盒(STB)、個(gè)人數(shù)字助理(PDA)和數(shù)字無線通信等內(nèi)嵌式系統(tǒng).為此,本文立足我們的實(shí)踐經(jīng)驗(yàn),簡單介紹C5402 Bootloader程序分析和實(shí)現(xiàn)方法,并較為詳細(xì)地介紹并行I/O Bootloader方法.

              1 幾種引導(dǎo)裝載方法

              C5402片內(nèi)掩模的Bootloader用于在上電復(fù)位時(shí)把用戶程序從外部引導(dǎo)到高速RAM中,以保證其全速運(yùn)行.C5402提供了如下四種Bootloader方法:8位或16位并行EPROM方法、8位或16位并行I/O方法、8位或16位串行口方法和處理器通信口(主端口)HPI方法.

              上電復(fù)位后,C5402檢測其MP/MC引腳,如果MP/MC=“0”則進(jìn)入Bootloader程序.進(jìn)入Bootloader后,如有INT2請求中斷,則進(jìn)入HPI引導(dǎo)方式,否則則讀入端口地址為0FFFFH的I/O端的引導(dǎo)方式選擇字(Boot Routine Selection,BRS).當(dāng)BRS=XXXX00時(shí),進(jìn)入I/O或串行口引導(dǎo)方式如BRS=XXXX1000時(shí),進(jìn)入8位I/O引導(dǎo)方式BRS=XXXX1100時(shí),進(jìn)入16位I/O引導(dǎo)方式,否則則進(jìn)入串行口引導(dǎo)方式.當(dāng)BRS=XXXX01時(shí),進(jìn)入8位EPROM引導(dǎo)方式,BRS=XXXX10時(shí),進(jìn)入16位EPROM引導(dǎo)方式.

              2 C5402片內(nèi)ROM結(jié)構(gòu)及并行I/O引導(dǎo)裝載程序分析

              C5402提供了4K×16bit 的掩模ROM,其具體內(nèi)容見表1.C5402上電復(fù)位后,如果MP/MC=“0”則從F800h地址開始運(yùn)行Bootloader程序.在進(jìn)入8位并行I/O引導(dǎo)程序以前,C5402與外部I/O要進(jìn)行一系列的通信聯(lián)絡(luò),其程序框圖如圖1所示.

            TMS320VC5402DSP的并行I/O引導(dǎo)裝載方法研究

            TMS320VC5402DSP的并行I/O引導(dǎo)裝載方法研究

              以下是8位并行I/O引導(dǎo)程序片段下:

              行號(hào) 源程序 注 解

              (標(biāo)號(hào)) ..

            END       ;讀入用戶代碼結(jié)束
                    ;并轉(zhuǎn)執(zhí)行用戶程序
            1 CALL (21) ;調(diào)用讀數(shù)據(jù)子程序
            2 STL   B,61h ;B的內(nèi)容→61H單元
            3 CALL  (21) ;調(diào)用讀數(shù)據(jù)子程序
            4 STL   B,61h ;B的內(nèi)容→62H單元
            5 CALL (21) ;調(diào)用讀數(shù)據(jù)子程序
            6 BC (END), BEQ ;B=0時(shí)結(jié)束
            7 SUB #01h,0,B,B ;B-1→B
            8 STLM B,BRC;B→BRC
            9 CALL (21) ;調(diào)用讀數(shù)據(jù)子程序
            10 STL  B, 68h ;B的內(nèi)容→68H單元
            11 CALL (21) ;調(diào)用讀數(shù)據(jù)子程序
            12 ADD 68h,16,B,B ;68H移位后加B→B
            13 LD  B,0,A   ;B→A
            14 RPTD (20)-1; 循環(huán)15-19       
            15 CALL (21) ;調(diào)用讀數(shù)據(jù)子程序
            16 SSBX   XF  ;XF=1
            17 BC  (17),BIO;BIO=0則等待
            18 WRITA  B  ;把B的內(nèi)容寫到*A
            19 ADD #01h,0,A,A ;A+1→A
            20 B  (5)    ;跳轉(zhuǎn)到標(biāo)號(hào)為5
                .
            21 SSBX  XF    ;XF=1
            22 BC (22),BIO  ;BIO=0則等待
            23 RXBX   XF   ;XF=0
            24 BC (24),NBIO ;BIO=1則等待
            25 POETR 0000h,B ;讀0地址端口→B
            26 SFTL  B,8,B  ;B左移8位→B
            27 SSBX  XF    ;XF=1
            28 BC (28),BIO  ;BIO=0則等待
            29 RXBX  XF   ;XF=0
            30 BC (30),NBIO ;BIO=1則等待
            31 PORTR 0000h,68h ;讀0地址端口→68
            32 ANDM 000ffh,68h ;邏輯與
            33 OR  68h,B   ;邏輯或后→B
            34 RET ;返回

              在上述程序中,END標(biāo)號(hào)給出I/O讀入操作結(jié)束后所轉(zhuǎn)移的入口地址,之后轉(zhuǎn)到61H和62H給出的入口地址執(zhí)行用戶程序.第1~4行讀入入口地址;第5~8行讀入數(shù)據(jù)塊長度;第9~13行讀入數(shù)據(jù)塊首地址;第14~20行讀入數(shù)據(jù)塊.為了更好地了解這段程序的工作過程及其原理,圖2給出了8位并行I/O Bootloader程序流程圖.第21~34行為讀數(shù)據(jù)子程序,在該程序中,利用了XF和BIO信號(hào)與外部I/O進(jìn)行握手聯(lián)絡(luò),其信號(hào)時(shí)序如圖3所示.

            TMS320VC5402DSP的并行I/O引導(dǎo)裝載方法研究

            TMS320VC5402DSP的并行I/O引導(dǎo)裝載方法研究

              3 C5402并行I/O引導(dǎo)裝載方法的實(shí)現(xiàn)

              3.1 硬件電路分析

              為了滿足C5402 DSP 8位并行I/O Bootloader引導(dǎo)程序的時(shí)序要求,本文利用8031單片機(jī)作智能I/O部件,圖4為C5402與8031的連接電路圖.在圖中,U3為TMS320VC5402DSP,U?為8031單片機(jī),U1、U2均為SN74AHC245,單片機(jī)系統(tǒng)中的EPROM

              電路沒有給出.

              U1、U2的DIR引腳接地,數(shù)據(jù)傳輸方向?yàn)锽→A.U2的B7~B4和B2~B0接地,B3接DVDD(3.3V),/CE端接系統(tǒng)復(fù)位信號(hào),保證了在上電復(fù)位期間U2給C5402提供00001000B數(shù)據(jù),使其進(jìn)入8位并行I/O引導(dǎo)模式,而當(dāng)復(fù)位信號(hào)無效后,U2的/CE=“1”片選信號(hào)無效而脫離系統(tǒng).U1的作用是數(shù)據(jù)緩沖兼作電平轉(zhuǎn)換器,U1的VCCD端接4.3V,其作用是將8031輸出的TTL電平轉(zhuǎn)換成5402能接受的CMOS電平;U1的/CE斷接8031的P3.3(/INT)腳,在系統(tǒng)復(fù)位直到執(zhí)行CLR P3.3之前都保持高電平,在此期間U1無效,保證了U2正常供給5402所需的數(shù)據(jù).8031的P3.0( RXD)、P3.1(TXD)作為握手信號(hào),分別與C5402的/BIO和XF相連.JP3、JP4可供用戶跳線選擇C5402的系統(tǒng)時(shí)鐘以及選擇C5402的運(yùn)行模式.

              3.2 程序設(shè)計(jì)

              根據(jù)以上分析,本文設(shè)計(jì)了如下8031匯編程序.首先使U1的/CE有效,然后等待C5402的XF為低電平,XF=“0”后,使8031的P3.1=“0”即BIO=“0”C5402進(jìn)入等待數(shù)據(jù)狀態(tài).在數(shù)據(jù)送到數(shù)據(jù)總線之后,使BIO=“1”通知C5402讀取I/O端口數(shù)據(jù).程序中,UC定義的代碼前面22個(gè)字節(jié)是與C5402的聯(lián)絡(luò)碼,從第23個(gè)字節(jié)開始才是用戶程序代碼.··

              CLR P3.3    ;使U1(AHC245) CE=0
            W1: JB P3.0,W1  ;XF=1等待
              CLR   P3.1  ;使BIO=0
              MOV R4,#00H  ;初始化變址寄存器
            W2: JNB P3.0,W2  ;XF=0等待
              MOV DPTE,#UC ;指向用戶代碼首地址
              MOV A,R4    ;變址送A
              MOVC A,@A+DPTR ;取用戶代碼
              MOV P1,A    ;送到數(shù)據(jù)總線
              SETB P3.1   ;使BIO=1
            W3: JB P3.0,W3   ;XF=1等待
              CLR P3.1    ;使BIO=0
              INC R4     ;指向下一代碼
              CJNE R4,#0FFH,W2 ;未完重來
            UC: DB 08H,0AAH,00H,00H
               DB 00H,00H,00H,00H
               DB 00H,08H,00H,25H
               DB 00H,00H,00H,80H
               DB 0F4H,95H,0E9H,27H
               DB 0F3H,10H ;以上為與C5402的聯(lián)絡(luò)碼
                     ;用戶程序代碼

              TMS320VC5402 DSP是C54X家族乃至TI的DSP家族的最新成員,正以其極高的性價(jià)比被越來越多的用戶所接受.本文利用廉價(jià)、通用的8031單片機(jī)實(shí)現(xiàn)C5402 8位并行I/O Bootloader功能,一方面,可以很好地解決快速DSP與慢速I/O(EPROM)之間的數(shù)據(jù)傳輸問題;另一方面,C5402 Bootloader成功后,8031還可作為“協(xié)助理器”使用,從而極大提高了系統(tǒng)的靈活性和實(shí)用性.具有廣闊的應(yīng)用前景.



            關(guān)鍵詞: TIDSP并行IO加

            評(píng)論


            技術(shù)專區(qū)

            關(guān)閉