新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > SoC類的DSP芯片TMS320LF2407在測速和遠程傳送

        SoC類的DSP芯片TMS320LF2407在測速和遠程傳送

        作者: 時間:2011-03-31 來源:網絡 收藏
        速度測量是控制工程的基本問題之一。在許多情況下,測速信號需要遠距離傳送。實現這個問題的一個主要方法是使用(片上系統)芯片。它所帶的豐富外設改變了關于硬件和軟件的觀念。搭建硬件系統變為對硬件結構的理解掌握,軟件的編程也從算法編制為主變為部件設置為主,具有簡捷、完整的特點,體現了芯片的技術優勢。類的芯片在測速和遠程傳送應用中的簡捷一體化設計也體現了這一點。

          1 相關系統結構

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

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

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

          2 系統配置

          2.1 捕獲單元及相應定時器的配置

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

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

          2.2 捕獲周期的取出和傳送

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

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

          CAN控制器模塊的配置包括初始化郵箱、位定時器設置和數據收發。有關內容參見文獻。這里介紹一下位定時器的設置。

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

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

          3 設計實例

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

          


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

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

          

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

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

          CAP4_ISR

          LDP #DP EVB

          LACL CAP4FIFO ;取捕獲堆棧值

          LDP DP_USER

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

          LDP #DP EVB

          SPLK #0,T3CNT ;清T3計數值,使其重新計數

          LDP #DP_CAN

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

          SPLK #0100H,MCR ;CDR=I,數據改變請求

          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發送使能

          LDP #DP CAN

          SPLK #0020H,TCR ;郵箱3發送請求

          W_TA3 LDP #DP_CAN

          BIT TCR,2 ;郵箱3發送應答TA3(位13)=1

          BCND W_TA3, NTC ;等待發送應答

          LDP #DP_CAN

          SPLK #2000h, TCR ;發送應答TA3寫1復位

          CLRC INTM ;開中斷

          RET

          4 結論

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



        關鍵詞: SoC DSP TMS320LF2407

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 湖口县| 桓仁| 洪洞县| 礼泉县| 陵水| 辰溪县| 龙江县| 察雅县| 东丰县| 新田县| 汉源县| 吉林省| 华宁县| 察雅县| 朝阳区| 治多县| 西宁市| 林西县| 承德市| 石景山区| 鸡泽县| 延川县| 巧家县| 连江县| 通河县| 泾川县| 双峰县| 安新县| 天柱县| 丹阳市| 临高县| 宣化县| 拉萨市| 大石桥市| 咸阳市| 和静县| 林西县| 罗山县| 犍为县| 夹江县| 延川县|