999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FT2000中LBC外接存儲(chǔ)器驅(qū)動(dòng)程序設(shè)計(jì)

2021-06-17 07:12:22張鵬
電子制作 2021年5期
關(guān)鍵詞:設(shè)計(jì)

張鵬

(漢中職業(yè)技術(shù)學(xué)院汽車與機(jī)電工程學(xué)院,陜西漢中,723002)

1 LBC模塊及開發(fā)環(huán)境介紹

LBC(Local Bus Controller)即局部總線控制器,其主要負(fù)責(zé)對(duì)外部存貯器的訪問(wèn),該控制器提供了到多種類型存貯設(shè)備的接口,同時(shí)該控制器負(fù)責(zé)控制八個(gè)存貯體(bank),并由二個(gè)UPM機(jī)和一個(gè)GPCM機(jī)所共享,負(fù)責(zé)與Flash和nvRAM的通訊。

本設(shè)計(jì)的基本開發(fā)環(huán)境,即采用FT2000處理器Local Bus接口的八個(gè)存貯體不同片選模式,來(lái)訪問(wèn)外接存儲(chǔ)器Flash和nvSRAM設(shè)備,以此實(shí)現(xiàn)對(duì)數(shù)據(jù)的各項(xiàng)讀寫擦等操作。FT2000芯片是一款集成了4個(gè)新一代高性能處理器內(nèi)核FTC663的CPU,它采用亂序四發(fā)射超標(biāo)量流水線,兼容64位ARMV8指令集并支持ARM64和ARM32兩種執(zhí)行模式,支持單精度、雙精度浮點(diǎn)運(yùn)算指令和ASIMD處理指令,支持硬件虛擬化。同時(shí),該芯片適用于構(gòu)建有更高性能、能耗比和安全需要的桌面終端、輕量級(jí)服務(wù)器和嵌入式低功耗產(chǎn)品。

2 外接存儲(chǔ)器介紹及配置相關(guān)操作

本設(shè)計(jì)中外接外接Flash(Am29LV256M)和nvSRAM(STK14CA8)存儲(chǔ)設(shè)備。

■2.1 Flash基本概述和操作

設(shè)計(jì)中應(yīng)用 AM29LV256M(16M*16-Bit/32M*8Bit)芯片作為通用扇區(qū)Flash存儲(chǔ)器,該款芯片具有高性能,低功耗,單電壓支持讀、擦、寫等優(yōu)點(diǎn),同時(shí),可通過(guò)BYTE引腳置位來(lái)選擇支持16bit/8bit寬度的數(shù)據(jù)總線。

在LBC模塊操作的初始化中,F(xiàn)lash支持GPCM(通用片選機(jī))和UPM(可選寄存器)兩種不同的控制機(jī)模式訪問(wèn)數(shù)據(jù),并且,當(dāng)寄存器BRn[7:5]配置為000時(shí),即是GPCM模式,寄存器BRn[7:5]配置為100/101時(shí),即是UPM模式。其中,GPCM模式為簡(jiǎn)單、性能較低的存貯器和內(nèi)存映射設(shè)備提供使用接口,其不支持突發(fā)傳輸。在Flash的操作中,還需要對(duì)兩個(gè)基本的寄存器組BRn和ORn配置,用來(lái)定義Flash的基地址和其地址屏蔽位。

而UPM模式可以用來(lái)產(chǎn)生較為靈活且用戶定義控制信號(hào)的定時(shí)操作,該模式還可以通過(guò)軟件啟動(dòng)定義讀、寫、突發(fā)讀或突發(fā)寫期間的外部控制信號(hào)。同時(shí),在設(shè)計(jì)Flash操作中用UPM的核心內(nèi)部RAM陣列,并通過(guò)這個(gè)陣列確定給定時(shí)鐘周期在外部存貯器控制信號(hào)(字節(jié)選和片選)上驅(qū)動(dòng)的信號(hào)線。

■2.2 nvSRAM概述及操作

設(shè)計(jì)中應(yīng)用STK14CA8(128k*8)非易失性RAM存貯器作為另一存儲(chǔ)設(shè)備,該芯片具有較高的存貯性能和快速的訪問(wèn)時(shí)間,同時(shí)可無(wú)限次進(jìn)行Read、Write、Recall等操作。

