日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

AT29LV256在DSP并行引導(dǎo)裝載模式中的應(yīng)用

出處:wychy 發(fā)布于:2023-06-19 09:30:40

   摘要:介紹了ATMEL公司低電壓AT29LV系列存儲器的結(jié)構(gòu)、特點及性能。同時結(jié)合TI公司DSP芯片TMS320VC5402的并行裝載方式,給出了AT29LV256在實際應(yīng)用中的硬件原理圖和在線編程注意事項。以亮燈程序為例,給出了AT29LV256在線編程的關(guān)鍵程序。


Flash存儲器是一種高密度、非易失的電可擦寫存儲器。它具有功耗低、容量大、速度快等特點,而且單位存儲比特的價格比傳統(tǒng)的EPROM要低,因而大量應(yīng)用于數(shù)字信號處理系統(tǒng)中。Flash 可分為并行Flash和串行Flash。串行Flash與外圍芯片連接簡單,可節(jié)約印制板空間,但存儲量相對較小且成本高。同時串行通信速度較慢,編程也比較復(fù)雜。并行Flash芯片則具有存儲量大、速度快、使用方便等優(yōu)點。ATMEL公司生產(chǎn)的AT29LV系列低電壓存儲器就是一種并行、高性能、可支持3V在線編程的Flash存儲器。對Flash編程除了可以采用專用的硬件編程器把程序代碼燒寫到Flash中外,還可利用DSP的開發(fā)系統(tǒng)通過軟件編程來實現(xiàn)同樣的功能。


TMS320VC5402(以下簡稱C5402)是美國德州儀器公司(TI)推出的一款性價比極高的定點數(shù)字信號處理器(DSP)。該芯片內(nèi)置4k×16bit片內(nèi)屏蔽式ROM(F000-FFFF),且在4kB ROM資源里包含了Bootloader程序。C5402的Bootloader在系統(tǒng)加電時會把外部源程序傳送到內(nèi)部存儲器或內(nèi)部程序空間。它允許程序放在外部較慢的存儲器或微處理器中,并將其調(diào)到高速的DRAM存儲器中運行,從而大大減小了對C5402內(nèi)部掩膜的需要,降低了電路的設(shè)計成本。

本文在筆者實際使用經(jīng)驗的基礎(chǔ)上,詳細(xì)介紹了AT29LV256在C5402并行引導(dǎo)裝載模式下的軟件編程技術(shù),給出了并行裝載的數(shù)據(jù)流和系統(tǒng)的硬件設(shè)計,以亮燈程序為例給出了對AT29LV256編程時的具體步驟及方法。

 ?。?AT29LV256編程技術(shù)

AT29LV256是ATMEL公司生產(chǎn)的容量為32k×8bit、可支持3V在系統(tǒng)編程的Flash存儲器。AT29LV256將存儲空間分成512個獨立的扇區(qū),每個扇區(qū)有64個字節(jié),其中A6~A14用來選擇扇區(qū)地址,A0~A5選擇字節(jié)地址。每個扇區(qū)的編程操作長需要20ms,而其讀操作與一般的SRAM相同,時間為70ns 。AT29LV256在編程之前,片內(nèi)對應(yīng)扇區(qū)會自動擦除,因而不需要額外的擦除命令。同時芯片還提供了六個軟件控制字以用于完成對整片的擦除,其整片擦除命令見表1所列。

表1 AT29LV256全片擦除命令

次  序1st2nd3rd4th5th6th
地  址5555H2AAAH5555H5555H2AAAH5555H
命令字5555hAAh2AAAh55h5555h90h

AT29LV256的編程操作是以扇區(qū)為單位進行的。它內(nèi)部有64字節(jié)的數(shù)據(jù)緩沖器。如果寫入緩沖器的字節(jié)數(shù)不足64字節(jié),則編程時自動將未寫入的字節(jié)擦除為FFH。一旦某一扇區(qū)中的字節(jié)被裝入,這些字節(jié)將同時在內(nèi)部編程時間進行編程,此時若有數(shù)據(jù)裝入,則會產(chǎn)生不確定的數(shù)據(jù)。每一個新裝載的數(shù)據(jù)若要被編程,必須有WE由高到低的跳變,這一跳變需要在150μs內(nèi)完成,如果超過150μs,器件會自動進入扇區(qū)內(nèi)部編程方式。為了防止意外的編程操作,AT29LV256提供有軟件保護編程功能,在對Flash 的每個扇區(qū)進行編程時,必須先將3個命令字正確地寫入到對應(yīng)的地址單元,然后才能向片內(nèi)編寫程序。在對每一個扇區(qū)編程之前,都要執(zhí)行相同的三字節(jié)指令序列,采用軟件保護編程的具體流程如圖1所示。


