<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于PLD的嵌入式系統外存模塊設計

基于PLD的嵌入式系統外存模塊設計

作者: 時(shí)間:2011-04-29 來(lái)源:網(wǎng)絡(luò ) 收藏


本文引用地址:http://dyxdggzs.com/article/150820.htm

3 地址分配

有了上面的存儲器擴展方法,再結合的技術(shù)參數和單片機的特點(diǎn),就可以做出一套合理的內存地址分配方案。下面給出單片機的地址劃分情況:

0000H~01FFH 寄存器區,保留0200H~1EFFH用戶(hù)區,直接映射到Flash ROM中的

0200H~1EFFH 可以用來(lái)存放數據、程序等,該區域可以由單片機直接進(jìn)行尋址。

1FOOH~1FFFH 用戶(hù)區,實(shí)際使用中把Address—1lR、Address_F_WP等地址以及一些特殊設備如A/D轉換器、LCD顯示屏等的訪(fǎng)問(wèn)地址設置在這個(gè)區域。

2000H~207FH 該區域是中斷向量區、芯片配置字節區、保留字區等,直接映射到Flash ROM中的2000H-207FH。

2080H~8FFFH 用戶(hù)區,單片機啟動(dòng)也是從 2080H 處開(kāi)始執行程序的,因此把這個(gè)地址范圍直接映射到 Flash ROM 的2080H~8FFFH,該區域設置的引導、初始化等程序。

9000H~FFFFH 用戶(hù)區,將這一段映射到 RAM 的9000H~FFFFH,作為系統程序的運行區域。

圖4中白色區域是單片機通過(guò)總線(xiàn)直接尋址的區域,可以由單片機直接進(jìn)行訪(fǎng)問(wèn)?;疑珔^域為內存的擴展區域,不能被單片機直接訪(fǎng)問(wèn),但可以通過(guò)前面介紹的方法由E生成地址進(jìn)行讀寫(xiě)操作。下面簡(jiǎn)要介紹一下各個(gè)區域在實(shí)際中的用途:Flash ROM中的0000H~1FFH和1F00H~1FFFH因為容量很小,沒(méi)有被利用。系統啟動(dòng)后從Flash ROM的2080H處開(kāi)始執行程序,將2000H~8FFFH的內容復制到RAM中的9000H~FFFFH,然后跳轉到RAM中執行系統程序。由于Hash ROM的速度慢,需要在讀寫(xiě)過(guò)程中插入一定量的等待周期,因此將程序復制到RAM中執行可以提高系統的性能;同時(shí)系統在對Flash ROM進(jìn)行寫(xiě)入操作后,編程階段的10ms內不能對其進(jìn)行讀取,因此RAM在這個(gè)時(shí)候也提供了程序運行的位置。這樣分配后,程序的長(cháng)度被限制在28K字節,實(shí)際中這個(gè)數量完全可以滿(mǎn)足系統的需求。Hash ROM中的9000~FFFFH共28K字節,用來(lái)保存4段系統運行配置程序,每段長(cháng)度可達7K字節;10000H-

1FFFFH共64K字節,用來(lái)作為采集數據的保存區域。RAM中的0000H~8FFFH共36K字節,用來(lái)作為數據的緩存區域。從上面的分析可以看出,最終的各項指標都已經(jīng)超過(guò)實(shí)際的需求,能很好地解決實(shí)際應用問(wèn)題。

4 合理利用日EADY信號

最后介紹一下單片機就緒信號READY在這個(gè)系統中的關(guān)鍵作用。從前面的中可以看出系統存在著(zhù)高速RAM和慢速Hash ROM存儲器,開(kāi)始時(shí),Hash ROM選用了AT29C1024-70JCt31,它是該型號中速度最快的,有效數據建立時(shí)間僅為70ns。單片機不插入等待周期的讀寫(xiě)時(shí)序,如圖5所示。

從ALE下降沿地址有效到/RD上升沿的時(shí)間是80ns,Hash的響應時(shí)間為70ns,再加上E的延時(shí)就造成了單片機從Hash ROM讀取數據的不穩定,表現在無(wú)法對Flash ROM進(jìn)行在線(xiàn)寫(xiě)入、經(jīng)常發(fā)生錯誤的執行結果、死機等。為此必須加入等待周期,延長(cháng)讀、寫(xiě)時(shí)間才能滿(mǎn)足Hash ROM的要求。在這里只需插入一個(gè)等待周期(100ns)便可以滿(mǎn)足要求,因此設置芯片配置字節CCR.5=0,CCR.4;0[1]。這樣,當READY信號為低電平時(shí)便自動(dòng)插入且僅插入一個(gè)等待周期。一個(gè)簡(jiǎn)單的做法就是把Flash ROM的片選信號/CS2連接到READY,這樣,當選中Flash ROM芯片時(shí)READY信號就跟隨/CS2同時(shí)變?yōu)榈碗娖?。按照這樣的設想可在E內部重新設置READY信號,描述如下:

ready=!(((a[15..0]>=H0200)(a [15..0]:=H1EFF))

#((a[15..0]>=H2000)(a[15..0]=H8FFF))#(a[15..0]= =Address_F_R)

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


關(guān)鍵詞: 模塊 設計 系統 嵌入式 PLD 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>