新聞中心

        EEPW首頁 > 元件/連接器 > 設計應用 > 實時時鐘DS1302與超級電容

        實時時鐘DS1302與超級電容

        ——
        作者:西安電子科技大學電子工程學院 王曉燕 韓俊寧 時間:2007-01-26 來源:《世界電子元器件》 收藏

        引言
        tigersharc 128-bit數字信號處理器是繼高性能dsp——adsp-2106x sharc之后的新一代產品,tigersharc將數字信號處理器性能提升到了一個新的高度。2001年,美國adi公司發布了其高性能tigersharc系列dsp的新成員,adsp-ts101s的有關技術文件。從2002年下半年起,在國內市場上可以訂購到adsp-ts101s的正版芯片。adsp-ts101s tiger sharc dsp是一款性能極高的靜態超標量處理器專為大的信號處理任務和通訊結構進行了優化。該處理器,將非常寬的存儲器寬度和雙運算模塊組合在一起,建立了數字信號處理器新標準。

        本文引用地址:http://www.104case.com/article/20807.htm

        adsp-ts101s主要性能特點:

        ·300mhz的運行速度,3.3ns指令周期;

        ·6m bits片內saram;

        ·雙運算模塊——每個包含一個alu,一個乘法器,一個移位器和一個寄存器組;

        ·雙整數alu,提供數據尋址和指針操作功能;

        ·集成i/o包括14通道的dma控制器,外部端口,4個鏈路口,sdram控制器,可編程標志引腳,2個定時器和定時器計滿引腳等用于系統;

        ·ieee 1149.1兼容的jtag端口用于片上仿真;

        ·片上仲裁通過共享總線可無縫連接多達8個tigersharc dsp。


        系統設計要求

        該高速圖像處理系統主要完成的功能是:實時處理ccd(charge coupled device)連續采集輸入的圖像數據,并從每一幀圖像中提取出其中最長的一條直線。具體要求指標如下: 1)為達到與ccd同步的實時處理,每秒處理25幀圖像;

        2)圖像為320 240陣列,像素為16位精度定點數;

        3)從每幀圖像中提取其中的直線信息,并給出最長直線的坐標;


        adsp-ts101s的應用分析

        該系統的設計難點主要是在數據量大,時間要求短的情況下如何實現圖像數據的高速處理。每幀圖像的數據量大小為320 240=76.8 kbit,而按照系統的設計要求,處理每幀圖像數據僅有40ms的時間,除去由fpga中fifo(輸入輸出緩存單元)緩存由ccd進入的圖像數據時間(20ms),留給系統處理數據的時間僅有20ms。選用時鐘為300mhz的ts101芯片,即每個指令周期為3.3ns。結合數據運算量的大小以及整個系統成本的考慮,選用4片dsp組成主處理系統(為提高運算速度及精度,可選用6片甚至8片dsp完成系統功能)。此外,由于數據量大,增加一片64m的sdram補充dsp內部存儲單元的不足。


        硬件應用設計

        adsp-ts101s有兩套獨立的電源1.2v和3.3v,內部邏輯和模擬電路電源必須滿足1.2v的要求,i/o緩沖電源必須滿足3.3v的要求。而且需要注意的是dsp供電的順序是先提供1.2v,然后是3.3v。由于系統芯片引腳復雜性及電路的龐大,本文不再給出詳細的電路原理圖。系統硬件原理框圖如圖1所示。

        系統加電后,fpga從fpga -flash加載程序代碼;四片dsp(dsp0~dsp3)上電后分別從 flash加載程序,等待圖像數據的輸入。ccd每隔20ms輸入一幀數據(76.8k)至fpga的fifo緩存,通過外部dma方式由dsp0傳送至sdram,之后通過總線仲裁,數據流平均分成四部分由dsp0~dsp3并行執行。最后計算結果由dsp3通過fpga送回,由串口輸出至顯示屏。系統調試過程中,通過jtag測試訪問端口對系統進行調試與仿真。


        軟件應用設計

        為了實現系統的高速性,節省系統的運算時間,如何實現各dsp之間算法執行的并行性是軟件設計中應考慮的首要問題。由于圖像數據是通過fifo依次輸入的,并非一次性讀入,要實現算法的并行執行就轉化為數據流如何分配的問題。借助sdram,本系統數據流分配圖如圖2所示。

        主程序設計

        軟件設計采用模塊化結構,算法采用現已相當成熟、使用最多的圖像處理算法。主程序模塊主要有初始化模塊、數據接收模塊、中值濾波模塊、邊緣增強模塊、邊緣細化模塊和直線提取模塊。系統上電后,對系統進行初始化,初始化主要完成dsp專用寄存器的設定,特別是各中斷寄存器的設置以及相關存儲單元的清零。主程序流程圖如圖3所示。

        中斷服務程序設計

        系統程序設計中,中斷服務程序是控制程序執行的一種重要方式。tigersharc dsp支持多種類型的中斷,它們中的一部分由內部產生,另外一些則由外部產生。tigersharc dsp的大多數中斷都是專用的,但也有四個外部中斷和一個中斷寄存器。

        在該系統的設計中,dsp接收fifo輸入的圖像數據,就是通過檢測外部irq0中斷引腳來實現的。該中斷采用的是邊沿觸發方式:數據準備好,則fpga給dsp0的irq0引腳一個下降沿,觸發外部irq中斷,進入中斷服務程序,并在中斷服務程序中設置下一步需要的外部口dma寄存器,設置完畢進入外部dma中斷服務程序;反之dsp0繼續等待,直到有外部中斷產生為止。

        由于出現中斷嵌套,因此服務程序的第一條指令必須專門用來保存狀態機的當前狀態,所有在中斷服務程序中可能用到的寄存器必須入棧保存。由于irq0-3中斷優先級高于dma通道0-13中斷,因此總是先響應irq0中斷,再響應外部dma中斷。

        外部irq中斷服務程序如圖4所示。

        dma程序設計

        dma(直接存儲器訪問)方式是不需要處理器核干預的數據傳輸機制。tigersharc片內的dma控制器允許將數據傳輸作為一個后臺任務執行,從而將處理器核釋放出來,進行其他數字信號處理操作。在該系統設計中,主要用到了兩種dma傳輸方式:片間鏈路口dma和外部口dma。鏈路口主要用于4片dsp之間傳送批量數據,而外部口dma主要用于dsp與sdram之間批量數據的傳輸。無論何種dma方式,編程的關鍵是設置相應的接收tcb寄存器和發送tcb寄存器。下面分別給出兩種方式下用tiger sharc dsp匯編語言編寫的dma 中斷寄存器設置方式:

        1)鏈路口dma
        程序段實現功能:用鏈路口3完成數據的dma接收。
        .section program;
        ……
        xr0=0x90010000;;
        xr1=0x00000000;;
        imaskh=xr0;;
        //使能全局中斷和矢量中斷
        imaskl=xr1;;
        //關閉所有dma通道中斷
        xr0 = imaskh;;
        xr1 = 0x00000001;;
        xr0 = r0 or r1;;
        //使能dma11(鏈路口3dma的 接收通道)中斷
        imaskh = xr0;;
        j0 = j31 + dma11_int;;
        //設置dma中斷向量
        ivdma11 = j0;;
        xr8 = n;;
        //數據量
        xr9 = lshift r8 by 16;; xr10 = 2;;
        //修正值
        xr4 = rx_data;;
        //接收目的地址
        xr5 = r9 or r10;;
        //00000000010000000000000000000100
        xr6 = 0x00000000;;
        xr7 = 0x45000000;;
        //01000111000000000000000000000000
        xr0 = 0x000004da;;
        lctl3 = xr0;;
        //link3控制設置
        dc11 = xr7:4;;
        //開啟link3接收dma
        idle;;
        2)外部口dma
        程序段實現功能:通過外部口1完成數據從sdram到dsp內存單元的傳送。
        .section program;
        ……
        xr0 = imaskl;;
        xr1 = 0x0000c000;;
        xr0 = r0 or r1;;
        imaskl = xr0;;
        // 使能 dma0和 dma1
        xr4 = n;
        // 數據量
        xr5 = lshift r4 by 16;;
        xr6 = 1;;
        // 修正值
        xr1 = r6 or r5;;
        // 00000000010000000000000000000100
        xr2 = 0x00000000;;
        xr3 = 0x43000000;;
        //01000111000000000000000000000000
        xr8 = sdram_data;;
        //源地址
        xr9 = xr1;;
        xr10 = 0x00000000;;
        xr11 = 0x83000000;;
        xr0 = rx_data;;
        //目的地址
        dcs1 = xr11:8;;
        // 加載源 tcb
        dcd1 = xr3:0;
        //加載目的tcb
        idle;;


        結論

        本文結合tigersharc芯片adsp-ts101s的主要性能特點,詳細介紹了該芯片在高速圖像處理系統中的應用,并給出了較詳細的軟硬件設計原理。通過使用4片adsp-ts101s的并行處理,該系統很好的完成了系統要求的高速性能。adsp-ts101s tigersharc dsp芯片以其特有的高性能結構和優化簡潔的指令系統,有著非常廣闊的應用前景。




        關鍵詞: 電容器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 凌云县| 嫩江县| 开化县| 聂荣县| 中卫市| 龙门县| 宁陵县| 新巴尔虎左旗| 民和| 普陀区| 恩平市| 云龙县| 山丹县| 新疆| 元朗区| 延庆县| 兰州市| 高阳县| 白山市| 黔西| 读书| 西林县| 蒙城县| 汽车| 孝感市| 凌源市| 青铜峡市| 治县。| 翁牛特旗| 彭阳县| 连江县| 太白县| 霍山县| 乐业县| 兴海县| 涿州市| 亳州市| 邹平县| 定安县| 大厂| 扎囊县|