在线免费观看成年人视频-在线免费观看国产-在线免费观看国产精品-在线免费观看黄网站-在线免费观看精品

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 汽車連接器

類型分類:
科普知識
數據分類:
汽車連接器

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

發布日期:2022-04-18 點擊率:146

    摘要:以MCS-96系列單片機為例,介紹了一種采用可編程邏輯器件(PLD)的存儲器模塊的設計方案,該模塊包含了Flash閃存和RAM。提出了一種方便的存儲器擴展方法,該方法有效地解決了嵌入式系統尤其是數據采集、存儲等系統中存在的存儲空間不足問題。該方案具有通用性強、讀寫控制簡單等特點,具有很強的實用性。 

    關鍵詞:PLD 存儲器 RAM 單片機 閃存

在嵌入式系統中,由于設計成本和體積等因素的限制,往往會使CPU(包括DSP、單片機等)存在地址空間不足的問題。很多文獻(如參考文獻[1]都有相關的存儲器擴展方法的介紹, 目前已有的方法通常是借助于CPU的I/0接口

產生片選或者高位地址信號,利用這些信號將內存分頁,但當頁間跳轉時將給程序設計帶來不便。對于沒有內部存儲器并且采用統一編址的CPU,如80C196KC20[1],這種頁間切換將造成CPU無法繼續執行當前程序而產生錯誤(見圖1)。在CPU執行頁面切換操作后,本應該繼續執行頁面1的指令,可是卻錯誤地執行了頁面2中的相應指令,這種結果不是所需要的。因此尋找一個有效的存儲器擴展方法是實際應用中亟待解決的問題。

1 存儲器擴展方法解決方案

在對MCS-96系列單片機的使用中發現,64K字節的存儲空間用來存放程序能滿足絕大多數的使用需求(通常用戶的應用程序不到10K字節),但如果使用其進行數據存儲控制,則會帶來存儲空間上的嚴重不足。通過對實際應用的統計分析發現,在很多情況下,數據的

存取僅限于順序的連續操作。利用這個特點,可以對數據存儲空間進行簡化設計,具體的說就是通過對同一個地址連續讀或者連續寫來進行批量數據的存取,從而節省地址空間。在16位CPU中,可以將任何一段64K字(2的16次方)的存儲空間映射到兩個地址(一個作為讀取的位置,一個作為寫入的位置),采用這樣的映射方法可以將內存最大擴展到2G字(2的31次方),但這樣的設計同時也帶來了諸多邏輯控制上的困難。隨著可編程邏輯器件(PLD)包括FPGA、EPLDE4[4]、CPLD等的迅速發展,數字邏輯電路的設計得到了大大簡化,從而使這種存儲器擴展想法可以得到實現。

2 存儲器擴展方法的具體實現

下面以筆者設計的系統為例來詳細說明這種存儲器擴展方法的實現。該系統是一個多功能數據采集設備,能夠以最高40k次/s的速率進行12位A/D轉換,并且可以將采集到的數據保存至Flash ROM中,以防止掉電丟失。技術參數要求如下:①最多可以保存32K字節的采樣數據;②可以同時存儲4段系統工作配置程序,每段4K字節,共計16K字節;③由于Flash ROM自身的特點,在寫人數據后的編程階段不能進行讀寫操作,因此為了保證系統采樣和單片機運行的正常進行,需要額外增加32K字節的RAM作為數據緩存;④系統程序、中斷服務程序等共占用56K字節(Flash ROM和RAM各保留28K字節),總計需要存儲空間136K字節。這個需求已經超過96系列單片機的64K字節尋址范圍,為此設計了一個存儲器模塊,其結構如圖2所示。

圖2

    Flash ROM采用ATMEL公司的AT29C1024,容量為128K字節,數據線寬度為16位;RAM存儲器由兩片CY7C199組成,數據線寬度為16位,容量為64K字節。80C196單片機的ALE為地址鎖存信號,/WE為寫有效信號,/RD為讀有效信號,READY為準備就緒信號。MCS-96系列單片機支持8位和16位兩種工作模式,為了提高系統的性能,選擇16位工作模式。96系列單片機地址是按照字節的方式來計算的,因此在16位工作模式下的A0=0沒有實際意義。在通常的讀寫情況下,取經過鎖存后的AD1~AD15地址作為A1~A15而A16=0。

下面以讀Flash ROM為例介紹地址擴展方法。對于可以直接尋址的地址,EPLD作為鎖存器,將AD0~AD15分時的地址數據總線分開,生成獨立的地址和數據總線。在這里定義了兩個特殊的地址:Flash ROM數據塊的讀地址Address_F_R和讀位置指針地址Address_F_RP。首先向Ad-dress_F_RP寫入一個16位的二進制數,該數代表了將要讀取的數據塊的首地址,16位表示范圍是0~65535,因此可以指定的首地址范圍是64K字即128K字節;然后連續地從Address_F_R進行讀取操作,每讀一次,位置指針會自動加1而不需要重新設置。如果需要讀取新的位置,只需要向Address_F_RP地址寫入新的位置數據即可。該功能在EPLD器件內部的實現方法見圖3。計數器可同步設置初值、同步計數,在AHDL語言中聲明為1pm_counter[5]。其中,CNT_EN為計數使能控制,當CNT_EN為高電平時,每當CLOCK上升沿到來時計數器便會自動加一,從而實現了地址自動增加的功能;CLOCK為同步時鐘輸入端,上升沿有效;SLOAD為計數器同步設置初值信號,當該信號為高電平時,在CLOCK上升沿的作用下,計數器的輸出Q[15..0]=D[15..0],從而實現初始化讀取位置的功能。計數器用AHDL語言描述如下:

counter : lPm_counter with(1pm_width=16);

counter.clock=/rd&(/we#(a[15..0]!=Address_F_RP);

counter.sload=(a[15..0]==Address_F_RP);

counter.cnt_en=(a[15..0]=Address_F_R);

counter.data[15..0]=D[15..0];

clock信號要保證在寫Address_F_RP地址修改讀取位置時,或讀Address_F_R地址取數據時都能產生上升沿信號。總線a0-a15和D0~D15分別是由AD0-AD15分離出來的地址和數據總線。多路選擇器則根據地址譯碼產生的S0-S3選擇輸出地址,輸出地址直接連接到RAM和Flash ROM的地址線上。如果訪問除Address_F_RP和Address_F_RP以外的地址,則地址輸出總線A115..1)=a[15..1]、A16=0,即單片機直接訪問存儲器;如果讀取Address_F_R,則片選/CS2有效并且A[16..1)Q(15..0]作為輸出地址。這樣就可以自動地在不同存儲區域進行切換,從而大大地增加了內存的擴充能力,并且簡化了程序設計。運用同樣的方法還可以定義FlashROM中的數據塊寫入地址Address_F_W和寫位置指針地址Address_F_WP,RAM中也有類似的方法定義Address_R_(RAM數據塊讀地址)、Address_R_RP(RAM數據塊的讀位置指針地址)、Address_R_W(RAM數據塊寫地址)和Address_R_WP(RAM數據塊的寫位置指針地址)。這樣可以方便地對內存的擴展部分進行讀寫。下面以MCS-96的匯編語言為例來說明程序中是如何操作的。比如需要從IOPORT0口連續采集數據,然后存放到RAM中指定的數據塊等待處理,則可以寫出如下程序:

LD 40H,地址值;地址值為即將寫入的目的地址,16位按字編址。

ST 40H,Address_R_WP;設置寫位置指針

REPEAT:

LDB 40H,IOPORT0

LDB 41H,IOPORTO;40H和41H為內部寄存器,因為按字存儲所以連續讀兩次

ST 40H,Address_R_W ;寫入指定位置條件判斷退出循環

JMP REPEAT

從上面這個簡單的例子可以看出,這種存儲器組織方法大大簡化了編程的的復雜性,并且可以采用對位置指針賦初值的方法來實現對擴展存儲器中任何一個位置的讀寫操作。

3 地址分配

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

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

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

1FOOH~1FFFH 用戶區,實際使用中把Address—1lR、Address_F_WP等地址以及一些特殊設備如A/D轉換器、LCD顯示屏等的訪問地址設置在這個區域。

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

2080H~8FFFH 用戶區,單片機啟動也是從 2080H 處開始執行程序的,因此把這個地址范圍直接映射到 Flash ROM 的2080H~8FFFH,該區域設置系統的引導、初始化等程序。

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

上面的分配方案可以通過對地址總線進行譯碼生成相應的片選信號/CSl和/CS2來實現。這樣分配后,Flash ROM 和 RAM 的使用情況如圖4所示。

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

1FFFFH共64K字節,用來作為采集數據的保<

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

欧美一级 片内射欧美A999| 男人激烈吮乳吃奶毛片| 麻豆乱码国产一区二区三区| 欧美黑人性爱视频| 私人影院家庭影院| 亚洲精品国产精品乱码视色| 做AJ的姿势教程大全图| 成人午夜福利视频网址| 国产成人亚洲综合精品| 久久国产加勒比精品无码| 欧美电影在线观看| 天堂资源中文WWW| 亚洲色大成网站WWW久久九九| 0D0D肥胖老太婆| 国产AV麻豆MAG剧集| 精品久久久BBBB人妻| 欧美成本人网站免费观看| 天堂中文А√在线| 亚洲一线产区二线产区分布图片| FRYEE性欧美18 19| 国产日产欧美一区二区蜜桃| 老熟女太熟了95AV| 少妇性饥渴XXⅩXXHD| 亚洲色欲综合天堂亚洲| 八戒午夜理论片影院| 果冻传媒董小宛一区二区| 拧花蒂尿用力按凸起喷水尿视频 | 黑人粗大猛烈进出高潮视频| 末发育女AV片一区二区| 吻胸揉屁股摸腿娇喘视频| 又大又黄又爽视频一区二区 | 色欲色香天天天综合无码| 亚洲日本高清成人AⅤ片| 超碰人人透人人爽人人看| 精品国产V无码大片在线看| 欧美高清VIVO最新| 亚洲AV中文AⅤ无码AV接吻| OM老熟女DHXⅩXXX69| 和教练在车里干了我三次| 欧美又粗又大XXXⅩBBBB| 亚洲AV永久无码精品无码少妇| JAPANESE55丰满成熟| 狠狠亚洲婷婷综合色香五月| 人人妻人人澡人人爽精品日本| 亚洲欧美日韩综合久久| 荡公乱妇第1章95| 狼人香蕉毛片AV高潮视频| 我的娇妻QUEEN| china熟女熟妇乱老女人百度| 狠狠做五月深爱婷婷| 三个男人躁我一个爽| 岳今晚让我玩个够肥水一体探岳| 国产精品色内内在线播放| 欧美日韩精品人妻二区| 亚洲精品无码久久久久苍井空| 短裙公车被强好爽H吃奶视频| 鲁鲁夜夜天天综合视频| 亚洲 欧洲 小说 自拍| 扒掉内裤露出打嫩嫩的屁股| 精品无码久久久久久久久| 特级做A爰片毛片免费看108| 91蜜桃传媒精品久久久一区二区| 好爽又高潮了毛片免费下载| 色欲天天综合亚洲日本| 99精品无人区乱码1区2区3区| 精品国产一区二区三区不卡在线| 日日澡夜夜澡人人高潮| 18禁强伦姧人妻又大又| 精品国产乱码久久久久久下载| 贪婪洞窟H5双修流攻略小说| JAPANRCEP老熟妇乱子伦视频| 久久久久国色AV免费看图片| 小洞饿了想吃大香肠| 成人欧美日韩一区二区三区 | 精品人妻人人做人人爽| 无码少妇一区二区三区芒果| 爱丫爱丫影院在线| 逆徒每天都想着欺师犯上| 亚洲欧美成人在线观看| 国产日韩AⅤ精品一区二区| 色哟哟在线视频精品一区| JAPANESE人妻少妇| 免费观看A级毛片| 亚洲欭美日韩颜射在线| 国内偷自第一区二区三区| 天堂√中文最新版在线| 草草浮力影院禁止18进入| 欧美成人一区二区| 中文乱码字幕视频观看网站免费| 精品系列无码一区二区三区| 亚洲AV成人综合网| 国产精品无码无片在线观看3D| 色窝窝无码一区二区三区成人网站 | 朋友的人妻的滋味BD高清中文| 中文字幕精品一二三四五六七八| 久久精品无码AV| 亚洲精品有码在线观看| 国内精品伊人久久久久妇 | 亚洲永久网址在线观看| 狠狠做深爱婷婷久久综合一区| 性XXXⅩ俄罗斯女人| 国产精品免费精品自在线观看| 日韩无码一区视频| 成人女人A级毛片免费软件| 人妻丰满熟妇av无码区HD优| H罩杯大胸爆乳交在线观看| 欧美成人AⅤ高清免费观看| 自偷自拍亚洲综合精品麻豆| 噜噜私人影片在线看片| 在线播放无码高潮的视频| 久久人妻夜夜做天天爽| 野花日本免费完整版高清版8| 久久99国产精品久久99果冻传| 亚洲乱码卡1卡2新区3| 精品人妻无码专区中文字幕 | 小浪货水多奶大被领导| 国产内射合集颜射| 西西人体大胆午夜啪啪| 国产一区二区H无遮挡| 亚洲AV成人深夜一区午夜网站 | 欧美日韩一区二区三区人妻 | 我和闺蜜在公交被八个人挤倒| 国产成人亚洲精品无码AV大片| 天堂А√在线中文在线新版| 国产成人精品久久综合| 无码人妻精品一区二区三区在线| 国产乱子伦农村XXXX| 亚洲AV无码成人精品区明星换面 | 欧美人交a欧美精品a∨一区| АⅤ资源天堂资源库在线| 日本熟妇色丰满少妇wwwww色 | 无人区一线二线三线乱码| 国产又大又硬又粗| 亚洲欧美另类久久久精品 | 少妇饥渴XXHD麻豆XXHD?| 国产成人精欧美精品视频| 小妖精含牢了我喂饱你| 精品久久伊人99热超碰| 伊人精品无码AV一区二区三区| 内射口爆少妇麻豆| 八戒八戒神马影院在线电影4| 色翁荡息又大又硬又粗又爽| 国产免费永久精品无码| 亚洲精品无码不卡| 麻花豆传媒MV在线播放| S8在线观看成人网站| 日本强伦姧熟睡人妻完整视频| 国产99久久九九精品无码| 性饥渴的少妇AV无码影片| 久久96国产精品久久| 综合无码一区二区三区四区五区| 群体交乱之放荡娇妻| 国产成人A在线观看视频免费 | 黑人巨大精品人妻一区二区| 亚洲最大成人AV在线天堂网| 欧美黑人粗大猛烈18P| 大又大又粗又硬又爽少妇毛片| 无码少妇一区二区三区| 久久96国产精品久久| AV亚欧洲日产国码无码| 色欲色香天天天综合WWW| 国产又黄又潮娇喘视频在线观看| 夜里18款禁用B站大全| 欧美体内SHE精视频| 国产成人愉拍精品| 亚洲另类无码专区丝袜| 欧美丰满熟妇XXXX| 国产AV无码专区亚洲AV桃花庵| 亚洲成AV人无码综合在线| 蜜臀av一区二区三区人妻| 东北小伙二十厘米粗大硬 | ASSPICS亚洲美女裸体CH| 撒尿特写XXXⅩ| 精产国品一二三产区M553麻豆| 50岁人妻丰满熟妇ΑV无码区| 手机看片AV永久免费无| 九热爱视频精品视频| ZOOM动物高清视频| 亚洲AV不卡一区二区三区| 免费A级毛片波多野结衣| 国产98涩在线 | 欧洲| 亚洲色播爱爱爱爱爱爱爱| 人妻少妇无码中文幕久久| 国产亚洲人成A在线V网站| 最新国产精品亚洲| 挽起裙子跨开双腿坐下去| 久久人人爽人人爽人人片AV不| 成在线人AV免费无码高潮喷水| 亚洲精品四区麻豆文化传媒| 欧洲成人一区二区三区| 国产在线拍偷自揄拍无码| 99久久精品日本一区二区免费 | 在线观看亚洲AV日韩A∨| 色欲AV无码一区二区人妻| 久久精品国产亚洲AV成人| 成人无码精品1区2区3区免费看| 亚洲国产在一区二区三区| 日本久久久久久久久久加勒比| 极品无码国模国产在线观看| 白嫖B站激活码2023|