類似外接設(shè)備Flash的操作,在LBC模塊操作的初始化中,nvSRAM也支持GPCM(通用片選機(jī))和UPM(可選寄存器)兩種不同的控制機(jī)模式訪問(wèn)數(shù)據(jù),且配置寄存器BRn[7:5]的模式也是相同。

其中,在GPCM模式下,首先必須對(duì)兩個(gè)32位寄存器組基寄存器(BRn)和可選寄存器(ORn)進(jìn)行配置,其中基寄存器(BRn)用于定義SRAM基地址和其地址屏蔽位AM,而最低的0bit位(V)即為BRn和ORn內(nèi)容的有效位置位。而在UPM模式下,同樣用到UPM的核心內(nèi)部RAM陣列,在對(duì)RAM陣列中,每一個(gè)RAM陣列都包含64個(gè)32位字,根據(jù)每一個(gè)字提供的比特位訪問(wèn)外部SRAM總線時(shí)鐘周期。

3 LBC模塊的基本配置操作

本設(shè)計(jì)在LBC操作中,必須先對(duì)局部總線配置寄存器(LBCR)做出了相應(yīng)配置,保證LBC處于空閑無(wú)數(shù)據(jù)傳輸狀態(tài),然后對(duì)LBCR寄存器操作,當(dāng)LBCR[BUSY_MM]置1時(shí)LBC位空閑狀態(tài)。

對(duì)于LBC初始化狀態(tài),由于接口層傳入了不同外設(shè)的配置參數(shù),故在初始化狀態(tài)中需要做出,對(duì)傳入不同片選和工作模式的設(shè)置、BRn寄存器和ORn寄存器各Bit位的配置、時(shí)鐘分頻和端口的配置等。對(duì)于不同的片選和工作模式,就是對(duì)外部的Flash和Sram分別選擇八個(gè)存貯體bank當(dāng)中的某兩個(gè)進(jìn)行的操作,接口層傳入的參數(shù)也需要完成GPCM和UPM工作模式進(jìn)行配置,并根據(jù)Flash和Sram中需要不同功能,配置寄存器BRn和寄存器ORn。

設(shè)計(jì)中的時(shí)鐘分頻,即LBC的系統(tǒng)時(shí)鐘和外部設(shè)備總線時(shí)鐘(LCLK[2:0])之間2、4、8的比率配置,該比率主要通過(guò)對(duì)時(shí)鐘比率寄存器LCRR[CLKDIV]進(jìn)行軟件設(shè)置的。在考慮時(shí)鐘分頻后,需要結(jié)合外部地址延時(shí)周期寄存器LCRR[EADC]進(jìn)行配置不同的循環(huán)延時(shí)周期數(shù),用以滿足訪問(wèn)外部設(shè)備數(shù)據(jù)/地址/片選/讀寫等不同信號(hào)線的保持時(shí)間。

在底層LBC的操作中,外部設(shè)備Flash和nvSram通過(guò)訪問(wèn)LBC模塊進(jìn)行正常的讀寫擦等操作,其中,設(shè)計(jì)需要LBC模塊對(duì)不同外接設(shè)備端口大小進(jìn)行讀寫,即進(jìn)行LBC字節(jié)/字/雙字讀和寫的函數(shù)操作。

4 LBC驅(qū)動(dòng)存儲(chǔ)器程序設(shè)計(jì)

■4.1 整體結(jié)構(gòu)設(shè)計(jì)

(1)硬件總體結(jié)構(gòu)

本設(shè)計(jì)LBC模塊外接存儲(chǔ)器件Flash(Am29LV256M)和nvSRAM(STK14CA8)的硬件連接方式如圖1所示。在硬件連接中,首先將FT2000主控中LBC模塊引出連接DM74HC573八路輸出鎖存器芯片,當(dāng)LBC模塊與Flash(Am29LV256M)和nvSRAM(STK14CA8)進(jìn)行數(shù)據(jù)交換時(shí),通過(guò)DM74HC573片選其中兩路訪問(wèn)控制向Flash和nvSram寫入指定地址,在存儲(chǔ)器設(shè)備接收到主控發(fā)過(guò)來(lái)的地址數(shù)據(jù)時(shí),直接向LBC模塊反饋回讀寫擦相關(guān)數(shù)據(jù)。

圖1 硬件總體結(jié)構(gòu)

(2)軟件設(shè)計(jì)框架

