技術頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術頻道 > 技術百科 > 基于DSP的實時多任務嵌入式系統(tǒng)

基于DSP的實時多任務嵌入式系統(tǒng)

時間:2007-12-12 14:07:00來源:zhaohy

導語:?廣泛地應用于工業(yè)控制、通訊、智能化儀表等領域。而面向測控對象,嵌入到實際應用系統(tǒng)中,實現(xiàn)嵌入式應用的處理器稱之為嵌入式系統(tǒng)
1 引言: 隨著電氣化的不斷發(fā)展,嵌入式系統(tǒng)的應用也在迅速的前進。作為嵌入式系統(tǒng)中的微控制器的基本含義是:在一塊芯片上集成了中央處理單元、存儲器、定時器計數(shù)器及多種輸入輸出接口的比較完整的數(shù)字處理器。主要表現(xiàn)在直接面對控制對象,嵌入到具體的應用體中,能在現(xiàn)場可靠地運行,體積小,應用靈活,突出控制功能,特別是對外部信息的捕捉與豐富的I/O功能等。它的出現(xiàn)是大規(guī)模集成電路技術發(fā)展的產(chǎn)物。它廣泛地應用于工業(yè)控制、通訊、智能化儀表等領域。而面向測控對象,嵌入到實際應用系統(tǒng)中,實現(xiàn)嵌入式應用的處理器稱之為嵌入式系統(tǒng)。 DSP 是針對實時數(shù)字信號處理而設計的數(shù)字信號處理器,由于它具有計算速度快、體積小、功耗低的突出優(yōu)點,非常適合應用于嵌入式實時系統(tǒng)。自世界上第一片通用DSP 芯片TMS320C10 于1982年在美國TI公司產(chǎn)生以來,DSP 處理器便顯示出強盛的生命力。短短二十多年,世界上許多公司便開發(fā)出各種規(guī)格的DSP 處理器,并使它們在通信、自動控制、雷達、氣象、導航、機器人等許多嵌入式實時領域得到了廣泛應用。 現(xiàn)在數(shù)字信號處理器(DSP) 正越來越多地應用到各種場合。TMS320C28X系列的DSP 的低功耗特性,使得它特別適合于便攜式設備。Flash 存儲器具有功耗低、尺寸小且裝配后可以編程的特性,也適合于便攜式設備。目前Flash 存儲器正在從單純的EPROM 的替換件演變?yōu)樵S多電路系統(tǒng)中的不可缺少的組成部分。Flash 存儲器已成為DSP 系統(tǒng)的一個基本配置,主要用來存放掉電后需要保存的數(shù)據(jù)。本文以TMS320C2812 和AT49BV162 為例介紹了DSP在嵌入式系統(tǒng)中擴展外部Flash 存儲器的方法及其應用。 2 在嵌入式系統(tǒng)中的應用 DSP/ BIOS內(nèi)核是通過目標應用程序調(diào)用DSP/BIOS API來實現(xiàn)運行時間服務的。通常單個DSP/BIOS模塊可以管理一個或多個相關種類的內(nèi)核對象, 并可依據(jù)全局參量的設定來控制整個行為。一般來講, DSP/BIOS可以歸納為:核執(zhí)行線程, 硬件抽象, 設備獨立I/ O, 內(nèi)部線程通信和同步, 實時分析, 多系統(tǒng)服務六大功能類。本設計方案應用于鐵路系統(tǒng)的運行,DSP作為整個系統(tǒng)設計中的核心,通過A/D轉換器采集到的鐵路上的制式、速度、頻率等各種信息,利用DSP的快速數(shù)據(jù)處理功能對轉換后的數(shù)字信息進行運算和判斷,外加其控制功能和強大的擴展外部設備的功能把控制信號輸出到前臺的顯示屏、打印機、控制臺。這是DSP實時多任務內(nèi)核在嵌入式系統(tǒng)中的一個應用實例。通過對火車運行系統(tǒng)進行從人工切換軌道制式到自動切換的技術改進,從而為火車提速打好基礎。由于我國鐵軌的建造制式繁多,在軌道切換時信息量較大,且這種變化由于鐵路軌道的長短而不均勻改變。所以有必要在每一次制式信息改變的同時,DSP不但要進行制式的判斷計算、控制信號的輸出,還要對數(shù)據(jù)進行記錄,而這種制式信息的記錄不應隨外界電壓的變化而改變,因此就要用Flash進行存儲數(shù)據(jù)。Flash記錄的數(shù)據(jù)可供外部調(diào)用查看,也起到了黑匣子的作用。下面就介紹實時多任務中的一個方面如何在嵌入式系統(tǒng)的DSP外部進行Flash的擴展。 3 TMS320C2812 內(nèi)部存儲器的結構 TI公司的TMS320C28X系列DSP 的內(nèi)核為同一種CPU ,但是其內(nèi)存與外圍設備的配置不同。C28X存儲器由三個獨立的空間組成: 程序、數(shù)據(jù)和I/O 空間。不同的C28X器件其內(nèi)存映象都為改進的哈佛結構,但片內(nèi)存儲器的大小和外部地址引腳數(shù)目不同。外部引腳及寄存器也影響內(nèi)存的配置。TMS320C2812 的異步外設包括19根地址線、16根數(shù)據(jù)線和三根芯片選擇線。三根芯片選擇線映射到五個外部空間,分別是0、1、2、6、7區(qū)。區(qū)域0和區(qū)域1公用一根單獨的芯片選擇線,區(qū)域 6和區(qū)域 7公用一根單獨的芯片選擇線,每一個區(qū)域都可以對自己的等待狀態(tài)、閘門信號設置和置位時間進行編程。每一個區(qū)域也能為是否擴展外設進行編程??删幊痰牡却隣顟B(tài)、芯片選通和可編程的閘門時間使外部擴展寄存器和外圍設備變得豐富多彩。如圖1 所示。
[IMG=外圍設備模塊圖表]/uploadpic/THESIS/2007/12/2007121214113556336V.jpg[/IMG]
圖1 外圍設備模塊圖表
對C2812 器件可以在外部總線上擴展外部存儲器和Flash。其擴展外部內(nèi)存的分頁結構使得可以尋址多于64k 的空間。CPU 中的寄存器和相應的遠尋址指令允許尋址程序空間的另外7 根地址線。而對數(shù)據(jù)空間的訪問并不影響A 16~ A 22。各區(qū)域的物理地址如下:0x00 2000 Zone0,0x00 4000 Zone1,0x08 0000 Zone2,0x10 0000 Zone6,0x3F C000 Zone7。 4 TMS320C28X 與AT49BV162Flash 存儲器的連接方法 為了便于電路設計與調(diào)試, 選用ATMEL 公司的AT49BV162 系列Flash 芯片。因為AT49BV162和VC549一樣同為3V 電源供電, 這就省去了數(shù)據(jù)和地址線的緩沖和電平變換, 所以Flash 器件選擇了AT49BV162。Flash上電時處于讀模式,外部命令可以使Flash處于編程或者擦除狀態(tài),F(xiàn)lash可以對每一個扇區(qū)進行保護。AT49BV162 的存儲容量為16Mb, 提供兩種類型字節(jié)傳輸模式,一種是16位的,可存儲1,048,576 個字;另一種是8位的,可存儲2,097,152個字。存儲器可以分成71個扇區(qū)進行操作。還有CE和OE控制信號來避免其他線路上的干擾,這種使用單一電源來對芯片進行讀取和編程的操作非常適合系統(tǒng)編程。為了增加芯片的靈活性,該Flash還包括了擦除等待和編程等待的功能,這一特點使擦除和編程在尚未完成讀取和編程前一段的過程中被掛起,當READY/BUSY管腳或者是掛起位被置位時,繼續(xù)執(zhí)行。VPP提供了數(shù)據(jù)保護,當VPP的輸入電壓小于0.4V時,編程和擦除功能被禁止,當VPP的電壓大于0.9V時,這些正常的功能才被允許。BYTE管腳控制Flash的數(shù)據(jù)結構,如果BYTE置為邏輯1,則Flash的數(shù)據(jù)結構是按字節(jié)傳輸,通過CE和OE來控制I/O0-I/O15的傳輸,否則按位傳輸。當CE和OE處于低電平,WE處于高電平時,AT49BV162可以像EPROM一樣進行訪問。存儲單元地址里存儲的數(shù)據(jù)由連接輸出的地址線所決定。CE或者OE處于高電平時,輸出則處于高阻狀態(tài)。雙重控制可以更有效的防止總線的競爭。如圖2所示。
[IMG= Flash 模塊圖]/uploadpic/THESIS/2007/12/2007121214214517816K.jpg[/IMG]
圖2 Flash 模塊圖
Flash的地址線和DSP的地址線相連,Flash的數(shù)據(jù)線和DSP的數(shù)據(jù)線相連,DSP的ZONE2連到Flash的CE上來控制片選。這樣內(nèi)部數(shù)據(jù)可以存放在Flash里,當外部需要讀取時,通過對Flash的讀操作,再通過串口把數(shù)據(jù)發(fā)出去,這樣不但減輕了內(nèi)部存儲空間的負荷,也保證了數(shù)據(jù)最大限度的存儲。 5 AT49BV162 Flash 存儲器的讀寫 AT49BV162 是ATMEL 公司生產(chǎn)的Flash 存儲器, 支持在系統(tǒng)編程。AT49系列的編程是一個簡單的可重復的過程。將每種芯片的總存儲量劃分成為數(shù)個存儲陣列(扇區(qū)),每次編程一個扇區(qū)。編程命令是一個3 總線周期指令。以兩個解鎖周期開始,緊接著一個編程建立命令, 最后是要編程的地址和數(shù)據(jù)。寫完該地址和數(shù)據(jù)后,內(nèi)置編程算法自動啟動, 進行Flash 存儲器編程。編程算法完成后, 進入讀取數(shù)據(jù)狀態(tài)。在這里通過DSP對Flash的控制完成對Flash的讀寫。用C語言完成如下: 5.1 對XINTF寄存器進行設置 XintfRegs.XTIMING2.bit.USEREADY = 0; //XREADY unused XintfRegs.XTIMING2.bit.XWRLEAD = 1; //LEAD 1 sysclock XintfRegs.XTIMING2.bit.XWRACTIVE= 1; //ACTIVE 2 syscolock XintfRegs.XTIMING2.bit.XWRTRAIL = 1; //HOLD 1 sysclock XintfRegs.XTIMING2.bit.X2TIMING = 0; // 1:1 lead/active/trial timing for Zone 2 XintfRegs.XTIMING2.bit.XSIZE = 3; //XINTF bus width - must be written as 11b XINTF的信號定時能協(xié)調(diào)外部特殊外設對信號時鐘的要求,時間參數(shù)可以根據(jù)連接不同外設的區(qū)域來設置。 5.2 對Flash讀寫編程 unsigned int * ext_Flash = (unsigned int *) 0x100000; // address of Flash void FlashWrite(unsigned int *Flashwtbuf,unsigned int start,unsigned int end) { unsigned int Flashwp; for(Flashwp = start; Flashwp <= end; Flashwp++) { *(ext_Flash + Flashwp)=*(Flashwtbuf++) ; } } void FlashRead(unsigned int *Flashrdbuf,unsigned int start,unsigned int end) { unsigned int Flashrp; for(Flashrp = start; Flashrp <= end; Flashrp++) { *(Flashrdbuf++) = *(ext_Flash + Flashrp) ; } } 參考文獻 [1] 公茂忠,F(xiàn)lash存儲器的在系統(tǒng)編程及其在DSP系統(tǒng)中的應用[J],電子技術應用,2002,3,69-71 [2] Markus Levy, 閃速存儲器設計工具博覽[J],電子設計應用,1996,2,42-45 [3] Antony Watts,正確選擇非易失性存儲器[J],電子設計應用,1996,3,38-45 [4] TMS320C2812 User Guide,Texas Instruments,2004 [5] AT49BV162 User Guide,Atmel,2004

標簽:

點贊

分享到:

上一篇:200MW汽輪機組電動給水泵變頻...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權與免責聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網(wǎng)站簡介|會員服務|聯(lián)系方式|幫助信息|版權信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務平臺

網(wǎng)站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號