• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于CPLD的PIC32單片機(jī)大容量存儲系統(tǒng)設(shè)計(jì)

    2011-06-07 05:53:12楊曉明李永紅晉玉劍王恩懷
    電視技術(shù) 2011年15期
    關(guān)鍵詞:大容量寄存器時序

    楊曉明,李永紅,晉玉劍,王恩懷

    (中北大學(xué) 信息與通信工程學(xué)院,山西 太原 030051)

    0 引言

    美國微芯(Microchip)公司推出的32位單片機(jī)PIC32具有256~512 kbyte的閃存和64~128 kbyte的SRAM存儲器。由于其端口數(shù)目、內(nèi)部定時器和中斷源數(shù)目有限,單獨(dú)使用PIC32作為存儲系統(tǒng)的主控部分,會占用較多芯片資源,所以要實(shí)現(xiàn)大容量數(shù)據(jù)實(shí)時存儲的目的,就需要進(jìn)行Flash存儲擴(kuò)展。系統(tǒng)選用CPLD作為Flash存儲擴(kuò)展部分的控制核心,利用CPLD控制電路時序邏輯,并由單片機(jī)發(fā)出讀、寫及擦除指令,這樣不僅可以使單片機(jī)和CPLD的功能得到充分發(fā)揮,還可以提高系統(tǒng)的穩(wěn)定性以及整體性能并簡化系統(tǒng)設(shè)計(jì)。試驗(yàn)結(jié)果表明,基于CPLD設(shè)計(jì)的PIC32單片機(jī)大容量存儲擴(kuò)展系統(tǒng)可以實(shí)現(xiàn)數(shù)據(jù)實(shí)時、準(zhǔn)確的存儲,具有傳輸速度快、使用方便的特點(diǎn),在數(shù)據(jù)存儲、采集、傳輸?shù)阮I(lǐng)域具有廣泛的應(yīng)用前景。

    1 總體設(shè)計(jì)思路

    1.1 系統(tǒng)組成

    存儲系統(tǒng)由PIC32單片機(jī)、CPLD芯片和Flash閃存3部分組成。系統(tǒng)所要實(shí)現(xiàn)的功能是:數(shù)據(jù)采集部分將實(shí)時得到的數(shù)據(jù)信號傳輸?shù)絇IC32單片機(jī),單片機(jī)向CPLD發(fā)出數(shù)據(jù)存儲命令、地址和數(shù)據(jù),再由CPLD控制將地址、數(shù)據(jù)實(shí)時存儲于Flash閃存中。試驗(yàn)結(jié)束后,單片機(jī)發(fā)出讀取指令,再經(jīng)由CPLD控制部分從Flash中將數(shù)據(jù)讀出并傳輸?shù)絾纹瑱C(jī),通過計(jì)算機(jī)串口上傳至計(jì)算機(jī)作進(jìn)一步的分析處理。圖1所示為系統(tǒng)組成框圖。

    CPLD內(nèi)部采用模塊化設(shè)計(jì)原則,分別建立PIC32接口模塊、FIFO模塊和Flash讀寫模塊。FIFO由CPLD片內(nèi)配置編寫,這樣既可以最大化地利用CPLD內(nèi)部資源以實(shí)現(xiàn)系統(tǒng)微型化,又可以節(jié)省使用外部FIFO芯片的成本。CPLD選用Altera公司MAXII器件系列中的EPM240T100C5芯片,MAXII系列是一種非易失性、即用性可編程邏輯系列,具有CPLD中單個I/O管腳最低成本及最小功耗。Flash存儲器選用三星公司的K9K8G08U0A。

    1.2 閃存K9K8G08U0A介紹

    Flash存儲器具有非易失性、體積小、重量輕、抗震動、低功耗、高性能等特點(diǎn)[1]。目前,F(xiàn)lash的生產(chǎn)廠商主要有三星,Hynix,Micron,ST,東芝等[2]。本文選用的是三星公司的K9K8G08U0A芯片,它采用2.7~3.6 V供電,容量為1 Gbyte,硬件接口比較簡單,命令、數(shù)據(jù)和地址經(jīng)統(tǒng)一的I/O端口傳輸,可在25 ns內(nèi)讀出其數(shù)據(jù)寄存器中的單字節(jié)數(shù)據(jù)。圖2為K9K8G08U0A陣列組織,存儲區(qū)被分為8 192個相對獨(dú)立的塊,每塊分為64頁,每頁2 112 byte,CPLD通過列地址和行地址對每一個字節(jié)進(jìn)行訪問。K9K8G08U0A內(nèi)有一個1頁(容量2 112 byte)的數(shù)據(jù)寄存器,向Flash寫入數(shù)據(jù)先是向數(shù)據(jù)寄存器寫入。K9K8G08U0A頁編程(寫)操作流程為:首先寫入命令80H和地址,再寫入數(shù)據(jù),頁編程結(jié)束需確認(rèn)10H命令后再將寄存器中的數(shù)據(jù)寫入存儲區(qū),待完成寫入后,需讀取寄存器以判斷寫入操作是否成功。若寫入失敗則為壞塊。讀操作流程:先寫入命令00H以及要讀取頁的地址,再寫命令30H,將行地址所指定的頁中的數(shù)據(jù)傳輸至數(shù)據(jù)寄存器,進(jìn)行ECC校驗(yàn),校驗(yàn)成功后,則在寫信號作用下從指定的列地址開始讀至此頁末尾,否則進(jìn)行錯誤檢查[3]。

    2 硬件接口設(shè)計(jì)

    存儲控制系統(tǒng)硬件接口設(shè)計(jì)如圖3所示。

    各管腳功能如下:

    1)MPMD[0...15]為數(shù)據(jù)、地址、命令輸入輸出總線;

    2)MPMRD/WR為讀寫信號,讀寫選通合并為一根控制線;

    3)MPMENB為讀寫控制線,負(fù)責(zé)決定何時執(zhí)行讀/寫操作;

    4)MPMAL為地址鎖存使能,負(fù)責(zé)鎖存數(shù)據(jù)的地址;

    5)MPMCS為片選信號線,高電平有效;

    6)MPMINT為外部中斷源控制,在允許中斷的情況下,將在每完成一個讀或?qū)懼芷跁r產(chǎn)生中斷;

    7)BUSY1和BUSY2為設(shè)備運(yùn)行“忙”狀態(tài)指示,在進(jìn)行任何讀或?qū)懖僮鲿r,除了操作的最后一個周期,BUSY位都被置高;

    8)FLASHDT[0...15]為數(shù)據(jù)、地址和命令復(fù)用的8位輸入輸出總線;

    9)WE為寫使能信號,將命令、地址、數(shù)據(jù)鎖存到芯片內(nèi)部;

    10)ALE為地址鎖存使能信號,用于控制外部地址鎖存到芯片內(nèi)部;

    11)CLE為命令鎖存使能信號,用于控制外部命令鎖存到芯片內(nèi)部;

    12)CE為片選信號,若沒有檢測到CE信號,則芯片保持待機(jī)模式;

    13)RdEnable為讀使能信號,允許輸出數(shù)據(jù)至緩沖器,下降沿有效;

    14)BUSY指示芯片工作狀態(tài),如果芯片忙,則信號變低。

    3 存儲系統(tǒng)仿真分析

    CPLD程序在QuartusII 9.0軟件環(huán)境下調(diào)試,使用VHDL語言編寫(由于篇幅限制,本文不給出程序部分,想?yún)⒖汲绦蛘呖上蜃髡咚魅。?。圖4所示為QuartusII 9.0編程的頂層模塊圖。fosc為系統(tǒng)時鐘,由片外時鐘產(chǎn)生電路提供,頻率為40 MHz,負(fù)責(zé)提供系統(tǒng)所需的時鐘發(fā)生信號;reset為重置信號;earse_en為擦寫使能信號,負(fù)責(zé)使能Flash的擦寫功能;earse_ok為擦寫完成信號;ad?dwr負(fù)責(zé)向Flash寫入地址,只有寫入地址成功后數(shù)據(jù)寫入才有效。

    1)寫操作過程。PIC32單片機(jī)在接收到測試數(shù)據(jù)后,先通過wrfifo dc2向lpm fifo dc2發(fā)出寫地址信號,此寫地址信號由rdfifo dc2傳輸至Flash,寫入的地址信息由addwr傳輸。待地址寫入完成后,單片機(jī)再向fifo dc2發(fā)送寫數(shù)據(jù)命令,F(xiàn)lash收到命令后,數(shù)據(jù)由dataout輸出并在flashdatain口寫入Flash。

    2)讀操作過程。PIC32單片機(jī)在發(fā)出讀取地址命令后,經(jīng)所要讀取的地址由addrd傳輸給Flash,具體地址上的數(shù)據(jù)在發(fā)出讀取命令后,由flashdataout口輸出并在da?tain輸入單片機(jī)。

    在這里要注意,對FIFO的讀寫是在發(fā)出讀寫信號wrreq和rdreq后由時鐘信號wrclk和rdclk控制,并嚴(yán)格按照lpm fifo的讀寫時序進(jìn)行,圖5為FIFO讀寫時序圖。

    由QuartusII 9.0軟件進(jìn)行仿真,得到Flash的讀、寫操作時序波形圖,如圖6和圖7所示。將得到的時序波形圖與三星公司K9K8G08U0A數(shù)據(jù)手冊上讀寫時序圖對照,可以看到讀寫仿真波形滿足設(shè)計(jì)要求,可以實(shí)現(xiàn)讀、寫邏輯功能,系統(tǒng)設(shè)計(jì)方案切實(shí)可行。

    4 小結(jié)

    本文介紹了基于CPLD的PIC32單片機(jī)大容量存儲系統(tǒng)的設(shè)計(jì)方法,詳細(xì)闡述了CPLD模塊化系統(tǒng)設(shè)計(jì)方案,通過得到的讀寫時序仿真圖驗(yàn)證了系統(tǒng)設(shè)計(jì)的正確性與可行性。該系統(tǒng)在實(shí)踐中成功應(yīng)用在某項(xiàng)目的系統(tǒng)測試適配器設(shè)計(jì)中,并成功實(shí)現(xiàn)數(shù)據(jù)的存儲與讀取。試驗(yàn)結(jié)果證明,合理應(yīng)用CPLD技術(shù)和Flash大容量存儲器,可以大大提高系統(tǒng)設(shè)計(jì)的靈活性與可靠性,并很好解決大容量測量數(shù)據(jù)存儲容量的問題。

    [1]鄭文靜,李明強(qiáng),舒繼武.Flash存儲技術(shù)[J].計(jì)算機(jī)研究與發(fā)展,2010(4):716-726.

    [2]鐘頤華,王興東,余松煜.基于NAND Flash的超高速視頻存儲技術(shù)研究[J].電視技術(shù),2007,31(7):33-36.

    [3]于文峰.大容量存儲器K9K8G08U0A在海洋內(nèi)波測量系統(tǒng)中的應(yīng)用[J].水雷戰(zhàn)與艦船防護(hù),2009(4):26-29.

    猜你喜歡
    大容量寄存器時序
    時序坐標(biāo)
    基于Sentinel-2時序NDVI的麥冬識別研究
    Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
    12-20升大容量PET瓶裝式吹瓶機(jī)
    分簇結(jié)構(gòu)向量寄存器分配策略研究*
    一種毫米波放大器時序直流電源的設(shè)計(jì)
    電子制作(2016年15期)2017-01-15 13:39:08
    能變出雨衣的18升大容量背包
    基于大容量指紋識別的實(shí)時身份認(rèn)證系統(tǒng)
    大容量Flash在井下記錄儀中的應(yīng)用
    DPBUS時序及其設(shè)定方法
    河南科技(2014年15期)2014-02-27 14:12:36
    仁寿县| 河源市| 霍林郭勒市| 大石桥市| 永宁县| 吉木乃县| 建宁县| 盐亭县| 巴林左旗| 株洲县| 吴川市| 巫溪县| 象山县| 南部县| 石景山区| 大余县| 文安县| 淳安县| 犍为县| 鄂尔多斯市| 宣化县| 集安市| 云霄县| 华容县| 雷波县| 太原市| 临漳县| 亳州市| 城口县| 时尚| 宽甸| 乌鲁木齐市| 德清县| 郑州市| 桐城市| 平和县| 金塔县| 台南县| 砚山县| 汉川市| 漳浦县|