本設(shè)計(jì)軟件部分總體分為三部分:LBC Initialization、LBC Oprate、Application Interface,如圖2所示。

圖2 軟件設(shè)計(jì)框架

LBC Initialization:主要對(duì)LBC進(jìn)行初始化配置,設(shè)置基地址偏移、片選有效、端口大小、選擇UPM或GPCM控制機(jī)工作模式、設(shè)置操作時(shí)鐘等配置。

LBC Oprate:主要實(shí)現(xiàn)對(duì)LBC總線的不同字節(jié)、字、雙字的讀寫等操作。

Application Interface:主要是對(duì)外接Flash進(jìn)行Read、Program、Erase等操作及Flash工作模式配置,對(duì)外接nvSRAM進(jìn)行Read、Write、Store等操作。

■4.2 驅(qū)動(dòng)程序設(shè)計(jì)流程

本設(shè)計(jì)基于上文硬件結(jié)構(gòu)及軟件設(shè)計(jì)框架,按照如下流程進(jìn)行LBC驅(qū)動(dòng)程序設(shè)計(jì)。

首先,對(duì)LBC模塊進(jìn)行初始化,其中包括LBC模塊自由等待的相關(guān)配置操作,存儲(chǔ)器的基本配置,LBC中基地址、片選、時(shí)鐘分頻的基本操作。

其次,完成LBC模式選擇,當(dāng)配置成GPCM模式時(shí),直接進(jìn)入Flash和nvSram存儲(chǔ)器選擇階段,同時(shí)進(jìn)行LBC模塊端口bit位設(shè)置。當(dāng)配置成UPM模式時(shí),再次進(jìn)行UPMA/UPMB操作,開始RAM 信號(hào)讀寫,Burst信號(hào)讀寫等操作,當(dāng)UPM模式結(jié)束后,進(jìn)入Flash和nvSram存儲(chǔ)器選擇階段,同時(shí)進(jìn)行LBC模塊端口位設(shè)置。

然后,繼續(xù)進(jìn)行LCB模塊數(shù)據(jù)交換操作,即分別對(duì)底層LBC中數(shù)據(jù)Byte、Word讀寫,Burst讀寫等操作。

最后,完成Flash和nvSram存儲(chǔ)器的配置操作。

5 驅(qū)動(dòng)程序仿真

在本設(shè)計(jì)中,通過(guò)Vivado仿真環(huán)境中進(jìn)行軟件波形仿真操作,同時(shí)借助串口調(diào)試工具打印數(shù)據(jù),兩種方式來(lái)驗(yàn)證Flash和nvSRAM不同工作模式下的數(shù)據(jù)讀寫擦等操作。在仿真中,首先在Vivado環(huán)境中完成相關(guān)配置生成SDK文件,同步在SDK生成的文件中,加載本設(shè)計(jì)的LBC驅(qū)動(dòng)程序,進(jìn)行編譯,鏈接調(diào)試等步驟,生成.elf文件,進(jìn)行波形仿真操作。

對(duì)于Flash操作,設(shè)計(jì)通過(guò)仿真環(huán)境,加入測(cè)試程序調(diào)試,分別進(jìn)行了Flash的GPCM模式和UPM模式的片擦、扇區(qū)擦、讀、寫的操作仿真。

例如應(yīng)用4分頻/1 cycle 測(cè)試,測(cè)試代碼如下:

Flash_LBC_Init_();

Flash_LBC_Chip_Erase(LBC_CS0);

Flash_LBC_Sector_Erase(LBC_CS0,0x00000002);

Flash_LBC_Program_Byte(LBC_CS0,0x-00000008,0x78);

Flash_LBC_Program_Word(LBC_CS0,0x-0000000A,0x5678);

Flash_LBC_Read_Byte(0x00000008,data1);

Flash_LBC_Read_Word(0x0000000A,data2);

通過(guò)不同的測(cè)試程序,完成了GPCM和UPM兩種模式下的全部操作,抓取地址數(shù)據(jù)波形,對(duì)比通過(guò)串口寫入數(shù)據(jù)、讀取數(shù)據(jù)、擦除數(shù)據(jù)打印結(jié)果,所有結(jié)果完全一致,最終驅(qū)動(dòng)程序完成Flash的數(shù)據(jù)讀寫擦等操作。例如:Read_Byte/Word操作仿真波形如圖3。