通過AT29LV256提供的軟硬件操作可識別芯片的系列號和型號。當(dāng)按圖2順序?qū)懭肟刂谱趾?,即可讀到產(chǎn)品識別碼1F和器件識別碼BC。器件識別完成后,若需開始編寫程序,則應(yīng)退出器件識別,并延時20ms,為了減小編程的等待時間,AT29LV256提價有下列兩種檢測編程周期是否結(jié)束的方式:

(1) 循環(huán)檢測方式。該方式首先讀出寫入本扇區(qū)一個單元的內(nèi)容,若其I/O7位是寫入該單元真實值的反碼,則表明編程周期沒有結(jié)束;若為實際值,則表明編程結(jié)束。

(2) 檢測I/O6方式。該方式在扇區(qū)編程期間將連續(xù)讀出任意單元地址的內(nèi)容,若I/O6在連續(xù)讀出時狀態(tài)不一樣,說明編程沒有結(jié)束,若相同,則表明編程周期已經(jīng)結(jié)束。

 ?。?C5402的自引導(dǎo)裝載模式

C5402上電后,通常首先檢查MP/MC引腳的狀態(tài):如果為高電平,說明DSP處于微處理器工作模式,此時便可從外部程序存儲器0FF80h地址處開始執(zhí)行用戶程序;若為低電平,說明DSP被設(shè)置為微計算機模式,此時則從片內(nèi)ROM的0FF80h地址開始執(zhí)行程序。另外,在C5402的0FF80h地址處存放著一條跳轉(zhuǎn)至0F800h處執(zhí)行DSP自行引導(dǎo)裝載(Bootloader)程序的指令。

當(dāng)C5402執(zhí)行Bootloader程序時,將會按HPI引導(dǎo)裝載模式→串行EEPROM引導(dǎo)裝載模式→并行引導(dǎo)裝載模式→標(biāo)準(zhǔn)串行口引導(dǎo)裝載模式→I/O口引導(dǎo)裝載模式的順序循環(huán)檢測,以決定執(zhí)行哪種啟動模式。

C5402的并行引導(dǎo)裝載模式是將程序代碼數(shù)據(jù)從外界EEPROM或Flash的相應(yīng)DSP數(shù)據(jù)尋址區(qū)中加載到片內(nèi)DARAM或系統(tǒng)的擴展存儲器SRAM內(nèi)。由于C5402的數(shù)據(jù)區(qū)尋址范圍為64k 字 ,因此在不自行編寫Bootloader程序的情況下,并行引導(dǎo)裝載模式只能裝載32k字的程序或數(shù)據(jù)。當(dāng)程序數(shù)據(jù)大于32k時可將自己編寫的并行裝載內(nèi)核程序通過片內(nèi)裝載程序傳送到片內(nèi)DRAM中,然后再運行轉(zhuǎn)載內(nèi)核程序以將大于32k字的程序數(shù)據(jù)送到片外SRAM中。

若采用并行裝載模式對程序進行加載,則應(yīng)根據(jù)并行裝載的格式來配置Flash的程序數(shù)據(jù)存儲空間??上仍冢模樱袑?yīng)的數(shù)據(jù)空間FFFEH和FFFFH地址內(nèi)寫入要存放程序的地址,然后根據(jù)并行裝載的數(shù)據(jù)流將標(biāo)識控制字、各個寄存器的初始化值、裝載后的起始運行地址、程序段的大小和裝載地址依次寫入Flash的存放程序地址中,再寫入所編寫的程序,表2所列是Flash中的并行引導(dǎo)源程序數(shù)據(jù)流。其程序段的大小以及起始運行地址可根據(jù)系統(tǒng)仿真時生成的.MAP文件來確定。

表2 Flash中的并行引導(dǎo)源程序數(shù)據(jù)流

數(shù)據(jù)區(qū)地址(H)內(nèi)容(H)含    義
8000  800108  AA8位并行引導(dǎo)標(biāo)志
8002  800388  06SWWSR寄存器初值
8004  800500  00BSCR寄存器初值
8006  800700  00程序入口XPC
8008  800900  80程序入口地址
800A  800B00  0B程序段長度
800C  800D00  00存放目標(biāo)XPC
800E  800F00  80存放目標(biāo)地址
8010  8011F6  BD程序代碼1
………………
801F  801FFC  00程序代碼N
8020  802100  00程序塊結(jié)束標(biāo)志
………………
FFFE  FFFF80  00程序存儲首地址

 ?。?基于AT29LV256和DSP的硬件設(shè)計

