新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > SoC類的DSP芯片TMS320LF2407在測速和遠(yuǎn)程傳送

SoC類的DSP芯片TMS320LF2407在測速和遠(yuǎn)程傳送

作者: 時間:2011-03-31 來源:網(wǎng)絡(luò) 收藏
速度測量是控制工程的基本問題之一。在許多情況下,測速信號需要遠(yuǎn)距離傳送。實現(xiàn)這個問題的一個主要方法是使用(片上系統(tǒng))芯片。它所帶的豐富外設(shè)改變了關(guān)于硬件和軟件的觀念。搭建硬件系統(tǒng)變?yōu)閷τ布Y(jié)構(gòu)的理解掌握,軟件的編程也從算法編制為主變?yōu)椴考O(shè)置為主,具有簡捷、完整的特點,體現(xiàn)了芯片的技術(shù)優(yōu)勢。類的芯片在測速和遠(yuǎn)程傳送應(yīng)用中的簡捷一體化設(shè)計也體現(xiàn)了這一點。

  1 相關(guān)系統(tǒng)結(jié)構(gòu)

  所帶有的事件管理器和CAN控制器模塊為測速和遠(yuǎn)程傳送提供了便利。 有2個事件管理器EVA和EVB,各有3個捕獲單元。對應(yīng)6個捕獲輸入引腳CAPX(對EVA,X=1,2,3;對EVB,X=4,5,6)。6個捕獲輸入引腳分別與QEPl/IOPA3、QEP2/IOPA4、IOPA5、QEP3/IOPE37、QEP4/IOPFO和IOPFl 共用。當(dāng)捕獲輸入引腳CAPX上檢測到所選的跳變時,所選的GP定時器的計數(shù)值被捕獲并存入到一個2級深的FIFO堆棧中。

  TMS320LF2407的CAN控制器模塊包括有郵箱和相應(yīng)的控制/狀態(tài)寄存器。共有6個郵箱:2個接收郵箱(MBOX0、1),2個發(fā)送郵箱(MBOX4、5),2個可配置為接收或發(fā)送郵箱(MBOX2、3)。TM$320LF2407的CAN控制器模塊完全支持CAN2.0B協(xié)議。

  通常情況下,測速傳感器系統(tǒng)輸出的是數(shù)字測速脈沖信號。因此,可把這個加到TMS320LF2407芯片捕獲引腳上。利用TMS320LF2407芯片的捕獲單元測量輸入脈沖的周期,再由內(nèi)置的CAN總線控制器單元發(fā)出CAN周期信號,實現(xiàn)測速和遠(yuǎn)程傳送一體化。

  2 系統(tǒng)配置

  2.1 捕獲單元及相應(yīng)定時器的配置

  TM$320LF2407捕獲單元的工作原理是:以輸入脈沖上升沿、下降沿或上升沿下降沿為界,由相應(yīng)的定時器計數(shù)來度量周期,計數(shù)值被捕獲送入相應(yīng)的一個2級深的捕獲堆棧FIF0中。因此,涉及到捕獲和定時器兩部分的配置操作。需要配置的捕獲操作有:在I/O口復(fù)用控制寄存器MCRx(x=A、B或c)中把相應(yīng)引腳配置為捕獲輸入;在捕獲控制寄存器CAPCONA/B中選擇(使能)捕獲單元、選擇(使能)相應(yīng)的定時器和邊沿選擇(上升沿、下降沿或上升沿下降沿);在中斷標(biāo)志寄存器EVA/BIFRX和中斷屏蔽寄存器EVA/BIMRX中設(shè)置中斷控制情況。需要配置定時器的操作有:對單個通用定時器TXCNT清零;在全局通用定時器控制寄存器GPTCONA/B中設(shè)置相應(yīng)定時器的操作及計數(shù)方向;在單個通用定時器周期控制寄存器TXPR中設(shè)置比較周期;在單個通用定時器控制寄存器TXCON中設(shè)置計數(shù)操作模式。

  周期控制寄存器TXPR中設(shè)置的比較周期應(yīng)大于輸入脈沖信號的周期。在不知道輸入脈沖信號周期的情況下,應(yīng)設(shè)置為最大值。當(dāng)度量周期超過最大捕獲時間時,用定時器溢出的方法再加軟件計數(shù)解決。

  2.2 捕獲周期的取出和傳送

  存放于捕獲堆棧FIFO的捕獲周期的取出有中斷和查詢兩種方法。捕獲單元所在的事件管理器的中斷延時時間為20個CPu周期(典型),或25個CPU周期(最小保護),或8個cPU周期(單個中斷),或l6個CPU周期(不考慮存儲器空間)。在具體設(shè)計中,中斷延時時間被設(shè)為某一定值。在通常中斷處理程序很短的情況下,中斷時間主要由中斷延時時間決定。為了系統(tǒng)的擴展,即使是單個外設(shè),也還是以采用中斷方法為宜,而不是查詢方法。

  2.3 CAN控制器模塊和位定時器配置

  CAN控制器模塊的配置包括初始化郵箱、位定時器設(shè)置和數(shù)據(jù)收發(fā)。有關(guān)內(nèi)容參見文獻。這里介紹一下位定時器的設(shè)置。

  位定時器的設(shè)置決定總線傳輸信號的波特率,是CAN控制器模塊的核心配置問題。TMS320LF2407有兩個位控制寄存器BCRl和BCR2。它們必須在CAN控制器處于復(fù)位模式下(即CCR=1)才能被配置。位控制寄存器BCR2包括波特率預(yù)分頻位BRP[7-0],用來確定CAN控制器的時間片TQ,作為位控制的基準(zhǔn)時間。位控制寄存器BCR2包括同步跳轉(zhuǎn)寬度選擇位SJW[1-0]、采樣次數(shù)選擇位SAM、包含傳播延時時間段(

  PROG SEG)和相位延時時間段1(PHASE SEGl)的時間段1 TSEGl[3-0]、決定相位延時時間段2(PHASE SEG2)的時間段2 TSEG2[2-0]。這樣波特率為

  3 設(shè)計實例

  本例的基本設(shè)置是選定捕獲單元4(CAP4)對輸入脈沖寬度進行捕獲,事件管理器EVB的通用定時器3對脈沖進行計數(shù)。捕獲計數(shù)值從FIFO堆棧取出送到臨時寄存器CAP4TEMP,以便于擴展。再從CAP4TEMP送到3號郵箱經(jīng)CANTX/IOPC6和CANRX/IOPC7發(fā)送,如圖1所示。

  


  3.1 捕獲單元為中斷方式而CAN控制器為查詢方式

  首先進行系統(tǒng)初始化,包括關(guān)中斷、清標(biāo)志位、系統(tǒng)時鐘20MHz使能包含有捕獲單元的第4級中斷INT4,再進行捕獲單元初始化和CAN控制器初始化。有關(guān)內(nèi)容前已敘述。由于捕獲單元處于中斷方式,從捕獲堆棧FIFO的取捕獲周期值的操作在捕獲單元的中斷處理程序中進行;而CAN控制器處于查詢方式,要在主程序中循環(huán)檢查捕獲標(biāo)志。確認(rèn)捕獲后,從暫存寄存器CAP4TEMP中取出捕獲周期值送到郵箱3。值得一提的是,由于捕獲周期值為1 6位數(shù)據(jù),故需要傳送的數(shù)據(jù)是2字節(jié)。因此發(fā)送控制器MSGCTRL3的DL=2。這種情況的程序流程如圖2所示。

  

  3.2 捕獲單元中斷處理包括CAN控制器的信息發(fā)送

  如前所述,當(dāng)CAN控制器處于查詢方式時,CAN控制器的操作程序很復(fù)雜,又位于主程序,不利于主程序的擴展和外設(shè)的增加;因此可以把CAN控制器信息發(fā)送設(shè)置于捕獲單元中斷處理中,使主程序變得十分簡單。在這種情況下,捕獲單元中斷處理程序同時包括捕獲周期取出和CAN信息發(fā)送。由于減少了判斷和循環(huán),CAN信息發(fā)送變得簡單。捕獲單元中斷處理程序如下:

  CAP4_ISR

  LDP #DP EVB

  LACL CAP4FIFO ;取捕獲堆棧值

  LDP DP_USER

  SACL CAP4TEMP ;捕獲值送入臨時寄存器

  LDP #DP EVB

  SPLK #0,T3CNT ;清T3計數(shù)值,使其重新計數(shù)

  LDP #DP_CAN

  SPLK #0000H,MDER ;郵箱不使能

  SPLK #0100H,MCR ;CDR=I,數(shù)據(jù)改變請求

  LDP #5

  LACL CAP4TEMP ;取捕獲值

  LDP #DP_CAN2

  SACL MBX3An

  bsp; ;把捕獲值移入到郵箱3

  LDP #DP_CAN

  SPLK #0880H,MCR ;DBO=1,CDR=0,ABO=1,STM=0

  SPLK #08H,MDER ;MD3=0,ME3=1,郵箱3發(fā)送使能

  LDP #DP CAN

  SPLK #0020H,TCR ;郵箱3發(fā)送請求

  W_TA3 LDP #DP_CAN

  BIT TCR,2 ;郵箱3發(fā)送應(yīng)答TA3(位13)=1

  BCND W_TA3, NTC ;等待發(fā)送應(yīng)答

  LDP #DP_CAN

  SPLK #2000h, TCR ;發(fā)送應(yīng)答TA3寫1復(fù)位

  CLRC INTM ;開中斷

  RET

  4 結(jié)論

  分析和設(shè)計表明,利用芯片類的TMS320LF407特點,適當(dāng)配置相應(yīng)的單元,就會簡捷、有效地實現(xiàn)速度更快的控制功能,體現(xiàn)了控制功能,體現(xiàn)了控制實現(xiàn)方法的必然發(fā)展趨勢。調(diào)試應(yīng)用說明,該方法正確、有效。



關(guān)鍵詞: SoC DSP TMS320LF2407

評論


相關(guān)推薦

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

關(guān)閉