圖3 Read_Byte/Word

同理,在nvSRAM操作中通過(guò)抓取地址數(shù)據(jù)波形,加入測(cè)試程序調(diào)試,分別進(jìn)行了nvSRAM的GPCM模式及UPM模式的讀、寫、存貯等的操作,同步通過(guò)串口打印數(shù)據(jù)對(duì)比和波形仿真圖抓取數(shù)據(jù),數(shù)據(jù)結(jié)果一致,完成驅(qū)動(dòng)nvSRAM的數(shù)據(jù)交換操作。

6 結(jié)語(yǔ)

本文完成了FT2000HK中LBC外接存儲(chǔ)器驅(qū)動(dòng)程序設(shè)計(jì),通過(guò)文中對(duì)硬件及軟件的介紹,讓人們對(duì)存儲(chǔ)器數(shù)據(jù)交換相關(guān)操作有了基本的了解,同時(shí)對(duì)外接存儲(chǔ)設(shè)備驅(qū)動(dòng)技術(shù)有了掌握。隨著電子信息技術(shù)的飛速發(fā)展,數(shù)據(jù)的存儲(chǔ)穩(wěn)定性、容量已經(jīng)成為直接決定數(shù)據(jù)安全、可靠的基本保障,而如何高效驅(qū)動(dòng)存儲(chǔ)器件在未來(lái)必將占據(jù)更重要的地位。

猜你喜歡
設(shè)計(jì)
二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過(guò)海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計(jì)到“設(shè)計(jì)健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 亚洲欧美成aⅴ人在线观看| 国产一区二区免费播放| 亚洲国产成人精品无码区性色| 华人在线亚洲欧美精品| 国产成人AV大片大片在线播放 | 九九视频在线免费观看| jizz在线免费播放| 国产av无码日韩av无码网站| 久久精品一卡日本电影| 欧美成人二区| 欧美成人午夜在线全部免费| 亚洲国产理论片在线播放| 国产 在线视频无码| 亚洲VA中文字幕| 综合色区亚洲熟妇在线| 中文字幕第4页| 97se综合| 久久天天躁狠狠躁夜夜躁| 911亚洲精品| 色婷婷综合在线| 欧美国产综合视频| 六月婷婷精品视频在线观看 | 成人欧美在线观看| 色婷婷在线播放| 久久综合丝袜长腿丝袜| 久久这里只有精品23| 伊人久久大香线蕉综合影视| 91精品综合| 老司国产精品视频| 久久永久精品免费视频| 女人18毛片一级毛片在线 | 国产精鲁鲁网在线视频| 亚洲国产精品国自产拍A| 日韩国产另类| 国产另类视频| 在线观看国产精品一区| 久爱午夜精品免费视频| 青青青国产精品国产精品美女| 亚洲欧洲日产国产无码AV| 久久特级毛片| 国产麻豆精品手机在线观看| 77777亚洲午夜久久多人| 国产精品欧美亚洲韩国日本不卡| 亚洲精品视频免费看| 欧美视频在线第一页| 国产在线观看第二页| 国产丝袜啪啪| 精品一区二区三区视频免费观看| 亚洲视屏在线观看| 91 九色视频丝袜| 成人午夜视频免费看欧美| 国产亚洲欧美另类一区二区| 亚洲日韩第九十九页| 免费国产在线精品一区| 超碰91免费人妻| 91啪在线| 国产日韩欧美在线视频免费观看| 日韩精品无码免费一区二区三区 | 亚洲无码高清免费视频亚洲 | 国产精品九九视频| 无码'专区第一页| 成人国产精品一级毛片天堂| 露脸国产精品自产在线播| 成人另类稀缺在线观看| 国产成人综合亚洲欧美在| 国产偷国产偷在线高清| 亚洲人成电影在线播放| 中文字幕在线播放不卡| 免费高清a毛片| 国产人成在线视频| 亚洲天堂精品在线观看| 亚洲天堂高清| 欧美午夜小视频| 国产激情无码一区二区三区免费| 亚洲综合色婷婷| 国产欧美日韩另类精彩视频| 深爱婷婷激情网| 美女无遮挡被啪啪到高潮免费| 日本黄网在线观看| 国产福利在线观看精品| 亚洲男人的天堂久久精品| 国产美女自慰在线观看|