下面以AT29LV256與C5402組成的硬件系統(tǒng)為例對Flash在并行裝載模式中的應(yīng)用進行詳細(xì)說明,其硬件系統(tǒng)原理框圖如圖3所示。因為AT29LV256為32k×8Bit存儲器,因此不需要擴展外部SRAM。本系統(tǒng)采用Altera公司的EPM3064來完成C5402與AT29LV256之間的邏輯轉(zhuǎn)換,EPM3064內(nèi)部的編程邏輯如圖4所示。

當(dāng)C5402上電復(fù)位裝載時,由于Bootloader程序在初始化時,XF被設(shè)置為高電平,因此,C5402可以通過EPM3064總的邏輯,將AT29LV256 08000h—0FFFFh單元中的數(shù)據(jù)讀到C5402對應(yīng)于0000h—3FFFh尋址區(qū)的片內(nèi)DARAM中。在系統(tǒng)進入并行引導(dǎo)裝載模式后,C5402會從數(shù)據(jù)尋址為0FFFFh的單元(A15=1,選中Flash)中讀取將要載入的程序存儲區(qū)的首地址,然后從程序存儲首地址處將標(biāo)識控制字、各個寄存器的初始化值、裝載后的起始運行地址、程序段的大小以及裝載地址依次裝載到片內(nèi)DRAM中。在EPM3064邏輯控制中使用XF是為了在bootload之后釋放Flash所占用的數(shù)據(jù)空間。當(dāng)主處理程序的條語句為RSBX XF,也就是置XF引腳為低電平時,CE將輸出片選無效信號,從而可以讓出數(shù)據(jù)空間。

  4 系統(tǒng)軟件設(shè)計

該系統(tǒng)軟件編程的在于按照并行裝載數(shù)據(jù)流格式對Flash進行編程。下面以向AT29LV256燒寫一個簡單的亮燈程序為例來說明對Flash進行軟件編程時應(yīng)注意的問題和關(guān)鍵步驟。

程序如下:

.mmregs

.data

kaishi: .word 08AAh,7FFFh,8806h,0000h,0080h,000bh,0000h,0080h ;并行裝載數(shù)據(jù)流中的各數(shù)據(jù)參數(shù)

.global_c_int00

.text

_c_int00:   ;這里還應(yīng)有必要的初始化

stm #100h,ar1

stm #0fffeh,ar2 ;將8000入口地址寫到FFFeH和FFFFH中

st #8000h,*ar1

call prog0 ;開始燒寫需要先寫入命令字

call prog1 ;將16位數(shù)據(jù)分成兩個8位燒寫到Flash中

stm #kaishi,ar1 ;將并行數(shù)據(jù)流各參數(shù)寫到8000h開始的單元

stm #8000h,ar2

stm #07h,brc

rptb loopa

call prog1

loopa: nop

stm #qq,ar1 ;將亮燈程序數(shù)據(jù)接著并行參數(shù)燒寫到Flash中

stm #0bh,br ;程序大小為0bh

rptb loopb

call prog1 ;因為總共燒寫沒超過64字節(jié),因此不用執(zhí)行命令字

looopb: nop

;prog0為軟件保護模式下寫控制字子程序,每編程64字節(jié)執(zhí)行

prog0: stm #0d555h,ar3

st #0aah,*ar3

stm #0aaaah,ar3

st #55h,*ar3

stm #0d555h,ar3

st #0a0h,*ar3

ret

; prog1為16位數(shù)分成8位數(shù)據(jù)燒寫子程序

prog1: ld *ar1,-8,a

and #0ffh,a

stl a,*ar2+

ld *ar1+,a

and #0ffh,a

stl a,*ar2+

ret

;以下一小段為亮燈程序,通過設(shè)置XF引腳的高低電平可使燈閃爍!

.sect "chengxu"

qq: rsbx xf

rpt #0ffffh

nop

ssbx xf

b qq

ret

.end

 ?。怠〗Y(jié)束語

本文介紹的基于AT29LV256編程技術(shù)的TMS320VC5402并行引導(dǎo)裝載方案,可以在沒有專用燒寫器的情況下對Flash進行編程,從而實現(xiàn)了DSP的脫機獨立運行。實踐表明:該系統(tǒng)穩(wěn)定可靠,具有較高的應(yīng)用價值。

關(guān)鍵詞:AT29LV256在DSP并行引導(dǎo)裝載模式中的應(yīng)用TMS320VC5402AT29LV256

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!