摘要:描述了DS12887的功能特點(diǎn)和TMS320LF2407的主要性能,詳細(xì)分析了DS12887的接口時(shí)序,并采用軟件模擬方式實(shí)現(xiàn)DS12887與TMS320LF2407的接口技術(shù)。
關(guān)鍵詞:DS12887,TMS320LF2407,時(shí)序,軟件模擬
1 引言
數(shù)字信號(hào)處理器(DSP)以其高速的數(shù)據(jù)處理和靈活方便的功能,目前已獲得廣泛應(yīng)用,但是由于其本身的標(biāo)準(zhǔn)接口有限,因此在與某些外圍器件一起使用時(shí),常常會(huì)遇到接口不匹配的困難,采用軟件模擬接口時(shí)序的方法可以有效地解決這一問題。本文即討論了一種采用軟件模擬總線復(fù)用時(shí)序的方法,來實(shí)現(xiàn)并行實(shí)時(shí)時(shí)鐘芯片DS12887與TMS320LF2407的接口技術(shù)。
2 DS12887與TMS320LF2407概述
DS12887是一種性能優(yōu)良的并行實(shí)時(shí)時(shí)鐘芯片,其內(nèi)部封裝有鋰電池,工作壽命長達(dá)十年。其主要特點(diǎn)如下:具有秒﹑分鐘﹑小時(shí)﹑日﹑星期﹑月和年等信息,并具有閏年補(bǔ)償功能;時(shí)間可采用12小時(shí)制或24小時(shí)制;共有128字節(jié)的存儲(chǔ)單元,其中14字節(jié)與時(shí)間有關(guān),其余的114字節(jié)為非易失靜態(tài)RAM可供用戶使用;具有可編程方波輸出功能;三個(gè)可屏蔽及測試的中斷源:報(bào)警中斷﹑周期中斷和刷新結(jié)束中斷;Intel和Motorola兩種時(shí)序可供選擇;二進(jìn)制數(shù)碼或BCD碼表示時(shí)間﹑日歷和定鬧等。由于其實(shí)現(xiàn)方式簡單方便,在許多系統(tǒng)中得到了廣泛應(yīng)用。表1給出了24腳DIP封裝的DS12887的各管腳功能。
表1 DS12887的管腳功能
TMS320LF2407是基于TMS320C2XXDSP的CPU核,與TMS320系列DSP代碼兼容,主要用于數(shù)字電機(jī)控制領(lǐng)域.它采用高性能靜態(tài)CMOS技術(shù),使得供電電壓降為3.3V,減小了控制器的功耗;30MIPS的執(zhí)行速度使得指令周期縮短到33ns,從而提高了控制器的實(shí)時(shí)控制能力;兩個(gè)事件管理模塊EVA和EVB,每個(gè)包括兩個(gè)16位通用定時(shí)器和8個(gè)16位的脈寬調(diào)制(PWM)通道;可擴(kuò)展的外部存儲(chǔ)器總共192K字:64K字程序存儲(chǔ)器,64K字?jǐn)?shù)據(jù)存儲(chǔ)器和64K字I/O尋址空間;看門狗定時(shí)器模塊(WDT);最小轉(zhuǎn)換時(shí)間為500ns的10位A/D轉(zhuǎn)換器;控制器局域網(wǎng)絡(luò)(CAN)2.0B模塊;串行通信接口(SCI);16位的串行外設(shè)接口模塊(SPI);基于鎖相環(huán)的時(shí)鐘發(fā)生器 ;5個(gè)外部中斷;值得特別指出的是,EVA、EVB、SCI、SPI、CAN等功能模塊的引腳是復(fù)用的,可以設(shè)置為I/O引腳。利用這些功能即可實(shí)現(xiàn)與時(shí)鐘模塊DS12887的接口。
3 DS12887的接口時(shí)序分析及模擬
DS12887有兩種接口時(shí)序,即Motorola時(shí)序和Intel時(shí)序,都是總線復(fù)用方式,即數(shù)據(jù)線和地址線使用的是相同的接口線 AD0-AD7。而TMS320LF2407的數(shù)據(jù)線和地址線是分開的,為充分利用DSP的高速性能,應(yīng)用中一般將其工作在較高頻率上,因此TMS320LF2407和DS12887在接口時(shí)序上是不匹配的。由于TMS32LF2407有高達(dá)40個(gè)可單獨(dú)編程或復(fù)用的通用輸入輸出(GPIO)引腳,所以考慮采用軟件模擬的方法來模擬DS12887的接口時(shí)序從而實(shí)現(xiàn)兩者的接口匹配。該方法采用純軟件實(shí)現(xiàn),無需外圍器件,方便可靠。
下面以模擬Intel時(shí)序?yàn)槔齺碚f明一般總線復(fù)用器件與高速DSP器件的接口方法。
DS12887的讀寫時(shí)序分別如圖1和圖2所示。
軟件模擬的任務(wù)就是用軟件編程的方法對(duì)DSP的I/O口操作模擬出符合圖1﹑圖2所示時(shí)序要求的時(shí)序,從而實(shí)現(xiàn)讀寫數(shù)據(jù)的目的。
要模擬出圖1﹑圖2的時(shí)序,需要DSP的12條I/O線(如圖3所示),其中4條為控制線,分別與DS12887的ALE﹑RD﹑WR和CS相對(duì)應(yīng),8條為數(shù)據(jù)和地址復(fù)用線,分別與AD0-AD7相對(duì)應(yīng)。4條控制線均需設(shè)置為輸出口。而8條復(fù)用線則不同,在一個(gè)讀周期,首先應(yīng)設(shè)置為輸出口,用以傳輸?shù)刂,然后在地址鎖存完成之后再將其設(shè)置為輸入口,用以傳輸數(shù)據(jù);在一個(gè)寫周期,由于地址和數(shù)據(jù)都是由DSP發(fā)出的,所以設(shè)置為輸出口不變就可以滿足要求。
圖3中,控制線使用PF0~PF3,數(shù)據(jù)和地址復(fù)用線使用PE0~PE7,它們的基本功能和一般I/O復(fù)用引腳相同,可通過設(shè)置相應(yīng)的I/O口復(fù)用控制寄存器(MARC)使之成為I/O口,設(shè)置數(shù)據(jù)和方向寄存器(PEDATDIR和PFDATDIR)使之成為輸入或輸出口,并同時(shí)可以設(shè)定初始值。
圖4和圖5分別為從DS12887讀取一個(gè)字節(jié)數(shù)據(jù)和對(duì)DS12887寫一個(gè)字節(jié)數(shù)據(jù)的流程圖。

基于上述硬件電路和軟件設(shè)計(jì)思想,本文實(shí)現(xiàn)了對(duì)DS12887設(shè)定初始計(jì)時(shí)時(shí)間或從中讀取當(dāng)前時(shí)間。
4 結(jié)論
本文在分析DS12887接口時(shí)序的基礎(chǔ)上,討論了采用軟件模擬的方法實(shí)現(xiàn)與高速DSP TMS320LF2407接口的技術(shù)。該方法接口簡單,方便可靠,在解決低速外設(shè)與高速M(fèi)CU的接口問題上具有實(shí)際應(yīng)用意義。





