新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > VC5402與外部存儲器的接口設(shè)計

VC5402與外部存儲器的接口設(shè)計

作者: 時間:2011-09-12 來源:網(wǎng)絡(luò) 收藏

對FLASH 空間的某一地址進(jìn)行訪問時,應(yīng)分為以下幾步:

首先,解析該地址,進(jìn)行地址分割,低15 位為頁內(nèi)地址,高3 位作為頁選擇地址;

其次,把頁選擇地址用PORTW 命令送到所分配的I/ O空間PA 中,等選通信號使能后,頁地址就在所選的高端地址線上;

 


最后,使用訪問數(shù)據(jù)的指令。由于 的數(shù)據(jù)是16 位的,因此在調(diào)用數(shù)據(jù)指令時,需要16 位的數(shù)據(jù)。這里,低15 位來自所要訪問的地址的低15 位,最高位補(bǔ)零。


要對Flash 的高端進(jìn)行訪問,必須先對CPLD送數(shù)。如要尋址70000 H 存儲單元時,假定AR3 輔助寄存器指向某一存儲單元,CPLD 映射在 I/ O 空間的地址為PA ,其大致操作如下:

ST # 07H , *AR3

PORTW * AR3 ,PA


這樣,CPLD 充當(dāng)?shù)逆i存器將111 這3 位數(shù)給鎖存住,在選通FLASH 時,將數(shù)據(jù)111 送至FLASH 的A15~A17端,然后再對DSP 的地址0000 H 進(jìn)行讀寫操作即可。

 

DSP 的擴(kuò)展I/ O 端口

僅有這2 個通用I/ O 引腳往往是不夠的,DSP 為了一些特殊的需要提供了多個片上設(shè)備,比如3 個多功能串口、HPI 等。這些片上設(shè)備在系統(tǒng)中并沒有用上,因此可以利用DSP 的擴(kuò)展功能將這些設(shè)備的管腳擴(kuò)展為通用I/ O 端口供系統(tǒng)使用。比如將HPI 端口的8 位并行數(shù)據(jù)線擴(kuò)展為8 位I/ O 端口,用來和CPLD 進(jìn)行通信,這些I/ O 口的擴(kuò)展是通過對DSP 的相關(guān)寄存器進(jìn)行相應(yīng)的設(shè)置來實現(xiàn)的。


為了實現(xiàn)DSP 和CPLD 之間的交互,將HPI 的數(shù)據(jù)線用作通用I/ O 端口實現(xiàn)了VC5402 I/ O 口的擴(kuò)展。HPI數(shù)據(jù)線擴(kuò)展為通用I/ O 口的具體方法:在HPI 不允許,即在復(fù)位時HPIENA 引腳為低電平的情況下,使用2 個存儲器映射寄存器(通用I/ O 控制寄存器GPIOCR 和通用I/ O 狀態(tài)寄存器GPIOSR) 來控制HPI 數(shù)據(jù)引腳的輸入輸出。GPIOCR 和GPIOSR 在DSP 的物理地址分別是003CH 和003DH。


如要從擴(kuò)展的HPI 口輸出數(shù)據(jù)40 H ,需要進(jìn)行以下3 步操作:

第一步:在復(fù)位時,將HPIENA 引腳置為低電平;

第二步:將通用I/ O 控制寄存器GPIOCR 的值設(shè)置為0x00FF ;

第三步:將通用I/ O 狀態(tài)寄存器GPIOSR 的相應(yīng)位設(shè)置為01000000 ,即40 H。

實現(xiàn)的程序代碼如下:

STM # 0x003C ,AR3 ; 選中控制寄存器

ST # 0x00FF , *AR3 ; 將HPI數(shù)據(jù)端置為輸出狀態(tài)

STM # 0x003D ,AR3 ; 選中狀態(tài)寄存器

ST # 0x0040 , *AR3 ; 輸出數(shù)據(jù)40H


  結(jié) 語

利用CPLD 實現(xiàn)VC5402 的存儲器空間擴(kuò)展,大大簡化了硬件電路的,編程靈活;調(diào)試時,只需對CPLD 電路進(jìn)行調(diào)試,簡單方便,此方案可以推廣到其他便攜式圖像采集處理系統(tǒng)的存儲器擴(kuò)展中。。。


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